Este projeto demonstra o uso do ESP32 para leitura de um sensor de luz BH1750 via interface I2C e publicação periódica dos dados em um broker MQTT. É ideal para aplicações IoT, permitindo monitorar níveis de luminosidade em tempo real.
- Leitura do sensor BH1750 a cada minuto.
- Publicação dos valores de luminosidade no tópico MQTT
vshaft/sensor/light. - Conexão Wi-Fi para envio dos dados ao broker MQTT.
- ESP32 (Qualquer modelo compatível com o ESP-IDF).
- Sensor de Luz BH1750 (Conexão I2C).
- Resistores de pull-up de 10kΩ para linhas SDA e SCL.
- Cabos para conexão (jumpers).
- ESP-IDF v5.4.0 ou superior configurado.
- Broker MQTT (ex.: test.mosquitto.org ou broker próprio).
- Cliente MQTT (opcional para testes, como
mosquitto).
- Clone o Repositório
git clone https://github.com/vitorshaft/esp32-bh1750-mqtt.git cd esp32LightmeterMQTT - Configure o Ambiente ESP-IDF Certifique-se de que o ESP-IDF está instalado e configurado corretamente:
idf.py --version
- Personalize as Configurações
-
Abra o arquivo main.c e edite:
- Credenciais Wi-Fi:
#define WIFI_SSID "SUA REDE WIFI" #define WIFI_PASSWORD "SENHA WIFI"
-
Broker MQTT (opcional):
#define MQTT_BROKER_URI "mqtt://test.mosquitto.org:1883"
-
Compile e Faça Flash do Código
idf.py build idf.py flash -p /dev/ttyUSB0 monitor (substitua pelo seu USB ativo)
-
Monitore o Broker MQTT Verifique as mensagens publicadas:
mosquitto_sub -h test.mosquitto.org -t vshaft/sensor/light
📜 Funcionamento do Projeto
- O ESP32 se conecta ao Wi-Fi configurado.
- Realiza leituras do sensor BH1750 a cada minuto.
- Publica as leituras no broker MQTT no formato Luminosidade: X lx.
- Os logs podem ser monitorados no terminal via idf.py monitor.
This project demonstrates using the ESP32 to read a BH1750 light sensor over the I2C interface and periodically publish the data to an MQTT broker. It’s perfect for IoT applications, enabling real-time light level monitoring.
- BH1750 sensor readings every minute.
- Publishes luminosity values to the MQTT topic vshaft/sensor/light.
- Wi-Fi connection to send data to the MQTT broker.
- ESP32 (Any model compatible with ESP-IDF).
- BH1750 Light Sensor (I2C connection).
- 10kΩ pull-up resistors for SDA and SCL lines.
- Connection cables (jumpers).
- ESP-IDF v5.4.0 or higher configured.
- MQTT broker (e.g., test.mosquitto.org or custom broker).
- MQTT client (optional for testing, such as mosquitto).
-
Clone the Repository
git clone https://github.com/vitorshaft/esp32-bh1750-mqtt.git cd esp32LightmeterMQTT -
Configure ESP-IDF Environment Ensure ESP-IDF is installed and correctly configured:
idf.py --version
-
Customize the Configurations
-
Open the main.c file and edit:
-
- Wi-Fi Credentials:
#define WIFI_SSID "YOUR WIFI NETWORK" #define WIFI_PASSWORD "YOUR WIFI PASSWORD"
- Wi-Fi Credentials:
-
-
MQTT Broker (optional):
#define MQTT_BROKER_URI "mqtt://test.mosquitto.org:1883"
-
Build and Flash the Code
idf.py build idf.py flash -p /dev/ttyUSB0 monitor (replace with your active USB port)
-
Monitor the MQTT Broker Check the published messages:
mosquitto_sub -h test.mosquitto.org -t vshaft/sensor/light
📜 Project Workflow
- The ESP32 connects to the configured Wi-Fi network.
- Reads the BH1750 sensor every minute.
- Publishes readings to the MQTT broker in the format Luminosidade: X lx. 4.Logs can be monitored in the terminal via idf.py monitor.
