Laboratório 10
| Tarefa | Template | Início | Fim | Conteúdo |
|---|---|---|---|---|
| LAB10 | 29-10-2026 | 05-11-2026 | Padrões IoT; |
Confira o ambiente (faça a configuração uma vez por máquina; a verificação, a cada aula):
- Instalar as ferramentas — git, GitHub CLI e VS Code
- Configurar o git — nome, e-mail e editor padrão (uma vez)
- 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
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:
- A
- B
- C
- D
- E
- F
- G
- H
- I
- J
- K
- L
- M
- P
- N
- Grupo: Grupo-A (slug:
grupo-a) - Repositório: https://github.com/ELT85B-N21-2026-2/lab10-grupo-a
- Commits: https://github.com/ELT85B-N21-2026-2/lab10-grupo-a/commits/main/
- Time: https://github.com/orgs/ELT85B-N21-2026-2/teams/grupo-a
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"
- Grupo: Grupo-B (slug:
grupo-b) - Repositório: https://github.com/ELT85B-N21-2026-2/lab10-grupo-b
- Commits: https://github.com/ELT85B-N21-2026-2/lab10-grupo-b/commits/main/
- Time: https://github.com/orgs/ELT85B-N21-2026-2/teams/grupo-b
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-b.git && cd lab10-grupo-b
3. Verifique status e abra o conteúdo do repositório no perfil ESP32IO do VS Code :
git status && code . --profile "ESP32IO"
- Grupo: Grupo-C (slug:
grupo-c) - Repositório: https://github.com/ELT85B-N21-2026-2/lab10-grupo-c
- Commits: https://github.com/ELT85B-N21-2026-2/lab10-grupo-c/commits/main/
- Time: https://github.com/orgs/ELT85B-N21-2026-2/teams/grupo-c
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-c.git && cd lab10-grupo-c
3. Verifique status e abra o conteúdo do repositório no perfil ESP32IO do VS Code :
git status && code . --profile "ESP32IO"
- Grupo: Grupo-D (slug:
grupo-d) - Repositório: https://github.com/ELT85B-N21-2026-2/lab10-grupo-d
- Commits: https://github.com/ELT85B-N21-2026-2/lab10-grupo-d/commits/main/
- Time: https://github.com/orgs/ELT85B-N21-2026-2/teams/grupo-d
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-d.git && cd lab10-grupo-d
3. Verifique status e abra o conteúdo do repositório no perfil ESP32IO do VS Code :
git status && code . --profile "ESP32IO"
- Grupo: Grupo-E (slug:
grupo-e) - Repositório: https://github.com/ELT85B-N21-2026-2/lab10-grupo-e
- Commits: https://github.com/ELT85B-N21-2026-2/lab10-grupo-e/commits/main/
- Time: https://github.com/orgs/ELT85B-N21-2026-2/teams/grupo-e
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-e.git && cd lab10-grupo-e
3. Verifique status e abra o conteúdo do repositório no perfil ESP32IO do VS Code :
git status && code . --profile "ESP32IO"
- Grupo: Grupo-F (slug:
grupo-f) - Repositório: https://github.com/ELT85B-N21-2026-2/lab10-grupo-f
- Commits: https://github.com/ELT85B-N21-2026-2/lab10-grupo-f/commits/main/
- Time: https://github.com/orgs/ELT85B-N21-2026-2/teams/grupo-f
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-f.git && cd lab10-grupo-f
3. Verifique status e abra o conteúdo do repositório no perfil ESP32IO do VS Code :
git status && code . --profile "ESP32IO"
- Grupo: Grupo-G (slug:
grupo-g) - Repositório: https://github.com/ELT85B-N21-2026-2/lab10-grupo-g
- Commits: https://github.com/ELT85B-N21-2026-2/lab10-grupo-g/commits/main/
- Time: https://github.com/orgs/ELT85B-N21-2026-2/teams/grupo-g
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-g.git && cd lab10-grupo-g
3. Verifique status e abra o conteúdo do repositório no perfil ESP32IO do VS Code :
git status && code . --profile "ESP32IO"
- Grupo: Grupo-H (slug:
grupo-h) - Repositório: https://github.com/ELT85B-N21-2026-2/lab10-grupo-h
- Commits: https://github.com/ELT85B-N21-2026-2/lab10-grupo-h/commits/main/
- Time: https://github.com/orgs/ELT85B-N21-2026-2/teams/grupo-h
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-h.git && cd lab10-grupo-h
3. Verifique status e abra o conteúdo do repositório no perfil ESP32IO do VS Code :
git status && code . --profile "ESP32IO"
- Grupo: Grupo-I (slug:
grupo-i) - Repositório: https://github.com/ELT85B-N21-2026-2/lab10-grupo-i
- Commits: https://github.com/ELT85B-N21-2026-2/lab10-grupo-i/commits/main/
- Time: https://github.com/orgs/ELT85B-N21-2026-2/teams/grupo-i
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-i.git && cd lab10-grupo-i
3. Verifique status e abra o conteúdo do repositório no perfil ESP32IO do VS Code :
git status && code . --profile "ESP32IO"
- Grupo: Grupo-J (slug:
grupo-j) - Repositório: https://github.com/ELT85B-N21-2026-2/lab10-grupo-j
- Commits: https://github.com/ELT85B-N21-2026-2/lab10-grupo-j/commits/main/
- Time: https://github.com/orgs/ELT85B-N21-2026-2/teams/grupo-j
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-j.git && cd lab10-grupo-j
3. Verifique status e abra o conteúdo do repositório no perfil ESP32IO do VS Code :
git status && code . --profile "ESP32IO"
- Grupo: Grupo-K (slug:
grupo-k) - Repositório: https://github.com/ELT85B-N21-2026-2/lab10-grupo-k
- Commits: https://github.com/ELT85B-N21-2026-2/lab10-grupo-k/commits/main/
- Time: https://github.com/orgs/ELT85B-N21-2026-2/teams/grupo-k
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-k.git && cd lab10-grupo-k
3. Verifique status e abra o conteúdo do repositório no perfil ESP32IO do VS Code :
git status && code . --profile "ESP32IO"
- Grupo: Grupo-L (slug:
grupo-l) - Repositório: https://github.com/ELT85B-N21-2026-2/lab10-grupo-l
- Commits: https://github.com/ELT85B-N21-2026-2/lab10-grupo-l/commits/main/
- Time: https://github.com/orgs/ELT85B-N21-2026-2/teams/grupo-l
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-l.git && cd lab10-grupo-l
3. Verifique status e abra o conteúdo do repositório no perfil ESP32IO do VS Code :
git status && code . --profile "ESP32IO"
- Grupo: Grupo-M (slug:
grupo-m) - Repositório: https://github.com/ELT85B-N21-2026-2/lab10-grupo-m
- Commits: https://github.com/ELT85B-N21-2026-2/lab10-grupo-m/commits/main/
- Time: https://github.com/orgs/ELT85B-N21-2026-2/teams/grupo-m
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-m.git && cd lab10-grupo-m
3. Verifique status e abra o conteúdo do repositório no perfil ESP32IO do VS Code :
git status && code . --profile "ESP32IO"
- Grupo: Grupo-P (slug:
grupo-p) - Repositório: https://github.com/ELT85B-N21-2026-2/lab10-grupo-p
- Commits: https://github.com/ELT85B-N21-2026-2/lab10-grupo-p/commits/main/
- Time: https://github.com/orgs/ELT85B-N21-2026-2/teams/grupo-p
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-p.git && cd lab10-grupo-p
3. Verifique status e abra o conteúdo do repositório no perfil ESP32IO do VS Code :
git status && code . --profile "ESP32IO"
- Grupo: Grupo-N (slug:
grupo-n) - Repositório: https://github.com/ELT85B-N21-2026-2/lab10-grupo-n
- Commits: https://github.com/ELT85B-N21-2026-2/lab10-grupo-n/commits/main/
- Time: https://github.com/orgs/ELT85B-N21-2026-2/teams/grupo-n
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-n.git && cd lab10-grupo-n
3. Verifique status e abra o conteúdo do repositório no perfil ESP32IO do VS Code :
git status && code . --profile "ESP32IO"
Envie o link do repositório do seu grupo no Moodle:
- A
- B
- C
- D
- E
- F
- G
- H
- I
- J
- K
- L
- M
- P
- N
Repositório do Grupo A para Laboratório 10:
- Copie o link do repositório acima.
- Abra a página de envio da atividade no Moodle (botão abaixo).
- Clique em Adicionar envio.
- Cole o link no campo Texto online.
- Clique em Salvar mudanças.
- Confira se o status mudou para Enviado para avaliação.
Repositório do Grupo B para Laboratório 10:
- Copie o link do repositório acima.
- Abra a página de envio da atividade no Moodle (botão abaixo).
- Clique em Adicionar envio.
- Cole o link no campo Texto online.
- Clique em Salvar mudanças.
- Confira se o status mudou para Enviado para avaliação.
Repositório do Grupo C para Laboratório 10:
- Copie o link do repositório acima.
- Abra a página de envio da atividade no Moodle (botão abaixo).
- Clique em Adicionar envio.
- Cole o link no campo Texto online.
- Clique em Salvar mudanças.
- Confira se o status mudou para Enviado para avaliação.
Repositório do Grupo D para Laboratório 10:
- Copie o link do repositório acima.
- Abra a página de envio da atividade no Moodle (botão abaixo).
- Clique em Adicionar envio.
- Cole o link no campo Texto online.
- Clique em Salvar mudanças.
- Confira se o status mudou para Enviado para avaliação.
Repositório do Grupo E para Laboratório 10:
- Copie o link do repositório acima.
- Abra a página de envio da atividade no Moodle (botão abaixo).
- Clique em Adicionar envio.
- Cole o link no campo Texto online.
- Clique em Salvar mudanças.
- Confira se o status mudou para Enviado para avaliação.
Repositório do Grupo F para Laboratório 10:
- Copie o link do repositório acima.
- Abra a página de envio da atividade no Moodle (botão abaixo).
- Clique em Adicionar envio.
- Cole o link no campo Texto online.
- Clique em Salvar mudanças.
- Confira se o status mudou para Enviado para avaliação.
Repositório do Grupo G para Laboratório 10:
- Copie o link do repositório acima.
- Abra a página de envio da atividade no Moodle (botão abaixo).
- Clique em Adicionar envio.
- Cole o link no campo Texto online.
- Clique em Salvar mudanças.
- Confira se o status mudou para Enviado para avaliação.
Repositório do Grupo H para Laboratório 10:
- Copie o link do repositório acima.
- Abra a página de envio da atividade no Moodle (botão abaixo).
- Clique em Adicionar envio.
- Cole o link no campo Texto online.
- Clique em Salvar mudanças.
- Confira se o status mudou para Enviado para avaliação.
Repositório do Grupo I para Laboratório 10:
- Copie o link do repositório acima.
- Abra a página de envio da atividade no Moodle (botão abaixo).
- Clique em Adicionar envio.
- Cole o link no campo Texto online.
- Clique em Salvar mudanças.
- Confira se o status mudou para Enviado para avaliação.
Repositório do Grupo J para Laboratório 10:
- Copie o link do repositório acima.
- Abra a página de envio da atividade no Moodle (botão abaixo).
- Clique em Adicionar envio.
- Cole o link no campo Texto online.
- Clique em Salvar mudanças.
- Confira se o status mudou para Enviado para avaliação.
Repositório do Grupo K para Laboratório 10:
- Copie o link do repositório acima.
- Abra a página de envio da atividade no Moodle (botão abaixo).
- Clique em Adicionar envio.
- Cole o link no campo Texto online.
- Clique em Salvar mudanças.
- Confira se o status mudou para Enviado para avaliação.
Repositório do Grupo L para Laboratório 10:
- Copie o link do repositório acima.
- Abra a página de envio da atividade no Moodle (botão abaixo).
- Clique em Adicionar envio.
- Cole o link no campo Texto online.
- Clique em Salvar mudanças.
- Confira se o status mudou para Enviado para avaliação.
Repositório do Grupo M para Laboratório 10:
- Copie o link do repositório acima.
- Abra a página de envio da atividade no Moodle (botão abaixo).
- Clique em Adicionar envio.
- Cole o link no campo Texto online.
- Clique em Salvar mudanças.
- Confira se o status mudou para Enviado para avaliação.
Repositório do Grupo P para Laboratório 10:
- Copie o link do repositório acima.
- Abra a página de envio da atividade no Moodle (botão abaixo).
- Clique em Adicionar envio.
- Cole o link no campo Texto online.
- Clique em Salvar mudanças.
- Confira se o status mudou para Enviado para avaliação.
Repositório do Grupo N para Laboratório 10:
- Copie o link do repositório acima.
- Abra a página de envio da atividade no Moodle (botão abaixo).
- Clique em Adicionar envio.
- Cole o link no campo Texto online.
- Clique em Salvar mudanças.
- Confira se o status mudou para Enviado para avaliação.
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
Pipeline completo de dados: ESP32 → MQTT → Node-RED → InfluxDB → Grafana com histórico de 24h e pelo menos uma alerting rule configurada.
| Aula | Tipo | Conteúdo | Detalhamento |
|---|---|---|---|
| 41 | AT | Padrões IoT: IEEE 802.15.4, IETF (CoAP/6LoWPAN), ITU-T Y.2060 | Características de cada padrão, aplicações industriais, CoAP vs. HTTP, fragmentação IPv6 |
| 42 | AT | Padrões IoT: OCF, IPSO Alliance, IIC, ETSI e oneM2M · Protocolos industriais: Modbus e OPC-UA | Resource model OCF, Smart Objects IPSO, IIRA, ETSI M2M; Modbus RTU/TCP, OPC-UA address space |
| 43 | APS | APS 2 — Pipeline completo de dados | Entregar: ESP32 → MQTT → Node-RED → InfluxDB → Grafana com histórico de 24h e alerta configurado |
| 44 | AP | Segurança IoT: certificados X.509 e autenticação mútua TLS | Gerar CA e certificados com OpenSSL, configurar broker MQTT com mTLS, atualizar ESP32 e Node-RED |
-
Objetivo: Automação e alertas.
-
Atividades:
- Criar alertas no Grafana (baseados em thresholds).
- Implementar controle remoto via MQTT (Node-RED → ESP32).
- Integrar regras simples no Node-RED.
- Testar notificações.
-
Entrega: Dashboard com alertas + controle remoto documentado.
-
Objetivo: Sistema completo.
-
Atividades:
- Montagem integrada no Wokwi: sensores → ESP32 → MQTT → Node-RED → InfluxDB → Grafana + atuador.
- Teste de ponta a ponta.
- 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: