From 2c177fbfa803652acfd568163b7addb8e0071fc2 Mon Sep 17 00:00:00 2001 From: stefan123t Date: Sun, 7 Aug 2022 01:10:42 +0200 Subject: [PATCH 1/3] add #114 ntp_server_name and port to eeprom --- tools/esp8266/app.cpp | 23 ++++++++++++++++++++++- tools/esp8266/defines.h | 8 +++++++- tools/esp8266/html/setup.html | 6 ++++++ tools/esp8266/main.cpp | 4 ++-- tools/esp8266/main.h | 6 +++--- 5 files changed, 40 insertions(+), 7 deletions(-) diff --git a/tools/esp8266/app.cpp b/tools/esp8266/app.cpp index ebf5142d..6b40cf2c 100644 --- a/tools/esp8266/app.cpp +++ b/tools/esp8266/app.cpp @@ -107,7 +107,6 @@ void app::setup(uint32_t timeout) { mSys->Radio.pinIrq = RF24_IRQ_PIN; } - // nrf24 amplifier power mEep->read(ADDR_RF24_AMP_PWR, &mSys->Radio.AmplifierPower); @@ -122,6 +121,12 @@ void app::setup(uint32_t timeout) { mSerialDebug = (tmp == 0x01); mSys->Radio.mSerialDebug = mSerialDebug; + // ntp + char ntpAddr[NTP_ADDR_LEN]; + uint16_t ntpPort; + mEep->read(ADDR_NTP_ADDR, ntpAddr, NTP_ADDR_LEN); + mEep->read(ADDR_NTP_PORT, &ntpPort); + // TODO set ntpAddr & ntpPort in main // mqtt uint16_t mqttPort; @@ -358,6 +363,7 @@ void app::loop(void) { yield(); if(mSerialDebug) + DPRINTLN(DBG_DEBUG, F("app:loop WiFi WiFi.status ") + String(WiFi.status()) ); DPRINTLN(DBG_INFO, F("Requesting Inverter SN ") + String(iv->serial.u64, HEX)); mSys->Radio.sendTimePacket(iv->radioId.u64, mPayload[iv->id].ts); mRxTicker = 0; @@ -579,6 +585,13 @@ void app::showSetup(void) { mEep->read(ADDR_SER_DEBUG, &tmp); html.replace(F("{SER_DBG_CB}"), (tmp == 0x01) ? "checked" : ""); + char ntpAddr[NTP_ADDR_LEN] = {0}; + uint16_t ntpPort; + mEep->read(ADDR_NTP_ADDR, ntpAddr, NTP_ADDR_LEN); + mEep->read(ADDR_NTP_PORT, &ntpPort); + html.replace(F("{NTP_ADDR}"), String(ntpAddr)); + html.replace(F("{NTP_PORT}"), String(ntpPort)); + char mqttAddr[MQTT_ADDR_LEN] = {0}; uint16_t mqttPort; mEep->read(ADDR_MQTT_ADDR, mqttAddr, MQTT_ADDR_LEN); @@ -837,6 +850,14 @@ void app::saveValues(bool webSend = true) { mSys->Radio.AmplifierPower = mWeb->arg("rf24Power").toInt() & 0x03; mEep->write(ADDR_RF24_AMP_PWR, mSys->Radio.AmplifierPower); + // ntp + char ntpAddr[NTP_ADDR_LEN] = {0}; + uint16_t ntpPort; + mWeb->arg("ntpAddr").toCharArray(ntpAddr, NTP_ADDR_LEN); + ntpPort = mWeb->arg("ntpPort").toInt(); + mEep->write(ADDR_NTP_ADDR, ntpAddr, NTP_ADDR_LEN); + mEep->write(ADDR_NTP_PORT, ntpPort); + // mqtt char mqttAddr[MQTT_ADDR_LEN] = {0}; uint16_t mqttPort; diff --git a/tools/esp8266/defines.h b/tools/esp8266/defines.h index c746930c..6d2d0503 100644 --- a/tools/esp8266/defines.h +++ b/tools/esp8266/defines.h @@ -58,6 +58,9 @@ typedef struct { #define RF24_AMP_PWR_LEN 1 +#define NTP_ADDR_LEN 32 // DNS Name +#define NTP_PORT_LEN 2 // uint16_t + #define MQTT_ADDR_LEN 32 // DNS Name #define MQTT_USER_LEN 16 #define MQTT_PWD_LEN 32 @@ -90,7 +93,10 @@ typedef struct { #define ADDR_INV_INTERVAL ADDR_INV_CH_NAME + INV_CH_CH_NAME_LEN #define ADDR_INV_MAX_RTRY ADDR_INV_INTERVAL + INV_INTERVAL_LEN -#define ADDR_MQTT_ADDR ADDR_INV_MAX_RTRY + INV_MAX_RTRY_LEN +#define ADDR_NTP_ADDR ADDR_INV_MAX_RTRY + INV_MAX_RTRY_LEN +#define ADDR_NTP_PORT ADDR_NTP_ADDR + NTP_ADDR_LEN + +#define ADDR_MQTT_ADDR ADDR_NTP_PORT + NTP_PORT_LEN #define ADDR_MQTT_USER ADDR_MQTT_ADDR + MQTT_ADDR_LEN #define ADDR_MQTT_PWD ADDR_MQTT_USER + MQTT_USER_LEN #define ADDR_MQTT_TOPIC ADDR_MQTT_PWD + MQTT_PWD_LEN diff --git a/tools/esp8266/html/setup.html b/tools/esp8266/html/setup.html index 8988ed3e..a1e0d51c 100644 --- a/tools/esp8266/html/setup.html +++ b/tools/esp8266/html/setup.html @@ -83,6 +83,12 @@ +

