diff --git a/tools/esp8266/README.md b/tools/esp8266/README.md index bd835c5a..3f37baa0 100644 --- a/tools/esp8266/README.md +++ b/tools/esp8266/README.md @@ -1,56 +1,9 @@ ## 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: - -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 +This page describes how the module of a Wemos D1 mini and ESP8266 is wired to the radio module, flashed and how the further steps are to communicate with the WR HM series. +#### Compatiblity For now the following inverters should work out of the box: - - HM350 - HM400 - HM600 @@ -59,16 +12,73 @@ For now the following inverters should work out of the box: - HM1200 - HM1500 -## USED LIBRARIES +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 in the http:///setup URL or with a click on the Setup link. -- `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 +## ESP8266 electr. associate + + +## 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` 1.6.1 + - `RF24` 1.4.5 + - `PubSubClient` 2.8 + - `ArduinoJson` 6.19.4 + +### Optional Configuration before compilation + +- number of supported inverters (set to 3 by default) `config.h` +- DTU radio id `hmRadio.h` (default = 1234567801 +- unformated list in webbrowser `/livedata` `config.h`, `LIVEDATA_VISUALIZED` + + +## Flash ESP with firmware + +#### nodemcu-pyflasher (easy way) +1. download the flash-tool [nodemcu-pyflasher](https://github.com/marcelstoer/nodemcu-pyflasher) +2. download latest release bin-file from [ahoy_](https://github.com/grindylow/ahoy/releases) +3. connect the target device with your pc. +4. Set the correct serial port and select the correct *.bin file +5. click now on "Flash NodeMCU" + +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 + +X. configure your WiFi settings, save, repower +Y. check your router or serial console for the IP address of the module. You can try ping the configured device name as well. + +## pages +| page | output | +| ---- | ------ | +| /uptime | 0 Days, 01:37:34; now: 2022-08-21 11:13:53 | +| /reboot | reboot dtu device | +| /erase | | +| /factory | | +| /setup | | +| /save | open the setup site | +| /cmdstat | show stat from the home site | +| /visualization | | +| /livedata | | +| /json | json output from the livedata | +| /api | | + +## Usage + +The webinterface has the following abilities: +- OTA Update (over the air update) +- Configuration (Wifi, inverter(s), NTP Server, Pinout, MQTT, Amplifier Power Level, Debug) +- 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) ## Todo's [See this post](https://github.com/grindylow/ahoy/issues/142)