You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Andreas Schiffler 6bdb2fc86a updated Changes.md 2 years ago
..
WemosD1_NRF24_Case 3D-Model for a case for Wemos D1 2 years ago
html correct path for CHANGES.md 2 years ago
include * debug moved to another location 2 years ago
scripts complete rework of release workflow add CHANGES.md 2 years ago
.gitignore * compiles with PlatformIO 2 years ago
CHANGES.md updated Changes.md 2 years ago
CircularBuffer.h * added rx channel switching 2 years ago
README.md complete rework of release workflow add CHANGES.md 2 years ago
User_Manual.md Merge branch 'development' into dev_private 2 years ago
app.cpp removed change power limit on dtu startup 2 years ago
app.h Merge branch 'main' into esp32-adjustments 2 years ago
config.h button on index to get FW-Version 2 years ago
crc.cpp first changes to prepare code for esp32 2 years ago
crc.h first changes to prepare code for esp32 2 years ago
defines.h Merge branch 'development' of https://github.com/grindylow/ahoy into development 2 years ago
eep.h * improved read / save to eep 2 years ago
favicon.h Janitorial: Trailing whitespace tweaks 2 years ago
hmDefines.h 0.5.14 Bug fix mqtt payload & get FWVersion 2 years ago
hmInverter.h Merge branch 'main' into esp32-adjustments 2 years ago
hmRadio.h Merge branch 'main' into esp32-adjustments 2 years ago
hmSystem.h button on index to get FW-Version 2 years ago
main.cpp * first refactored version which is accessible through web interface 2 years ago
mqtt.h MQTT subscribe only when reconnect successful 2 years ago
platformio.ini d1_mini and nodemcu env merged, debug option added 2 years ago
web.cpp possible fix ref issue #162 2 years ago
web.h * webinterface refactored completely 2 years ago
wifi.cpp * moved wifi related stuff to extra class 2 years ago
wifi.h * moved wifi related stuff to extra class 2 years ago

README.md

OVERVIEW

This code is intended to run on a Wemos D1mini or similar. The code is based on 'Hubi's code, which can be found here: https://www.mikrocontroller.net/topic/525778?page=3#7033371

The NRF24L01+ radio module is connected to the standard SPI pins. Additional there are 3 pins, which can be set individual: CS, CE and IRQ These pins can be changed from the /setup URL

Compile

This code can be compiled using Visual Studio Code and PlatformIO Addon. The settings were:

  • Board: Generic ESP8266 Module
  • Flash-Size: 1MB (FS: none, OTA: 502kB)
  • Install libraries (not included in the Arduino IDE 1.8.19):
    • Time Arduino Time library (TimeLib.h)
    • RF24 Optimized high speed nRF24L01+ driver class documentation
    • PubSubClient A client library for MQTT messaging. By Nick O'Leary
    • ArduinoJson Arduino Json library

Optional Configuration before compilation

  • number of supported inverters (set to 3 by default) defines.h
  • DTU radio id hmRadio.h
  • unformated list in webbrowser /livedata config.h, LIVEDATA_VISUALIZED

Flash ESP with firmware

  1. flash the ESP with the compiled firmware using the UART pins or any preinstalled firmware with OTA capabilities
  2. repower the ESP
  3. the ESP will start as access point (AP) if there is no network config stored in its eeprom
  4. connect to the AP, you will be forwarded to the setup page
  5. configure your WiFi settings, save, repower
  6. check your router or serial console for the IP address of the module. You can try ping the configured device name as well.

Usage

Connect the ESP to power and to your serial console (optional). The webinterface has the following abilities:

  • OTA Update (over the air update)
  • Configuration (Wifi, inverter(s), Pinout, MQTT)
  • visual display of the connected inverters / modules
  • some statistics about communication (debug)

The serial console will print the converted values which were read out of the inverter(s)

Compatiblity

For now the following inverters should work out of the box:

  • HM350
  • HM400
  • HM600
  • HM700
  • HM800
  • HM1200
  • HM1500

USED LIBRARIES

  • ESP8266WiFi 1.0
  • DNSServer 1.1.0
  • Ticker 1.0
  • ESP8266HTTPUpdateServer 1.0
  • Time 1.6.1
  • RF24 1.4.5
  • PubSubClient 2.8
  • ArduinoJson 6.19.4