NTP Server

+ + + + +

MQTT

diff --git a/tools/esp8266/main.cpp b/tools/esp8266/main.cpp index ffaa0a54..398e02ef 100644 --- a/tools/esp8266/main.cpp +++ b/tools/esp8266/main.cpp @@ -391,8 +391,8 @@ time_t Main::getNtpTime(void) { uint8_t buf[NTP_PACKET_SIZE]; uint8_t retry = 0; - WiFi.hostByName (TIMESERVER_NAME, timeServer); - mUdp->begin(TIME_LOCAL_PORT); + WiFi.hostByName(NTP_SERVER_NAME, timeServer); + mUdp->begin(NTP_LOCAL_PORT); sendNTPpacket(timeServer); diff --git a/tools/esp8266/main.h b/tools/esp8266/main.h index 68f9df5c..416844b5 100644 --- a/tools/esp8266/main.h +++ b/tools/esp8266/main.h @@ -26,9 +26,9 @@ const byte mDnsPort = 53; -/* TIMESERVER CONFIG */ -#define TIMESERVER_NAME "pool.ntp.org" -#define TIME_LOCAL_PORT 8888 +/* NTP TIMESERVER CONFIG */ +#define NTP_SERVER_NAME "pool.ntp.org" +#define NTP_LOCAL_PORT 8888 #define NTP_PACKET_SIZE 48 #define TIMEZONE 1 // Central European time +1 From 848e263e7f3539d7a5f5ad8221e4c3afa9068e73 Mon Sep 17 00:00:00 2001 From: stefan123t Date: Sun, 7 Aug 2022 01:16:57 +0200 Subject: [PATCH 2/3] add #114 ntp_server_name and port in setup --- tools/esp8266/html/convert.py | 0 tools/esp8266/html/h/setup_html.h | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 tools/esp8266/html/convert.py diff --git a/tools/esp8266/html/convert.py b/tools/esp8266/html/convert.py old mode 100644 new mode 100755 diff --git a/tools/esp8266/html/h/setup_html.h b/tools/esp8266/html/h/setup_html.h index 22b557af..ae14aab2 100644 --- a/tools/esp8266/html/h/setup_html.h +++ b/tools/esp8266/html/h/setup_html.h @@ -1,4 +1,4 @@ #ifndef __SETUP_HTML_H__ #define __SETUP_HTML_H__ -const char setup_html[] PROGMEM = "Setup - {DEVICE}

Setup

Enter the credentials to your prefered WiFi station. After rebooting the device tries to connect with this information.

WiFi

Device Host Name

ERASE SETTINGS (not WiFi)

Inverter

{INVERTERS}

General

Pinout (Wemos)

{PINOUT}

Radio (NRF24L01+)

MQTT

Serial Console



 

"; +const char setup_html[] PROGMEM = "Setup - {DEVICE}

Setup

Enter the credentials to your prefered WiFi station. After rebooting the device tries to connect with this information.

WiFi

Device Host Name

ERASE SETTINGS (not WiFi)

Inverter

{INVERTERS}

General

Pinout (Wemos)

{PINOUT}

Radio (NRF24L01+)

NTP Server

MQTT

Serial Console



 

"; #endif /*__SETUP_HTML_H__*/ From 6e4c22dda42154b31a3b1b9673ea3234219af65a Mon Sep 17 00:00:00 2001 From: lumapu Date: Sun, 7 Aug 2022 01:55:10 +0200 Subject: [PATCH 3/3] Update defines.h Version increase --- tools/esp8266/defines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/esp8266/defines.h b/tools/esp8266/defines.h index 795a8cce..13e8ef04 100644 --- a/tools/esp8266/defines.h +++ b/tools/esp8266/defines.h @@ -21,7 +21,7 @@ //------------------------------------- #define VERSION_MAJOR 0 #define VERSION_MINOR 5 -#define VERSION_PATCH 1 +#define VERSION_PATCH 2 //-------------------------------------