Fehler wegen Laufschrift beseitigt.

This commit is contained in:
hans-jurgen 2023-10-22 01:23:30 +02:00
parent 4e9c46f4b3
commit d42bbd9e63
2 changed files with 71 additions and 26 deletions

View File

@ -13,9 +13,9 @@ platform = espressif32
board = nodemcu-32s board = nodemcu-32s
framework = arduino framework = arduino
monitor_speed = 115200 monitor_speed = 115200
monitor_port = /dev/ttyUSB0 monitor_port = COM3
monitor_filters = time monitor_filters = time
upload_port = /dev/ttyUSB0 upload_port = COM3
lib_deps = lib_deps =
knolleary/PubSubClient @ 2.8 knolleary/PubSubClient @ 2.8
adafruit/Adafruit GFX Library @ 1.11.3 adafruit/Adafruit GFX Library @ 1.11.3
@ -29,7 +29,7 @@ build_flags =
[env:debug] ; Entwicklungssystem [env:debug] ; Entwicklungssystem
build_flags = ${env.build_flags} build_flags = ${env.build_flags}
-DDEBUG=1 -DDEBUG=1
-DGRENZWERT=3.80 -DGRENZWERT=3.70
-DSTASSID=\"St.-Peters-Gasse\" -DSTASSID=\"St.-Peters-Gasse\"
-DSTAPSK=\"1952994784599317\" -DSTAPSK=\"1952994784599317\"
-DGATEWAY=\"192.168.127.1\" -DGATEWAY=\"192.168.127.1\"
@ -39,8 +39,9 @@ build_flags = ${env.build_flags}
-DSUBNET=\"255.255.255.0\" -DSUBNET=\"255.255.255.0\"
-Dmqtt_server=\"hjkmqtt.dedyn.io\" -Dmqtt_server=\"hjkmqtt.dedyn.io\"
-Dmqtt_port=61883 -Dmqtt_port=61883
-DINNEN=\"hjk/devices/MESSUNITTEMPBORIS/telemetry/temperature_Htu_21\" -DINNEN=\"hjk/devices/TEMPWOHNZIM/telemetry/temperature\"
-DCO2=\"hjk/devices/WETTERSTATION/telemetry/co2\" -DFLUR=\"hjk/devices/TEMPFLUR/telemetry/temperature\"
-DCO2=\"hjk/devices/257923/telemetry/co2\"
-DAKKU=\"hjk/devices/WETTERSTATION/telemetry/battery\" -DAKKU=\"hjk/devices/WETTERSTATION/telemetry/battery\"
-DWETTER=\"hjk/devices/WETTERSTATION/telemetry/temperature_Htu_21\" -DWETTER=\"hjk/devices/WETTERSTATION/telemetry/temperature_Htu_21\"
-DLUFTDRUCK=\"hjk/devices/WETTERSTATION/telemetry/pressure\" -DLUFTDRUCK=\"hjk/devices/WETTERSTATION/telemetry/pressure\"
@ -61,7 +62,6 @@ build_flags = ${env.build_flags}
-Dmqtt_server=\"hjkmqtt.dedyn.io\" -Dmqtt_server=\"hjkmqtt.dedyn.io\"
-Dmqtt_port=61883 -Dmqtt_port=61883
-DINNEN=\"hjk/devices/MESSUNITTEMPBORIS/telemetry/temperature_Htu_21\" -DINNEN=\"hjk/devices/MESSUNITTEMPBORIS/telemetry/temperature_Htu_21\"
-DCO2=\"hjk/devices/WETTERSTATIONBORIS/telemetry/co2\"
-DAKKU=\"hjk/devices/WETTERSTATIONBORIS/telemetry/battery\" -DAKKU=\"hjk/devices/WETTERSTATIONBORIS/telemetry/battery\"
-DWETTER=\"hjk/devices/WETTERSTATIONBORIS/telemetry/temperature_Htu_21\" -DWETTER=\"hjk/devices/WETTERSTATIONBORIS/telemetry/temperature_Htu_21\"
-DLUFTDRUCK=\"hjk/devices/WETTERSTATIONBORIS/telemetry/pressure\" -DLUFTDRUCK=\"hjk/devices/WETTERSTATIONBORIS/telemetry/pressure\"

View File

