Pequeno projeto desenvolvido em plataforma Arduino que programa um microcontrolador ESP32 para controlar uma Shield Relay de 16 Canais. Uma placa de circuito impresso própria foi desenvolvida para integrar o componentes de hardware utilizados.
- 16 portas do ESP32 são utilizadas como entrada para gerir os push buttons/entradas que controlam cada relé;
- As 16 saídas, necessárias para gerir os relés, são disponibilizadas através do expansor de I/Os MCP23017, com comunicação I2C;
- O projeto faz uso do SO FreeRTOS, para, através de programação paralela, dividir o processamento entre os dois núcleos disponíveis no ESP32;
- Além do acionamento físico dos relés, estes também são controlados pela internet através do protocolo MQTT, de forma que este projeto pode ser facilmente integrado ao HomeAssitant. Inclusive fazendo uso do Discovery e Last Will Testament (LWT);
- O projeto também implementa watchdog que reinicializa o microcontrolador em caso de travamento;
- Possibilita atualizações OTA.
- FreeRTOS (SO);
- WiFi (Conexão WiFi);
- AsyncMqttClient (Conexão MQTT);
- ESPmDNS (DNS);
- WiFiUdp (UDP)
- ArduinoOTA (OTA);
- Wire (I2C);