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.
 
 
 
 
 
 
wtl0 e25dce1573 Added favicon.ico to find the right tab in the browser more fast; Keep it simple (not as configuration option) 2 years ago
..
WemosD1_NRF24_Case 3D-Model for a case for Wemos D1 2 years ago
html * improved setup (if no data is in EEprom) 2 years ago
test/hmClassTest * version 0.3.0 2 years ago
CircularBuffer.h * added rx channel switching 2 years ago
README.md Readme: Added more (redundant) info n libraries to be installed; 2 years ago
app.cpp Added favicon.ico to find the right tab in the browser more fast; Keep it simple (not as configuration option) 2 years ago
app.h Added favicon.ico to find the right tab in the browser more fast; Keep it simple (not as configuration option) 2 years ago
config.h Merge pull request #76 from stefan123t/main 2 years ago
crc.cpp license included 2 years ago
crc.h license included 2 years ago
debug.h * PR #76 updated debug messages: now 5 different levels are available 2 years ago
defines.h * improved setup (if no data is in EEprom) 2 years ago
eep.h license included 2 years ago
esp8266.ino license included 2 years ago
favicon.h Added favicon.ico to find the right tab in the browser more fast; Keep it simple (not as configuration option) 2 years ago
hmDefines.h license included 2 years ago
hmInverter.h * PR #76 updated debug messages: now 5 different levels are available 2 years ago
hmRadio.h * PR #76 updated debug messages: now 5 different levels are available 2 years ago
hmSystem.h * PR #76 updated debug messages: now 5 different levels are available 2 years ago
main.cpp * improved setup (if no data is in EEprom) 2 years ago
main.h * PR #76 updated debug messages: now 5 different levels are available 2 years ago
mqtt.h * PR #76 updated debug messages: now 5 different levels are available 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 Arduino. 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

Optional Configuration before compilation

  • number of supported inverters (set to 3 by default) defines.h
  • enable channel hopping hmRadio.h
  • DTU radio id hmRadio.h
  • unformated list in webbrowser /livedata defines.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:

  • HM400
  • HM600
  • HM800
  • HM1200

USED LIBRARIES

  • ESP8266WiFi 1.0
  • DNSServer 1.1.0
  • Ticker 1.0
  • ESP8266HTTPUpdateServer 1.0
  • Time 1.6.1
  • RF24 1.4.2
  • PubSubClient 2.8