@ -123,7 +123,8 @@ int Co2 = 0.00;
float Covid19 = 0.00; float Covid19 = 0.00;
float Aussentemp = -99.90; float Aussentemp = -99.90;
int Pressure = 0; int Pressure = 0;
float FlurTemp = -99.90; float TempWohn = -99.90;
float TempFlur = -99.99;
float Luftfeuchtigkeit = 0.00; float Luftfeuchtigkeit = 0.00;
float Akku = -99.00; float Akku = -99.00;
int Helligkeit = 255; int Helligkeit = 255;
@ -141,11 +142,17 @@ char clientName[30];
const char* topic_Innen = INNEN; const char* topic_Innen = INNEN;
const char* topic_Akku = AKKU; const char* topic_Akku = AKKU;
#ifdef CO2
const char* topic_Co2 = CO2; const char* topic_Co2 = CO2;
#endif
const char* topic_Wetter = WETTER; const char* topic_Wetter = WETTER;
const char* topic_Pressure = LUFTDRUCK; const char* topic_Pressure = LUFTDRUCK;
const char* topic_Luftfeuchtigkeit = FEUCHTIGKEIT; const char* topic_Luftfeuchtigkeit = FEUCHTIGKEIT;
const char* topic_Helligkeit = HELLIGKEIT; const char* topic_Helligkeit = HELLIGKEIT;
#ifdef FLUR
const char* topic_Flur = FLUR;
#endif
void callback(char* topic1, byte* payload, unsigned int length); void callback(char* topic1, byte* payload, unsigned int length);
@ -233,7 +240,7 @@ void callback(char* topic1, byte* payload, unsigned int length) {
msg[length] = '\0'; msg[length] = '\0';
//Serial.println(msg); //Serial.println(msg);
#ifdef CO2
// CO2 Wert vom Sensor // CO2 Wert vom Sensor
if(strcmp(topic1, topic_Co2)== 0){ if(strcmp(topic1, topic_Co2)== 0){
Serial.print("Co2 Sensor: "); Serial.print("Co2 Sensor: ");
@ -241,9 +248,10 @@ void callback(char* topic1, byte* payload, unsigned int length) {
Serial.println(); Serial.println();
Co2 = atoi(msg); Co2 = atoi(msg);
} }
#endif
// Covid19 Wert // Covid19 Wert
/* if(strcmp(topic1, topic_Covid)== 0){ /* if(strcmp(topic1, topic_Covid)== 0){
Serial.print("Covid: "); Serial.print("Covid: ");
Serial.print(msg); Serial.print(msg);
Serial.println(); Serial.println();
@ -267,8 +275,16 @@ void callback(char* topic1, byte* payload, unsigned int length) {
Serial.print("Temperatur Innen: "); Serial.print("Temperatur Innen: ");
Serial.print(msg); Serial.print(msg);
Serial.println(" °C"); Serial.println(" °C");
FlurTemp = atof(msg); TempWohn = atof(msg);
} }
#ifdef FLUR
if(strcmp(topic1, topic_Flur)== 0){
Serial.print("Temperatur Flur: ");
Serial.print(msg);
Serial.println(" °C");
TempFlur = atof(msg);
}
#endif
if(strcmp(topic1, topic_Luftfeuchtigkeit)== 0){ if(strcmp(topic1, topic_Luftfeuchtigkeit)== 0){
Serial.print("Luftfeuchtigkeit: "); Serial.print("Luftfeuchtigkeit: ");
Serial.print(msg); Serial.print(msg);
@ -292,18 +308,23 @@ void callback(char* topic1, byte* payload, unsigned int length) {
} }
} }
void reconnect() { void reconnect() {
sprintf(clientName, "%s%s", "Uhr", "_Zentrale3" ); sprintf(clientName, "%s%s", "Uhr", "Zentrale4" );
// Loop until we're reconnected // Loop until we're reconnected
while (!client.connected()) { while (!client.connected()) {
Serial.print("Attempting MQTT connection..."); Serial.print("Attempting MQTT connection...");
if (client.connect(clientName)) { if (client.connect(clientName)) {
/* MQTTStatus.setPic(3); */ /* MQTTStatus.setPic(3); */
Serial.println("connected"); Serial.println("connected");
//client.subscribe(topic_Co2); #ifdef CO2
client.subscribe(topic_Co2);
#endif
//client.subscribe(topic_Covid);Ja //client.subscribe(topic_Covid);Ja
client.subscribe(topic_Wetter); client.subscribe(topic_Wetter);
client.subscribe(topic_Pressure); client.subscribe(topic_Pressure);
client.subscribe(topic_Innen); client.subscribe(topic_Innen);
#ifdef FLUR
client.subscribe(topic_Flur);
#endif
client.subscribe(topic_Luftfeuchtigkeit); client.subscribe(topic_Luftfeuchtigkeit);
client.subscribe(topic_Akku); client.subscribe(topic_Akku);
client.subscribe(topic_Helligkeit); client.subscribe(topic_Helligkeit);
@ -349,7 +370,7 @@ void ZeigeZeit(tm localTime, int xPos = 2, int yPos = 8)
display.setFont(); display.setFont();
} }
/* void ZeigeCO(int xPos = 1, int yPos = 19) void ZeigeCO(int xPos = 1, int yPos = 19)
{ {
if (xPos < 1) xPos = 1; if (xPos < 1) xPos = 1;
if (yPos < 19) yPos = 19; if (yPos < 19) yPos = 19;
@ -390,7 +411,7 @@ void ZeigeZeit(tm localTime, int xPos = 2, int yPos = 8)
display.print("ppm"); display.print("ppm");
display.setFont(); display.setFont();
} }
} */ }
void ZeigeDatum(tm localTime, int xPos = 2, int yPos = 1) void ZeigeDatum(tm localTime, int xPos = 2, int yPos = 1)
{ {
@ -427,7 +448,7 @@ void ZeigeWetter(double Wetter1, int yPos = 2, int xPos = 1)
dtostrf(Wetter1, 4, 1, szWetter); dtostrf(Wetter1, 4, 1, szWetter);
display.setCursor(xPos, yPos); display.setCursor(xPos, yPos);
display.fillRect(xPos, yPos-2, 64-xPos, 8+2, (myBLACK)); display.fillRect(xPos, yPos-2, 64-xPos, 8+2, (myBLACK));
display.setTextColor(myBLUE); display.setTextColor(myWHITE);
display.print(szWetter); display.print(szWetter);
// Erzeuge Grad Zeichen ...... // Erzeuge Grad Zeichen ......
display.setCursor(xPos+24, yPos-5); display.setCursor(xPos+24, yPos-5);
@ -481,7 +502,7 @@ void setup() {
display.setMuxPattern(BINARY); display.setMuxPattern(BINARY);
// Set the color order {RRGGBB, RRBBGG, GGRRBB, GGBBRR, BBRRGG, BBGGRR} (default is RRGGBB) // Set the color order {RRGGBB, RRBBGG, GGRRBB, GGBBRR, BBRRGG, BBGGRR} (default is RRGGBB)
display.setColorOrder(RRGGBB); display.setColorOrder(BBRRGG);
// Set the time in microseconds that we pause after selecting each mux channel // Set the time in microseconds that we pause after selecting each mux channel
// (May help if some rows are missing / the mux chip is too slow) // (May help if some rows are missing / the mux chip is too slow)
@ -507,11 +528,11 @@ void setup() {
display.print("Pixel"); display.print("Pixel");
display.setTextColor(myYELLOW); display.setTextColor(myYELLOW);
display.setCursor(30,50); display.setCursor(30,50);
display.print("Time"); display.print("1234");
//-------------------------------------------------- //--------------------------------------------------
//-------------------------------------------------- //--------------------------------------------------
delay(5000); delay(1000);
print_wifi_status(); print_wifi_status();
configTime(0, 0, NTP_SERVER); configTime(0, 0, NTP_SERVER);
// See https://github.com/nayarsystems/posix_tz_db/blob/master/zones.csv for Timezone codes for your region // See https://github.com/nayarsystems/posix_tz_db/blob/master/zones.csv for Timezone codes for your region
@ -706,10 +727,12 @@ static void setup_wifi() {
void loop() { void loop() {
getNTPtime(10);
if (!client.connected()) { if (!client.connected()) {
reconnect(); reconnect();
} }
getNTPtime(10); client.loop();
if (millis() - lastTime >= 1000) if (millis() - lastTime >= 1000)
{ {
lastTime = millis(); lastTime = millis();
@ -717,7 +740,7 @@ void loop() {
ZeigeDatum(timeinfo, 1, 1); ZeigeDatum(timeinfo, 1, 1);
ZeigeZeit(timeinfo, TimeX, TimeY); ZeigeZeit(timeinfo, TimeX, TimeY);
//ZeigeZeit(timeinfo, 1,40); //ZeigeZeit(timeinfo, 1,40);
//ZeigeCO(1,CoY); ZeigeCO(1,CoY);
/* if ((timeinfo.tm_min % 10) == 0){ /* if ((timeinfo.tm_min % 10) == 0){
/* if (Covid19 != 0){ /* if (Covid19 != 0){
scroll_text(matrix_height-8,20,"Landkreis Heilbronn", 30,30,30, true); scroll_text(matrix_height-8,20,"Landkreis Heilbronn", 30,30,30, true);
@ -749,13 +772,35 @@ void loop() {
scroll_text2(matrix_height-24,20,"ich w\201nsche Euch allen ein", 128,128,0, true); scroll_text2(matrix_height-24,20,"ich w\201nsche Euch allen ein", 128,128,0, true);
scroll_text2(matrix_height-24,20,"Frohes neues Jahr 2022.", 128,255,0, true); */ scroll_text2(matrix_height-24,20,"Frohes neues Jahr 2022.", 128,255,0, true); */
ZeigeWetter(double(FlurTemp), WetterY,WetterX); ZeigeWetter(double(TempWohn), WetterY,WetterX);
//Serial.println("START");
if (Aussentemp > -99.9){ if (Aussentemp > -99.9){
scroll_text(matrix_height-8,30,"Luftdruck: " + String(Pressure) + " hPa", 255,255,255, true);
char szWetter[10]; char szWetter[10];
dtostrf(TempFlur, 4, 1, szWetter);
//Serial.print(Aussentemp); Serial.print(" "); Serial.println(szWetter);
scroll_Grad(matrix_height-8,30," Flur: " + String(szWetter), 64,64,64, true);
/* Achtung sehr wichtig,
wenn das gesamt Laufschrift mehr
als 30 Sekunden Dauert muss ein .... */
client.loop();
/* eingeführt werden, sonst kommt es zu
einen Socket Fehler !!!! */
scroll_text(matrix_height-8,30,"Luftdruck: " + String(Pressure) + " hPa", 255,255,255, true);
dtostrf(Aussentemp, 4, 1, szWetter); dtostrf(Aussentemp, 4, 1, szWetter);
//Serial.print(Aussentemp); Serial.print(" "); Serial.println(szWetter); //Serial.print(Aussentemp); Serial.print(" "); Serial.println(szWetter);
/* Achtung sehr wichtig,
wenn das gesamt Laufschrift mehr
als 30 Sekunden Dauert muss ein .... */
client.loop();
/* eingeführt werden, sonst kommt es zu
einen Socket Fehler !!!! */
scroll_Grad(matrix_height-8,30,"Aussentemperatur: " + String(szWetter), 64,64,64, true); scroll_Grad(matrix_height-8,30,"Aussentemperatur: " + String(szWetter), 64,64,64, true);
/* Achtung sehr wichtig,
wenn das gesamt Laufschrift mehr
als 30 Sekunden Dauert muss ein .... */
client.loop();
/* eingeführt werden, sonst kommt es zu
einen Socket Fehler !!!! */
dtostrf(Luftfeuchtigkeit, 4, 1, szWetter); dtostrf(Luftfeuchtigkeit, 4, 1, szWetter);
scroll_text(matrix_height-8,30,"Luftfeuchtigkeit: " + String(szWetter) + " %", 64,64,64, true); scroll_text(matrix_height-8,30,"Luftfeuchtigkeit: " + String(szWetter) + " %", 64,64,64, true);
} }
@ -763,8 +808,8 @@ void loop() {
scroll_text(matrix_height-8,40,"Akku: " + String(Akku) + " Volt", 255, 0, 0, true); scroll_text(matrix_height-8,40,"Akku: " + String(Akku) + " Volt", 255, 0, 0, true);
scroll_text(matrix_height-8,40,"Akku aufladen!", 255, 0, 0, true); scroll_text(matrix_height-8,40,"Akku aufladen!", 255, 0, 0, true);
} }
} //Serial.println("STOP");
client.loop(); }
} }
bool getNTPtime(int sec) { bool getNTPtime(int sec) {
@ -782,7 +827,7 @@ bool getNTPtime(int sec) {
/* char time_output[30]; /* char time_output[30];
strftime(time_output, 30, "%a %d-%m-%y %T", localtime(&now)); strftime(time_output, 30, "%a %d-%m-%y %T", localtime(&now));
Serial.println(time_output); Serial.println(time_output);
Serial.println(); */ Serial.println(12); */
} }
return true; return true;
} }