Alexey Zholtikov b87092d4e1 Version 1.6
Changed config message for ESP-NOW sensors.
Changed config message for RF gateway.
Changed config message for nRF24 sensors.
Minor main code optimization.
Changed config data storage location to EEPROM.
Fixed bug with saving config from Web interface.
2023-03-07 11:54:29 +03:00
2023-03-07 11:54:29 +03:00
2023-03-07 11:54:29 +03:00
2022-12-28 21:44:16 +03:00
2023-03-04 08:07:32 +03:00
2023-02-12 16:41:54 +03:00

ESP-NOW gateway for ESP8266/ESP32

Gateway for data exchange between ESP-NOW devices and MQTT broker via WiFi/LAN.

Features

  1. Creates an access point named "ESP-NOW gateway XXXXXXXXXXXX" with password "12345678" (IP 192.168.4.1).
  2. Possibility a device search through the Windows Network Environment via SSDP (at ESP_NOW_WIFI mode).
  3. Periodically transmission of system information to the MQTT broker (every 60 seconds), availability status to the ESP-NOW network and to the MQTT broker (every 10 seconds) and current date and time to the ESP-NOW network (every 10 seconds).
  4. Automatically adds gateway configuration to Home Assistan via MQTT discovery as a binary_sensor.
  5. Automatically adds supported ESP-NOW devices configurations to Home Assistan via MQTT discovery.
  6. Automatically adds supported nRF24 devices configurations to Home Assistan via MQTT discovery.
  7. Possibility firmware update over OTA (at ESP_NOW_LAN mode via access point only).
  8. Web interface for settings (at ESP_NOW_LAN mode via access point only).
  9. 3 operating modes:
ESP_NOW       ESP-NOW node only. Default mode after flashing.
ESP_NOW_WIFI  Gateway between ESP-NOW devices and MQTT broker via WiFi.
ESP_NOW_LAN   Gateway between ESP-NOW devices and MQTT broker via Ethernet. Preferred mode.

Notes

  1. ESP-NOW mesh network based on the library ZHNetwork.
  2. Regardless of the status of connections to WiFi or MQTT the device perform ESP-NOW node function.
  3. For restart the device (without using the Web interface and only if MQTT connection established) send an "restart" command to the device's root topic (example - "homeassistant/espnow_gateway/70039F44BEF7").
  4. W5500 connection:
ESP8266 (GPIO05 - CS, GPIO14 - SCK, GPIO12 - MISO, GPIO13 - MOSI).
ESP32   (GPIO05 - CS, GPIO18 - SCK, GPIO19 - MISO, GPIO23 - MOSI).

Attention

  1. ESP-NOW network name must be set same of all another ESP-NOW devices in network.
  2. If encryption is used, the key must be set same of all another ESP-NOW devices in network.
  3. Upload the "data" folder (with web interface) into the filesystem before flashing.
  4. At ESP_NOW_WIFI mode WiFi router must be set on channel 1.

Tested on

  1. NodeMCU 1.0 (ESP-12E Module). ESP_NOW_WIFI mode. Unstable work.
  2. AZ-Delivery ESP-32 Dev Kit C V4. ESP_NOW_WIFI mode. Stable work.
  3. NodeMCU 1.0 (ESP-12E Module) + W5500. ESP_NOW_LAN mode. Stable work.
  4. AZ-Delivery ESP-32 Dev Kit C V4 + W5500. ESP_NOW_LAN mode. Stable work.

Supported devices

  1. RF Gateway
  2. ESP-NOW Switch
  3. ESP-NOW Light/Led Strip
  4. ESP-NOW Window/Door Sensor
  5. ESP-NOW Water Leakage Sensor

To Do

  • Automatically add ESP-NOW devices configurations to Home Assistan via MQTT discovery.
  • LAN connection support.
  • nRF24 device support (via RF Gateway).
  • BLE device support (via BLE Gateway).
  • LoRa device support (via LoRa Gateway).

Any feedback via e-mail would be appreciated. Or... Buy me a coffee.

Description
Gateway for data exchange between ESP-NOW devices and MQTT broker for ESP8266/ESP32.
Readme 70 KiB
Version 1.6 Latest
2023-03-07 11:55:56 +03:00
Languages
C++ 79.8%
HTML 8.9%
JavaScript 6.4%
CSS 4.9%