Pular para o conteúdo principal

Laboratório 10

TarefaTemplateInícioFimConteúdo
LAB1029-10-202605-11-2026Padrões IoT;

Antes de começar

Confira o ambiente (faça a configuração uma vez por máquina; a verificação, a cada aula):

  1. Instalar as ferramentas — git, GitHub CLI e VS Code
  2. Configurar o git — nome, e-mail e editor padrão (uma vez)
  3. Verificar git, gh e VS Code — deve mostrar as versões e Logged in to github.com

Verificação rápida de versão instalada:

git -v && gh --version && code -v && pio --version && wokwi-cli -V && wsl --version && docker --version

Verificação rápida de autenticação:

git config --get-regexp ^user\. && gh auth status && code --list-extensions --profile "ESP32IO"

Checklist — CI/CD - Framework de testes​

  • TODO

Checklist — CI/CD - Factory Simulation | Digital Twin​

  • TODO

Ao terminar — máquina de laboratório

Antes de sair, faça logout para não deixar sua conta do GitHub ativa na máquina (limpa a credencial salva do git e encerra a sessão do gh).


Clone o repositório inicial do LAB10​

Escolha o Grupo e entre com o comando abaixo para criar o repositório no GitHub:

1. Crie e entre na pasta-mãe da disciplina:

mkdir "%USERPROFILE%\ELT85BN21" & cd /d "%USERPROFILE%\ELT85BN21"

2. Clone e entre no repositório do laboratório:

git clone https://github.com/ELT85B-N21-2026-2/lab10-grupo-a.git && cd lab10-grupo-a

3. Verifique status e abra o conteúdo do repositório no perfil ESP32IO do VS Code :

git status && code . --profile "ESP32IO"

Repositório do Grupo A para Laboratório 10:

  1. Copie o link do repositório acima.
  2. Abra a página de envio da atividade no Moodle (botão abaixo).
  3. Clique em Adicionar envio.
  4. Cole o link no campo Texto online.
  5. Clique em Salvar mudanças.
  6. Confira se o status mudou para Enviado para avaliação.
Abrir envio no Moodle
Avaliação por commits

Cada cartão Ponto de commit é uma tarefa: faça-a, copie o comando do cartão e rode. A mensagem começa com o código (T1:, T2:…) — é como a correção identifica sua entrega. Um commit por tarefa; pode refazer (vale o mais recente); e não esqueça o git push. Detalhes em Como funciona a avaliação.


Logout do seu ambiente dev, git e gh​

Para o git "esquecer" suas informações salvas:

git credential-manager erase && cmdkey /list | findstr "github" && gh auth logout

Padrões IoT + APS 2​

Ementa: IEEE · IETF · ITU · IPSO Alliance · OCF · IIC · ETSI · oneM2M · Protocolos industriais

Stack da semana: CoAP · Modbus · OPC-UA · Node-RED · InfluxDB · Grafana

Entrega — APS 2

Pipeline completo de dados: ESP32 → MQTT → Node-RED → InfluxDB → Grafana com histórico de 24h e pelo menos uma alerting rule configurada.

AulaTipoConteúdoDetalhamento
41ATPadrões IoT: IEEE 802.15.4, IETF (CoAP/6LoWPAN), ITU-T Y.2060Características de cada padrão, aplicações industriais, CoAP vs. HTTP, fragmentação IPv6
42ATPadrões IoT: OCF, IPSO Alliance, IIC, ETSI e oneM2M · Protocolos industriais: Modbus e OPC-UAResource model OCF, Smart Objects IPSO, IIRA, ETSI M2M; Modbus RTU/TCP, OPC-UA address space
43APSAPS 2 — Pipeline completo de dadosEntregar: ESP32 → MQTT → Node-RED → InfluxDB → Grafana com histórico de 24h e alerta configurado
44APSegurança IoT: certificados X.509 e autenticação mútua TLSGerar CA e certificados com OpenSSL, configurar broker MQTT com mTLS, atualizar ESP32 e Node-RED

  • Objetivo: Automação e alertas.

  • Atividades:

    1. Criar alertas no Grafana (baseados em thresholds).
    2. Implementar controle remoto via MQTT (Node-RED → ESP32).
    3. Integrar regras simples no Node-RED.
    4. Testar notificações.
  • Entrega: Dashboard com alertas + controle remoto documentado.

  • Objetivo: Sistema completo.

  • Atividades:

    1. Montagem integrada no Wokwi: sensores → ESP32 → MQTT → Node-RED → InfluxDB → Grafana + atuador.
    2. Teste de ponta a ponta.
    3. Aprovação do tema do Projeto Final.
  • Entrega: Proposta do Projeto Final (1 página).

Open-Industry-Project​

Free and Open-source warehouse/manufacturing development framework and simulator

The Protocol dropdown provides seven options:

  • ab_eip — Ethernet/IP communication via the libplctag library
  • modbus_tcp — Modbus TCP communication via the libplctag library
  • opc_ua — OPC UA communication via the open62541 library
  • siemens put/get — S7 communication
  • ads — Beckhoff ADS communication for TwinCAT 2 & 3 runtimes
  • rtde — Universal Robots Real-Time Data Exchange (port 30004) for UR cobots and URSim
  • mqtt — MQTT 3.1.1 over plaintext TCP via Eclipse Paho. The "Broker" field accepts host, host:port, or a full tcp://host:port URI (port defaults to 1883). The "Client ID" field is optional (auto-generated if empty). The "Auth" field accepts user:password for brokers that require authentication; leave empty for anonymous.

JaamSim​

Leading Edge Simulation

JaamSim is a free, open source discrete-event simulation software which includes:

Gazebo​