Desenvolver uma API robusta para consumir dados meteorológicos de diversas fontes, armazená-los em um banco de dados e fornecer uma interface web simples para o gerenciamento e manutenção de equipamentos IoT. O sistema deve identificar e exibir o status dos equipamentos (em funcionamento, parados ou com falhas/incoerências nos dados) e integrar um broker MQTT para comunicação bidirecional com os dispositivos IoT.
Componentes do Projeto:
API de Consumo de Dados Meteorológicos:
Integração com APIs de terceiros para obter dados meteorológicos em tempo real.
Armazenamento dos dados meteorológicos em um banco de dados relacional ou não relacional.
Implementação de endpoints RESTful para acesso e manipulação dos dados.
Banco de Dados:
Estruturação de um banco de dados para armazenar dados meteorológicos e informações dos equipamentos.
Implementação de mecanismos de backup e recuperação de dados.
Interface Web para Gerenciamento de Equipamentos:
Desenvolvimento de um front-end simples e intuitivo para visualização e gerenciamento dos equipamentos.
Exibição do status dos equipamentos (em funcionamento, parados, com falhas ou incoerências nos dados).
Funcionalidades de manutenção e atualização de informações dos equipamentos.
Integração com Broker MQTT:
Configuração de um broker MQTT para recepção e envio de comandos aos equipamentos IoT.
Implementação de tópicos MQTT para comunicação eficiente e segura com os dispositivos.
Monitoramento e registro das mensagens trocadas via MQTT.
Funcionalidades Principais:
Consumo e Armazenamento de Dados Meteorológicos: Coleta de dados meteorológicos de fontes confiáveis e armazenamento estruturado.
Gerenciamento de Equipamentos: Interface web para monitoramento do status dos equipamentos e execução de ações de manutenção.
Detecção de Falhas e Incoerências: Identificação automática de equipamentos com falhas ou dados incoerentes.
Comunicação IoT via MQTT: Envio e recepção de comandos e dados entre o sistema e os dispositivos IoT.
Tecnologias Sugeridas:
Back-end:
Node.js, Python, ou Java
Front-end: React, Angular, ou
Vue.js
Banco de Dados: PostgreSQL, MongoDB, ou MySQL
Prazo de Entrega: Não estabelecido