2025-12-1400 Überarbeitet kompl.
This commit is contained in:
@@ -23,7 +23,7 @@ lib_deps =
|
||||
;adafruit/Adafruit BusIO @ 1.7.2
|
||||
|
||||
build_flags =
|
||||
-DSCAN=16
|
||||
-DSCAN=32
|
||||
|
||||
|
||||
[env:debug] ; Entwicklungssystem
|
||||
@@ -39,6 +39,8 @@ build_flags = ${env.build_flags}
|
||||
-DSUBNET=\"255.255.255.0\"
|
||||
-Dmqtt_server=\"hjkmqtt.dedyn.io\"
|
||||
-Dmqtt_port=61883
|
||||
-Dmqtt_user=\"hjk\"
|
||||
-Dmqtt_pass=\"51Fische#\"
|
||||
-DINNEN=\"hjk/devices/TEMPWOHNZIM/telemetry/temperature\"
|
||||
-DINNENHUMITY=\"hjk/devices/TEMPWOHNZIM/telemetry/humity\"
|
||||
;-DFLUR=\"hjk/devices/TEMPFLUR/telemetry/temperature\"
|
||||
@@ -62,7 +64,7 @@ build_flags = ${env.build_flags}
|
||||
-DSECONDARDNS=\"8.8.8.8\"
|
||||
-Dmqtt_server=\"192.168.2.55\"
|
||||
-Dmqtt_port=1883
|
||||
-Dmqtt_user=\"boris"
|
||||
-Dmqtt_user=\"boris\"
|
||||
-Dmqtt_pass=\"13.April13\"
|
||||
-DINNEN=\"hjk/devices/MESSUNITTEMPBORIS/telemetry/temperature_Htu_21\"
|
||||
-DAKKU=\"hjk/devices/WETTERSTATIONBORIS/telemetry/battery\"
|
||||
@@ -82,8 +84,10 @@ build_flags = ${env.build_flags}
|
||||
-DSECONDARDNS=\"8.8.8.8\"
|
||||
-DMYIP=\"192.168.127.44\"
|
||||
-DSUBNET=\"255.255.255.0\"
|
||||
-Dmqtt_server=\"192.168.127.251\"
|
||||
-Dmqtt_server=\"192.168.127.193\"
|
||||
-Dmqtt_port=1883
|
||||
-Dmqtt_user=\"hjk\"
|
||||
-Dmqtt_pass=\"51Fische#\"
|
||||
-DINNEN=\"hjk/devices/TEMPWOHNZIM/telemetry/temperature\"
|
||||
-DINNENHUMITY=\"hjk/devices/TEMPWOHNZIM/telemetry/humity\"
|
||||
-DFLUR=\"hjk/devices/TEMPFLUR/telemetry/temperature\"
|
||||
|
||||
67
src/main.cpp
67
src/main.cpp
@@ -28,8 +28,8 @@
|
||||
#define P_B 23
|
||||
#define P_C 18
|
||||
#define P_D 5
|
||||
//#define P_E 15
|
||||
#define P_E -1
|
||||
#define P_E 15
|
||||
//#define P_E -1
|
||||
#define P_OE 16
|
||||
hw_timer_t * timer = NULL;
|
||||
portMUX_TYPE timerMux = portMUX_INITIALIZER_UNLOCKED;
|
||||
@@ -68,15 +68,15 @@ PubSubClient client(espClient);
|
||||
#define CO2_CRITICAL_PPM 1850
|
||||
|
||||
#define matrix_width 64
|
||||
#define matrix_height 32
|
||||
#define matrix_height 64
|
||||
|
||||
// This defines the 'on' time of the display is us. The larger this number, ---> Dies definiert die Einschaltzeit des Displays. Je größer diese Zahl,
|
||||
// the brighter the display. If too large the ESP will crash ---> desto heller das Display. Wenn zu groß, stürzt das ESP ab
|
||||
uint8_t display_draw_time=45; //30-70 is usually fine ---> 30-70 ist normalerweise in Ordnung
|
||||
|
||||
//PxMATRIX display(32,16,P_LAT, P_OE,P_A,P_B,P_C);
|
||||
PxMATRIX display(64,32,P_LAT, P_OE,P_A,P_B,P_C,P_D);
|
||||
//PxMATRIX display(64,64,P_LAT, P_OE,P_A,P_B,P_C,P_D,P_E);
|
||||
//PxMATRIX display(64,32,P_LAT, P_OE,P_A,P_B,P_C,P_D);
|
||||
PxMATRIX display(64,64,P_LAT, P_OE,P_A,P_B,P_C,P_D,P_E);
|
||||
|
||||
// Some standard colors
|
||||
uint16_t myRED = display.color565(255, 0, 0);
|
||||
@@ -131,7 +131,7 @@ float TempWohn = -99.90;
|
||||
float TempFlur = -99.99;
|
||||
float Luftfeuchtigkeit = 0.00;
|
||||
float Akku = -99.00;
|
||||
int Helligkeit = 255;
|
||||
int Helligkeit = 64;
|
||||
|
||||
|
||||
const char* const PROGMEM DAY_NAMES[] = {"Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"};
|
||||
@@ -172,6 +172,8 @@ bool getNTPtime(int sec);
|
||||
void showTime(tm localTime);
|
||||
static uint32_t lastTime = 0; // millis() memory
|
||||
static void setup_wifi();
|
||||
void ZeigeTemperatur(float temperatur, uint16_t Color);
|
||||
void ZeigeInnenFeuchtigkeit(float Luftfeuchtigkeit);
|
||||
|
||||
#ifdef ESP8266
|
||||
// ISR for display refresh
|
||||
@@ -504,7 +506,7 @@ void setup() {
|
||||
//display.begin(8, 14, 13, 12, 4);
|
||||
|
||||
// Define multiplex implemention here {BINARY, STRAIGHT} (default is BINARY)
|
||||
display.setMuxPattern(BINARY);
|
||||
//display.setMuxPattern(BINARY);
|
||||
|
||||
// Set the multiplex pattern {LINE, ZIGZAG,ZZAGG, ZAGGIZ, WZAGZIG, VZAG, ZAGZIG} (default is LINE)
|
||||
display.setScanPattern(LINE);
|
||||
@@ -523,7 +525,8 @@ void setup() {
|
||||
display.setMuxPattern(BINARY);
|
||||
|
||||
// Set the color order {RRGGBB, RRBBGG, GGRRBB, GGBBRR, BBRRGG, BBGGRR} (default is RRGGBB)
|
||||
display.setColorOrder(RRBBGG);
|
||||
display.setColorOrder(RRGGBB);
|
||||
//display.setColorOrder(BBRRGG);
|
||||
|
||||
// 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)
|
||||
@@ -544,12 +547,12 @@ void setup() {
|
||||
display.setCursor(30,0);
|
||||
display.print("Time"); */
|
||||
//----------------------
|
||||
/* display.setTextColor(myBLUE);
|
||||
display.setTextColor(myBLUE);
|
||||
display.setCursor(2,matrix_height-8);
|
||||
display.print("Pixel");
|
||||
display.setTextColor(myYELLOW);
|
||||
display.setCursor(30,matrix_height-8);
|
||||
display.print("1234"); */
|
||||
display.print("1234");
|
||||
display_update_enable(true);
|
||||
//--------------------------------------------------
|
||||
//--------------------------------------------------
|
||||
@@ -776,7 +779,12 @@ void loop() {
|
||||
blinkSek = !blinkSek;
|
||||
ZeigeDatum(timeinfo, 1, 0);
|
||||
ZeigeZeit(timeinfo, TimeX, TimeY);
|
||||
//ZeigeZeit(timeinfo, 1,40);
|
||||
ZeigeTemperatur(TempWohn, myGREEN);
|
||||
ZeigeInnenFeuchtigkeit(Luftfeuchtigkeit);
|
||||
display.fillRect(0, 32, 64, 9, myBLUE);
|
||||
display.fillRect(0, 41, 64, 9, myRED);
|
||||
display.fillRect(0, 50, 64, 9, myYELLOW);
|
||||
|
||||
#ifdef Co2
|
||||
ZeigeCO(1,CoY);
|
||||
#endif
|
||||
@@ -812,7 +820,7 @@ void loop() {
|
||||
scroll_text2(matrix_height-24,20,"Frohes neues Jahr 2022.", 128,255,0, true); */
|
||||
|
||||
//ZeigeWetter(double(TempWohn), WetterY,WetterX);
|
||||
if (Aussentemp > -99.9){
|
||||
if (Aussentemp > 99.9){
|
||||
char szWetter[10];
|
||||
#ifdef FLUR
|
||||
dtostrf(TempFlur, 4, 1, szWetter);
|
||||
@@ -889,3 +897,38 @@ void showTime(tm localTime) {
|
||||
(localTime.tm_isdst == 1 ? "summer" : "standard")
|
||||
);
|
||||
}
|
||||
|
||||
void ZeigeTemperatur(float temperatur, uint16_t Color){
|
||||
char szWetter[15];
|
||||
if (Aussentemp > -99)
|
||||
{
|
||||
dtostrf(temperatur, 5, 1, szWetter);
|
||||
display.setFont();
|
||||
display.setCursor(1, 24);
|
||||
display.setTextColor(Color);
|
||||
display.fillRect(0, 23, 40, 9, myBLACK);
|
||||
display.print(szWetter);
|
||||
display.setCursor(31, 19);
|
||||
display.setFont(&Picopixel);
|
||||
display.print("o");
|
||||
display.setCursor(34, 80);
|
||||
display.setFont();
|
||||
display.print("C");
|
||||
display.setFont(0);
|
||||
}
|
||||
}
|
||||
|
||||
void ZeigeInnenFeuchtigkeit(float Luftfeuchtigkeit){
|
||||
char szWetter[15];
|
||||
if (Aussentemp > -99)
|
||||
{
|
||||
dtostrf(Luftfeuchtigkeit, 2, 0, szWetter);
|
||||
display.setFont();
|
||||
display.setCursor(40, 24);
|
||||
display.setTextColor(myGREEN);
|
||||
display.fillRect(40, 23, 64, 9, myBLACK);
|
||||
display.print(szWetter);
|
||||
display.print("%");
|
||||
display.setFont(0);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user