Projeto Integrador
Projeto Integrador
Local
14 de dezembro de 2024
Nome do Autor
Instituição
Local
14 de dezembro de 2024
Sumário
Sumário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Lista de ilustrações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Lista de tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 ESCOPO DO PROJETO . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1 Dispositivo Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.1 Descrição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.2 Tarefas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Broker MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.1 Descrição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.2 Tarefas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Aplicação Web Flask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.1 Descrição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.2 Tarefas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Integração e Implantação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5 CRONOGRAMA DO PROJETO . . . . . . . . . . . . . . . . . . . . . . . 15
7 CONCLUSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Lista de ilustrações
Lista de tabelas
1 Visão Geral do Projeto
Este projeto visa desenvolver um sistema de Internet das Coisas (IoT) que integra uma placa
Arduino, um servidor web Flask e o protocolo de comunicação MQTT. O objetivo é criar uma
plataforma na qual o Arduino possa coletar dados de sensores e publicá-los em um broker
MQTT, que então será consumido pelo servidor Flask para processamento, armazenamento e
visualização baseada na web.
2.1.1 Descrição
O Arduino será utilizado para coletar dados de sensores como temperatura, umidade e luminosi-
dade.
2.1.2 Tarefas
• Configurar o Arduino para ler dados de vários sensores.
2.2.1 Descrição
O broker MQTT será responsável por receber e gerenciar as mensagens publicadas pelo Arduino.
2.2.2 Tarefas
• Configurar um broker MQTT, que pode ser hospedado no mesmo servidor que a aplicação
Flask.
2.3.1 Descrição
A aplicação Flask será o hub central do sistema, processando e visualizando os dados em tempo
real.
2.3.2 Tarefas
• Desenvolver uma aplicação web Flask para servir como o hub central do sistema IoT.
• Criar um painel de controle baseado na web para visualizar os dados dos sensores em
tempo real.
Para garantir o sucesso deste projeto, seguiremos as diretrizes do Guia do Conjunto de Conhe-
cimentos em Gerenciamento de Projetos (PMBOK), que fornecem uma estrutura abrangente
e estruturada para gerenciar projetos. Além disso, incorporaremos outras técnicas de ge-
renciamento de projetos para aprimorar o planejamento, a execução e o monitoramento do
projeto.
• Criar um Plano de Gerenciamento do Projeto que descreva a estratégia geral para gerenciar
o projeto, incluindo os processos, ferramentas e técnicas a serem utilizados.
• Usar gráficos de Gantt e diagramas de rede para visualizar o caminho crı́tico e as de-
pendências do projeto.
4.4.1 Descrição
Desenvolver e testar a aplicação Flask.
4.5.1 Descrição
Integrar e testar todos os componentes.
• Atualizações e Patches
Cronograma do Projeto
Número Tarefa Semana Semana Duração Predecessoras
Sucessoras
da Ta- Inicial Final (Sema-
refa nas)
1 Definição 1 1 1 - 2, 3
do Escopo
2 Planejamento 2 2 1 1 4, 5
do Projeto
3 Alocação de 2 2 1 1 4, 5
Recursos
4 Kick-off do 2 2 1 2, 3 6
Projeto
5 Especificação 3 3 1 4 6
dos Senso-
res
6 Configuração 3 4 2 5 7
dos Senso-
res
7 Implementação5 6 2 6 8
do Cliente
MQTT
8 Testes de 7 7 1 7 9
Comu-
nicação com
o Broker
9 Desenvolvimento
7 8 2 8 10
de Códigos
de Controle
10 Testes de 8 8 1 9 11
Funciona-
lidade do
Arduino
11 Seleção 3 3 1 4 12
do Broker
MQTT
12 Instalação 4 5 2 11 13
e Confi-
guração do
Broker
13 Configuração 6 7 2 12 14
de Segu-
rança
14 Testes de 8 8 1 13 15
Desempe-
nho do
Broker
15 Monitoramento9 9 1 14 16
e Logs do
Broker
16 Definição 6 6 1 4 17
6 Plano de Projeto Detalhado
• Escrever um sketch do Arduino para ler dados dos sensores e publicá-los em tópicos MQTT.
6.1.2 Ferramentas
• IDE do Arduino
• Biblioteca PubSubClient
6.1.3 Testes
• Usar o MQTT Explorer para se inscrever nos tópicos e verificar a publicação de dados.
6.2.2 Ferramentas
• Broker Mosquitto
• Usar uma thread em segundo plano para lidar com inscrições MQTT.
• Integrar banco de dados (SQLite ou PostgreSQL) usando SQLAlchemy.
6.3.2 Ferramentas
• Flask
• paho-mqtt
• SQLAlchemy
6.4.1 Tarefas
• Projeto de uma interface amigável ao usuário usando HTML/CSS.
6.4.2 Ferramentas
• Chart.js
6.5.1 Tarefas
• Implementar validação de dados e medidas de segurança na Flask.
6.5.2 Ferramentas
• SQLAlchemy
6.6.2 Ferramentas
• Docker
6.7.2 Ferramentas
• Bibliotecas de registro (por exemplo, módulo de registro do Python)
6.8.2 Ferramentas
• Markdown ou LaTeX para documentação
6.9 Melhorias Futuras
6.9.1 Tarefas
• Explorar escalonamento horizontal com balanceamento de carga.
6.9.2 Ferramentas
• Bibliotecas de aprendizado de máquina (por exemplo, TensorFlow)
6.10.2 Ferramentas
• Git
Este documento integrado fornece uma visão completa e estruturada do projeto, garantindo que todas
as fases sejam abordadas de forma coesa e eficaz. Ao dividir as tarefas e considerar segurança,
escalabilidade e manutenibilidade, o sistema será robusto e pronto para aplicações do mundo real.