Criando VM na Azure e Instalando FIWARE - Tutorial passo a passo que ensina:
- Como criar uma máquina virtual na Microsoft Azure
- Como instalar e configurar o FIWARE dentro da VM
- Configurações de rede e portas necessárias
Este repositório foi criado para colocar em prática o uso do FIWARE, conforme apresentado pelo Fábio Henrique Cabrini, pesquisador oficial do projeto FIWARE. Utilizamos o FIWARE Descomplicado, uma modificação desenvolvida pelo pesquisador para facilitar a implementação e experimentação com a plataforma em ambiente acadêmico.
O FIWARE é uma plataforma de código aberto criada em 2011 para desenvolvimento de soluções IoT e cidades inteligentes. Oferece Generic Enablers (GEs) padronizados que facilitam a interoperabilidade entre sistemas através do protocolo NGSI, permitindo conectar dispositivos, gerenciar dados contextuais e criar aplicações inteligentes de forma escalável.
Links úteis: Site Oficial | Tour Guide
Membros:
- Anthony Sforzin
- Luigi Cabrini
- Bruno K
- Rogério Arroyo
- Thayná Simões
# Generic Enablers Principais
Orion Context Broker 3.10 # Gerenciamento de dados contextuais
STH-Comet # Armazenamento histórico de dados
IoT Agent MQTT 4.0 # Gateway para dispositivos IoT
# Infraestrutura de Apoio
MongoDB 4.4 # Base de dados NoSQL
Eclipse Mosquitto 2.0 # Broker MQTT
Docker & Docker Compose # Containerização e orquestração# Dashboard & Visualização
Python 3.8+ # Linguagem base
Dash 2.14+ # Framework web para dashboards
Plotly 5.15+ # Gráficos interativos
PyTZ 2023.3+ # Manipulação de timezone
# Hardware IoT
ESP32 DEVKIT V1 # Microcontrolador principal
Arduino IDE # Ambiente de desenvolvimento
MQTT Protocol # Comunicação IoT- CPU: 1 vCPU mínimo
- RAM: 1GB mínimo
- Armazenamento: 20GB disponível
- OS: Ubuntu Server 24.04 LTS (recomendado)
# Atualizar sistema
sudo apt update
# Instalar Docker
sudo apt install docker.io
# Instalar Docker Compose
sudo apt install docker-compose
# Instalar Python 3 e pip (se necessário)
sudo apt install python3 python3-pip
# Verificar instalação
docker --version
docker-compose --version
python3 --version
pip3 --version# 1. Clonar repositório do grupo Stratfy
git clone https://github.com/Stratfy/FIWARE
cd FIWARE
# 2. Verificar se Docker está rodando
sudo systemctl status docker
# 3. Executar FIWARE (navegar para pasta infrastructure)
cd infrastructure
sudo docker-compose up -d
# 4. Verificar se containers estão rodando
sudo docker ps
# 5. Para parar os serviços
sudo docker-compose downObservações importantes:
- Azure NSG: Configure regras inbound para portas 22, 1026, 1883, 4041, 8666, 80
- MongoDB (27017): Mantido interno por segurança - não expor publicamente
- Volumes Docker: Dados persistem em
/var/lib/docker/volumes/infrastructure_mongo-historical-data/_data
| Porta | Serviço | Descrição | Status |
|---|---|---|---|
1026 |
Orion Context Broker | API NGSI-v2 | Público |
1883 |
Eclipse Mosquitto | Broker MQTT | Público |
4041 |
IoT Agent MQTT | Gateway para dispositivos | Público |
8666 |
STH-Comet | Dados históricos | Público |
27017 |
MongoDB | Base de dados | Interno |
Gerencia dados contextuais em tempo real, oferecendo API RESTful para captura, consulta e compartilhamento de informações de entidades IoT com suporte a geolocalização e notificações.
Armazena e consulta dados históricos em larga escala, trabalhando junto ao Orion para análises temporais e dashboards através de API para séries temporais.
Documentação → | Queries API v2 →
Facilita integração de dispositivos MQTT com o Context Broker, gerenciando transformação de mensagens e oferecendo descoberta automática de dispositivos.
A arquitetura é dividida em três camadas principais:
Aplicação - Interface front-end, dashboards, mobile apps e algoritmos de IA/ML
Back-end - Orion Context Broker, STH-Comet, IoT Agents e bases de dados
IoT - Dispositivos conectados via MQTT ou HTTP/NGSI-v2
Collection completa para teste e configuração dos serviços FIWARE. Inclui exemplos para Orion Context Broker, IoT Agent MQTT e STH-Comet baseados na PoC Smart Lamp.
Implementação de referência usando ESP32 DEVKIT V1 com sensor LDR e controle via MQTT.
- Monitoramento de luminosidade ambiente
- Controle remoto de LED
- Comunicação bi-direcional via MQTT
- Sincronização de tempo via NTP
Guia de implementação → | Código ESP32 → | Dashboard →
- FIWARE Step by Step - Tutorial avançado
- Entity Relationships - Relacionamento entre entidades
- NGSI v2 Subscriptions - Subscrições condicionadas
- Catálogo FIWARE - Lista completa de componentes
Esta ferramenta é destinada a pesquisa e PoCs. Para produção, implemente os componentes de segurança FIWARE:
- Keyrock - Identity Management
- Wilma PEP Proxy - Policy Enforcement Point
- AuthZForce - Authorization PDP/PAP
- Protocolos seguros - HTTPS, MQTTS
Para alta disponibilidade, considere orquestradores como Docker Swarm ou Kubernetes.
# Instalar dependências do dashboard
cd dashboard
pip3 install -r requirements.txt
# Executar dashboard de luminosidade
python3 api-sth.pyExplorando as possibilidades do FIWARE para IoT
Material adaptado da FIWARE Foundation
Baseado no trabalho do pesquisador Fábio Henrique Cabrini - FIWARE Descomplicado
© Grupo Stratfy - FIAP 2025