aulify · Mini-Projecto
UC UC00643 · T. Desenv. Software, T. Sist. Comp. Redes
Versão · Aluno
Mini-Projecto · Sistema IoT completo
Devices + cloud + dashboard + automação
Contexto
Cada par/trio constrói um sistema IoT funcional: ESP32(s) com sensores + dashboard cloud + alertas + (opcionalmente) Home Assistant. Cenários:
- A: Monitorização ambiente sala (3+ sensores, alertas).
- B: Smart irrigation (humidade solo + bomba água automática).
- C: Contador pessoas (PIR/ultrassom + dashboard).
- D: Alarme caseiro (vários sensores + notificação).
- E: Estação meteorológica multi-room (vários ESPs publicam no mesmo broker).
- F: Tracker temperatura frigorífico/freezer com alerta.
- G: Aquário inteligente (temp + pH + iluminação automática).
Requisitos
Funcionais
- ESP32 (ou ESP8266) com WiFi funcional.
- Mínimo 2 sensores diferentes.
- Pelo menos 1 actuador (LED, relé, servo, bomba).
- Cloud publish (ThingSpeak / Adafruit IO / HiveMQ / próprio broker).
- Dashboard funcional (cloud ou self-hosted).
- Pelo menos 1 alerta ou notificação automática.
Não-funcionais
- Reconnect automático WiFi e MQTT.
- Deep sleep se em bateria (opcional mas valorizado).
- OTA updates configurado (opcional).
- Caixa física apresentável.
- README com arquitectura, BOM, setup steps.
- GitHub com código.
- Apresentação com demo + dashboard ao vivo.
Fases
Fase 1 · Arquitectura (1h)
- Escolher cenário.
- Diagrama: devices → broker → cloud → dashboard.
- Lista de sensores/actuadores.
- Topics MQTT (se aplicável).
- Entregável: diagrama + BOM.
Fase 2 · Hardware + sensores (2h)
- Wire sensores em breadboard.
- Sketch lê leituras correctamente.
- Imprime no Serial.
- Entregável: leituras válidas no monitor.
Fase 3 · Cloud publish (2h)
- ThingSpeak ou Adafruit IO setup.
- ESP32 envia leituras.
- Dashboard básico.
- Entregável: dados em tempo real na cloud.
Fase 4 · Automation + alerta (1h)
- Alerta por email / Telegram / push notification.
- Ou automation que liga actuador local consoante leitura.
- Entregável: alerta dispara em condição.
Fase 5 · Reliability + bateria (1h)
- Reconnect automático.
- Watchdog.
- Deep sleep (se aplicável).
- Entregável: device sobrevive desligar router 30s.
Fase 6 · Caixa + apresentação (1h)
- Encaixar em caixa.
- README com arquitectura.
- Apresentação 5-10 min.
Critérios de avaliação
| Item | Peso |
|---|---|
| Arquitectura + diagrama | 10% |
| Hardware funcional | 15% |
| Cloud publish | 15% |
| Dashboard | 15% |
| Alerta / automação | 15% |
| Robustez (reconnect, sleep) | 10% |
| Documentação | 5% |
| Caixa / apresentação física | 5% |
| Apresentação demo | 10% |
Reflexão
Em meia página: que conectividade te causou mais problemas (WiFi flaky, TLS, MQTT)? Como debugaste quando o device parou silenciosamente? Bateria vs USB que opção escolheste? Sentes que a cloud é dependência inaceitável? Que uso real este sistema teria na tua casa/escola?