From 32dcfd3684455e624502f37251d20787f82cbae5 Mon Sep 17 00:00:00 2001 From: TeZ Date: Mon, 20 Jun 2022 22:02:47 +0200 Subject: [PATCH] arduino-esp32 original code April 2022 --- .../Pylon-MQTTeZ-Broker.ino | 134 +++ .../PylontechMonitoring.ino | 818 ++++++++++++++++ Arduino-ESP/PylontechMonitoring/README.md | 52 + .../PylontechMonitoring/Schematics.png | Bin 0 -> 516341 bytes .../libraries/Misc/circular_buffer.h | 113 +++ .../libraries/Misc/circular_log.h | 96 ++ .../libraries/NtpTime/ntp_time.h | 81 ++ .../libraries/SimpleTimer/README | 2 + .../libraries/SimpleTimer/SimpleTimer.cpp | 250 +++++ .../libraries/SimpleTimer/SimpleTimer.h | 126 +++ .../libraries/Time-master/DateStrings.cpp | 97 ++ .../libraries/Time-master/Readme.txt | 131 +++ .../libraries/Time-master/Time.cpp | 321 +++++++ .../libraries/Time-master/Time.h | 1 + .../libraries/Time-master/TimeLib.h | 144 +++ .../SyncArduinoClock/SyncArduinoClock.pde | 78 ++ .../Processing/SyncArduinoClock/readme.txt | 9 + .../TimeArduinoDue/TimeArduinoDue.ino | 71 ++ .../Time-master/examples/TimeGPS/TimeGPS.ino | 87 ++ .../Time-master/examples/TimeNTP/TimeNTP.ino | 135 +++ .../TimeNTP_ESP8266WiFi.ino | 156 +++ .../Time-master/examples/TimeRTC/TimeRTC.ino | 55 ++ .../examples/TimeRTCLog/TimeRTCLog.ino | 107 +++ .../examples/TimeRTCSet/TimeRTCSet.ino | 80 ++ .../examples/TimeSerial/TimeSerial.ino | 81 ++ .../TimeSerialDateStrings.ino | 108 +++ .../examples/TimeTeensy3/TimeTeensy3.ino | 78 ++ .../libraries/Time-master/keywords.txt | 34 + .../libraries/Time-master/library.json | 22 + .../libraries/Time-master/library.properties | 10 + Arduino-ESP/Pylontez-MQTT/CACert.ino | 103 ++ Arduino-ESP/Pylontez-MQTT/Pylontez-MQTT.ino | 898 ++++++++++++++++++ 32 files changed, 4478 insertions(+) create mode 100644 Arduino-ESP/Pylon-MQTTeZ-Broker/Pylon-MQTTeZ-Broker.ino create mode 100644 Arduino-ESP/PylontechMonitoring/PylontechMonitoring.ino create mode 100755 Arduino-ESP/PylontechMonitoring/README.md create mode 100755 Arduino-ESP/PylontechMonitoring/Schematics.png create mode 100755 Arduino-ESP/PylontechMonitoring/libraries/Misc/circular_buffer.h create mode 100755 Arduino-ESP/PylontechMonitoring/libraries/Misc/circular_log.h create mode 100755 Arduino-ESP/PylontechMonitoring/libraries/NtpTime/ntp_time.h create mode 100755 Arduino-ESP/PylontechMonitoring/libraries/SimpleTimer/README create mode 100755 Arduino-ESP/PylontechMonitoring/libraries/SimpleTimer/SimpleTimer.cpp create mode 100755 Arduino-ESP/PylontechMonitoring/libraries/SimpleTimer/SimpleTimer.h create mode 100755 Arduino-ESP/PylontechMonitoring/libraries/Time-master/DateStrings.cpp create mode 100755 Arduino-ESP/PylontechMonitoring/libraries/Time-master/Readme.txt create mode 100755 Arduino-ESP/PylontechMonitoring/libraries/Time-master/Time.cpp create mode 100755 Arduino-ESP/PylontechMonitoring/libraries/Time-master/Time.h create mode 100755 Arduino-ESP/PylontechMonitoring/libraries/Time-master/TimeLib.h create mode 100755 Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/Processing/SyncArduinoClock/SyncArduinoClock.pde create mode 100755 Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/Processing/SyncArduinoClock/readme.txt create mode 100755 Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeArduinoDue/TimeArduinoDue.ino create mode 100755 Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeGPS/TimeGPS.ino create mode 100755 Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeNTP/TimeNTP.ino create mode 100755 Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeNTP_ESP8266WiFi/TimeNTP_ESP8266WiFi.ino create mode 100755 Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeRTC/TimeRTC.ino create mode 100755 Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeRTCLog/TimeRTCLog.ino create mode 100755 Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeRTCSet/TimeRTCSet.ino create mode 100755 Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeSerial/TimeSerial.ino create mode 100755 Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeSerialDateStrings/TimeSerialDateStrings.ino create mode 100755 Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeTeensy3/TimeTeensy3.ino create mode 100755 Arduino-ESP/PylontechMonitoring/libraries/Time-master/keywords.txt create mode 100755 Arduino-ESP/PylontechMonitoring/libraries/Time-master/library.json create mode 100755 Arduino-ESP/PylontechMonitoring/libraries/Time-master/library.properties create mode 100644 Arduino-ESP/Pylontez-MQTT/CACert.ino create mode 100644 Arduino-ESP/Pylontez-MQTT/Pylontez-MQTT.ino diff --git a/Arduino-ESP/Pylon-MQTTeZ-Broker/Pylon-MQTTeZ-Broker.ino b/Arduino-ESP/Pylon-MQTTeZ-Broker/Pylon-MQTTeZ-Broker.ino new file mode 100644 index 0000000..99e6620 --- /dev/null +++ b/Arduino-ESP/Pylon-MQTTeZ-Broker/Pylon-MQTTeZ-Broker.ino @@ -0,0 +1,134 @@ +// MQTT server + client for ESP32 +#include"sMQTTBroker.h" +#include +#include +#include +#include + +const char* ssid = "NOS-3B26"; // Setubal +const char* password = "RMKSX2GL"; // Setubal +//const char* ssid = "MEO-AA9030"; // Andre +//const char* password = "81070ce635"; // Andre + +// Set your Static IP address +IPAddress local_IP(192, 168, 1, 123); +// Set your Gateway IP address +IPAddress gateway(192, 168, 1, 1); + +IPAddress subnet(255, 255, 0, 0); +IPAddress primaryDNS(8, 8, 8, 8); // optional +IPAddress secondaryDNS(8, 8, 4, 4); // optional + +sMQTTBroker broker; + +WiFiClient net; +//WiFiClientSecure net; +MQTTClient mqtt_client(1024); + +//WiFiClient espClient; +//PubSubClient client(espClient); +//long lastMsg = 0; +//char msg[50]; +//int value = 0; + +unsigned long lastMillis = 0; + +////////////////////////////////// +void WiFiconnect(){ + int nn = 0; + while (WiFi.status() != WL_CONNECTED) { // Wait for the Wi-Fi to connect + delay(500); + if(nn<9){ + Serial.print("."); + nn++; + }else{ + nn=0; + Serial.println("."); + } + } + + if (!WiFi.config(local_IP, gateway, subnet, primaryDNS, secondaryDNS)) { + Serial.println("STA Failed to configure"); + } + + Serial.println("Connection established!"); + Serial.print("IP address:\t"); + Serial.println(WiFi.localIP()); + + + +// Serial.print("\nconnecting..."); +//// while (!mqtt_client.connect("bsidebotham", "", "")) { +// while (!mqtt_client.connect("tezmqlientx2323", "", "")) { +// Serial.print("."); +// delay(1000); +// } +// +// Serial.println("\nconnected!"); +// +// mqtt_client.subscribe("/hello"); +// +// // MQTT brokers usually use port 8883 for secure connections. +//// client.begin("broker.shiftr.io", 8883, net); +// mqtt_client.begin("192.168.1.123", 1883, net); +// mqtt_client.onMessage(messageReceived); + +} + +////////////////////////////// +void messageReceived(String &topic, String &payload) { + Serial.println("incoming: " + topic + " - " + payload); + + // Note: Do not use the client in the callback to publish, subscribe or + // unsubscribe as it may cause deadlocks when other things arrive while + // sending and receiving acknowledgments. Instead, change a global variable, + // or push to a queue and handle it in the loop after calling `client.loop()`. +} + +////////////////////////////// +void setup() +{ + Serial.begin(115200); +// const char* ssid = "MEO-AA9030"; // The SSID (name) of the Wi-Fi network you want to connect to +// const char* password = "81070ce635"; // The password of the Wi-Fi network + + Serial.print("Connecting to "); + Serial.println(ssid); + WiFi.begin(ssid, password); + + const unsigned short mqttPort=1883; + broker.init(mqttPort); + // all done + + + WiFiconnect(); + + + + + + +} + +////////////////////////////// +void loop() +{ + broker.update(); + +// mqtt_client.loop(); + + delay(10); // <- fixes some issues with WiFi stability + + // publish a message roughly every second. +// if (millis() - lastMillis > 1000) { +// if (!mqtt_client.connected()) { +// Serial.print("lastError: "); +// Serial.println(mqtt_client.lastError()); +// WiFiconnect(); +// } +// lastMillis = millis(); +// int rnum = random(1,23); +// mqtt_client.publish("/hello", "ciccio" + String(rnum)); +// } +// +} diff --git a/Arduino-ESP/PylontechMonitoring/PylontechMonitoring.ino b/Arduino-ESP/PylontechMonitoring/PylontechMonitoring.ino new file mode 100644 index 0000000..6934dcf --- /dev/null +++ b/Arduino-ESP/PylontechMonitoring/PylontechMonitoring.ino @@ -0,0 +1,818 @@ +#include +#include +#include +#include +#include +#include //https://github.com/PaulStoffregen/Time +#include +#include + + +//IMPORTANT: Specify your WIFI settings: +//#define WIFI_SSID "NOS-3B26" +//#define WIFI_PASS "RMKSX2GL" +#define WIFI_SSID "MEO-AA9030" +#define WIFI_PASS "81070ce635" + + +//IMPORTANT: Uncomment this line if you want to enable MQTT (and fill correct MQTT_ values below): +//#define ENABLE_MQTT + +#ifdef ENABLE_MQTT +//NOTE 1: if you want to change what is pushed via MQTT - edit function: pushBatteryDataToMqtt. +//NOTE 2: MQTT_TOPIC_ROOT is where battery will push MQTT topics. For example "soc" will be pushed to: "home/grid_battery/soc" +#define MQTT_SERVER "192.168.1.123" +#define MQTT_PORT 1883 +#define MQTT_USER "" +#define MQTT_PASSWORD "" +#define MQTT_TOPIC_ROOT "home/grid_battery/" //this is where mqtt data will be pushed +#define MQTT_PUSH_FREQ_SEC 2 //maximum mqtt update frequency in seconds + +#include +WiFiClient espClient; +PubSubClient mqttClient(espClient); +#endif //ENABLE_MQTT + +char g_szRecvBuff[7000]; + +IPAddress thisip; + +ESP8266WebServer server(80); +SimpleTimer timer; +circular_log<7000> g_log; +bool ntpTimeReceived = false; +int g_baudRate = 0; + +void Log(const char* msg) +{ + g_log.Log(msg); +} + + +///////////////////////////////// +void goWiFi(){ + // connect to WiFi + WiFi.mode(WIFI_STA); + WiFi.persistent(false); //our credentials are hardcoded, so we don't need ESP saving those each boot (will save on flash wear) + WiFi.hostname("PylonBattery"); + Serial.println(); + Serial.print("connecting to "); + Serial.println(WIFI_SSID); + + WiFi.begin(WIFI_SSID, WIFI_PASS); + while (WiFi.status() != WL_CONNECTED) { + delay(500); + Serial.print("."); + } + Serial.println(""); + Serial.println("WiFi connected"); + Serial.println("IP address: "); + Serial.println(WiFi.localIP()); + Serial.println(""); + for(int i=1; i<=3; i++){ + LedBlink(); + } + +} + + +////////////////////////////////////////////////// +void LedBlink(){ + digitalWrite(LED_BUILTIN, LOW); + delay(150); + digitalWrite(LED_BUILTIN, HIGH); // high = off + delay(150); +} + + + +////////////////////// +void setup() { + + Serial.begin(115200); + + pinMode(LED_BUILTIN, OUTPUT); + digitalWrite(LED_BUILTIN, HIGH);//high is off + + // connect to WiFi + goWiFi(); + +// // original wifi code +// WiFi.mode(WIFI_STA); +// WiFi.persistent(false); //our credentialss are hardcoded, so we don't need ESP saving those each boot (will save on flash wear) +// WiFi.hostname("PylonBattery"); +// WiFi.begin(WIFI_SSID, WIFI_PASS); +// +// for(int ix=0; ix<10; ix++) +// { +// if(WiFi.status() == WL_CONNECTED) +// { +// break; +// } +// +// delay(1000); +// } + +// Serial.println(""); +// Serial.println("WiFi connected"); +// Serial.println("IP address: "); +// thisip = WiFi.localIP(); +// Serial.println( thisip ); + + + ArduinoOTA.setHostname("AndrePylon"); + ArduinoOTA.begin(); + server.on("/", handleRoot); + server.on("/log", handleLog); + server.on("/req", handleReq); + server.on("/jsonOut", handleJsonOut); + server.on("/reboot", [](){ + ESP.restart(); + }); + + server.begin(); + + syncTime(); + +#ifdef ENABLE_MQTT + mqttClient.setServer(MQTT_SERVER, MQTT_PORT); +#endif + + Log("Boot event"); +} + +void handleLog() +{ + server.send(200, "text/html", g_log.c_str()); +} + +void switchBaud(int newRate) +{ + if(g_baudRate == newRate) + { + return; + } + + if(g_baudRate != 0) + { + Serial.flush(); + delay(20); + Serial.end(); + delay(20); + } + + char szMsg[50]; + snprintf(szMsg, sizeof(szMsg)-1, "New baud: %d", newRate); + Log(szMsg); + + Serial.begin(newRate); + g_baudRate = newRate; + + delay(20); +} + +void waitForSerial() +{ + for(int ix=0; ix<150;ix++) + { + if(Serial.available()) break; + delay(10); + } +} + +int readFromSerial() +{ + memset(g_szRecvBuff, 0, sizeof(g_szRecvBuff)); + int recvBuffLen = 0; + bool foundTerminator = true; + + waitForSerial(); + + while(Serial.available()) + { + char szResponse[256] = ""; + const int readNow = Serial.readBytesUntil('>', szResponse, sizeof(szResponse)-1); //all commands terminate with "$$\r\n\rpylon>" (no new line at the end) + if(readNow > 0 && + szResponse[0] != '\0') + { + if(readNow + recvBuffLen + 1 >= (int)(sizeof(g_szRecvBuff))) + { + Log("WARNING: Read too much data on the console!"); + break; + } + + strcat(g_szRecvBuff, szResponse); + recvBuffLen += readNow; + + if(strstr(g_szRecvBuff, "$$\r\n\rpylon")) + { + strcat(g_szRecvBuff, ">"); //readBytesUntil will skip this, so re-add + foundTerminator = true; + break; //found end of the string + } + + if(strstr(g_szRecvBuff, "Press [Enter] to be continued,other key to exit")) + { + //we need to send new line character so battery continues the output + Serial.write("\r"); + } + + waitForSerial(); + } + } + + if(recvBuffLen > 0 ) + { + if(foundTerminator == false) + { + Log("Failed to find pylon> terminator"); + } + } + + return recvBuffLen; +} + +bool readFromSerialAndSendResponse() +{ + const int recvBuffLen = readFromSerial(); + if(recvBuffLen > 0) + { + server.sendContent(g_szRecvBuff); + return true; + } + + return false; +} + +bool sendCommandAndReadSerialResponse(const char* pszCommand) +{ + switchBaud(115200); + + if(pszCommand[0] != '\0') + { + Serial.write(pszCommand); + } + Serial.write("\n"); + + const int recvBuffLen = readFromSerial(); + if(recvBuffLen > 0) + { + return true; + } + + //wake up console and try again: + wakeUpConsole(); + + if(pszCommand[0] != '\0') + { + Serial.write(pszCommand); + } + Serial.write("\n"); + + return readFromSerial() > 0; +} + +void handleReq() +{ + bool respOK; + if(server.hasArg("code") == false) + { + respOK = sendCommandAndReadSerialResponse(""); + } + else + { + respOK = sendCommandAndReadSerialResponse(server.arg("code").c_str()); + } + + if(respOK) + { + server.send(200, "text/plain", g_szRecvBuff); + } + else + { + server.send(500, "text/plain", "????"); + } +} + +void handleJsonOut() +{ + if(sendCommandAndReadSerialResponse("pwr") == false) + { + server.send(500, "text/plain", "Failed to get response to 'pwr' command"); + return; + } + + parsePwrResponse(g_szRecvBuff); + prepareJsonOutput(g_szRecvBuff, sizeof(g_szRecvBuff)); + server.send(200, "application/json", g_szRecvBuff); +} + +void handleRoot() { + unsigned long days = 0, hours = 0, minutes = 0; + unsigned long val = os_getCurrentTimeSec(); + + days = val / (3600*24); + val -= days * (3600*24); + + hours = val / 3600; + val -= hours * 3600; + + minutes = val / 60; + val -= minutes*60; + + static char szTmp[2500] = ""; + snprintf(szTmp, sizeof(szTmp)-1, "Garage Battery
Time GMT: %d/%02d/%02d %02d:%02d:%02d (%s)
Uptime: %02d:%02d:%02d.%02d

