Mit meinem Board BOB-Strom-V2 mit 1 x RTC DS3231 und 2 x Strommesser INA219 messe ich die Solar-Ladeleistung und die Leistung der Last vom LiPo-Akku 2000 mAh und schalte die Last für 30 sec ein. Das wiederhole ich je nach Akkuspannung 60 bis 1 mal pro Stunde. Angesteuert werden die ICs von einem WiPy, der die Messdaten jede Sekunde auf SD-Karte schreibt.
Leider läuft das System nicht stabil und rebootet oft. GarbageCollector und Watchdog sind eingeschaltet.
Leider hängt das System manchmal ganz und ist erst wieder mit Reset oder gar Strom aus/ein wieder zu beleben. Ich verwendete die Firmware: 1.20.2.r1.
Ich hoffte, mit einen Update auf neueste Firmware wird es besser:
Firmware: 1.20.2.r2
Pybytes: 1.6.1
Initialized watchdog for WiFi and LTE connection with timeout 1260000 ms
WiFi connection established
Connected to MQTT mqtt.pybytes.pycom.io
Pybytes connected successfully (using the built-in pybytes library)
Pybytes configuration read from /flash/pybytes_config.json
Doch nun funktionieren die Methoden von time() und utime() nicht mehr richtig.
Das Setzen der RTC mit NTP ist noch OK, aber das Setzen auf CET ( CentralEuropeanTime ) oder CEST ( summertime ) nicht mehr. Das ist sehr ärgerlich.
utime.timezone 3600
RTC: 2020-12-17 22:45:04
utime.gmtime: +0 (1970, 1, 1, 0, 0, 6, 3, 1)
rtc.now +0 (2020, 12, 17, 22, 45, 4, 433764, None)
utime.localtime: +1 (1970, 1, 1, 1, 0, 6, 3, 1)
utime.time +0 6 (1970, 1, 1, 0, 0, 6, 3, 1)
mktime: utime.gmtime +1 -3594 (1969, 12, 31, 23, 0, 6, 2, 365)
mktime: rtc.now +1 1608241504 (2020, 12, 17, 21, 45, 4, 3, 352)
mktime: utime.localtime +2 6 (1970, 1, 1, 0, 0, 6, 3, 1)
RTC: 2020-12-17 22:45:04
time.gmtime: +0 (1970, 1, 1, 0, 0, 6, 3, 1)
rtc.now +0 (2020, 12, 17, 22, 45, 4, 469893, None)
time.localtime: +1 (1970, 1, 1, 1, 0, 6, 3, 1)
time.time +0 6 (1970, 1, 1, 0, 0, 6, 3, 1)
mktime: time.gmtime +1 -3594 (1969, 12, 31, 23, 0, 6, 2, 365)
mktime: rtc.now +1 1608241504 (2020, 12, 17, 21, 45, 4, 3, 352)
mktime: time.localtime +2 6 (1970, 1, 1, 0, 0, 6, 3, 1)
Es sollte überall das Jahr 2020 und nicht 1970 auftauchen.
In der Firmware 1.20.2.r1 funktioniert alles.
Wo ist der Fehler?