free heap: %u
Wifi RSSI: %d
Wifi SSID: %s", + year(), month(), day(), hour(), minute(), second(), "GMT", + (int)days, (int)hours, (int)minutes, (int)val, + ESP.getFreeHeap(), WiFi.RSSI(), WiFi.SSID().c_str()); + + + strncat(szTmp, "
Runtime log
", sizeof(szTmp)-1); + strncat(szTmp, "
Command:
Power | Help | Event Log | Time", sizeof(szTmp)-1); + strncat(szTmp, "", sizeof(szTmp)-1); + + server.send(200, "text/html", szTmp); +} + +unsigned long os_getCurrentTimeSec() +{ + static unsigned int wrapCnt = 0; + static unsigned long lastVal = 0; + unsigned long currentVal = millis(); + + if(currentVal < lastVal) + { + wrapCnt++; + } + + lastVal = currentVal; + unsigned long seconds = currentVal/1000; + + //millis will wrap each 50 days, as we are interested only in seconds, let's keep the wrap counter + return (wrapCnt*4294967) + seconds; +} + +void syncTime() +{ + //get time from NTP + time_t currentTimeGMT = getNtpTime(); + if(currentTimeGMT) + { + ntpTimeReceived = true; + setTime(currentTimeGMT); + } + else + { + timer.setTimeout(5000, syncTime); //try again in 5 seconds + } +} + +void wakeUpConsole() +{ + switchBaud(1200); + + //byte wakeUpBuff[] = {0x7E, 0x32, 0x30, 0x30, 0x31, 0x34, 0x36, 0x38, 0x32, 0x43, 0x30, 0x30, 0x34, 0x38, 0x35, 0x32, 0x30, 0x46, 0x43, 0x43, 0x33, 0x0D}; + //Serial.write(wakeUpBuff, sizeof(wakeUpBuff)); + Serial.write("~20014682C0048520FCC3\r"); + delay(1000); + + byte newLineBuff[] = {0x0E, 0x0A}; + switchBaud(115200); + + for(int ix=0; ix<10; ix++) + { + Serial.write(newLineBuff, sizeof(newLineBuff)); + delay(1000); + + if(Serial.available()) + { + while(Serial.available()) + { + Serial.read(); + } + + break; + } + } +} + +#define MAX_PYLON_BATTERIES 8 + +struct pylonBattery +{ + bool isPresent; + long soc; //Coulomb in % + long voltage; //in mW + long current; //in mA, negative value is discharge + long tempr; //temp of case or BMS? + long cellTempLow; + long cellTempHigh; + long cellVoltLow; + long cellVoltHigh; + char baseState[9]; //Charge | Dischg | Idle + char voltageState[9]; //Normal + char currentState[9]; //Normal + char tempState[9]; //Normal + char time[20]; //2019-06-08 04:00:29 + char b_v_st[9]; //Normal (battery voltage?) + char b_t_st[9]; //Normal (battery temperature?) + + bool isCharging() const { return strcmp(baseState, "Charge") == 0; } + bool isDischarging() const { return strcmp(baseState, "Dischg") == 0; } + bool isIdle() const { return strcmp(baseState, "Idle") == 0; } + bool isBalancing() const { return strcmp(baseState, "Balance") == 0; } + + + bool isNormal() const + { + if(isCharging() == false && + isDischarging() == false && + isIdle() == false && + isBalancing() == false) + { + return false; //base state looks wrong! + } + + return strcmp(voltageState, "Normal") == 0 && + strcmp(currentState, "Normal") == 0 && + strcmp(tempState, "Normal") == 0 && + strcmp(b_v_st, "Normal") == 0 && + strcmp(b_t_st, "Normal") == 0 ; + } +}; + +struct batteryStack +{ + int batteryCount; + int soc; //in %, if charging: average SOC, otherwise: lowest SOC + int temp; //in mC, if highest temp is > 15C, this will show the highest temp, otherwise the lowest + long currentDC; //mAh current going in or out of the battery + long avgVoltage; //in mV + char baseState[9]; //Charge | Dischg | Idle | Balance | Alarm! + + pylonBattery batts[MAX_PYLON_BATTERIES]; + + bool isNormal() const + { + for(int ix=0; ix 1000) + { + return (long)(powerDC*1.06); + } + else if(powerDC > 600) + { + return (long)(powerDC*1.1); + } + else + { + return (long)(powerDC*1.13); + } + } + } +}; + +batteryStack g_stack; + + +long extractInt(const char* pStr, int pos) +{ + return atol(pStr+pos); +} + +void extractStr(const char* pStr, int pos, char* strOut, int strOutSize) +{ + strOut[strOutSize-1] = '\0'; + strncpy(strOut, pStr+pos, strOutSize-1); + strOutSize--; + + + //trim right + while(strOutSize > 0) + { + if(isspace(strOut[strOutSize-1])) + { + strOut[strOutSize-1] = '\0'; + } + else + { + break; + } + + strOutSize--; + } +} + +/* Output has mixed \r and \r\n +pwr + +@ + +Power Volt Curr Tempr Tlow Thigh Vlow Vhigh Base.St Volt.St Curr.St Temp.St Coulomb Time B.V.St B.T.St + +1 49735 -1440 22000 19000 19000 3315 3317 Dischg Normal Normal Normal 93% 2019-06-08 04:00:30 Normal Normal + +.... + +8 - - - - - - - Absent - - - - - - - + +Command completed successfully + +$$ + +pylon +*/ +bool parsePwrResponse(const char* pStr) +{ + if(strstr(pStr, "Command completed successfully") == NULL) + { + return false; + } + + int chargeCnt = 0; + int dischargeCnt = 0; + int idleCnt = 0; + int alarmCnt = 0; + int socAvg = 0; + int socLow = 0; + int tempHigh = 0; + int tempLow = 0; + + memset(&g_stack, 0, sizeof(g_stack)); + + for(int ix=0; ix g_stack.batts[ix].soc){socLow = g_stack.batts[ix].soc;} + if(tempHigh < g_stack.batts[ix].cellTempHigh){tempHigh = g_stack.batts[ix].cellTempHigh;} + if(tempLow > g_stack.batts[ix].cellTempLow){tempLow = g_stack.batts[ix].cellTempLow;} + } + + } + } + + //now update stack state: + g_stack.avgVoltage /= g_stack.batteryCount; + g_stack.soc = socLow; + + if(tempHigh > 15000) //15C + { + g_stack.temp = tempHigh; //in the summer we highlight the warmest cell + } + else + { + g_stack.temp = tempLow; //in the winter we focus on coldest cell + } + + if(alarmCnt > 0) + { + strcpy(g_stack.baseState, "Alarm!"); + } + else if(chargeCnt == g_stack.batteryCount) + { + strcpy(g_stack.baseState, "Charge"); + g_stack.soc = (int)(socAvg / g_stack.batteryCount); + } + else if(dischargeCnt == g_stack.batteryCount) + { + strcpy(g_stack.baseState, "Dischg"); + } + else if(idleCnt == g_stack.batteryCount) + { + strcpy(g_stack.baseState, "Idle"); + } + else + { + strcpy(g_stack.baseState, "Balance"); + } + + + return true; +} + +void prepareJsonOutput(char* pBuff, int buffSize) +{ + memset(pBuff, 0, buffSize); + snprintf(pBuff, buffSize-1, "{\"soc\": %d, \"temp\": %d, \"currentDC\": %ld, \"avgVoltage\": %ld, \"baseState\": \"%s\", \"batteryCount\": %d, \"powerDC\": %ld, \"estPowerAC\": %ld, \"isNormal\": %s}", g_stack.soc, + g_stack.temp, + g_stack.currentDC, + g_stack.avgVoltage, + g_stack.baseState, + g_stack.batteryCount, + g_stack.getPowerDC(), + g_stack.getEstPowerAc(), + g_stack.isNormal() ? "true" : "false"); +} + +void loop() { +#ifdef ENABLE_MQTT + mqttLoop(); +#endif + + ArduinoOTA.handle(); + server.handleClient(); + timer.run(); + + //if there are bytes availbe on serial here - it's unexpected + //when we send a command to battery, we read whole response + //if we get anything here anyways - we will log it + int bytesAv = Serial.available(); + if(bytesAv > 0) + { + if(bytesAv > 63) + { + bytesAv = 63; + } + + char buff[64+4] = "RCV:"; + if(Serial.readBytes(buff+4, bytesAv) > 0) + { + digitalWrite(LED_BUILTIN, LOW); + delay(5); + digitalWrite(LED_BUILTIN, HIGH);//high is off + + Log(buff); + } + } +} + +#ifdef ENABLE_MQTT +#define ABS_DIFF(a, b) (a > b ? a-b : b-a) +void mqtt_publish_f(const char* topic, float newValue, float oldValue, float minDiff, bool force) +{ + char szTmp[16] = ""; + snprintf(szTmp, 15, "%.2f", newValue); + if(force || ABS_DIFF(newValue, oldValue) > minDiff) + { + mqttClient.publish(topic, szTmp, false); + } +} + +void mqtt_publish_i(const char* topic, int newValue, int oldValue, int minDiff, bool force) +{ + char szTmp[16] = ""; + snprintf(szTmp, 15, "%d", newValue); + if(force || ABS_DIFF(newValue, oldValue) > minDiff) + { + mqttClient.publish(topic, szTmp, false); + } +} + +void mqtt_publish_s(const char* topic, const char* newValue, const char* oldValue, bool force) +{ + if(force || strcmp(newValue, oldValue) != 0) + { + mqttClient.publish(topic, newValue, false); + } +} + +void pushBatteryDataToMqtt(const batteryStack& lastSentData, bool forceUpdate /* if true - we will send all data regardless if it's the same */) +{ + mqtt_publish_f(MQTT_TOPIC_ROOT "soc", g_stack.soc, lastSentData.soc, 0, forceUpdate); + mqtt_publish_f(MQTT_TOPIC_ROOT "temp", (float)g_stack.temp/1000.0, (float)lastSentData.temp/1000.0, 0, forceUpdate); + mqtt_publish_i(MQTT_TOPIC_ROOT "estPowerAC", g_stack.getEstPowerAc(), lastSentData.getEstPowerAc(), 10, forceUpdate); + mqtt_publish_i(MQTT_TOPIC_ROOT "battery_count",g_stack.batteryCount, lastSentData.batteryCount, 0, forceUpdate); + mqtt_publish_s(MQTT_TOPIC_ROOT "base_state", g_stack.baseState, lastSentData.baseState , forceUpdate); + mqtt_publish_i(MQTT_TOPIC_ROOT "is_normal", g_stack.isNormal() ? 1:0, lastSentData.isNormal() ? 1:0, 0, forceUpdate); +} + +void mqttLoop() +{ + //if we have problems with connecting to mqtt server, we will attempt to re-estabish connection each 1minute (not more than that) + static unsigned long g_lastConnectionAttempt = 0; + + //first: let's make sure we are connected to mqtt + const char* topicLastWill = MQTT_TOPIC_ROOT "availability"; + if (!mqttClient.connected() && (g_lastConnectionAttempt == 0 || os_getCurrentTimeSec() - g_lastConnectionAttempt > 60)) { + if(mqttClient.connect("GarageBattery", MQTT_USER, MQTT_PASSWORD, topicLastWill, 1, true, "offline")) + { + Log("Connected to MQTT server: " MQTT_SERVER); + mqttClient.publish(topicLastWill, "online", true); + } + else + { + Log("Failed to connect to MQTT server."); + } + + g_lastConnectionAttempt = os_getCurrentTimeSec(); + } + + //next: read data from battery and send via MQTT (but only once per MQTT_PUSH_FREQ_SEC seconds) + static unsigned long g_lastDataSent = 0; + if(mqttClient.connected() && + os_getCurrentTimeSec() - g_lastDataSent > MQTT_PUSH_FREQ_SEC && + sendCommandAndReadSerialResponse("pwr") == true) + { + static batteryStack lastSentData; //this is the last state we sent to MQTT, used to prevent sending the same data over and over again + static unsigned int callCnt = 0; + + parsePwrResponse(g_szRecvBuff); + + bool forceUpdate = (callCnt % 20 == 0); //push all the data every 20th call + pushBatteryDataToMqtt(lastSentData, forceUpdate); + + callCnt++; + g_lastDataSent = os_getCurrentTimeSec(); + memcpy(&lastSentData, &g_stack, sizeof(batteryStack)); + } + + mqttClient.loop(); +} + +#endif //ENABLE_MQTT diff --git a/Arduino-ESP/PylontechMonitoring/README.md b/Arduino-ESP/PylontechMonitoring/README.md new file mode 100755 index 0000000..2ed85d3 --- /dev/null +++ b/Arduino-ESP/PylontechMonitoring/README.md @@ -0,0 +1,52 @@ +# Pylontech Battery Monitoring via WiFi + +This project allows you to control and monitor Pylontech US2000B and US2000C batteries via console port over WiFi. +It it's a great starting point to integrate battery with your home automation. + +**I ACCEPT NO RESPONSIBILTY FOR ANY DAMAGE CAUSED, PROCEED AT YOUR OWN RISK** + +# Features: + * Low cost (around 20$ in total). + * Adds WiFi capability to your Pylontech US2000B/C battery. + * Device exposes web interface that allows to: + * send console commands and read response over WiFi (no PC needed) + * battery information can be retrevied also in JSON format for easy parsing + * MQTT support: + * device pushes basic battery data like SOC, temperature, state, etc to selected MQTT server + * Easy to modify code using Arduino IDE and flash new firmware over WiFi (no need to disconnect from the battery). + +See the project in action on [Youtube](https://youtu.be/7VyQjKU3MsU):
+See the project in action on YouTube + + +# Parts needed and schematics: + * [Wemos D1 mini microcontroller](https://www.amazon.co.uk/Makerfire-NodeMcu-Development-ESP8266-Compatible/dp/B071S8MWTY/). + * [SparkFun MAX3232 Transceiver](https://www.sparkfun.com/products/11189). + * US2000B: Cable with RJ10 connector (some RJ10 cables have only two wires, make sure to buy one that has all four wires present). + * US2000C: Cable with RJ45 connector (see below for more details). + * Capacitors C1: 10uF, C2: 0.1uF (this is not strictly required, but recommended as Wemos D1 can have large current spikes). + +![Schematics](Schemetics.png) + +# US2000C notes: +This battery uses RJ45 cable instead of RJ10. Schematics is the same only plug differs: + * RJ45 Pin 3 (white-green) = R1IN + * RJ45 Pin 6 (green) = T1OUT + * RJ45 Pin 8 (brown) = GND +![image](https://user-images.githubusercontent.com/19826327/146428324-29e3f9bf-6cc3-415c-9d60-fa5ee3d65613.png) + + +# How to get going: + * Get Wemos D1 mini + * Install arduino IDE and ESP8266 libraries as [described here](https://averagemaker.com/2018/03/wemos-d1-mini-setup.html) + * Open [PylontechMonitoring.ino](PylontechMonitoring.ino) in arduino IDE + * Make sure to copy content of [libraries subdirectory](libraries) to [libraries of your Arduino IDE](https://forum.arduino.cc/index.php?topic=88380.0). + * Specify your WiFi login and password at the top of the file (line 13-14) + * If you want MQTT support, uncomment line 17 and fill details in lines 21-24 + * Upload project to your device + * Connect Wemos D1 mini to the MAX3232 transreceiver + * Connect transreceiver to RJ10/RJ45 as descibed in the schematics (all three lines need to be connected) + * Connect RJ10/RJ45 to the serial port of the Pylontech US2000 battery. If you have multiple batteries - connect to the master one. + * Connect Wemos D1 to the power via USB + * Find what IP address was assigned to your Wemos by your router and open it in the web-browser + * You should be able now to connunicate with the battery via WiFi diff --git a/Arduino-ESP/PylontechMonitoring/Schematics.png b/Arduino-ESP/PylontechMonitoring/Schematics.png new file mode 100755 index 0000000000000000000000000000000000000000..d30f35b8d0bac45947065ff840222745e01eef5d GIT binary patch literal 516341 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

TQOgllL2Yx5a#*$StH*!(wJ6sBR&j9_KyYLU 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 + +///

+/// This class allows a fixed size circular buffer. +/// When push_back is called, oldest data is overwritten. +/// Does not use any dynamic allocators. +/// +template class circular_buffer +{ +private: + ItemType m_arr[elementCnt]; + int m_writePos; + int m_size; + + void advanceWritePos() + { + if(m_size < elementCnt) + { + m_size++; + } + + m_writePos++; + if(m_writePos >= elementCnt) + { + m_writePos = 0; + } + } + + circular_buffer(const circular_buffer& rhs); +public: + circular_buffer() + { + clear(); + } + + void operator=(const circular_buffer& rhs) + { + memcpy(m_arr, rhs.m_arr, sizeof(m_arr)); + m_size = rhs.m_size; + m_writePos = rhs.m_writePos; + } + + void push_back(const ItemType& item) + { + m_arr[m_writePos] = item; + advanceWritePos(); + } + + void clear() + { + memset(m_arr,0,sizeof(m_arr)); + m_size = m_writePos = 0; + } + + void sort() + { + if (size() < 2) + return; + + bool swapped; + do + { + swapped = false; + for(int ix=0; ix at(ix+1)) + { + ItemType tmp = at(ix); + at(ix) = at(ix+1); + at(ix+1) = tmp; + swapped = true; + } + } + + }while(swapped); + } + + int size() const { return m_size; } + bool isFull() const { return size() == elementCnt; } + ItemType& operator[](int pos) {return at(pos);} + + ItemType& at(int pos) + { + if(m_size < elementCnt) + { + return m_arr[pos]; + } + + int readPos = m_writePos + pos; + if(readPos >= elementCnt) + { + readPos -= elementCnt; + } + + return m_arr[readPos]; + } + +#if _DEBUG_ENABLED + void print() + { + printf("---\n"); + for(int i=0; i //https://github.com/PaulStoffregen/Time +#include + +template class circular_log +{ +private: + char m_log[elementCnt]; + + bool removeLastFromLog() + { + char* nextLine = strstr(m_log+1, "
"); + if(nextLine == NULL) + { + return false; + } + + int newLineLen = strlen(nextLine); + memmove(m_log, nextLine, newLineLen); + m_log[newLineLen] = '\0'; + + return true; + } + +public: + circular_log() + { + memset(m_log, 0, sizeof(m_log)); + } + + const char* c_str() const { return m_log; } + int freeSpace() const { return elementCnt - strlen(m_log) - 1; } + + void LogXml(const char* msg) + { + char szNew[256] = ""; + snprintf(szNew, sizeof(szNew)-1, "
%02d - %02d:%02d | ", day(), hour(), minute()); + + int ix = strlen(szNew); + while(*msg != '\0' && ix < 250) + { + if(*msg == '<') + { + szNew[ix++] = '&'; + szNew[ix++] = 'l'; + szNew[ix++] = 't'; + szNew[ix++] = ';'; + } + else if(*msg == '>') + { + szNew[ix++] = '&'; + szNew[ix++] = 'g'; + szNew[ix++] = 't'; + szNew[ix++] = ';'; + } + else + { + szNew[ix++] = *msg; + } + + msg++; + } + + const int newLen = strlen(szNew); + while(freeSpace() < newLen) + { + if(removeLastFromLog() == false) + { + return; + } + } + + strcat(m_log, szNew); + } + + void Log(const char* msg) + { + char szNew[256] = ""; + snprintf(szNew, sizeof(szNew)-1, "
%02d - %02d:%02d | %s", day(), hour(), minute(), msg); + + const int newLen = strlen(szNew); + while(freeSpace() < newLen) + { + if(removeLastFromLog() == false) + { + return; + } + } + + strcat(m_log, szNew); + } +}; + +#endif //circular_log_h \ No newline at end of file diff --git a/Arduino-ESP/PylontechMonitoring/libraries/NtpTime/ntp_time.h b/Arduino-ESP/PylontechMonitoring/libraries/NtpTime/ntp_time.h new file mode 100755 index 0000000..5d01fed --- /dev/null +++ b/Arduino-ESP/PylontechMonitoring/libraries/NtpTime/ntp_time.h @@ -0,0 +1,81 @@ +#ifndef ntp_time_h +#define ntp_time_h + +#include + +// NTP Servers: +static const char ntpServerName[] = "0.uk.pool.ntp.org"; +const int timeZone = 0; +unsigned int localPort = 8888; // local port to listen for UDP packets + +/*-------- NTP code ----------*/ + +const int NTP_PACKET_SIZE = 48; // NTP time is in the first 48 bytes of message +byte packetBuffer[NTP_PACKET_SIZE]; //buffer to hold incoming & outgoing packets +WiFiUDP udpNtp; + +// send an NTP request to the time server at the given address +void sendNTPpacket(IPAddress &address) +{ + // set all bytes in the buffer to 0 + memset(packetBuffer, 0, NTP_PACKET_SIZE); + // Initialize values needed to form NTP request + // (see URL above for details on the packets) + packetBuffer[0] = 0b11100011; // LI, Version, Mode + packetBuffer[1] = 0; // Stratum, or type of clock + packetBuffer[2] = 6; // Polling Interval + packetBuffer[3] = 0xEC; // Peer Clock Precision + // 8 bytes of zero for Root Delay & Root Dispersion + packetBuffer[12] = 49; + packetBuffer[13] = 0x4E; + packetBuffer[14] = 49; + packetBuffer[15] = 52; + // all NTP fields have been given values, now + // you can send a packet requesting a timestamp: + udpNtp.beginPacket(address, 123); //NTP requests are to port 123 + udpNtp.write(packetBuffer, NTP_PACKET_SIZE); + udpNtp.endPacket(); +} + + +time_t getNtpTime() +{ + if(WiFi.status() != WL_CONNECTED) + { + return 0; + } + + static bool udpStarted = false; + if(udpStarted == false) + { + udpStarted = true; + udpNtp.begin(localPort); + } + + IPAddress ntpServerIP; // NTP server's ip address + + while (udpNtp.parsePacket() > 0) ; // discard any previously received packets + // get a random server from the pool + WiFi.hostByName(ntpServerName, ntpServerIP); + sendNTPpacket(ntpServerIP); + delay(100); + + uint32_t beginWait = millis(); + while (millis() - beginWait < 1500) { + int size = udpNtp.parsePacket(); + if (size >= NTP_PACKET_SIZE) { + udpNtp.read(packetBuffer, NTP_PACKET_SIZE); // read packet into the buffer + unsigned long secsSince1900; + // convert four bytes starting at location 40 to a long integer + secsSince1900 = (unsigned long)packetBuffer[40] << 24; + secsSince1900 |= (unsigned long)packetBuffer[41] << 16; + secsSince1900 |= (unsigned long)packetBuffer[42] << 8; + secsSince1900 |= (unsigned long)packetBuffer[43]; + return secsSince1900 - 2208988800UL + timeZone * SECS_PER_HOUR; + } + + delay(10); + } + return 0; // return 0 if unable to get the time +} +#endif //ntp_time_h \ No newline at end of file diff --git a/Arduino-ESP/PylontechMonitoring/libraries/SimpleTimer/README b/Arduino-ESP/PylontechMonitoring/libraries/SimpleTimer/README new file mode 100755 index 0000000..c224b02 --- /dev/null +++ b/Arduino-ESP/PylontechMonitoring/libraries/SimpleTimer/README @@ -0,0 +1,2 @@ +Visit this page for more information: +http://playground.arduino.cc/Code/SimpleTimer \ No newline at end of file diff --git a/Arduino-ESP/PylontechMonitoring/libraries/SimpleTimer/SimpleTimer.cpp b/Arduino-ESP/PylontechMonitoring/libraries/SimpleTimer/SimpleTimer.cpp new file mode 100755 index 0000000..274606c --- /dev/null +++ b/Arduino-ESP/PylontechMonitoring/libraries/SimpleTimer/SimpleTimer.cpp @@ -0,0 +1,250 @@ +/* + * SimpleTimer.cpp + * + * SimpleTimer - A timer library for Arduino. + * Author: mromani@ottotecnica.com + * Copyright (c) 2010 OTTOTECNICA Italy + * + * This library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser + * General Public License as published by the Free Software + * Foundation; either version 2.1 of the License, or (at + * your option) any later version. + * + * This library is distributed in the hope that it will + * be useful, but WITHOUT ANY WARRANTY; without even the + * implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public + * License for more details. + * + * You should have received a copy of the GNU Lesser + * General Public License along with this library; if not, + * write to the Free Software Foundation, Inc., + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + +#include "SimpleTimer.h" + + +// Select time function: +//static inline unsigned long elapsed() { return micros(); } +static inline unsigned long elapsed() { return millis(); } + + +SimpleTimer::SimpleTimer() + : numTimers (-1) +{ +} + +void SimpleTimer::init() { + unsigned long current_millis = elapsed(); + + for (int i = 0; i < MAX_TIMERS; i++) { + enabled[i] = false; + callbacks[i] = 0; // if the callback pointer is zero, the slot is free, i.e. doesn't "contain" any timer + prev_millis[i] = current_millis; + numRuns[i] = 0; + } + + numTimers = 0; +} + + +void SimpleTimer::run() { + int i; + unsigned long current_millis; + + // get current time + current_millis = elapsed(); + + for (i = 0; i < MAX_TIMERS; i++) { + + toBeCalled[i] = DEFCALL_DONTRUN; + + // no callback == no timer, i.e. jump over empty slots + if (callbacks[i]) { + + // is it time to process this timer ? + // see http://arduino.cc/forum/index.php/topic,124048.msg932592.html#msg932592 + + if (current_millis - prev_millis[i] >= delays[i]) { + + // update time + //prev_millis[i] = current_millis; + prev_millis[i] += delays[i]; + + // check if the timer callback has to be executed + if (enabled[i]) { + + // "run forever" timers must always be executed + if (maxNumRuns[i] == RUN_FOREVER) { + toBeCalled[i] = DEFCALL_RUNONLY; + } + // other timers get executed the specified number of times + else if (numRuns[i] < maxNumRuns[i]) { + toBeCalled[i] = DEFCALL_RUNONLY; + numRuns[i]++; + + // after the last run, delete the timer + if (numRuns[i] >= maxNumRuns[i]) { + toBeCalled[i] = DEFCALL_RUNANDDEL; + } + } + } + } + } + } + + for (i = 0; i < MAX_TIMERS; i++) { + switch(toBeCalled[i]) { + case DEFCALL_DONTRUN: + break; + + case DEFCALL_RUNONLY: + (*callbacks[i])(); + break; + + case DEFCALL_RUNANDDEL: + (*callbacks[i])(); + deleteTimer(i); + break; + } + } +} + + +// find the first available slot +// return -1 if none found +int SimpleTimer::findFirstFreeSlot() { + int i; + + // all slots are used + if (numTimers >= MAX_TIMERS) { + return -1; + } + + // return the first slot with no callback (i.e. free) + for (i = 0; i < MAX_TIMERS; i++) { + if (callbacks[i] == 0) { + return i; + } + } + + // no free slots found + return -1; +} + + +int SimpleTimer::setTimer(long d, timer_callback f, int n) { + int freeTimer; + + if (numTimers < 0) { + init(); + } + + freeTimer = findFirstFreeSlot(); + if (freeTimer < 0) { + return -1; + } + + if (f == NULL) { + return -1; + } + + delays[freeTimer] = d; + callbacks[freeTimer] = f; + maxNumRuns[freeTimer] = n; + enabled[freeTimer] = true; + prev_millis[freeTimer] = elapsed(); + + numTimers++; + + return freeTimer; +} + + +int SimpleTimer::setInterval(long d, timer_callback f) { + return setTimer(d, f, RUN_FOREVER); +} + + +int SimpleTimer::setTimeout(long d, timer_callback f) { + return setTimer(d, f, RUN_ONCE); +} + + +void SimpleTimer::deleteTimer(int timerId) { + if (timerId >= MAX_TIMERS) { + return; + } + + // nothing to delete if no timers are in use + if (numTimers == 0) { + return; + } + + // don't decrease the number of timers if the + // specified slot is already empty + if (callbacks[timerId] != NULL) { + callbacks[timerId] = 0; + enabled[timerId] = false; + toBeCalled[timerId] = DEFCALL_DONTRUN; + delays[timerId] = 0; + numRuns[timerId] = 0; + + // update number of timers + numTimers--; + } +} + + +// function contributed by code@rowansimms.com +void SimpleTimer::restartTimer(int numTimer) { + if (numTimer >= MAX_TIMERS) { + return; + } + + prev_millis[numTimer] = elapsed(); +} + + +boolean SimpleTimer::isEnabled(int numTimer) { + if (numTimer >= MAX_TIMERS) { + return false; + } + + return enabled[numTimer]; +} + + +void SimpleTimer::enable(int numTimer) { + if (numTimer >= MAX_TIMERS) { + return; + } + + enabled[numTimer] = true; +} + + +void SimpleTimer::disable(int numTimer) { + if (numTimer >= MAX_TIMERS) { + return; + } + + enabled[numTimer] = false; +} + + +void SimpleTimer::toggle(int numTimer) { + if (numTimer >= MAX_TIMERS) { + return; + } + + enabled[numTimer] = !enabled[numTimer]; +} + + +int SimpleTimer::getNumTimers() { + return numTimers; +} diff --git a/Arduino-ESP/PylontechMonitoring/libraries/SimpleTimer/SimpleTimer.h b/Arduino-ESP/PylontechMonitoring/libraries/SimpleTimer/SimpleTimer.h new file mode 100755 index 0000000..9cdb395 --- /dev/null +++ b/Arduino-ESP/PylontechMonitoring/libraries/SimpleTimer/SimpleTimer.h @@ -0,0 +1,126 @@ +/* + * SimpleTimer.h + * + * SimpleTimer - A timer library for Arduino. + * Author: mromani@ottotecnica.com + * Copyright (c) 2010 OTTOTECNICA Italy + * + * This library is free software; you can redistribute it + * and/or modify it under the terms of the GNU Lesser + * General Public License as published by the Free Software + * Foundation; either version 2.1 of the License, or (at + * your option) any later version. + * + * This library is distributed in the hope that it will + * be useful, but WITHOUT ANY WARRANTY; without even the + * implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public + * License for more details. + * + * You should have received a copy of the GNU Lesser + * General Public License along with this library; if not, + * write to the Free Software Foundation, Inc., + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + */ + + +#ifndef SIMPLETIMER_H +#define SIMPLETIMER_H + +#if defined(ARDUINO) && ARDUINO >= 100 +#include +#else +#include +#endif + +typedef void (*timer_callback)(void); + +class SimpleTimer { + +public: + // maximum number of timers + const static int MAX_TIMERS = 10; + + // setTimer() constants + const static int RUN_FOREVER = 0; + const static int RUN_ONCE = 1; + + // constructor + SimpleTimer(); + + void init(); + + // this function must be called inside loop() + void run(); + + // call function f every d milliseconds + int setInterval(long d, timer_callback f); + + // call function f once after d milliseconds + int setTimeout(long d, timer_callback f); + + // call function f every d milliseconds for n times + int setTimer(long d, timer_callback f, int n); + + // destroy the specified timer + void deleteTimer(int numTimer); + + // restart the specified timer + void restartTimer(int numTimer); + + // returns true if the specified timer is enabled + boolean isEnabled(int numTimer); + + // enables the specified timer + void enable(int numTimer); + + // disables the specified timer + void disable(int numTimer); + + // enables the specified timer if it's currently disabled, + // and vice-versa + void toggle(int numTimer); + + // returns the number of used timers + int getNumTimers(); + + // returns the number of available timers + int getNumAvailableTimers() { return MAX_TIMERS - numTimers; }; + +private: + // deferred call constants + const static int DEFCALL_DONTRUN = 0; // don't call the callback function + const static int DEFCALL_RUNONLY = 1; // call the callback function but don't delete the timer + const static int DEFCALL_RUNANDDEL = 2; // call the callback function and delete the timer + + // find the first available slot + int findFirstFreeSlot(); + + // value returned by the millis() function + // in the previous run() call + unsigned long prev_millis[MAX_TIMERS]; + + // pointers to the callback functions + timer_callback callbacks[MAX_TIMERS]; + + // delay values + long delays[MAX_TIMERS]; + + // number of runs to be executed for each timer + int maxNumRuns[MAX_TIMERS]; + + // number of executed runs for each timer + int numRuns[MAX_TIMERS]; + + // which timers are enabled + boolean enabled[MAX_TIMERS]; + + // deferred function call (sort of) - N.B.: this array is only used in run() + int toBeCalled[MAX_TIMERS]; + + // actual number of timers in use + int numTimers; +}; + +#endif \ No newline at end of file diff --git a/Arduino-ESP/PylontechMonitoring/libraries/Time-master/DateStrings.cpp b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/DateStrings.cpp new file mode 100755 index 0000000..3eccff3 --- /dev/null +++ b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/DateStrings.cpp @@ -0,0 +1,97 @@ +/* DateStrings.cpp + * Definitions for date strings for use with the Time library + * + * Updated for Arduino 1.5.7 18 July 2014 + * + * No memory is consumed in the sketch if your code does not call any of the string methods + * You can change the text of the strings, make sure the short strings are each exactly 3 characters + * the long strings can be any length up to the constant dt_MAX_STRING_LEN defined in TimeLib.h + * + */ + +#if defined(__AVR__) +#include +#else +// for compatiblity with Arduino Due and Teensy 3.0 and maybe others? +#define PROGMEM +#define PGM_P const char * +#define pgm_read_byte(addr) (*(const unsigned char *)(addr)) +#define pgm_read_word(addr) (*(const unsigned char **)(addr)) +#define strcpy_P(dest, src) strcpy((dest), (src)) +#endif +#include // for strcpy_P or strcpy +#include "TimeLib.h" + +// the short strings for each day or month must be exactly dt_SHORT_STR_LEN +#define dt_SHORT_STR_LEN 3 // the length of short strings + +static char buffer[dt_MAX_STRING_LEN+1]; // must be big enough for longest string and the terminating null + +const char monthStr0[] PROGMEM = ""; +const char monthStr1[] PROGMEM = "January"; +const char monthStr2[] PROGMEM = "February"; +const char monthStr3[] PROGMEM = "March"; +const char monthStr4[] PROGMEM = "April"; +const char monthStr5[] PROGMEM = "May"; +const char monthStr6[] PROGMEM = "June"; +const char monthStr7[] PROGMEM = "July"; +const char monthStr8[] PROGMEM = "August"; +const char monthStr9[] PROGMEM = "September"; +const char monthStr10[] PROGMEM = "October"; +const char monthStr11[] PROGMEM = "November"; +const char monthStr12[] PROGMEM = "December"; + +const PROGMEM char * const PROGMEM monthNames_P[] = +{ + monthStr0,monthStr1,monthStr2,monthStr3,monthStr4,monthStr5,monthStr6, + monthStr7,monthStr8,monthStr9,monthStr10,monthStr11,monthStr12 +}; + +const char monthShortNames_P[] PROGMEM = "ErrJanFebMarAprMayJunJulAugSepOctNovDec"; + +const char dayStr0[] PROGMEM = "Err"; +const char dayStr1[] PROGMEM = "Sunday"; +const char dayStr2[] PROGMEM = "Monday"; +const char dayStr3[] PROGMEM = "Tuesday"; +const char dayStr4[] PROGMEM = "Wednesday"; +const char dayStr5[] PROGMEM = "Thursday"; +const char dayStr6[] PROGMEM = "Friday"; +const char dayStr7[] PROGMEM = "Saturday"; + +const PROGMEM char * const PROGMEM dayNames_P[] = +{ + dayStr0,dayStr1,dayStr2,dayStr3,dayStr4,dayStr5,dayStr6,dayStr7 +}; + +const char dayShortNames_P[] PROGMEM = "ErrSunMonTueWedThuFriSat"; + +/* functions to return date strings */ + +char* monthStr(uint8_t month) +{ + strcpy_P(buffer, (PGM_P)pgm_read_word(&(monthNames_P[month]))); + return buffer; +} + +char* monthShortStr(uint8_t month) +{ + for (int i=0; i < dt_SHORT_STR_LEN; i++) + buffer[i] = pgm_read_byte(&(monthShortNames_P[i+ (month*dt_SHORT_STR_LEN)])); + buffer[dt_SHORT_STR_LEN] = 0; + return buffer; +} + +char* dayStr(uint8_t day) +{ + strcpy_P(buffer, (PGM_P)pgm_read_word(&(dayNames_P[day]))); + return buffer; +} + +char* dayShortStr(uint8_t day) +{ + uint8_t index = day*dt_SHORT_STR_LEN; + for (int i=0; i < dt_SHORT_STR_LEN; i++) + buffer[i] = pgm_read_byte(&(dayShortNames_P[index + i])); + buffer[dt_SHORT_STR_LEN] = 0; + return buffer; +} diff --git a/Arduino-ESP/PylontechMonitoring/libraries/Time-master/Readme.txt b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/Readme.txt new file mode 100755 index 0000000..67b148e --- /dev/null +++ b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/Readme.txt @@ -0,0 +1,131 @@ +Readme file for Arduino Time Library + +Time is a library that provides timekeeping functionality for Arduino. + +The code is derived from the Playground DateTime library but is updated +to provide an API that is more flexable and easier to use. + +A primary goal was to enable date and time functionality that can be used with +a variety of external time sources with minimum differences required in sketch logic. + +Example sketches illustrate how similar sketch code can be used with: a Real Time Clock, +internet NTP time service, GPS time data, and Serial time messages from a computer +for time synchronization. + +The functions available in the library include: + +hour(); // the hour now (0-23) +minute(); // the minute now (0-59) +second(); // the second now (0-59) +day(); // the day now (1-31) +weekday(); // day of the week, Sunday is day 0 +month(); // the month now (1-12) +year(); // the full four digit year: (2009, 2010 etc) + +there are also functions to return the hour in 12 hour format +hourFormat12(); // the hour now in 12 hour format +isAM(); // returns true if time now is AM +isPM(); // returns true if time now is PM + +now(); // returns the current time as seconds since Jan 1 1970 + +The time and date functions can take an optional parameter for the time. This prevents +errors if the time rolls over between elements. For example, if a new minute begins +between getting the minute and second, the values will be inconsistent. Using the +following functions eliminates this probglem + time_t t = now(); // store the current time in time variable t + hour(t); // returns the hour for the given time t + minute(t); // returns the minute for the given time t + second(t); // returns the second for the given time t + day(t); // the day for the given time t + weekday(t); // day of the week for the given time t + month(t); // the month for the given time t + year(t); // the year for the given time t + + +Functions for managing the timer services are: +setTime(t); // set the system time to the give time t +setTime(hr,min,sec,day,mnth,yr); // alternative to above, yr is 2 or 4 digit yr (2010 or 10 sets year to 2010) +adjustTime(adjustment); // adjust system time by adding the adjustment value + +timeStatus(); // indicates if time has been set and recently synchronized + // returns one of the following enumerations: + timeNotSet // the time has never been set, the clock started at Jan 1 1970 + timeNeedsSync // the time had been set but a sync attempt did not succeed + timeSet // the time is set and is synced +Time and Date values are not valid if the status is timeNotSet. Otherwise values can be used but +the returned time may have drifted if the status is timeNeedsSync. + +setSyncProvider(getTimeFunction); // set the external time provider +setSyncInterval(interval); // set the number of seconds between re-sync + + +There are many convenience macros in the time.h file for time constants and conversion of time units. + +To use the library, copy the download to the Library directory. + +The Time directory contains the Time library and some example sketches +illustrating how the library can be used with various time sources: + +- TimeSerial.pde shows Arduino as a clock without external hardware. + It is synchronized by time messages sent over the serial port. + A companion Processing sketch will automatically provide these messages + if it is running and connected to the Arduino serial port. + +- TimeSerialDateStrings.pde adds day and month name strings to the sketch above + Short (3 character) and long strings are available to print the days of + the week and names of the months. + +- TimeRTC uses a DS1307 real time clock to provide time synchronization. + A basic RTC library named DS1307RTC is included in the download. + To run this sketch the DS1307RTC library must be installed. + +- TimeRTCSet is similar to the above and adds the ability to set the Real Time Clock + +- TimeRTCLog demonstrates how to calculate the difference between times. + It is a vary simple logger application that monitors events on digtial pins + and prints (to the serial port) the time of an event and the time period since the previous event. + +- TimeNTP uses the Arduino Ethernet shield to access time using the internet NTP time service. + The NTP protocol uses UDP and the UdpBytewise library is required, see: + http://bitbucket.org/bjoern/arduino_osc/src/14667490521f/libraries/Ethernet/ + +- TimeGPS gets time from a GPS + This requires the TinyGPS library from Mikal Hart: + http://arduiniana.org/libraries/TinyGPS + +Differences between this code and the playground DateTime library +although the Time library is based on the DateTime codebase, the API has changed. +Changes in the Time library API: +- time elements are functions returning int (they are variables in DateTime) +- Years start from 1970 +- days of the week and months start from 1 (they start from 0 in DateTime) +- DateStrings do not require a seperate library +- time elements can be accessed non-atomically (in DateTime they are always atomic) +- function added to automatically sync time with extrnal source +- localTime and maketime parameters changed, localTime renamed to breakTime + +Technical notes: + +Internal system time is based on the standard Unix time_t. +The value is the number of seconds since Jan 1 1970. +System time begins at zero when the sketch starts. + +The internal time can be automatically synchronized at regular intervals to an external time source. +This is enabled by calling the setSyncProvider(provider) function - the provider argument is +the address of a function that returns the current time as a time_t. +See the sketches in the examples directory for usage. + +The default interval for re-syncing the time is 5 minutes but can be changed by calling the +setSyncInterval( interval) method to set the number of seconds between re-sync attempts. + +The Time library defines a structure for holding time elements that is a compact version of the C tm structure. +All the members of the Arduino tm structure are bytes and the year is offset from 1970. +Convenience macros provide conversion to and from the Arduino format. + +Low level functions to convert between system time and individual time elements are provided: + breakTime( time, &tm); // break time_t into elements stored in tm struct + makeTime( &tm); // return time_t from elements stored in tm struct + +The DS1307RTC library included in the download provides an example of how a time provider +can use the low level functions to interface with the Time library. diff --git a/Arduino-ESP/PylontechMonitoring/libraries/Time-master/Time.cpp b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/Time.cpp new file mode 100755 index 0000000..5ca1327 --- /dev/null +++ b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/Time.cpp @@ -0,0 +1,321 @@ +/* + time.c - low level time and date functions + Copyright (c) Michael Margolis 2009-2014 + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + 1.0 6 Jan 2010 - initial release + 1.1 12 Feb 2010 - fixed leap year calculation error + 1.2 1 Nov 2010 - fixed setTime bug (thanks to Korman for this) + 1.3 24 Mar 2012 - many edits by Paul Stoffregen: fixed timeStatus() to update + status, updated examples for Arduino 1.0, fixed ARM + compatibility issues, added TimeArduinoDue and TimeTeensy3 + examples, add error checking and messages to RTC examples, + add examples to DS1307RTC library. + 1.4 5 Sep 2014 - compatibility with Arduino 1.5.7 +*/ + +#if ARDUINO >= 100 +#include +#else +#include +#endif + +#include "TimeLib.h" + +static tmElements_t tm; // a cache of time elements +static time_t cacheTime; // the time the cache was updated +static uint32_t syncInterval = 300; // time sync will be attempted after this many seconds + +void refreshCache(time_t t) { + if (t != cacheTime) { + breakTime(t, tm); + cacheTime = t; + } +} + +int hour() { // the hour now + return hour(now()); +} + +int hour(time_t t) { // the hour for the given time + refreshCache(t); + return tm.Hour; +} + +int hourFormat12() { // the hour now in 12 hour format + return hourFormat12(now()); +} + +int hourFormat12(time_t t) { // the hour for the given time in 12 hour format + refreshCache(t); + if( tm.Hour == 0 ) + return 12; // 12 midnight + else if( tm.Hour > 12) + return tm.Hour - 12 ; + else + return tm.Hour ; +} + +uint8_t isAM() { // returns true if time now is AM + return !isPM(now()); +} + +uint8_t isAM(time_t t) { // returns true if given time is AM + return !isPM(t); +} + +uint8_t isPM() { // returns true if PM + return isPM(now()); +} + +uint8_t isPM(time_t t) { // returns true if PM + return (hour(t) >= 12); +} + +int minute() { + return minute(now()); +} + +int minute(time_t t) { // the minute for the given time + refreshCache(t); + return tm.Minute; +} + +int second() { + return second(now()); +} + +int second(time_t t) { // the second for the given time + refreshCache(t); + return tm.Second; +} + +int day(){ + return(day(now())); +} + +int day(time_t t) { // the day for the given time (0-6) + refreshCache(t); + return tm.Day; +} + +int weekday() { // Sunday is day 1 + return weekday(now()); +} + +int weekday(time_t t) { + refreshCache(t); + return tm.Wday; +} + +int month(){ + return month(now()); +} + +int month(time_t t) { // the month for the given time + refreshCache(t); + return tm.Month; +} + +int year() { // as in Processing, the full four digit year: (2009, 2010 etc) + return year(now()); +} + +int year(time_t t) { // the year for the given time + refreshCache(t); + return tmYearToCalendar(tm.Year); +} + +/*============================================================================*/ +/* functions to convert to and from system time */ +/* These are for interfacing with time serivces and are not normally needed in a sketch */ + +// leap year calulator expects year argument as years offset from 1970 +#define LEAP_YEAR(Y) ( ((1970+Y)>0) && !((1970+Y)%4) && ( ((1970+Y)%100) || !((1970+Y)%400) ) ) + +static const uint8_t monthDays[]={31,28,31,30,31,30,31,31,30,31,30,31}; // API starts months from 1, this array starts from 0 + +void breakTime(time_t timeInput, tmElements_t &tm){ +// break the given time_t into time components +// this is a more compact version of the C library localtime function +// note that year is offset from 1970 !!! + + uint8_t year; + uint8_t month, monthLength; + uint32_t time; + unsigned long days; + + time = (uint32_t)timeInput; + tm.Second = time % 60; + time /= 60; // now it is minutes + tm.Minute = time % 60; + time /= 60; // now it is hours + tm.Hour = time % 24; + time /= 24; // now it is days + tm.Wday = ((time + 4) % 7) + 1; // Sunday is day 1 + + year = 0; + days = 0; + while((unsigned)(days += (LEAP_YEAR(year) ? 366 : 365)) <= time) { + year++; + } + tm.Year = year; // year is offset from 1970 + + days -= LEAP_YEAR(year) ? 366 : 365; + time -= days; // now it is days in this year, starting at 0 + + days=0; + month=0; + monthLength=0; + for (month=0; month<12; month++) { + if (month==1) { // february + if (LEAP_YEAR(year)) { + monthLength=29; + } else { + monthLength=28; + } + } else { + monthLength = monthDays[month]; + } + + if (time >= monthLength) { + time -= monthLength; + } else { + break; + } + } + tm.Month = month + 1; // jan is month 1 + tm.Day = time + 1; // day of month +} + +time_t makeTime(tmElements_t &tm){ +// assemble time elements into time_t +// note year argument is offset from 1970 (see macros in time.h to convert to other formats) +// previous version used full four digit year (or digits since 2000),i.e. 2009 was 2009 or 9 + + int i; + uint32_t seconds; + + // seconds from 1970 till 1 jan 00:00:00 of the given year + seconds= tm.Year*(SECS_PER_DAY * 365); + for (i = 0; i < tm.Year; i++) { + if (LEAP_YEAR(i)) { + seconds += SECS_PER_DAY; // add extra days for leap years + } + } + + // add days for this year, months start from 1 + for (i = 1; i < tm.Month; i++) { + if ( (i == 2) && LEAP_YEAR(tm.Year)) { + seconds += SECS_PER_DAY * 29; + } else { + seconds += SECS_PER_DAY * monthDays[i-1]; //monthDay array starts from 0 + } + } + seconds+= (tm.Day-1) * SECS_PER_DAY; + seconds+= tm.Hour * SECS_PER_HOUR; + seconds+= tm.Minute * SECS_PER_MIN; + seconds+= tm.Second; + return (time_t)seconds; +} +/*=====================================================*/ +/* Low level system time functions */ + +static uint32_t sysTime = 0; +static uint32_t prevMillis = 0; +static uint32_t nextSyncTime = 0; +static timeStatus_t Status = timeNotSet; + +getExternalTime getTimePtr; // pointer to external sync function +//setExternalTime setTimePtr; // not used in this version + +#ifdef TIME_DRIFT_INFO // define this to get drift data +time_t sysUnsyncedTime = 0; // the time sysTime unadjusted by sync +#endif + + +time_t now() { + // calculate number of seconds passed since last call to now() + while (millis() - prevMillis >= 1000) { + // millis() and prevMillis are both unsigned ints thus the subtraction will always be the absolute value of the difference + sysTime++; + prevMillis += 1000; +#ifdef TIME_DRIFT_INFO + sysUnsyncedTime++; // this can be compared to the synced time to measure long term drift +#endif + } + if (nextSyncTime <= sysTime) { + if (getTimePtr != 0) { + time_t t = getTimePtr(); + if (t != 0) { + setTime(t); + } else { + nextSyncTime = sysTime + syncInterval; + Status = (Status == timeNotSet) ? timeNotSet : timeNeedsSync; + } + } + } + return (time_t)sysTime; +} + +void setTime(time_t t) { +#ifdef TIME_DRIFT_INFO + if(sysUnsyncedTime == 0) + sysUnsyncedTime = t; // store the time of the first call to set a valid Time +#endif + + sysTime = (uint32_t)t; + nextSyncTime = (uint32_t)t + syncInterval; + Status = timeSet; + prevMillis = millis(); // restart counting from now (thanks to Korman for this fix) +} + +void setTime(int hr,int min,int sec,int dy, int mnth, int yr){ + // year can be given as full four digit year or two digts (2010 or 10 for 2010); + //it is converted to years since 1970 + if( yr > 99) + yr = yr - 1970; + else + yr += 30; + tm.Year = yr; + tm.Month = mnth; + tm.Day = dy; + tm.Hour = hr; + tm.Minute = min; + tm.Second = sec; + setTime(makeTime(tm)); +} + +void adjustTime(long adjustment) { + sysTime += adjustment; +} + +// indicates if time has been set and recently synchronized +timeStatus_t timeStatus() { + now(); // required to actually update the status + return Status; +} + +void setSyncProvider( getExternalTime getTimeFunction){ + getTimePtr = getTimeFunction; + nextSyncTime = sysTime; + now(); // this will sync the clock +} + +void setSyncInterval(time_t interval){ // set the number of seconds between re-sync + syncInterval = (uint32_t)interval; + nextSyncTime = sysTime + syncInterval; +} diff --git a/Arduino-ESP/PylontechMonitoring/libraries/Time-master/Time.h b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/Time.h new file mode 100755 index 0000000..a79b080 --- /dev/null +++ b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/Time.h @@ -0,0 +1 @@ +#include "TimeLib.h" diff --git a/Arduino-ESP/PylontechMonitoring/libraries/Time-master/TimeLib.h b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/TimeLib.h new file mode 100755 index 0000000..ddb1668 --- /dev/null +++ b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/TimeLib.h @@ -0,0 +1,144 @@ +/* + time.h - low level time and date functions +*/ + +/* + July 3 2011 - fixed elapsedSecsThisWeek macro (thanks Vincent Valdy for this) + - fixed daysToTime_t macro (thanks maniacbug) +*/ + +#ifndef _Time_h +#ifdef __cplusplus +#define _Time_h + +#include +#ifndef __AVR__ +#include // for __time_t_defined, but avr libc lacks sys/types.h +#endif + + +#if !defined(__time_t_defined) // avoid conflict with newlib or other posix libc +typedef unsigned long time_t; +#endif + + +// This ugly hack allows us to define C++ overloaded functions, when included +// from within an extern "C", as newlib's sys/stat.h does. Actually it is +// intended to include "time.h" from the C library (on ARM, but AVR does not +// have that file at all). On Mac and Windows, the compiler will find this +// "Time.h" instead of the C library "time.h", so we may cause other weird +// and unpredictable effects by conflicting with the C library header "time.h", +// but at least this hack lets us define C++ functions as intended. Hopefully +// nothing too terrible will result from overriding the C library header?! +extern "C++" { +typedef enum {timeNotSet, timeNeedsSync, timeSet +} timeStatus_t ; + +typedef enum { + dowInvalid, dowSunday, dowMonday, dowTuesday, dowWednesday, dowThursday, dowFriday, dowSaturday +} timeDayOfWeek_t; + +typedef enum { + tmSecond, tmMinute, tmHour, tmWday, tmDay,tmMonth, tmYear, tmNbrFields +} tmByteFields; + +typedef struct { + uint8_t Second; + uint8_t Minute; + uint8_t Hour; + uint8_t Wday; // day of week, sunday is day 1 + uint8_t Day; + uint8_t Month; + uint8_t Year; // offset from 1970; +} tmElements_t, TimeElements, *tmElementsPtr_t; + +//convenience macros to convert to and from tm years +#define tmYearToCalendar(Y) ((Y) + 1970) // full four digit year +#define CalendarYrToTm(Y) ((Y) - 1970) +#define tmYearToY2k(Y) ((Y) - 30) // offset is from 2000 +#define y2kYearToTm(Y) ((Y) + 30) + +typedef time_t(*getExternalTime)(); +//typedef void (*setExternalTime)(const time_t); // not used in this version + + +/*==============================================================================*/ +/* Useful Constants */ +#define SECS_PER_MIN ((time_t)(60UL)) +#define SECS_PER_HOUR ((time_t)(3600UL)) +#define SECS_PER_DAY ((time_t)(SECS_PER_HOUR * 24UL)) +#define DAYS_PER_WEEK ((time_t)(7UL)) +#define SECS_PER_WEEK ((time_t)(SECS_PER_DAY * DAYS_PER_WEEK)) +#define SECS_PER_YEAR ((time_t)(SECS_PER_WEEK * 52UL)) +#define SECS_YR_2000 ((time_t)(946684800UL)) // the time at the start of y2k + +/* Useful Macros for getting elapsed time */ +#define numberOfSeconds(_time_) (_time_ % SECS_PER_MIN) +#define numberOfMinutes(_time_) ((_time_ / SECS_PER_MIN) % SECS_PER_MIN) +#define numberOfHours(_time_) (( _time_% SECS_PER_DAY) / SECS_PER_HOUR) +#define dayOfWeek(_time_) ((( _time_ / SECS_PER_DAY + 4) % DAYS_PER_WEEK)+1) // 1 = Sunday +#define elapsedDays(_time_) ( _time_ / SECS_PER_DAY) // this is number of days since Jan 1 1970 +#define elapsedSecsToday(_time_) (_time_ % SECS_PER_DAY) // the number of seconds since last midnight +// The following macros are used in calculating alarms and assume the clock is set to a date later than Jan 1 1971 +// Always set the correct time before settting alarms +#define previousMidnight(_time_) (( _time_ / SECS_PER_DAY) * SECS_PER_DAY) // time at the start of the given day +#define nextMidnight(_time_) ( previousMidnight(_time_) + SECS_PER_DAY ) // time at the end of the given day +#define elapsedSecsThisWeek(_time_) (elapsedSecsToday(_time_) + ((dayOfWeek(_time_)-1) * SECS_PER_DAY) ) // note that week starts on day 1 +#define previousSunday(_time_) (_time_ - elapsedSecsThisWeek(_time_)) // time at the start of the week for the given time +#define nextSunday(_time_) ( previousSunday(_time_)+SECS_PER_WEEK) // time at the end of the week for the given time + + +/* Useful Macros for converting elapsed time to a time_t */ +#define minutesToTime_t ((M)) ( (M) * SECS_PER_MIN) +#define hoursToTime_t ((H)) ( (H) * SECS_PER_HOUR) +#define daysToTime_t ((D)) ( (D) * SECS_PER_DAY) // fixed on Jul 22 2011 +#define weeksToTime_t ((W)) ( (W) * SECS_PER_WEEK) + +/*============================================================================*/ +/* time and date functions */ +int hour(); // the hour now +int hour(time_t t); // the hour for the given time +int hourFormat12(); // the hour now in 12 hour format +int hourFormat12(time_t t); // the hour for the given time in 12 hour format +uint8_t isAM(); // returns true if time now is AM +uint8_t isAM(time_t t); // returns true the given time is AM +uint8_t isPM(); // returns true if time now is PM +uint8_t isPM(time_t t); // returns true the given time is PM +int minute(); // the minute now +int minute(time_t t); // the minute for the given time +int second(); // the second now +int second(time_t t); // the second for the given time +int day(); // the day now +int day(time_t t); // the day for the given time +int weekday(); // the weekday now (Sunday is day 1) +int weekday(time_t t); // the weekday for the given time +int month(); // the month now (Jan is month 1) +int month(time_t t); // the month for the given time +int year(); // the full four digit year: (2009, 2010 etc) +int year(time_t t); // the year for the given time + +time_t now(); // return the current time as seconds since Jan 1 1970 +void setTime(time_t t); +void setTime(int hr,int min,int sec,int day, int month, int yr); +void adjustTime(long adjustment); + +/* date strings */ +#define dt_MAX_STRING_LEN 9 // length of longest date string (excluding terminating null) +char* monthStr(uint8_t month); +char* dayStr(uint8_t day); +char* monthShortStr(uint8_t month); +char* dayShortStr(uint8_t day); + +/* time sync functions */ +timeStatus_t timeStatus(); // indicates if time has been set and recently synchronized +void setSyncProvider( getExternalTime getTimeFunction); // identify the external time provider +void setSyncInterval(time_t interval); // set the number of seconds between re-sync + +/* low level functions to convert to and from system time */ +void breakTime(time_t time, tmElements_t &tm); // break time_t into elements +time_t makeTime(tmElements_t &tm); // convert time elements into time_t + +} // extern "C++" +#endif // __cplusplus +#endif /* _Time_h */ + diff --git a/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/Processing/SyncArduinoClock/SyncArduinoClock.pde b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/Processing/SyncArduinoClock/SyncArduinoClock.pde new file mode 100755 index 0000000..4313be3 --- /dev/null +++ b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/Processing/SyncArduinoClock/SyncArduinoClock.pde @@ -0,0 +1,78 @@ +/** + * SyncArduinoClock. + * + * portIndex must be set to the port connected to the Arduino + * + * The current time is sent in response to request message from Arduino + * or by clicking the display window + * + * The time message is 11 ASCII text characters; a header (the letter 'T') + * followed by the ten digit system time (unix time) + */ + + +import processing.serial.*; +import java.util.Date; +import java.util.Calendar; +import java.util.GregorianCalendar; + +public static final short portIndex = 0; // select the com port, 0 is the first port +public static final String TIME_HEADER = "T"; //header for arduino serial time message +public static final char TIME_REQUEST = 7; // ASCII bell character +public static final char LF = 10; // ASCII linefeed +public static final char CR = 13; // ASCII linefeed +Serial myPort; // Create object from Serial class + +void setup() { + size(200, 200); + println(Serial.list()); + println(" Connecting to -> " + Serial.list()[portIndex]); + myPort = new Serial(this,Serial.list()[portIndex], 9600); + println(getTimeNow()); +} + +void draw() +{ + textSize(20); + textAlign(CENTER); + fill(0); + text("Click to send\nTime Sync", 0, 75, 200, 175); + if ( myPort.available() > 0) { // If data is available, + char val = char(myPort.read()); // read it and store it in val + if(val == TIME_REQUEST){ + long t = getTimeNow(); + sendTimeMessage(TIME_HEADER, t); + } + else + { + if(val == LF) + ; //igonore + else if(val == CR) + println(); + else + print(val); // echo everying but time request + } + } +} + +void mousePressed() { + sendTimeMessage( TIME_HEADER, getTimeNow()); +} + + +void sendTimeMessage(String header, long time) { + String timeStr = String.valueOf(time); + myPort.write(header); // send header and time to arduino + myPort.write(timeStr); + myPort.write('\n'); +} + +long getTimeNow(){ + // java time is in ms, we want secs + Date d = new Date(); + Calendar cal = new GregorianCalendar(); + long current = d.getTime()/1000; + long timezone = cal.get(cal.ZONE_OFFSET)/1000; + long daylight = cal.get(cal.DST_OFFSET)/1000; + return current + timezone + daylight; +} diff --git a/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/Processing/SyncArduinoClock/readme.txt b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/Processing/SyncArduinoClock/readme.txt new file mode 100755 index 0000000..da9721d --- /dev/null +++ b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/Processing/SyncArduinoClock/readme.txt @@ -0,0 +1,9 @@ +SyncArduinoClock is a Processing sketch that responds to Arduino requests for +time synchronization messages. + +The portIndex must be set the Serial port connected to Arduino. + +Download TimeSerial.pde onto Arduino and you should see the time +message displayed when you run SyncArduinoClock in Processing. +The Arduino time is set from the time on your computer through the +Processing sketch. diff --git a/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeArduinoDue/TimeArduinoDue.ino b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeArduinoDue/TimeArduinoDue.ino new file mode 100755 index 0000000..f0a9a95 --- /dev/null +++ b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeArduinoDue/TimeArduinoDue.ino @@ -0,0 +1,71 @@ +/* + * TimeRTC.pde + * example code illustrating Time library with Real Time Clock. + * + * This example requires Markus Lange's Arduino Due RTC Library + * https://github.com/MarkusLange/Arduino-Due-RTC-Library + */ + +#include +#include + +// Select the Slowclock source +//RTC_clock rtc_clock(RC); +RTC_clock rtc_clock(XTAL); + +void setup() { + Serial.begin(9600); + rtc_clock.init(); + if (rtc_clock.date_already_set() == 0) { + // Unfortunately, the Arduino Due hardware does not seem to + // be designed to maintain the RTC clock state when the + // board resets. Markus described it thusly: "Uhh the Due + // does reset with the NRSTB pin. This resets the full chip + // with all backup regions including RTC, RTT and SC. Only + // if the reset is done with the NRST pin will these regions + // stay with their old values." + rtc_clock.set_time(__TIME__); + rtc_clock.set_date(__DATE__); + // However, this might work on other unofficial SAM3X boards + // with different reset circuitry than Arduino Due? + } + setSyncProvider(getArduinoDueTime); + if(timeStatus()!= timeSet) + Serial.println("Unable to sync with the RTC"); + else + Serial.println("RTC has set the system time"); +} + +time_t getArduinoDueTime() +{ + return rtc_clock.unixtime(); +} + +void loop() +{ + digitalClockDisplay(); + delay(1000); +} + +void digitalClockDisplay(){ + // digital clock display of the time + Serial.print(hour()); + printDigits(minute()); + printDigits(second()); + Serial.print(" "); + Serial.print(day()); + Serial.print(" "); + Serial.print(month()); + Serial.print(" "); + Serial.print(year()); + Serial.println(); +} + +void printDigits(int digits){ + // utility function for digital clock display: prints preceding colon and leading 0 + Serial.print(":"); + if(digits < 10) + Serial.print('0'); + Serial.print(digits); +} + diff --git a/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeGPS/TimeGPS.ino b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeGPS/TimeGPS.ino new file mode 100755 index 0000000..fea9698 --- /dev/null +++ b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeGPS/TimeGPS.ino @@ -0,0 +1,87 @@ +/* + * TimeGPS.pde + * example code illustrating time synced from a GPS + * + */ + +#include +#include // http://arduiniana.org/libraries/TinyGPS/ +#include +// TinyGPS and SoftwareSerial libraries are the work of Mikal Hart + +SoftwareSerial SerialGPS = SoftwareSerial(10, 11); // receive on pin 10 +TinyGPS gps; + +// To use a hardware serial port, which is far more efficient than +// SoftwareSerial, uncomment this line and remove SoftwareSerial +//#define SerialGPS Serial1 + +// Offset hours from gps time (UTC) +const int offset = 1; // Central European Time +//const int offset = -5; // Eastern Standard Time (USA) +//const int offset = -4; // Eastern Daylight Time (USA) +//const int offset = -8; // Pacific Standard Time (USA) +//const int offset = -7; // Pacific Daylight Time (USA) + +// Ideally, it should be possible to learn the time zone +// based on the GPS position data. However, that would +// require a complex library, probably incorporating some +// sort of database using Eric Muller's time zone shape +// maps, at http://efele.net/maps/tz/ + +time_t prevDisplay = 0; // when the digital clock was displayed + +void setup() +{ + Serial.begin(9600); + while (!Serial) ; // Needed for Leonardo only + SerialGPS.begin(4800); + Serial.println("Waiting for GPS time ... "); +} + +void loop() +{ + while (SerialGPS.available()) { + if (gps.encode(SerialGPS.read())) { // process gps messages + // when TinyGPS reports new data... + unsigned long age; + int Year; + byte Month, Day, Hour, Minute, Second; + gps.crack_datetime(&Year, &Month, &Day, &Hour, &Minute, &Second, NULL, &age); + if (age < 500) { + // set the Time to the latest GPS reading + setTime(Hour, Minute, Second, Day, Month, Year); + adjustTime(offset * SECS_PER_HOUR); + } + } + } + if (timeStatus()!= timeNotSet) { + if (now() != prevDisplay) { //update the display only if the time has changed + prevDisplay = now(); + digitalClockDisplay(); + } + } +} + +void digitalClockDisplay(){ + // digital clock display of the time + Serial.print(hour()); + printDigits(minute()); + printDigits(second()); + Serial.print(" "); + Serial.print(day()); + Serial.print(" "); + Serial.print(month()); + Serial.print(" "); + Serial.print(year()); + Serial.println(); +} + +void printDigits(int digits) { + // utility function for digital clock display: prints preceding colon and leading 0 + Serial.print(":"); + if(digits < 10) + Serial.print('0'); + Serial.print(digits); +} + diff --git a/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeNTP/TimeNTP.ino b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeNTP/TimeNTP.ino new file mode 100755 index 0000000..17a908f --- /dev/null +++ b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeNTP/TimeNTP.ino @@ -0,0 +1,135 @@ +/* + * Time_NTP.pde + * Example showing time sync to NTP time source + * + * This sketch uses the Ethernet library + */ + +#include +#include +#include +#include + +byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; +// NTP Servers: +IPAddress timeServer(132, 163, 4, 101); // time-a.timefreq.bldrdoc.gov +// IPAddress timeServer(132, 163, 4, 102); // time-b.timefreq.bldrdoc.gov +// IPAddress timeServer(132, 163, 4, 103); // time-c.timefreq.bldrdoc.gov + + +const int timeZone = 1; // Central European Time +//const int timeZone = -5; // Eastern Standard Time (USA) +//const int timeZone = -4; // Eastern Daylight Time (USA) +//const int timeZone = -8; // Pacific Standard Time (USA) +//const int timeZone = -7; // Pacific Daylight Time (USA) + + +EthernetUDP Udp; +unsigned int localPort = 8888; // local port to listen for UDP packets + +void setup() +{ + Serial.begin(9600); + while (!Serial) ; // Needed for Leonardo only + delay(250); + Serial.println("TimeNTP Example"); + if (Ethernet.begin(mac) == 0) { + // no point in carrying on, so do nothing forevermore: + while (1) { + Serial.println("Failed to configure Ethernet using DHCP"); + delay(10000); + } + } + Serial.print("IP number assigned by DHCP is "); + Serial.println(Ethernet.localIP()); + Udp.begin(localPort); + Serial.println("waiting for sync"); + setSyncProvider(getNtpTime); +} + +time_t prevDisplay = 0; // when the digital clock was displayed + +void loop() +{ + if (timeStatus() != timeNotSet) { + if (now() != prevDisplay) { //update the display only if time has changed + prevDisplay = now(); + digitalClockDisplay(); + } + } +} + +void digitalClockDisplay(){ + // digital clock display of the time + Serial.print(hour()); + printDigits(minute()); + printDigits(second()); + Serial.print(" "); + Serial.print(day()); + Serial.print(" "); + Serial.print(month()); + Serial.print(" "); + Serial.print(year()); + Serial.println(); +} + +void printDigits(int digits){ + // utility for digital clock display: prints preceding colon and leading 0 + Serial.print(":"); + if(digits < 10) + Serial.print('0'); + Serial.print(digits); +} + +/*-------- NTP code ----------*/ + +const int NTP_PACKET_SIZE = 48; // NTP time is in the first 48 bytes of message +byte packetBuffer[NTP_PACKET_SIZE]; //buffer to hold incoming & outgoing packets + +time_t getNtpTime() +{ + while (Udp.parsePacket() > 0) ; // discard any previously received packets + Serial.println("Transmit NTP Request"); + sendNTPpacket(timeServer); + uint32_t beginWait = millis(); + while (millis() - beginWait < 1500) { + int size = Udp.parsePacket(); + if (size >= NTP_PACKET_SIZE) { + Serial.println("Receive NTP Response"); + Udp.read(packetBuffer, NTP_PACKET_SIZE); // read packet into the buffer + unsigned long secsSince1900; + // convert four bytes starting at location 40 to a long integer + secsSince1900 = (unsigned long)packetBuffer[40] << 24; + secsSince1900 |= (unsigned long)packetBuffer[41] << 16; + secsSince1900 |= (unsigned long)packetBuffer[42] << 8; + secsSince1900 |= (unsigned long)packetBuffer[43]; + return secsSince1900 - 2208988800UL + timeZone * SECS_PER_HOUR; + } + } + Serial.println("No NTP Response :-("); + return 0; // return 0 if unable to get the time +} + +// send an NTP request to the time server at the given address +void sendNTPpacket(IPAddress &address) +{ + // set all bytes in the buffer to 0 + memset(packetBuffer, 0, NTP_PACKET_SIZE); + // Initialize values needed to form NTP request + // (see URL above for details on the packets) + packetBuffer[0] = 0b11100011; // LI, Version, Mode + packetBuffer[1] = 0; // Stratum, or type of clock + packetBuffer[2] = 6; // Polling Interval + packetBuffer[3] = 0xEC; // Peer Clock Precision + // 8 bytes of zero for Root Delay & Root Dispersion + packetBuffer[12] = 49; + packetBuffer[13] = 0x4E; + packetBuffer[14] = 49; + packetBuffer[15] = 52; + // all NTP fields have been given values, now + // you can send a packet requesting a timestamp: + Udp.beginPacket(address, 123); //NTP requests are to port 123 + Udp.write(packetBuffer, NTP_PACKET_SIZE); + Udp.endPacket(); +} + diff --git a/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeNTP_ESP8266WiFi/TimeNTP_ESP8266WiFi.ino b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeNTP_ESP8266WiFi/TimeNTP_ESP8266WiFi.ino new file mode 100755 index 0000000..1aeb2d7 --- /dev/null +++ b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeNTP_ESP8266WiFi/TimeNTP_ESP8266WiFi.ino @@ -0,0 +1,156 @@ +/* + * TimeNTP_ESP8266WiFi.ino + * Example showing time sync to NTP time source + * + * This sketch uses the ESP8266WiFi library + */ + +#include +#include +#include + +const char ssid[] = "*************"; // your network SSID (name) +const char pass[] = "********"; // your network password + +// NTP Servers: +static const char ntpServerName[] = "us.pool.ntp.org"; +//static const char ntpServerName[] = "time.nist.gov"; +//static const char ntpServerName[] = "time-a.timefreq.bldrdoc.gov"; +//static const char ntpServerName[] = "time-b.timefreq.bldrdoc.gov"; +//static const char ntpServerName[] = "time-c.timefreq.bldrdoc.gov"; + +const int timeZone = 1; // Central European Time +//const int timeZone = -5; // Eastern Standard Time (USA) +//const int timeZone = -4; // Eastern Daylight Time (USA) +//const int timeZone = -8; // Pacific Standard Time (USA) +//const int timeZone = -7; // Pacific Daylight Time (USA) + + +WiFiUDP Udp; +unsigned int localPort = 8888; // local port to listen for UDP packets + +time_t getNtpTime(); +void digitalClockDisplay(); +void printDigits(int digits); +void sendNTPpacket(IPAddress &address); + +void setup() +{ + Serial.begin(9600); + while (!Serial) ; // Needed for Leonardo only + delay(250); + Serial.println("TimeNTP Example"); + Serial.print("Connecting to "); + Serial.println(ssid); + WiFi.begin(ssid, pass); + + while (WiFi.status() != WL_CONNECTED) { + delay(500); + Serial.print("."); + } + + Serial.print("IP number assigned by DHCP is "); + Serial.println(WiFi.localIP()); + Serial.println("Starting UDP"); + Udp.begin(localPort); + Serial.print("Local port: "); + Serial.println(Udp.localPort()); + Serial.println("waiting for sync"); + setSyncProvider(getNtpTime); + setSyncInterval(300); +} + +time_t prevDisplay = 0; // when the digital clock was displayed + +void loop() +{ + if (timeStatus() != timeNotSet) { + if (now() != prevDisplay) { //update the display only if time has changed + prevDisplay = now(); + digitalClockDisplay(); + } + } +} + +void digitalClockDisplay() +{ + // digital clock display of the time + Serial.print(hour()); + printDigits(minute()); + printDigits(second()); + Serial.print(" "); + Serial.print(day()); + Serial.print("."); + Serial.print(month()); + Serial.print("."); + Serial.print(year()); + Serial.println(); +} + +void printDigits(int digits) +{ + // utility for digital clock display: prints preceding colon and leading 0 + Serial.print(":"); + if (digits < 10) + Serial.print('0'); + Serial.print(digits); +} + +/*-------- NTP code ----------*/ + +const int NTP_PACKET_SIZE = 48; // NTP time is in the first 48 bytes of message +byte packetBuffer[NTP_PACKET_SIZE]; //buffer to hold incoming & outgoing packets + +time_t getNtpTime() +{ + IPAddress ntpServerIP; // NTP server's ip address + + while (Udp.parsePacket() > 0) ; // discard any previously received packets + Serial.println("Transmit NTP Request"); + // get a random server from the pool + WiFi.hostByName(ntpServerName, ntpServerIP); + Serial.print(ntpServerName); + Serial.print(": "); + Serial.println(ntpServerIP); + sendNTPpacket(ntpServerIP); + uint32_t beginWait = millis(); + while (millis() - beginWait < 1500) { + int size = Udp.parsePacket(); + if (size >= NTP_PACKET_SIZE) { + Serial.println("Receive NTP Response"); + Udp.read(packetBuffer, NTP_PACKET_SIZE); // read packet into the buffer + unsigned long secsSince1900; + // convert four bytes starting at location 40 to a long integer + secsSince1900 = (unsigned long)packetBuffer[40] << 24; + secsSince1900 |= (unsigned long)packetBuffer[41] << 16; + secsSince1900 |= (unsigned long)packetBuffer[42] << 8; + secsSince1900 |= (unsigned long)packetBuffer[43]; + return secsSince1900 - 2208988800UL + timeZone * SECS_PER_HOUR; + } + } + Serial.println("No NTP Response :-("); + return 0; // return 0 if unable to get the time +} + +// send an NTP request to the time server at the given address +void sendNTPpacket(IPAddress &address) +{ + // set all bytes in the buffer to 0 + memset(packetBuffer, 0, NTP_PACKET_SIZE); + // Initialize values needed to form NTP request + // (see URL above for details on the packets) + packetBuffer[0] = 0b11100011; // LI, Version, Mode + packetBuffer[1] = 0; // Stratum, or type of clock + packetBuffer[2] = 6; // Polling Interval + packetBuffer[3] = 0xEC; // Peer Clock Precision + // 8 bytes of zero for Root Delay & Root Dispersion + packetBuffer[12] = 49; + packetBuffer[13] = 0x4E; + packetBuffer[14] = 49; + packetBuffer[15] = 52; + // all NTP fields have been given values, now + // you can send a packet requesting a timestamp: + Udp.beginPacket(address, 123); //NTP requests are to port 123 + Udp.write(packetBuffer, NTP_PACKET_SIZE); + Udp.endPacket(); +} diff --git a/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeRTC/TimeRTC.ino b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeRTC/TimeRTC.ino new file mode 100755 index 0000000..fa10ff6 --- /dev/null +++ b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeRTC/TimeRTC.ino @@ -0,0 +1,55 @@ +/* + * TimeRTC.pde + * example code illustrating Time library with Real Time Clock. + * + */ + +#include +#include +#include // a basic DS1307 library that returns time as a time_t + +void setup() { + Serial.begin(9600); + while (!Serial) ; // wait until Arduino Serial Monitor opens + setSyncProvider(RTC.get); // the function to get the time from the RTC + if(timeStatus()!= timeSet) + Serial.println("Unable to sync with the RTC"); + else + Serial.println("RTC has set the system time"); +} + +void loop() +{ + if (timeStatus() == timeSet) { + digitalClockDisplay(); + } else { + Serial.println("The time has not been set. Please run the Time"); + Serial.println("TimeRTCSet example, or DS1307RTC SetTime example."); + Serial.println(); + delay(4000); + } + delay(1000); +} + +void digitalClockDisplay(){ + // digital clock display of the time + Serial.print(hour()); + printDigits(minute()); + printDigits(second()); + Serial.print(" "); + Serial.print(day()); + Serial.print(" "); + Serial.print(month()); + Serial.print(" "); + Serial.print(year()); + Serial.println(); +} + +void printDigits(int digits){ + // utility function for digital clock display: prints preceding colon and leading 0 + Serial.print(":"); + if(digits < 10) + Serial.print('0'); + Serial.print(digits); +} + diff --git a/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeRTCLog/TimeRTCLog.ino b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeRTCLog/TimeRTCLog.ino new file mode 100755 index 0000000..0b250c2 --- /dev/null +++ b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeRTCLog/TimeRTCLog.ino @@ -0,0 +1,107 @@ +/* + * TimeRTCLogger.pde + * example code illustrating adding and subtracting Time. + * + * this sketch logs pin state change events + * the time of the event and time since the previous event is calculated and sent to the serial port. + */ + +#include +#include +#include // a basic DS1307 library that returns time as a time_t + +const int nbrInputPins = 6; // monitor 6 digital pins +const int inputPins[nbrInputPins] = {2,3,4,5,6,7}; // pins to monitor +boolean state[nbrInputPins] ; // the state of the monitored pins +time_t prevEventTime[nbrInputPins] ; // the time of the previous event + +void setup() { + Serial.begin(9600); + setSyncProvider(RTC.get); // the function to sync the time from the RTC + for(int i=0; i < nbrInputPins; i++){ + pinMode( inputPins[i], INPUT); + // uncomment these lines if pull-up resistors are wanted + // pinMode( inputPins[i], INPUT_PULLUP); + // state[i] = HIGH; + } +} + +void loop() +{ + for(int i=0; i < nbrInputPins; i++) + { + boolean val = digitalRead(inputPins[i]); + if(val != state[i]) + { + time_t duration = 0; // the time since the previous event + state[i] = val; + time_t timeNow = now(); + if(prevEventTime[i] > 0) + // if this was not the first state change, calculate the time from the previous change + duration = duration = timeNow - prevEventTime[i]; + logEvent(inputPins[i], val, timeNow, duration ); // log the event + prevEventTime[i] = timeNow; // store the time for this event + } + } +} + +void logEvent( int pin, boolean state, time_t timeNow, time_t duration) +{ + Serial.print("Pin "); + Serial.print(pin); + if( state == HIGH) + Serial.print(" went High at "); + else + Serial.print(" went Low at "); + showTime(timeNow); + if(duration > 0){ + // only display duration if greater than 0 + Serial.print(", Duration was "); + showDuration(duration); + } + Serial.println(); +} + + +void showTime(time_t t){ + // display the given time + Serial.print(hour(t)); + printDigits(minute(t)); + printDigits(second(t)); + Serial.print(" "); + Serial.print(day(t)); + Serial.print(" "); + Serial.print(month(t)); + Serial.print(" "); + Serial.print(year(t)); +} + +void printDigits(int digits){ + // utility function for digital clock display: prints preceding colon and leading 0 + Serial.print(":"); + if(digits < 10) + Serial.print('0'); + Serial.print(digits); +} + +void showDuration(time_t duration){ +// prints the duration in days, hours, minutes and seconds + if(duration >= SECS_PER_DAY){ + Serial.print(duration / SECS_PER_DAY); + Serial.print(" day(s) "); + duration = duration % SECS_PER_DAY; + } + if(duration >= SECS_PER_HOUR){ + Serial.print(duration / SECS_PER_HOUR); + Serial.print(" hour(s) "); + duration = duration % SECS_PER_HOUR; + } + if(duration >= SECS_PER_MIN){ + Serial.print(duration / SECS_PER_MIN); + Serial.print(" minute(s) "); + duration = duration % SECS_PER_MIN; + } + Serial.print(duration); + Serial.print(" second(s) "); +} + diff --git a/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeRTCSet/TimeRTCSet.ino b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeRTCSet/TimeRTCSet.ino new file mode 100755 index 0000000..49c49f3 --- /dev/null +++ b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeRTCSet/TimeRTCSet.ino @@ -0,0 +1,80 @@ +/* + * TimeRTCSet.pde + * example code illustrating Time library with Real Time Clock. + * + * RTC clock is set in response to serial port time message + * A Processing example sketch to set the time is included in the download + * On Linux, you can use "date +T%s > /dev/ttyACM0" (UTC time zone) + */ + +#include +#include +#include // a basic DS1307 library that returns time as a time_t + + +void setup() { + Serial.begin(9600); + while (!Serial) ; // Needed for Leonardo only + setSyncProvider(RTC.get); // the function to get the time from the RTC + if (timeStatus() != timeSet) + Serial.println("Unable to sync with the RTC"); + else + Serial.println("RTC has set the system time"); +} + +void loop() +{ + if (Serial.available()) { + time_t t = processSyncMessage(); + if (t != 0) { + RTC.set(t); // set the RTC and the system time to the received value + setTime(t); + } + } + digitalClockDisplay(); + delay(1000); +} + +void digitalClockDisplay(){ + // digital clock display of the time + Serial.print(hour()); + printDigits(minute()); + printDigits(second()); + Serial.print(" "); + Serial.print(day()); + Serial.print(" "); + Serial.print(month()); + Serial.print(" "); + Serial.print(year()); + Serial.println(); +} + +void printDigits(int digits){ + // utility function for digital clock display: prints preceding colon and leading 0 + Serial.print(":"); + if(digits < 10) + Serial.print('0'); + Serial.print(digits); +} + +/* code to process time sync messages from the serial port */ +#define TIME_HEADER "T" // Header tag for serial time sync message + +unsigned long processSyncMessage() { + unsigned long pctime = 0L; + const unsigned long DEFAULT_TIME = 1357041600; // Jan 1 2013 + + if(Serial.find(TIME_HEADER)) { + pctime = Serial.parseInt(); + return pctime; + if( pctime < DEFAULT_TIME) { // check the value is a valid time (greater than Jan 1 2013) + pctime = 0L; // return 0 to indicate that the time is not valid + } + } + return pctime; +} + + + + + diff --git a/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeSerial/TimeSerial.ino b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeSerial/TimeSerial.ino new file mode 100755 index 0000000..07e609f --- /dev/null +++ b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeSerial/TimeSerial.ino @@ -0,0 +1,81 @@ +/* + * TimeSerial.pde + * example code illustrating Time library set through serial port messages. + * + * Messages consist of the letter T followed by ten digit time (as seconds since Jan 1 1970) + * you can send the text on the next line using Serial Monitor to set the clock to noon Jan 1 2013 + T1357041600 + * + * A Processing example sketch to automatically send the messages is included in the download + * On Linux, you can use "date +T%s\n > /dev/ttyACM0" (UTC time zone) + */ + +#include + +#define TIME_HEADER "T" // Header tag for serial time sync message +#define TIME_REQUEST 7 // ASCII bell character requests a time sync message + +void setup() { + Serial.begin(9600); + while (!Serial) ; // Needed for Leonardo only + pinMode(13, OUTPUT); + setSyncProvider( requestSync); //set function to call when sync required + Serial.println("Waiting for sync message"); +} + +void loop(){ + if (Serial.available()) { + processSyncMessage(); + } + if (timeStatus()!= timeNotSet) { + digitalClockDisplay(); + } + if (timeStatus() == timeSet) { + digitalWrite(13, HIGH); // LED on if synced + } else { + digitalWrite(13, LOW); // LED off if needs refresh + } + delay(1000); +} + +void digitalClockDisplay(){ + // digital clock display of the time + Serial.print(hour()); + printDigits(minute()); + printDigits(second()); + Serial.print(" "); + Serial.print(day()); + Serial.print(" "); + Serial.print(month()); + Serial.print(" "); + Serial.print(year()); + Serial.println(); +} + +void printDigits(int digits){ + // utility function for digital clock display: prints preceding colon and leading 0 + Serial.print(":"); + if(digits < 10) + Serial.print('0'); + Serial.print(digits); +} + + +void processSyncMessage() { + unsigned long pctime; + const unsigned long DEFAULT_TIME = 1357041600; // Jan 1 2013 + + if(Serial.find(TIME_HEADER)) { + pctime = Serial.parseInt(); + if( pctime >= DEFAULT_TIME) { // check the integer is a valid time (greater than Jan 1 2013) + setTime(pctime); // Sync Arduino clock to the time received on the serial port + } + } +} + +time_t requestSync() +{ + Serial.write(TIME_REQUEST); + return 0; // the time will be sent later in response to serial mesg +} + diff --git a/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeSerialDateStrings/TimeSerialDateStrings.ino b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeSerialDateStrings/TimeSerialDateStrings.ino new file mode 100755 index 0000000..95d2568 --- /dev/null +++ b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeSerialDateStrings/TimeSerialDateStrings.ino @@ -0,0 +1,108 @@ +/* + * TimeSerialDateStrings.pde + * example code illustrating Time library date strings + * + * This sketch adds date string functionality to TimeSerial sketch + * Also shows how to handle different messages + * + * A message starting with a time header sets the time + * A Processing example sketch to automatically send the messages is inclided in the download + * On Linux, you can use "date +T%s\n > /dev/ttyACM0" (UTC time zone) + * + * A message starting with a format header sets the date format + + * send: Fs\n for short date format + * send: Fl\n for long date format + */ + +#include + +// single character message tags +#define TIME_HEADER 'T' // Header tag for serial time sync message +#define FORMAT_HEADER 'F' // Header tag indicating a date format message +#define FORMAT_SHORT 's' // short month and day strings +#define FORMAT_LONG 'l' // (lower case l) long month and day strings + +#define TIME_REQUEST 7 // ASCII bell character requests a time sync message + +static boolean isLongFormat = true; + +void setup() { + Serial.begin(9600); + while (!Serial) ; // Needed for Leonardo only + setSyncProvider( requestSync); //set function to call when sync required + Serial.println("Waiting for sync message"); +} + +void loop(){ + if (Serial.available() > 1) { // wait for at least two characters + char c = Serial.read(); + if( c == TIME_HEADER) { + processSyncMessage(); + } + else if( c== FORMAT_HEADER) { + processFormatMessage(); + } + } + if (timeStatus()!= timeNotSet) { + digitalClockDisplay(); + } + delay(1000); +} + +void digitalClockDisplay() { + // digital clock display of the time + Serial.print(hour()); + printDigits(minute()); + printDigits(second()); + Serial.print(" "); + if(isLongFormat) + Serial.print(dayStr(weekday())); + else + Serial.print(dayShortStr(weekday())); + Serial.print(" "); + Serial.print(day()); + Serial.print(" "); + if(isLongFormat) + Serial.print(monthStr(month())); + else + Serial.print(monthShortStr(month())); + Serial.print(" "); + Serial.print(year()); + Serial.println(); +} + +void printDigits(int digits) { + // utility function for digital clock display: prints preceding colon and leading 0 + Serial.print(":"); + if(digits < 10) + Serial.print('0'); + Serial.print(digits); +} + +void processFormatMessage() { + char c = Serial.read(); + if( c == FORMAT_LONG){ + isLongFormat = true; + Serial.println(F("Setting long format")); + } + else if( c == FORMAT_SHORT) { + isLongFormat = false; + Serial.println(F("Setting short format")); + } +} + +void processSyncMessage() { + unsigned long pctime; + const unsigned long DEFAULT_TIME = 1357041600; // Jan 1 2013 - paul, perhaps we define in time.h? + + pctime = Serial.parseInt(); + if( pctime >= DEFAULT_TIME) { // check the integer is a valid time (greater than Jan 1 2013) + setTime(pctime); // Sync Arduino clock to the time received on the serial port + } +} + +time_t requestSync() { + Serial.write(TIME_REQUEST); + return 0; // the time will be sent later in response to serial mesg +} diff --git a/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeTeensy3/TimeTeensy3.ino b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeTeensy3/TimeTeensy3.ino new file mode 100755 index 0000000..f68dd8c --- /dev/null +++ b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/examples/TimeTeensy3/TimeTeensy3.ino @@ -0,0 +1,78 @@ +/* + * TimeRTC.pde + * example code illustrating Time library with Real Time Clock. + * + */ + +#include + +void setup() { + // set the Time library to use Teensy 3.0's RTC to keep time + setSyncProvider(getTeensy3Time); + + Serial.begin(115200); + while (!Serial); // Wait for Arduino Serial Monitor to open + delay(100); + if (timeStatus()!= timeSet) { + Serial.println("Unable to sync with the RTC"); + } else { + Serial.println("RTC has set the system time"); + } +} + +void loop() { + if (Serial.available()) { + time_t t = processSyncMessage(); + if (t != 0) { + Teensy3Clock.set(t); // set the RTC + setTime(t); + } + } + digitalClockDisplay(); + delay(1000); +} + +void digitalClockDisplay() { + // digital clock display of the time + Serial.print(hour()); + printDigits(minute()); + printDigits(second()); + Serial.print(" "); + Serial.print(day()); + Serial.print(" "); + Serial.print(month()); + Serial.print(" "); + Serial.print(year()); + Serial.println(); +} + +time_t getTeensy3Time() +{ + return Teensy3Clock.get(); +} + +/* code to process time sync messages from the serial port */ +#define TIME_HEADER "T" // Header tag for serial time sync message + +unsigned long processSyncMessage() { + unsigned long pctime = 0L; + const unsigned long DEFAULT_TIME = 1357041600; // Jan 1 2013 + + if(Serial.find(TIME_HEADER)) { + pctime = Serial.parseInt(); + return pctime; + if( pctime < DEFAULT_TIME) { // check the value is a valid time (greater than Jan 1 2013) + pctime = 0L; // return 0 to indicate that the time is not valid + } + } + return pctime; +} + +void printDigits(int digits){ + // utility function for digital clock display: prints preceding colon and leading 0 + Serial.print(":"); + if(digits < 10) + Serial.print('0'); + Serial.print(digits); +} + diff --git a/Arduino-ESP/PylontechMonitoring/libraries/Time-master/keywords.txt b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/keywords.txt new file mode 100755 index 0000000..073f8f8 --- /dev/null +++ b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/keywords.txt @@ -0,0 +1,34 @@ +####################################### +# Syntax Coloring Map For Time +####################################### + +####################################### +# Datatypes (KEYWORD1) +####################################### +time_t KEYWORD1 +####################################### +# Methods and Functions (KEYWORD2) +####################################### +now KEYWORD2 +second KEYWORD2 +minute KEYWORD2 +hour KEYWORD2 +day KEYWORD2 +month KEYWORD2 +year KEYWORD2 +isAM KEYWORD2 +isPM KEYWORD2 +weekday KEYWORD2 +setTime KEYWORD2 +adjustTime KEYWORD2 +setSyncProvider KEYWORD2 +setSyncInterval KEYWORD2 +timeStatus KEYWORD2 +TimeLib KEYWORD2 +####################################### +# Instances (KEYWORD2) +####################################### + +####################################### +# Constants (LITERAL1) +####################################### diff --git a/Arduino-ESP/PylontechMonitoring/libraries/Time-master/library.json b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/library.json new file mode 100755 index 0000000..071e74c --- /dev/null +++ b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/library.json @@ -0,0 +1,22 @@ +{ +"name": "Time", +"frameworks": "Arduino", +"keywords": "Time, date, hour, minute, second, day, week, month, year, RTC", +"description": "Time keeping library", +"url": "http://playground.arduino.cc/Code/Time", +"authors": +[ +{ + "name": "Michael Margolis" +}, +{ + "name": "Paul Stoffregen" +} +], +"repository": +{ + "type": "git", + "url": "https://github.com/PaulStoffregen/Time" +} +} + diff --git a/Arduino-ESP/PylontechMonitoring/libraries/Time-master/library.properties b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/library.properties new file mode 100755 index 0000000..49b1e2a --- /dev/null +++ b/Arduino-ESP/PylontechMonitoring/libraries/Time-master/library.properties @@ -0,0 +1,10 @@ +name=Time +version=1.5 +author=Michael Margolis +maintainer=Paul Stoffregen +sentence=Timekeeping functionality for Arduino +paragraph=Date and Time functions, with provisions to synchronize to external time sources like GPS and NTP (Internet). This library is often used together with TimeAlarms and DS1307RTC. +category=Timing +url=http://playground.arduino.cc/code/time +architectures=* + diff --git a/Arduino-ESP/Pylontez-MQTT/CACert.ino b/Arduino-ESP/Pylontez-MQTT/CACert.ino new file mode 100644 index 0000000..2a976ee --- /dev/null +++ b/Arduino-ESP/Pylontez-MQTT/CACert.ino @@ -0,0 +1,103 @@ +// rootca1.cer +const unsigned char caCert[] PROGMEM = { + +0x30, 0x82, 0x04, 0x92, 0x30, 0x82, 0x03, 0x7a, 0xa0, 0x03, 0x02, 0x01, +0x02, 0x02, 0x13, 0x06, 0x7f, 0x94, 0x4a, 0x2a, 0x27, 0xcd, 0xf3, 0xfa, +0xc2, 0xae, 0x2b, 0x01, 0xf9, 0x08, 0xee, 0xb9, 0xc4, 0xc6, 0x30, 0x0d, +0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, +0x00, 0x30, 0x81, 0x98, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, +0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, +0x04, 0x08, 0x13, 0x07, 0x41, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x61, 0x31, +0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x0a, 0x53, 0x63, +0x6f, 0x74, 0x74, 0x73, 0x64, 0x61, 0x6c, 0x65, 0x31, 0x25, 0x30, 0x23, +0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x1c, 0x53, 0x74, 0x61, 0x72, 0x66, +0x69, 0x65, 0x6c, 0x64, 0x20, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, +0x6f, 0x67, 0x69, 0x65, 0x73, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, +0x3b, 0x30, 0x39, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x32, 0x53, 0x74, +0x61, 0x72, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x53, 0x65, 0x72, 0x76, +0x69, 0x63, 0x65, 0x73, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x65, +0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x41, 0x75, +0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x32, +0x30, 0x1e, 0x17, 0x0d, 0x31, 0x35, 0x30, 0x35, 0x32, 0x35, 0x31, 0x32, +0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x33, 0x37, 0x31, 0x32, 0x33, +0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x39, 0x31, 0x0b, +0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, +0x0f, 0x30, 0x0d, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x06, 0x41, 0x6d, +0x61, 0x7a, 0x6f, 0x6e, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, +0x03, 0x13, 0x10, 0x41, 0x6d, 0x61, 0x7a, 0x6f, 0x6e, 0x20, 0x52, 0x6f, +0x6f, 0x74, 0x20, 0x43, 0x41, 0x20, 0x31, 0x30, 0x82, 0x01, 0x22, 0x30, +0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, +0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, +0x82, 0x01, 0x01, 0x00, 0xb2, 0x78, 0x80, 0x71, 0xca, 0x78, 0xd5, 0xe3, +0x71, 0xaf, 0x47, 0x80, 0x50, 0x74, 0x7d, 0x6e, 0xd8, 0xd7, 0x88, 0x76, +0xf4, 0x99, 0x68, 0xf7, 0x58, 0x21, 0x60, 0xf9, 0x74, 0x84, 0x01, 0x2f, +0xac, 0x02, 0x2d, 0x86, 0xd3, 0xa0, 0x43, 0x7a, 0x4e, 0xb2, 0xa4, 0xd0, +0x36, 0xba, 0x01, 0xbe, 0x8d, 0xdb, 0x48, 0xc8, 0x07, 0x17, 0x36, 0x4c, +0xf4, 0xee, 0x88, 0x23, 0xc7, 0x3e, 0xeb, 0x37, 0xf5, 0xb5, 0x19, 0xf8, +0x49, 0x68, 0xb0, 0xde, 0xd7, 0xb9, 0x76, 0x38, 0x1d, 0x61, 0x9e, 0xa4, +0xfe, 0x82, 0x36, 0xa5, 0xe5, 0x4a, 0x56, 0xe4, 0x45, 0xe1, 0xf9, 0xfd, +0xb4, 0x16, 0xfa, 0x74, 0xda, 0x9c, 0x9b, 0x35, 0x39, 0x2f, 0xfa, 0xb0, +0x20, 0x50, 0x06, 0x6c, 0x7a, 0xd0, 0x80, 0xb2, 0xa6, 0xf9, 0xaf, 0xec, +0x47, 0x19, 0x8f, 0x50, 0x38, 0x07, 0xdc, 0xa2, 0x87, 0x39, 0x58, 0xf8, +0xba, 0xd5, 0xa9, 0xf9, 0x48, 0x67, 0x30, 0x96, 0xee, 0x94, 0x78, 0x5e, +0x6f, 0x89, 0xa3, 0x51, 0xc0, 0x30, 0x86, 0x66, 0xa1, 0x45, 0x66, 0xba, +0x54, 0xeb, 0xa3, 0xc3, 0x91, 0xf9, 0x48, 0xdc, 0xff, 0xd1, 0xe8, 0x30, +0x2d, 0x7d, 0x2d, 0x74, 0x70, 0x35, 0xd7, 0x88, 0x24, 0xf7, 0x9e, 0xc4, +0x59, 0x6e, 0xbb, 0x73, 0x87, 0x17, 0xf2, 0x32, 0x46, 0x28, 0xb8, 0x43, +0xfa, 0xb7, 0x1d, 0xaa, 0xca, 0xb4, 0xf2, 0x9f, 0x24, 0x0e, 0x2d, 0x4b, +0xf7, 0x71, 0x5c, 0x5e, 0x69, 0xff, 0xea, 0x95, 0x02, 0xcb, 0x38, 0x8a, +0xae, 0x50, 0x38, 0x6f, 0xdb, 0xfb, 0x2d, 0x62, 0x1b, 0xc5, 0xc7, 0x1e, +0x54, 0xe1, 0x77, 0xe0, 0x67, 0xc8, 0x0f, 0x9c, 0x87, 0x23, 0xd6, 0x3f, +0x40, 0x20, 0x7f, 0x20, 0x80, 0xc4, 0x80, 0x4c, 0x3e, 0x3b, 0x24, 0x26, +0x8e, 0x04, 0xae, 0x6c, 0x9a, 0xc8, 0xaa, 0x0d, 0x02, 0x03, 0x01, 0x00, +0x01, 0xa3, 0x82, 0x01, 0x31, 0x30, 0x82, 0x01, 0x2d, 0x30, 0x0f, 0x06, +0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, +0x01, 0xff, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, +0x04, 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, +0x0e, 0x04, 0x16, 0x04, 0x14, 0x84, 0x18, 0xcc, 0x85, 0x34, 0xec, 0xbc, +0x0c, 0x94, 0x94, 0x2e, 0x08, 0x59, 0x9c, 0xc7, 0xb2, 0x10, 0x4e, 0x0a, +0x08, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, +0x80, 0x14, 0x9c, 0x5f, 0x00, 0xdf, 0xaa, 0x01, 0xd7, 0x30, 0x2b, 0x38, +0x88, 0xa2, 0xb8, 0x6d, 0x4a, 0x9c, 0xf2, 0x11, 0x91, 0x83, 0x30, 0x78, +0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x6c, +0x30, 0x6a, 0x30, 0x2e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, +0x30, 0x01, 0x86, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, +0x63, 0x73, 0x70, 0x2e, 0x72, 0x6f, 0x6f, 0x74, 0x67, 0x32, 0x2e, 0x61, +0x6d, 0x61, 0x7a, 0x6f, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, +0x6f, 0x6d, 0x30, 0x38, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, +0x30, 0x02, 0x86, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, +0x72, 0x74, 0x2e, 0x72, 0x6f, 0x6f, 0x74, 0x67, 0x32, 0x2e, 0x61, 0x6d, +0x61, 0x7a, 0x6f, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, +0x6d, 0x2f, 0x72, 0x6f, 0x6f, 0x74, 0x67, 0x32, 0x2e, 0x63, 0x65, 0x72, +0x30, 0x3d, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x36, 0x30, 0x34, 0x30, +0x32, 0xa0, 0x30, 0xa0, 0x2e, 0x86, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x3a, +0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x72, 0x6f, 0x6f, 0x74, 0x67, 0x32, +0x2e, 0x61, 0x6d, 0x61, 0x7a, 0x6f, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, +0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x6f, 0x6f, 0x74, 0x67, 0x32, 0x2e, +0x63, 0x72, 0x6c, 0x30, 0x11, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x0a, +0x30, 0x08, 0x30, 0x06, 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x0d, +0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, +0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x62, 0x37, 0x42, 0x5c, 0xbc, 0x10, +0xb5, 0x3e, 0x8b, 0x2c, 0xe9, 0x0c, 0x9b, 0x6c, 0x45, 0xe2, 0x07, 0x00, +0x7a, 0xf9, 0xc5, 0x58, 0x0b, 0xb9, 0x08, 0x8c, 0x3e, 0xed, 0xb3, 0x25, +0x3c, 0xb5, 0x6f, 0x50, 0xe4, 0xcd, 0x35, 0x6a, 0xa7, 0x93, 0x34, 0x96, +0x32, 0x21, 0xa9, 0x48, 0x44, 0xab, 0x9c, 0xed, 0x3d, 0xb4, 0xaa, 0x73, +0x6d, 0xe4, 0x7f, 0x16, 0x80, 0x89, 0x6c, 0xcf, 0x28, 0x03, 0x18, 0x83, +0x47, 0x79, 0xa3, 0x10, 0x7e, 0x30, 0x5b, 0xac, 0x3b, 0xb0, 0x60, 0xe0, +0x77, 0xd4, 0x08, 0xa6, 0xe1, 0x1d, 0x7c, 0x5e, 0xc0, 0xbb, 0xf9, 0x9a, +0x7b, 0x22, 0x9d, 0xa7, 0x00, 0x09, 0x7e, 0xac, 0x46, 0x17, 0x83, 0xdc, +0x9c, 0x26, 0x57, 0x99, 0x30, 0x39, 0x62, 0x96, 0x8f, 0xed, 0xda, 0xde, +0xaa, 0xc5, 0xcc, 0x1b, 0x3e, 0xca, 0x43, 0x68, 0x6c, 0x57, 0x16, 0xbc, +0xd5, 0x0e, 0x20, 0x2e, 0xfe, 0xff, 0xc2, 0x6a, 0x5d, 0x2e, 0xa0, 0x4a, +0x6d, 0x14, 0x58, 0x87, 0x94, 0xe6, 0x39, 0x31, 0x5f, 0x7c, 0x73, 0xcb, +0x90, 0x88, 0x6a, 0x84, 0x11, 0x96, 0x27, 0xa6, 0xed, 0xd9, 0x81, 0x46, +0xa6, 0x7e, 0xa3, 0x72, 0x00, 0x0a, 0x52, 0x3e, 0x83, 0x88, 0x07, 0x63, +0x77, 0x89, 0x69, 0x17, 0x0f, 0x39, 0x85, 0xd2, 0xab, 0x08, 0x45, 0x4d, +0xd0, 0x51, 0x3a, 0xfd, 0x5d, 0x5d, 0x37, 0x64, 0x4c, 0x7e, 0x30, 0xb2, +0x55, 0x24, 0x42, 0x9d, 0x36, 0xb0, 0x5d, 0x9c, 0x17, 0x81, 0x61, 0xf1, +0xca, 0xf9, 0x10, 0x02, 0x24, 0xab, 0xeb, 0x0d, 0x74, 0x91, 0x8d, 0x7b, +0x45, 0x29, 0x50, 0x39, 0x88, 0xb2, 0xa6, 0x89, 0x35, 0x25, 0x1e, 0x14, +0x6a, 0x47, 0x23, 0x31, 0x2f, 0x5c, 0x9a, 0xfa, 0xad, 0x9a, 0x0e, 0x62, +0x51, 0xa4, 0x2a, 0xa9, 0xc4, 0xf9, 0x34, 0x9d, 0x21, 0x18}; + +const unsigned int caCertLen = 1174; diff --git a/Arduino-ESP/Pylontez-MQTT/Pylontez-MQTT.ino b/Arduino-ESP/Pylontez-MQTT/Pylontez-MQTT.ino new file mode 100644 index 0000000..1d81110 --- /dev/null +++ b/Arduino-ESP/Pylontez-MQTT/Pylontez-MQTT.ino @@ -0,0 +1,898 @@ +#include +#include +#include +#include +#include +#include //https://github.com/PaulStoffregen/Time +#include +#include +#include +#include + +extern const unsigned char caCert[] PROGMEM; +extern const unsigned int caCertLen; + +//IMPORTANT: Specify your WIFI settings: +//#define WIFI_SSID "NOS-3B26" // setubal +//#define WIFI_PASS "RMKSX2GL" // Setubal +#define WIFI_SSID "MEO-AA9030"// Andre +#define WIFI_PASS "81070ce635" // andre + +//IMPORTANT: Uncomment this line if you want to enable MQTT (and fill correct MQTT_ values below): +//#define ENABLE_MQTT + +#ifdef ENABLE_MQTT +//NOTE 1: if you want to change what is pushed via MQTT - edit function: pushBatteryDataToMqtt. +//NOTE 2: MQTT_TOPIC_ROOT is where battery will push MQTT topics. For example "soc" will be pushed to: "home/grid_battery/soc" +//#define MQTT_SERVER "cc42fcb4f1eb492fa3c2e07a9e617830.s2.eu.hivemq.cloud" //"192.168.1.123" +#define MQTT_SERVER "192.168.1.123" +#define MQTT_PORT 1883 // 8883 +#define MQTT_USER "tezmqtt" +#define MQTT_PASSWORD "mqtTez_123" +#define MQTT_TOPIC_ROOT "home/grid_battery/" //this is where mqtt data will be pushed +#define MQTT_PUSH_FREQ_SEC 2 //maximum mqtt update frequency in seconds +#endif ENABLE_MQTT + + +WiFiClient espClient; +//WiFiClientSecure espClient; +PubSubClient mqttClient(espClient); +IPAddress thisip; +ESP8266WebServer server(80); + +SimpleTimer timer; + +char g_szRecvBuff[7000]; +circular_log<7000> g_log; +bool ntpTimeReceived = false; +int g_baudRate = 0; + +void Log(const char* msg) +{ + g_log.Log(msg); +} + +int LEDPIN = 2; // The on-board Wemos D1 mini LED + +////////////////////////////////////// +void setup() { + Serial.begin(115200); + Serial.println("---"); + Serial.println("Serial started"); + + pinMode(LED_BUILTIN, OUTPUT); + + digitalWrite(LED_BUILTIN, LOW); // LOW = on + delay(2000); + digitalWrite(LED_BUILTIN, HIGH); // HIGH = off + + + + // connect to WiFi + WiFi.mode(WIFI_STA); + WiFi.persistent(false); //our credentials are hardcoded, so we don't need ESP saving those each boot (will save on flash wear) + WiFi.hostname("PylonBattery"); + Serial.println(); + Serial.print("connecting to "); + Serial.println(WIFI_SSID); + + WiFi.begin(WIFI_SSID, WIFI_PASS); + while (WiFi.status() != WL_CONNECTED) { + delay(500); + Serial.print("."); + } + Serial.println(""); + Serial.println("WiFi connected"); + Serial.println("IP address: "); + Serial.println(WiFi.localIP()); + Serial.println(""); + for(int i=1; i<=3; i++){ + LedBlink(); + } + + + ArduinoOTA.setHostname("AndrePylon"); + ArduinoOTA.begin(); + server.on("/", handleRoot); + server.on("/log", handleLog); + server.on("/req", handleReq); + server.on("/jsonOut", handleJsonOut); + server.on("/reboot", [](){ + ESP.restart(); + }); + + server.begin(); + Serial.println("web server started"); + Serial.println(""); + + delay(1000); + + syncTime(); + Serial.println("SNTP time synced"); + Serial.println(""); + + for(int i=1; i<=3; i++){ + LedBlink(); + } + +/* COMMENTED BY TEZ */ +/* +// https://links2004.github.io/Arduino/d2/d2f/class_wi_fi_client_secure.html +// Load root certificate in DER format into WiFiClientSecure object +// bool res = espClient.setCACert_P(caCert, caCertLen); + bool res = espClient.setCertificate(caCert, caCertLen); + if (!res) { + Serial.println("Failed to load root CA certificate!"); + while (true) { + yield(); + } + } + Serial.println("local load root CA certificate OK!"); + + + // VERIFY SSL FINGERPRINT + if (!espClient.verify( "49 7E 82 A3 DB B4 19 1E 73 E5 19 A6 D3 C6 C5 31 DE D9 DE 97 BA B1 D8 19 80 A3 88 96 70 8D 94 3D", "websocketclient.hivemq.cloud") ) { + Serial.println( "Fingerprint certificate NOT verified sorry!" ); +// mqttClient.disconnect(); +// return false; + }else{ + Serial.println( "Fingerprint verified OK!"); + } + +*/ +// END COMMENTED BY TEZ + +#ifdef ENABLE_MQTT + mqttClient.setServer(MQTT_SERVER, MQTT_PORT); +#endif + + Log("Boot event"); +} + + +////////////////////////////////////////////////// +void LedBlink(){ + digitalWrite(LED_BUILTIN, LOW); + delay(150); + digitalWrite(LED_BUILTIN, HIGH); // high = off + delay(150); +} + +////////////////////////////////////////////////// +void handleLog() +{ + server.send(200, "text/html", g_log.c_str()); +} + +////////////////////////////////////////////////// +void switchBaud(int newRate) +{ + if(g_baudRate == newRate) + { + return; + } + + if(g_baudRate != 0) + { + Serial.flush(); + delay(20); + Serial.end(); + delay(20); + } + + char szMsg[50]; + snprintf(szMsg, sizeof(szMsg)-1, "New baud: %d", newRate); + Log(szMsg); + + Serial.begin(newRate); + g_baudRate = newRate; + + delay(20); +} + +////////////////////////////////////////////////// +void waitForSerial() +{ + for(int ix=0; ix<150;ix++) + { + if(Serial.available()) break; + delay(10); + } +} + +////////////////////////////////////////////////// +int readFromSerial() +{ + memset(g_szRecvBuff, 0, sizeof(g_szRecvBuff)); + int recvBuffLen = 0; + bool foundTerminator = true; + + waitForSerial(); + + while(Serial.available()) + { + char szResponse[256] = ""; + const int readNow = Serial.readBytesUntil('>', szResponse, sizeof(szResponse)-1); //all commands terminate with "$$\r\n\rpylon>" (no new line at the end) + if(readNow > 0 && + szResponse[0] != '\0') + { + if(readNow + recvBuffLen + 1 >= (int)(sizeof(g_szRecvBuff))) + { + Log("WARNING: Read too much data on the console!"); + break; + } + + strcat(g_szRecvBuff, szResponse); + recvBuffLen += readNow; + + if(strstr(g_szRecvBuff, "$$\r\n\rpylon")) + { + strcat(g_szRecvBuff, ">"); //readBytesUntil will skip this, so re-add + foundTerminator = true; + break; //found end of the string + } + + if(strstr(g_szRecvBuff, "Press [Enter] to be continued,other key to exit")) + { + //we need to send new line character so battery continues the output + Serial.write("\r"); + } + + waitForSerial(); + } + } + + if(recvBuffLen > 0 ) + { + if(foundTerminator == false) + { + Log("Failed to find pylon> terminator"); + } + } + + return recvBuffLen; +} + +////////////////////////////////////////////////// +bool readFromSerialAndSendResponse() +{ + const int recvBuffLen = readFromSerial(); + if(recvBuffLen > 0) + { + server.sendContent(g_szRecvBuff); + return true; + } + + return false; +} + +////////////////////////////////////////////////// +bool sendCommandAndReadSerialResponse(const char* pszCommand) +{ + switchBaud(115200); + + if(pszCommand[0] != '\0') + { + Serial.write(pszCommand); + } + Serial.write("\n"); + + const int recvBuffLen = readFromSerial(); + if(recvBuffLen > 0) + { + return true; + } + + //wake up console and try again: + wakeUpConsole(); + + if(pszCommand[0] != '\0') + { + Serial.write(pszCommand); + } + Serial.write("\n"); + + return readFromSerial() > 0; +} + +////////////////////////////////////////////////// +void handleReq() +{ + bool respOK; + if(server.hasArg("code") == false) + { + respOK = sendCommandAndReadSerialResponse(""); + } + else + { + respOK = sendCommandAndReadSerialResponse(server.arg("code").c_str()); + } + + if(respOK) + { + server.send(200, "text/plain", g_szRecvBuff); + } + else + { + server.send(500, "text/plain", "????"); + } +} + +////////////////////////////////////////////////// +void handleJsonOut() +{ + if(sendCommandAndReadSerialResponse("pwr") == false) + { + server.send(500, "text/plain", "Failed to get response to 'pwr' command"); + return; + } + + parsePwrResponse(g_szRecvBuff); + prepareJsonOutput(g_szRecvBuff, sizeof(g_szRecvBuff)); + server.send(200, "application/json", g_szRecvBuff); +} + +////////////////////////////////////////////////// +void handleRoot() { + unsigned long days = 0, hours = 0, minutes = 0; + unsigned long val = os_getCurrentTimeSec(); + + days = val / (3600*24); + val -= days * (3600*24); + + hours = val / 3600; + val -= hours * 3600; + + minutes = val / 60; + val -= minutes*60; + + static char szTmp[2500] = ""; + snprintf(szTmp, sizeof(szTmp)-1, "Garage Battery
Time GMT: %d/%02d/%02d %02d:%02d:%02d (%s)
Uptime: %02d:%02d:%02d.%02d

free heap: %u
Wifi RSSI: %d
Wifi SSID: %s", + year(), month(), day(), hour(), minute(), second(), "GMT", + (int)days, (int)hours, (int)minutes, (int)val, + ESP.getFreeHeap(), WiFi.RSSI(), WiFi.SSID().c_str()); + + + strncat(szTmp, "
Runtime log
", sizeof(szTmp)-1); + strncat(szTmp, "
Command:
Power | Help | Event Log | Time", sizeof(szTmp)-1); + strncat(szTmp, "", sizeof(szTmp)-1); + + server.send(200, "text/html", szTmp); +} + +unsigned long os_getCurrentTimeSec() +{ + static unsigned int wrapCnt = 0; + static unsigned long lastVal = 0; + unsigned long currentVal = millis(); + + if(currentVal < lastVal) + { + wrapCnt++; + } + + lastVal = currentVal; + unsigned long seconds = currentVal/1000; + + //millis will wrap each 50 days, as we are interested only in seconds, let's keep the wrap counter + return (wrapCnt*4294967) + seconds; +} + +////////////////////////////////////////////////// +void syncTime() +{ + +// configTime(gmtOffset_sec, daylightOffset_sec, ntpServer); + + //get time from NTP + time_t currentTimeGMT = getNtpTime(); + if(currentTimeGMT) + { + ntpTimeReceived = true; + setTime(currentTimeGMT); + } + else + { + timer.setTimeout(3000, syncTime); //try again in 5 seconds + } + + + struct tm timeinfo; + gmtime_r(¤tTimeGMT, &timeinfo); + Serial.print("Current time: "); + Serial.print(asctime(&timeinfo)); + +Serial.println("------------------"); + + + // Synchronize time using SNTP. This is necessary to verify that + // the TLS certificates offered by the server are currently valid. +// Serial.print("Setting time using SNTP"); +// configTime(8 * 3600, 0, "pool.ntp.org", "time.nist.gov"); +// time_t now = time(nullptr); +// while (now < 8 * 3600 * 2) { +// delay(500); +// Serial.print("."); +// now = time(nullptr); +// } +// +// setTime(now); +// +// Serial.println(""); +// struct tm timeinfo; +// gmtime_r(&now, &timeinfo); +// Serial.print("Current time: "); +// Serial.print(asctime(&timeinfo)); + + +} + +////////////////////////////////////////////////// +void wakeUpConsole() +{ + switchBaud(1200); + + //byte wakeUpBuff[] = {0x7E, 0x32, 0x30, 0x30, 0x31, 0x34, 0x36, 0x38, 0x32, 0x43, 0x30, 0x30, 0x34, 0x38, 0x35, 0x32, 0x30, 0x46, 0x43, 0x43, 0x33, 0x0D}; + //Serial.write(wakeUpBuff, sizeof(wakeUpBuff)); + Serial.write("~20014682C0048520FCC3\r"); + delay(1000); + + byte newLineBuff[] = {0x0E, 0x0A}; + switchBaud(115200); + + for(int ix=0; ix<10; ix++) + { + Serial.write(newLineBuff, sizeof(newLineBuff)); + delay(1000); + + if(Serial.available()) + { + while(Serial.available()) + { + Serial.read(); + } + + break; + } + } +} + +#define MAX_PYLON_BATTERIES 2 + +struct pylonBattery +{ + bool isPresent; + long soc; //Coulomb in % + long voltage; //in mW + long current; //in mA, negative value is discharge + long tempr; //temp of case or BMS? + long cellTempLow; + long cellTempHigh; + long cellVoltLow; + long cellVoltHigh; + char baseState[9]; //Charge | Dischg | Idle + char voltageState[9]; //Normal + char currentState[9]; //Normal + char tempState[9]; //Normal + char time[20]; //2019-06-08 04:00:29 + char b_v_st[9]; //Normal (battery voltage?) + char b_t_st[9]; //Normal (battery temperature?) + + bool isCharging() const { return strcmp(baseState, "Charge") == 0; } + bool isDischarging() const { return strcmp(baseState, "Dischg") == 0; } + bool isIdle() const { return strcmp(baseState, "Idle") == 0; } + bool isBalancing() const { return strcmp(baseState, "Balance") == 0; } + + + bool isNormal() const + { + if(isCharging() == false && + isDischarging() == false && + isIdle() == false && + isBalancing() == false) + { + return false; //base state looks wrong! + } + + return strcmp(voltageState, "Normal") == 0 && + strcmp(currentState, "Normal") == 0 && + strcmp(tempState, "Normal") == 0 && + strcmp(b_v_st, "Normal") == 0 && + strcmp(b_t_st, "Normal") == 0 ; + } +}; + +struct batteryStack +{ + int batteryCount; + int soc; //in %, if charging: average SOC, otherwise: lowest SOC + int temp; //in mC, if highest temp is > 15C, this will show the highest temp, otherwise the lowest + long currentDC; //mAh current going in or out of the battery + long avgVoltage; //in mV + char baseState[9]; //Charge | Dischg | Idle | Balance | Alarm! + + pylonBattery batts[MAX_PYLON_BATTERIES]; + + bool isNormal() const + { + for(int ix=0; ix 1000) + { + return (long)(powerDC*1.06); + } + else if(powerDC > 600) + { + return (long)(powerDC*1.1); + } + else + { + return (long)(powerDC*1.13); + } + } + } +}; + +batteryStack g_stack; + +////////////////////////////////////////////////// +long extractInt(const char* pStr, int pos) +{ + return atol(pStr+pos); +} + +////////////////////////////////////////////////// +void extractStr(const char* pStr, int pos, char* strOut, int strOutSize) +{ + strOut[strOutSize-1] = '\0'; + strncpy(strOut, pStr+pos, strOutSize-1); + strOutSize--; + + + //trim right + while(strOutSize > 0) + { + if(isspace(strOut[strOutSize-1])) + { + strOut[strOutSize-1] = '\0'; + } + else + { + break; + } + + strOutSize--; + } +} + +/* Output has mixed \r and \r\n +pwr + +@ + +Power Volt Curr Tempr Tlow Thigh Vlow Vhigh Base.St Volt.St Curr.St Temp.St Coulomb Time B.V.St B.T.St + +1 49735 -1440 22000 19000 19000 3315 3317 Dischg Normal Normal Normal 93% 2019-06-08 04:00:30 Normal Normal + +.... + +8 - - - - - - - Absent - - - - - - - + +Command completed successfully + +$$ + +pylon +*/ + +////////////////////////////////////////////////// +bool parsePwrResponse(const char* pStr) +{ + if(strstr(pStr, "Command completed successfully") == NULL) + { + return false; + } + + int chargeCnt = 0; + int dischargeCnt = 0; + int idleCnt = 0; + int alarmCnt = 0; + int socAvg = 0; + int socLow = 0; + int tempHigh = 0; + int tempLow = 0; + + memset(&g_stack, 0, sizeof(g_stack)); + + for(int ix=0; ix g_stack.batts[ix].soc){socLow = g_stack.batts[ix].soc;} + if(tempHigh < g_stack.batts[ix].cellTempHigh){tempHigh = g_stack.batts[ix].cellTempHigh;} + if(tempLow > g_stack.batts[ix].cellTempLow){tempLow = g_stack.batts[ix].cellTempLow;} + } + + } + } + + //now update stack state: + g_stack.avgVoltage /= g_stack.batteryCount; + g_stack.soc = socLow; + + if(tempHigh > 15000) //15C + { + g_stack.temp = tempHigh; //in the summer we highlight the warmest cell + } + else + { + g_stack.temp = tempLow; //in the winter we focus on coldest cell + } + + if(alarmCnt > 0) + { + strcpy(g_stack.baseState, "Alarm!"); + } + else if(chargeCnt == g_stack.batteryCount) + { + strcpy(g_stack.baseState, "Charge"); + g_stack.soc = (int)(socAvg / g_stack.batteryCount); + } + else if(dischargeCnt == g_stack.batteryCount) + { + strcpy(g_stack.baseState, "Dischg"); + } + else if(idleCnt == g_stack.batteryCount) + { + strcpy(g_stack.baseState, "Idle"); + } + else + { + strcpy(g_stack.baseState, "Balance"); + } + + + return true; +} + +////////////////////////////////////////////////// +void prepareJsonOutput(char* pBuff, int buffSize) +{ + memset(pBuff, 0, buffSize); + snprintf(pBuff, buffSize-1, "{\"soc\": %d, \"temp\": %d, \"currentDC\": %ld, \"avgVoltage\": %ld, \"baseState\": \"%s\", \"batteryCount\": %d, \"powerDC\": %ld, \"estPowerAC\": %ld, \"isNormal\": %s}", g_stack.soc, + g_stack.temp, g_stack.isNormal() ? "true" : "false"); +} + + +////////////////////////////////////////////////// +void loop() { +#ifdef ENABLE_MQTT + mqttLoop(); +#endif + + ArduinoOTA.handle(); + server.handleClient(); + timer.run(); + + //if there are bytes availbe on serial here - it's unexpected + //when we send a command to battery, we read whole response + //if we get anything here anyways - we will log it + int bytesAv = Serial.available(); + if(bytesAv > 0) + { + if(bytesAv > 63) + { + bytesAv = 63; + } + + char buff[64+4] = "RCV:"; + if(Serial.readBytes(buff+4, bytesAv) > 0) + { + digitalWrite(LED_BUILTIN, LOW); + delay(5); + digitalWrite(LED_BUILTIN, HIGH);//high is off + + Log(buff); + } + } +} + +////////////////////////////////////////////////// +#ifdef ENABLE_MQTT +#define ABS_DIFF(a, b) (a > b ? a-b : b-a) + +////////////////////////////////////////////////// +void mqtt_publish_f(const char* topic, float newValue, float oldValue, float minDiff, bool force) +{ + char szTmp[16] = ""; + snprintf(szTmp, 15, "%.2f", newValue); + if(force || ABS_DIFF(newValue, oldValue) > minDiff) + { + mqttClient.publish(topic, szTmp, false); + } +} + +////////////////////////////////////////////////// +void mqtt_publish_i(const char* topic, int newValue, int oldValue, int minDiff, bool force) +{ + char szTmp[16] = ""; + snprintf(szTmp, 15, "%d", newValue); + if(force || ABS_DIFF(newValue, oldValue) > minDiff) + { + mqttClient.publish(topic, szTmp, false); + } +} + +////////////////////////////////////////////////// +void mqtt_publish_s(const char* topic, const char* newValue, const char* oldValue, bool force) +{ + if(force || strcmp(newValue, oldValue) != 0) + { + mqttClient.publish(topic, newValue, false); + } +} + +////////////////////////////////////////////////// +void pushBatteryDataToMqtt(const batteryStack& lastSentData, bool forceUpdate /* if true - we will send all data regardless if it's the same */) +{ + Serial.println("entered publish"); + mqtt_publish_f(MQTT_TOPIC_ROOT "soc", g_stack.soc, lastSentData.soc, 0, forceUpdate); + mqtt_publish_f(MQTT_TOPIC_ROOT "temp", (float)g_stack.temp/1000.0, (float)lastSentData.temp/1000.0, 0, forceUpdate); + mqtt_publish_i(MQTT_TOPIC_ROOT "estPowerAC", g_stack.getEstPowerAc(), lastSentData.getEstPowerAc(), 10, forceUpdate); + mqtt_publish_i(MQTT_TOPIC_ROOT "battery_count",g_stack.batteryCount, lastSentData.batteryCount, 0, forceUpdate); + mqtt_publish_s(MQTT_TOPIC_ROOT "base_state", g_stack.baseState, lastSentData.baseState , forceUpdate); + mqtt_publish_i(MQTT_TOPIC_ROOT "is_normal", g_stack.isNormal() ? 1:0, lastSentData.isNormal() ? 1:0, 0, forceUpdate); + Serial.println("finished publish"); +} + +////////////////////////////////////////////////// +void mqttLoop() +{ + //if we have problems with connecting to mqtt server, we will attempt to re-estabish connection each 1minute (not more than that) + static unsigned long g_lastConnectionAttempt = 0; + + //first: let's make sure we are connected to mqtt + const char* topicLastWill = MQTT_TOPIC_ROOT "availability"; + + if (!mqttClient.connected() && (g_lastConnectionAttempt == 0 || os_getCurrentTimeSec() - g_lastConnectionAttempt > 60)) { + if(mqttClient.connect("GarageBattery", MQTT_USER, MQTT_PASSWORD, topicLastWill, 1, true, "offline")) + { + Log("Connected to MQTT server: " MQTT_SERVER); + Serial.println("Connected to MQTT server!!!"); + mqttClient.publish(topicLastWill, "online", true); + // test by TeZ + mqttClient.publish("home/grid_battery/tez", "cicciobello", true); + mqttClient.publish("testbytez", "232323", true); + + } + else + { + Log("Failed to connect to MQTT server."); + Serial.println("Failed to connect to MQTT server."); + } + + g_lastConnectionAttempt = os_getCurrentTimeSec(); + } + + + + //next: read data from battery and send via MQTT (but only once per MQTT_PUSH_FREQ_SEC seconds) + static unsigned long g_lastDataSent = 0; + if(mqttClient.connected() && + os_getCurrentTimeSec() - g_lastDataSent > MQTT_PUSH_FREQ_SEC && + sendCommandAndReadSerialResponse("pwr") == true) + { + Serial.println("Connected and sending to MQTT server!!!"); + + static batteryStack lastSentData; //this is the last state we sent to MQTT, used to prevent sending the same data over and over again + static unsigned int callCnt = 0; + + parsePwrResponse(g_szRecvBuff); + + bool forceUpdate = (callCnt % 20 == 0); //push all the data every 20th call + pushBatteryDataToMqtt(lastSentData, forceUpdate); + + callCnt++; + g_lastDataSent = os_getCurrentTimeSec(); + memcpy(&lastSentData, &g_stack, sizeof(batteryStack)); + } + + mqttClient.loop(); +} + +#endif //ENABLE_MQTT

0Ph@)KX2 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�E-jJMJZv2s3J$bZ_px5IY)-7g!xNt^kMZDQ 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 z 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