Verbesserung der Stabilität der BOB-Firmware

Habe gerade mit der aktuellen BOB-Firmware von heute Vormittag und der aktuellen firmware 1.20.2.rc6-0.10.0-vanilla-squirrel getestet.

Das Gute zuerst: Die software läuft auch ohne sensoren durch und sie läuft auch in einem ersten Test ohne SD-Karte.

Leider funktioniert sie mit SD-Karte aber nicht wie sie soll, Sensoren werden zwar gelesen und auch auf den Server übertragen, aber das Programm wird immer replizierbar nach der ersten Messung mit einem Error, dumping memory abgebrochen. output ist:

log mit `Error, dumping memory` 1
1. Messung
   DS18B20: Messung gestartet...
   BME280:  21.2 C 990.0 mbar 44.4 %
   HX711:   0.0 kg
   DS18B20: 20.7 20.7 20.5 20.8 21.0 18.7  Sensors: 6

   Zeiten:  11:33:48    WLAN:    Prep: 2ms Init: 8ms Connect: 28ms SSL: 1836ms Header: 37ms Data: 1837ms Response: 215ms
{'key': 'UWzxxxxxxxxxxxxx', 't_i_1': 21.0, 'rssi': -73, 't_i_3': 20.8, 't_i_2': 20.5, 'h': '44.4', 'weight_kg': '0.0', 't_i_4': 18.7, 'p': '990.0', 't_o': 20.7, 't': '21.2', 't_i_5': 20.7}
Exception am Ende des Programms
Error, dumping memory
(None, None, None)
stack: 656 out of 11264
GC: total: 2561344, used: 105936, free: 2455408
 No. of 1-blocks: 2050, 2-blocks: 468, max blk sz: 161, max free sz: 153458
GC memory layout; from 3f94eba0:
00000: MDThhhhhhhhh=TMDShhSh=hSh=Sh=======h=====MDSBBMSShBDh==BhDTTTTh=
00400: ===DBTDBBBhh=======BBBBMDShhBBThhMSh=======SDShhB=Bh=======hhBBB
00800: hhhShhBBDBDBBBSSShShSh=hShBDBhhhBTSBBBh==Sh=h=hShh===B=hBThSh===
00c00: =======Bh===h===BBB=BBMDDBBh=Dhh=======h=h=Sh==hhBTh===hh======h
01000: h=====h===h==hSh===B=hSSh==hBThShDBh==hB=BBBTMhShSh==hh=h==hSh=S
01400: SDSBBBBBh===hhhhh=====MDh==h===Sh=SSh=======h====SSSDBh==BBBhBBB
01800: BhB=hSh=h===hh=====h=Sh=hSh=hhTSDSSh=======h=h=ShhShhh=hhDDDDDhS
01c00: DSSBBDBBBhh====hhShSShh=hh==h=======hh==ShhSh=ShDShDSh=======h==
02000: =====ShSh=h=h=hhhh=====================hh=======h=ShhSh=========
02400: ===========Shh====Sh=ShShhh=======Shh==Dh=Sh=hhh=======h=======h
02800: DDDhDSh=h=h=DDDh=SSh==hShDSShh=Shh==h=hShh=DhSh=hShShhhDhh=hh===
02c00: ====h==h==h=hh=hhSSh=hhSh=FDDhSShSh=SSh=Sh=SDh=Sh=h==h=ShDhSShSh
03000: =ShDShShhLhh=h==hSDSShhh==Sh=DSh==Sh=ShhShhh=Sh=ShSh===h====h==h
03400: ==h=hShShSh=h========================================h==h=h=hDh=
03800: hSh=hDh=======DhShhhhh==h=ShTTBTBBBShSShh=======h=======hhBh=MDh
03c00: ShhThhhhhhhh=SSShh=Sh=hhSh=======h=======SSSh=hShSSSh=h=h=ShShSh
04000: ==h=======hSh==Sh==ShSSSSh==h=Shhh==h=h=======hhh=SShhh==hhhhShS
04400: h=h==hShSSh=h===========h=====hShShShh=hh=hh=hh=hh=hh=hh==hh==hh
04800: h=h=h====hhSSh=======h==h=Sh==h=h==h=h=SShh=====================
04c00: ===================================h=Sh=Sh=Sh=SMDh=Sh=SShSSSh==S
05000: hShhhhhSh=hhShSh===hhShhh=h=SSSh=h======SShh=====h=SSh=h====h==S
05400: SSh==h======SSSh=h=======Shh======h=========h======hShSh=h==h===
05800: ==========Sh==h==h===hhh=============DShhBh=h===DDLh=LhSh=h=====
05c00: =======ShSSh==Dh==hB=h=SSh=h========Shh==h==h=SSh=hB=hhBhBhBhBh=
06000: ======Sh=ShShSSh==BhhLh==B=BhBhSSh=hh===ShShSh=h================
06400: =======================BTB=BBBhDB=BBBhh=hShhhhShShh=BBBhhhh=hSSh
06800: ================================================================
06c00: =========================hh=====================================
07000: ===========================================================h====
07400: h=hh===========hBBBBBBBBBh==hDBBBTBBBBB=BBhBh=h=B=Bh===hhh=B=BTB
07800: =hB=h===========hB=h=B=TB=Sh=======h==============Bh=======h====
07c00: ===Sh====hhhhBh======h=====h===h===h===h==========h==========h==
08000: ==========h=====================================================
08400: ======h====h==BLB=BBBBBBBAB=DTTTTTTTTTTh==TTTTTTTTTh=h=h=TTTTTTT
08800: TTh=TTTTTTTTSh=======TTTTh===h===hBLh==================h=====AAh
08c00: h=LhAhTh=DABBShhhSh=h=hThBBBSh=========ShB=BBBBBLhSh=h======SSh=
09000: ======Shh=====hhhh=======h===================hSh================
09400: =====h====h==============h========h==h====h====h====h=h=========
09800: ===h============================================================
09c00: ====================h===h===Ah=ShSh==h=======hSSh=Sh========h===
0a000: ============Dhh=MDh=====TLhBh=h=======h=h==h=MDAMDSh=======MDSh=
0a400: =h=======LhAhTh=DDhh=h==hSh===h==BSh=SShShBBBBB=BBBhTh=SLhhh===h
0a800: =hSBBBh=hSh========h===h==LhLh=hTAh=======h=Ah=h=DBBBBBBh==B=h==
0ac00: =====h=h===Shhh====h==h=ShAhSMDFLhAhTFhFh=======================
0b000: ============h========h==DBh=B=Bh==h=======h=======hTh========B=B
0b400: hBBhBhh===hh====Lh=======h=======FFFh==========hLhAhTAhTLhh=====
0b800: ==h=======Lhh==AhThDBh=======hh==B=BTBB=Sh=FLhhh=======BLhB=hB=h
0bc00: =B=T=FShhhhh======================h=======Fh=======BBSB=BBh===TD
0c000: SFFFSFFFFFT=hhh========BBTB=hSShT==h==FFFFFh==h==Sh==ShSh===h=Dh
0c400: =FFFhhhh=Ah===SDDDDSDSSShShhShh=h==hh=h==h==h=hThh=======h======
0c800: h=========h=======ShShShh=hh================hh=======hh==hh=hh==
0cc00: =======hh============Lh==h=h=h===h=hh=hh==hh==hh=====hh=========
0d000: ====hh=hFFFFFFFFhSFFhShhSh=DShDSShh====Sh=ShShhShDh===hhh==h=hDD
0d400: DhDSh=h=h=DDDh=SSh==DDh=h=hST=h===h==hhhh=======h===h======h====
0d800: h==========h==========h==hhh==h=h=hSh=hh=======h==============h=
0dc00: Sh=FSh=======ShShhhDhShBh=h=Lh==hDh==h=hhSh===hhSAh=FDDhSh=SSSh=
0e000: Sh=SDh=Sh=h==h=ShDhSShShDShShh==hLhSDSShDShh==Sh=Shhh==ShSh=h=hD
0e400: h=hSh=hDDhShhhhDhAhh==Ahh===SAhSAhhhSAFh=h===ShhhhSShh=======Lh=
0e800: h=h===========hhhSh=FSFFFFFSSShShh======h=h===h=======Sh=======T
0ec00: =hSh=ShSh=hhSh=ShhSShhSSSSShhAhhhSAhh=hAhhh====SBh=BT=hh=hhh====
0f000: =========Sh================h=h=SBhh=T=ShThhT==T==hShShhhh==DSh=h
0f400: =======h======h========h===h==h==hh=hh==hh=======h=hh=hh===hh==h
0f800: h=hh==============h======BT=h======BT=h=SDDDhDBT=h======BT=T=Th=
0fc00: =hLh=======h===========DhhT=Dh=Fh====LhhShhh=======h==DDhSh==Sh=
10000: h=======SSh=SLhTSh=h=Sh=Sh=Sh===hh=LhSDh=h=Sh=h==Dh=============
10400: =hShh=====================h========h=Sh=h=======================
10800: ===h====h====h===h==h==hh=hSLh==hhhhhDh=hh===hh=======SLh=hh==h=
10c00: ===hDDh===============h==============hLhSDSDShShh==ShhLh=Shh=Shh
11000: =Sh==h====h==DSh==Sh=h==h=Shh=Sh==Sh=Sh=Shh=hh==Sh=======Sh==ShS
11400: h==h=====hSLShSh=Sh=Sh==h====h==SSh=Sh==Sh==h==h=ShhSSh==h======
11800: hSSh=Sh=Sh=Sh=h=Sh====h==h=====T=hShSh==Shh====h==SSh==Sh=Sh==SL
11c00: h==hh=Th===Sh=Sh=T==h==hSSSh==ShSh==h=T=h==h=h=Sh===ShSh==h==h=h
12000: ==SSh=Sh===hhh=h=hSSShSh==Sh=Sh==h=T==hSh==h=h==Sh=SSh==Sh=h=h=h
12400: =hShhhh==Sh=Sh=hhT==hT=hSh=Sh==Sh=hSST=Th=SSh=ShSh==h=SSh=h==hSh
12800: ==Sh=Sh===Sh=h==SSSShSh===Sh=Sh=h=======================h=hhhh=h
12c00: ===hThhTT==T=hhhhSST=TSh=h======================================
13000: ================================================================
13400: ==========================================================h=h=Sh
13800: =h==SShhh===========h===========h===============h=h==h=SShhhh=hT
13c00: ==hhhhhhT=Sh=hT=ShhTh=Sh=h=SShhh=h=h=h===h==h==Sh=SShhTh==h====T
14000: hThhhhhThhhhhT==hhhT=hShST=TSh==============h========h==========
14400: h==================================================h=h=Sh=h==Sh=
14800: h==Sh=SShhhh==h===h=hThT==T=hShST=TSh=h=Sh=h==Sh=h==Sh=SShThh==h
14c00: ===hThTh==h=====h=======h==h==h==h==============h=======h=======
15000: ===h==h===h===========h=====hT=hhhhhhhhhShShThhThhhhT==hT=h=====
15400: =========================hShST=TSh=h=Sh=h==Sh=h==hSSh==hh==hh===
15800: =======h=h===============================h=h================hh==
15c00: =========hh====hh=hh=hh=hh=hh=hh=hh=hh=hh=hh=hh=hh=hh======hShh=
16000: =======hh==hh=hh===hh===hh==hh===h=h=hh=hh=======h=h========hh==
16400: ====h=h===========hh===========hh===h=h=h=h==hh==hh=====hh==hh=h
16800: h=hh=hh===hh=hh=hh=hh==hh=h==SDShShhhh==BLALhAhTAhAhTLhLhAhTAhTL
16c00: hLhh==AhTLhLh=hTFFFFFFFhShShShShShShShShShShShSFFFFFFFFFFFFFFFFF
17000: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFT=AhhFFFhShSFFS
17400: FFFFFFFhSh=====FFhhDh=SSFFSh=TFSSFFh=STFSFFh=STFh=FFh=STFSFFh==T
17800: FSSFFhhhTFT==T=hhh=hST=ShhhhhSThh=DSh==hhhhhT==hT=hShSTh=LhSh=Sh
17c00: FT=ShTLhh==FFFFh================================================
18000: ================================================================
18400: ==FFTSSh=Sh=h===========h=FSFFFh=LShShShShShh==Sh==SSh=h==SSh=hS
18800: h=SSh=h=SSh==hSFFh=====ShT=h=h==h=SSh=h==Sh=h==Sh=SST==h========
18c00: ===h=============T==T=hST=hhShhhT==hT=hhShhhT==hTShSh=h=Sh=Sh=Sh
19000: ==Sh=Sh=Sh=ShhhhT==hT=hShST=Thh=ShhhhT==hT=ShSh=hSh=Sh=Sh==Sh==S
19400: h==Sh==Sh===Sh===Sh===Sh===SSh====hTh==hST=TSh=h=Sh=h==Sh=h==Sh=
19800: SShhhh=h===hT==hT=hShST=TSh=h=Sh=h==Sh=h==Sh=SShhhh=h==.....T==T
19c00: =hSST=TSh=h=Sh=h==Sh=h==Sh=SSh==h=..............................
       (2397 lines all free)
71400: ....................
Pycom MicroPython 1.20.2.rc6-0.10.0-vanilla-squirrel [v1.20.1.r2-120-g201315f4a-dirty] on 2020-02-28; FiPy with ESP32
Type "help()" for more information.
>>> ets Jun  8 2016 00:22:57
log mit `Error, dumping memory` 2
Start -> AP SSID: Schneeheide
Start -> Cause of restart: WDT
Start -> switching to ap mode is now possible
Start -> Starting measurement setup...
WLan is enabled, trying to connect.
Using Antenna:  False
WiFi: Using internal antenna
Antenna set
1. Messung
   DS18B20: Messung gestartet...
   BME280:  21.2 C 990.0 mbar 44.2 %
   HX711:   0.0 kg
   DS18B20: 20.8 20.7 20.5 21.0 20.6 18.7  Sensors: 6

   Zeiten:  11:36:18    WLAN:    Prep: 3ms Init: 15ms Connect: 33ms SSL: 1866ms Header: 42ms Data: 1867ms Response: 214ms
{'key': 'UWzxxxxxxxxxxxxx', 't_i_1': 20.6, 'rssi': -72, 't_i_3': 21.0, 't_i_2': 20.5, 'h': '44.2', 'weight_kg': '0.0', 't_i_4': 18.7, 'p': '990.0', 't_o': 20.7, 't': '21.2', 't_i_5': 20.8}
Exception am Ende des Programms
Error, dumping memory
(None, None, None)
stack: 656 out of 11264
GC: total: 2561344, used: 107056, free: 2454288
 No. of 1-blocks: 2096, 2-blocks: 474, max blk sz: 161, max free sz: 153388
GC memory layout; from 3f94eba0:
00000: MDThhhhhhhhh=TMDShhSh=hSh=Sh=======h=====MDSBBMSShBDh==BhDTTTTh=
00400: ===DBTDBBBhh=======BBBBMDShhBBThhMSh=======SDShhB=Bh=======hhBBB
00800: hhhShhBBDBDBBBSSShShSh=hShBDBhhhBTSBBBh==Sh=h=hShh===B=hBThSh===
00c00: =======Bh===h===BBB=BBMDDBBh=Dhh=======h=h=Sh==hhBTh===hh======h
01000: h=====h===h==hSh===B=hSSh==hBThShDBh==hB=BBBTMhShSh==hh=h==hSh=S
01400: SDSBBBBBh===hhhhh=====MDh==h===Sh=SSh=======h====SSSDBh==BBBhBBB
01800: BhB=hSh=h===hh=====h=Sh=hSh=hhTSDSSh=======h=h=ShhShhh=hhDDDDDhS
01c00: DSSBBDBBBhh====hhShSShh=hh==h=======hh==ShhSh=ShDShDSh=======h==
02000: =====ShSh=h=h=hhhh=====================hh=======h=ShhSh=========
02400: ===========Shh====Sh=ShShhh=======Shh==Dh=Sh=hhh=======h=======h
02800: DDDhDSh=h=h=DDDh=SSh==hShDSShh=Shh==h=hShh=DhSh=hShShhhDhh=hh===
02c00: ====h==h==h=hh=hhSSh=h=FhShDDhSShSh=SSh=Sh=SDh=Sh=h==h=DhShhhhSh
03000: =Dh=hSh=hDhh=DhShLhSDShh==Sh=DSShh==Shh=Shhh=Sh=ShSh===h====h==h
03400: ==h=hShShSh=h========================================h==hSh=h=hS
03800: hDSShSh=======hh=hShh==h==ShTTBTBBBShSShh=======h=======hhBh=MDh
03c00: ShhThhhhhhhh=SSShh=Sh=hhSh=======h=======SSSh=hShSSSh=h=h=ShShSh
04000: ==h=======hSh==Sh==ShSSSSh==h=Shhh==h=h=======hhh=SShhh==hhhhShS
04400: h=h==hShSSh=h===========h=====hShShShh=hh=hh=hh=hh=hh=hh==hh==hh
04800: h=h=h====hhSSh=======h==h=Sh==h=h==h=h=SShh=====================
04c00: ===================================h=Sh=Sh=Sh=SMDh=Sh=SShSSSh==S
05000: hShhhhhSh=hhShSh===hhShhh=h=SSSh=h======SShh=====h=SSh=h====h==S
05400: SSh==h======SSSh=h=======Shh======h=========h======hShSh=h==h===
05800: ==========Sh==h==h===hhh=============DShhBh=h===DDLh=LhSh=h=====
05c00: =======ShSSh==Dh==hB=h=SSh=h========Shh==h==h=SSh=hB=hhBhBhBhBh=
06000: ======Sh=ShShSSh==BhhLh==B=BhBhSSh=hh===ShShSh=h================
06400: =======================BTB=BBBhDB=BBBhh=hShhhhShShh=BBBhhhh=hSSh
06800: ================================================================
06c00: =========================hh=====================================
07000: ===========================================================h====
07400: h=hh===========hBBBBBBBBBh==hDBBBTBBBBB=BBhBh=h=B=Bh===hhh=B=BTB
07800: =hB=h===========hB=h=B=TB=Sh=======h==============Bh=======h====
07c00: ===Sh====hhhhBh======h=====h===h===h===h==========h==========h==
08000: ==========h=====================================================
08400: ======h====h==BLB=BBBBBBBAB=DTTTTTTTTTTh==TTTTTTTTTh=h=h=TTTTTTT
08800: TTh=TTTTTTTTSh=======TTTTh===h===hBLh==================h=====AAh
08c00: h=LhAhTh=DABBShhhSh=h=hThBBBSh=========ShB=BBBBBLhSh=h======SSh=
09000: ======Shh=====hhhh=======h===================hSh================
09400: =====h====h==============h========h==h====h====h====h=h=========
09800: ===h============================================================
09c00: ====================h===h===Ah=ShSh==h=======hSSh=Sh========h===
0a000: ============Dhh=MDh=====TLhBh=h=======h=h==h=MDAMDSh=======MDSh=
0a400: =h=======LhAhTh=DDhh=h==hSh===h==BSh=SShShBBBBB=BBBhTh=SLhhh===h
0a800: =hSBBBh=hSh========h===h==LhLh=hTAh=======h=Ah=h=DBBBBBBh==B=h==
0ac00: =====h=h===Shhh====h==h=ShAhSMDFLhAhTFhFh=======================
0b000: ============h========h==DBh=B=Bh==h=======h=======hTh========B=B
0b400: hBBhBhh===hh====Lh=======h=======FFFh==========hLhAhTAhTLhh=====
0b800: ==h=======Lhh==AhThDBh=======hh==B=BTBB=Sh=FLhhh=======BLhB=hB=h
0bc00: =B=T=FShhhhh======================h=======Fh=======BBSB=BBh===TD
0c000: SFFFSFFFFFT=hhh========BBTB=hSShT==h==FFFFFh==h==Sh==ShSh===h=Dh
0c400: =FFFhhhh=Ah===SDDDDSDSSShShhShh=h==hh=h==h==h=hThh=======h======
0c800: h=========h=======ShShShh=hh================hh=======hh==hh=hh==
0cc00: =======hh============Lh==h=h=h===h=hh=hh==hh==hh=====hh=========
0d000: ====hh=hFFFFFFFFhSFFh=hhSh=DShDSShh====Sh=ShShhShDh===hhh==h=hDD
0d400: DhDSh=h=h=DDDh=SSh==DDh=h=hST=h===h==hhhh=======h===h======h====
0d800: h==========h==========h==hhh==h=h=hSh=Sh=======h==============hh
0dc00: =ShFSh=======ShShhhDhShSh=h=Sh==h=hh=h=h=Fh===hBLAhShDDhSh=ShSh=
0e000: Sh=SDh=Sh=h==h=DhShhhhDh=hSh=hDDhShLhSDSDShShh==Shh=Shh==ShSh=h=
0e400: hShDSShShDhhShh==SSAhDAhh===hAhSAhh==AFh=h===ShDhh==hh=======Lh=
0e800: h=h===========hShSh=FSFFFFFhSShhhh======h=h===h=======Sh=======T
0ec00: =h==SShhSShhSh=h======SLhShhhAhhhSAhh=SAhhh====SBhhBT=hh=hhh====
0f000: =========Sh================h=h=SBhhhT=SShhSSShSh=ShShhhhh==h=hSh
0f400: =======h======h========h===h==h==hh=hh==hh=======h=hh=hh===hh==h
0f800: h=hh==============h======BT=h======BT=h=ShhSShBT=h=====hBT=T=Th=
0fc00: =SLh=======h===========DhhSSDh=Sh====LhShhSh=======h==h=hhh==Sh=
10000: h=======SSh=SLhh=ShThhh=SSh=h===hDSLhh=h=T==SDDDhDh=============
10400: =hShh=====================h========h=Sh=h=======================
10800: ===h====h====h===h==h==hhhShLh==hT==hST=hh===hh=======SLh=Fh==h=
10c00: ===hDDh===============h==============TSh=h=ShSh=SSh=ShLh=SDh=h=h
11000: =Sh==h====Sh=SSh==Sh=h==h==hh=Sh==Sh=Sh=hDhSShDLhh=======Sh==ShS
11400: h==h=====hhLShSh=Sh=Sh==h====h==DSh=Sh==Sh==h==DSDShSSh==h======
11800: hSSh=Sh=Sh=Sh=h=Sh====h==h=h==DShhShSh==Shh====ShSSSh==Sh=Sh==hL
11c00: h==hh==h===Sh=Sh=ShSh==hhSSh==ShSh==h=h=h==h=h=Sh===ShSh==h==h=h
12000: ==SSh=Sh===hhh=h=hShShSh==Sh=Sh==h=DDhShhhhh=h==Sh=h==SSSh=h=T==
12400: h=h==hh==Sh=Sh=T==hST=hSSh=Sh==Sh=ST=TSh=SSSh=ShSh==h=h=h==SShSh
12800: ==Sh=Sh===h=h==h=SSShSh===Sh=Sh=h=======================h==h=h=h
12c00: Sh=hShhhhT==hhhhT=hSST=h=h======================================
13000: ================================================================
13400: ==========================================================TSh=h=
13800: Sh=h==hhh===========h===========h===============Sh=h==Sh=SShhhh=
13c00: T=hhhShhT==h=hST=hhTh=Sh=h=SShhh=h=h=h===hThhTh==h==Sh=SShhhh=h=
14000: ==hT==hT=hShST=Thhh=h=SSh=h==Sh=h==Sh=SSh==============h========
14400: h==========h====================================================
14800: ====hhTh==h====ThThhhhhThhhhhT==hT=hShST=TSh=h=Sh=h==Sh=h==Sh=SS
14c00: hhhh==hh==h=====h=======h==h==h==h==============h=======h=======
15000: ===h==h===h===========h=====hh===h=hThT==T=hSST=TSh=h=Sh=h==Sh=h
15400: ==Sh==============================h=SShThh==h===hThTh==hh==hh===
15800: =======h=h===============================h=h================hh==
15c00: =========hh====hh=hh=hh=hh=hh=hh=hh=hh=hh=hh=hh=hh=hh======hShh=
16000: =======hh==hh=hh===hh===hh==hh===h=h=hh=hh=======h=h========hh==
16400: ====h=h===========hh===========hh===h=h=h=h==hh==hh=====hh==hh=h
16800: h=hh=hh===hh=hh=hh=hh==hT=hhhhhhhhhShShThhThhhhT==hT=hShST=TSh=h
16c00: =Sh=h==Sh=h==hh=SSh==SDShShhhh==BLALhAhTAhAhTLhLhAhTAhTLhLhh==Ah
17000: TLhLh=hTFFFFFFFhShShShShShShShShShShShShShShShShShShSFFFFFFFFFFF
17400: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFT=AhhFFFh
17800: ShSFFSFFFFFFFhSh=====FFhhDh=SSFFSh=TFSSFFh=STFSFFh=STFh=FFh=STFS
17c00: FFh==TFSSFFhhhTFT==T=hhh=hST=ShhhhhSThh=DSh==hhhhhT==hT=hShSTh=L
18000: hSh=ShFT=ShTLhh==FFFFh==========================================
18400: ================================================================
18800: ========FFTSSh=Sh=h===========h=FSFFFh=LShShShShShh==Sh==SSh=h==
18c00: SSh=hSh=SSh=h=SSh==hSFFh=====hST=h=h==h=SSh=h==Sh=h==Sh=SST==h==
19000: =========h=============T==T=hST=hhShhhT==hT=hhShhhT==hTShSh=h=Sh
19400: =Sh=Sh==Sh=Sh=Sh=ShhhhT==hT=hShST=Thh=ShhhhT==hT=ShSh=hSh=Sh=Sh=
19800: =Sh==Sh==Sh==Sh===Sh===Sh===Sh===SSh====hTh==hST=TSh=h=Sh=h==Sh=
19c00: h==Sh=SShhhh=h===hT==hT=hShST=TSh=h=Sh=h==Sh=h==Sh=SShhhh=h==...
1a000: ..T==T=hSST=TSh=h=Sh=h==Sh=h==Sh=SSh==h=........................
       (2396 lines all free)
71400: .................... 

Auch der AP lässt sich nicht mehr richtig starten: Statt des konfigurierten AP-Namens erscheint fipy-wlan-xxx als Name.

log Startversuch AP
Using Antenna:  False
WiFi: Using internal antenna
Antenna set
AP enabled
not yet started
Unhandled exception in callback handler
Traceback (most recent call last):
  File "main.py", line 301, in enable_ap
  File "/flash/lib/microWebSrv.py", line 222, in Start
OSError: Network card not available
Pycom MicroPython 1.20.2.rc6-0.10.0-vanilla-squirrel [v1.20.1.r2-120-g201315f4a-dirty] on 2020-02-28; FiPy with ESP32
Type "help()" for more information.
>>> 

@didilamken hast du nicht oben geschrieben, dass es noch gar nicht funktionieren kann, da du fürs logging einen string erwartest, nun aber integer geschickt werden?? Da war doch was! @Diren so können wir die Software leider noch nciht verteilen.

Hier muss noch getestet werden

Habe gerade die Version 0.10.1 veröffentlicht.

Ich hatte da einen Verdacht, aber noch nicht zu Ende ausgetestet, da ich gestern abend zu sehr mit dem FTP-Server beschäftigt war. Ich glaube, dass ich den Fehler gefunden habe, aber da muss auch noch weiter getestet werden

Danke Andreas, daran liegt es nicht, habe gerade die 0.10.0 durch die 0.10.1 ersetzt aber keine Verbesserung, muss was anderes sein, liegt vermutlich nicht an der firmware.

Ich hatte gestern Abend noch das reconnect verhalten getestet. allerdings ohne die DS.
Auf 1.20.2.rc3-0.8.0-vanilla-squirrel.

Könnte ich dort nicht beobachten

SD war auch dran, allerdings eine provisorische Eigenkreation SD / microSD Adapter mit angelöteten Kabeln und Kondensator.
Habe zwar nicht auf die SD geschaut, aber Programmabbrüche hatte ich keine.
Wahrscheinlich wegen der nicht vorhandenen DS18B20.

Die Fehler sind oft unscheinbar:

    try:
        # wlan = network.WLAN(mode=network.WLAN.STA)       # FTP-Server Probleme
        # data['rssi'] =    (wlan.joined_ap_info().rssi)   # FTP-Server Probleme
        rssi           =   (_wlan.joined_ap_info().rssi)
    except:
        rssi  = 0
        pass
    data['rssi'] = rssi

Es ist das ‘_’

ok, geändert.

jo, das war’rs. ich caste jetzt später zu string.

Respekt, das Du das gefunden hast.

diese Zeile ist überflüssig

Ich baue auch auf String um

Ich vermute, dass die Software wegen der Benutzung des nicht definierten Symbols eine Exception wirft à la

>>> wlan
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'wlan' is not defined

So wie das Exception-Handling derzeit gestaltet ist, bekommt man vermutlich leider überhaupt nicht mit, welche Exception überhaupt auftrat?

In Folge wird das Gerät vermutlich neugestartet, daher kommt wahrscheinlich auch die Unterbrechung in der FTP-Übertragung.

Im Prinzip hast Du Recht, Exceptions sind schwer zu lokalisieren, wenn es keine eindeutigen Fehlermeldungen gibt. So habe ich bei den CRC-Errors lange suchen müssen, in der OLED-Ansteuerung tritt immer noch einer auf, den ich abfangen kann, aber ich weiss nicht, wo und warum er auftritt.

Hier im “_wlan”-Fall tritt keine Exception auf, der Rechner läuft normal weiter, es wird normal gesendet und auf SD-Karte geschrieben. Alle kleineren Files können auch normal per Filezilla auf den PC geladen werden. Nur bei grösseren tritt nach 4 sec ein Timeout auf und die Verbindung bricht ab.

Ich kann das reproduzieren:
wlan.joined_ap_info().rssi -> FTP-Server nicht OK
_wlan.joined_ap_info().rssi -> FTP-Server OK

Ich kann nicht erklären warum

In dieser Zeile ist der eigentliche Fehler

Also bei mir schon, BOB-Code von heute früh auf GitHub, der memory dump wird ausgeführt und steht im Abschnitt Exception:

micropython.mem_info(True)

Und es wird auch explizit in der REPL ausgegeben:

Exception am Ende des Programms
Error, dumping memory

Siehe das log weiter oben!

Mit dem fix von Diren geht es nun! Du hattest aber anderen Code, oder?

Das WLAN-Interface wird doppelt initialisiert.

Einmal reicht und verwirrt das Gerät dann hoffentlich nicht mehr.

1 Like

See do not generate *.plt file on SD card · Issue #27 · Hiverize/FiPy · GitHub

With the latest changes from Didi a code part is new in master that generates a *.plt file on the SD card. I think this is fot Didi’s local purpose only and confuses other user, so we should not stay this in the master branch but deleted. Further details needed what we must delete here.

@didilamken können wir einfach die Generierung der *.plt-Datei löschen oder mussen wir dafür noch anderes bedenken?

See sensor reading rounding is not done propperly · Issue #30 · Hiverize/FiPy · GitHub

Rounding is done by value / 10 * 1 0 so it’s not correct implemented, better use a round function

Das ist jetzt so implementiert, dass Kommastellen einfach abgeschnitten werden, d.h. 19,59 wird zu 19,5 und nicht wie es korrekt gerundet wäre 19,6

Mir ist auch schon aufgefallen, dass str() nicht immer sauber arbeitet. Deshalb möchte ich das von @diren beim OLED benutzte oled.text(str(round(data[‘t_i_1’],1)), austesten.
Da dieses Problem] mindestens beim Senden von data, beim Beschreiben des OLED und der SD-Karte mit dem *.csv und *.txt ( für Kamerun ) auftritt, wollte ich gleich beim Erstellen von data passend formatieren.Dann hat man in data nur strings und mehrere Fliegen mit einer Klappe geschlagen.

        try:
            tmp = self.read_temp(rom)
  #         ds18b20tmp = int(tmp*10)/10        # alt
            ds18b20tmp = str(round(tmp,1))     # neu
        except:
            print("CRC-Err", end = ' ')
            # ds18b20tmp =  '99.9'             # alt
            continue                           # neu

xxxx
data[ds_positions[name]] = ds18b20tmp

Das Erzeugen von yyyy-mm-dd.csv und yyyy-mm-dd.plt für Gnuplot
und von yyyy-mm-dd.txt für das nachträgliche Versenden ( bulk )
könnte man wie beim OLED in der Konfiguration ablegen

"general": {
    "general": {
        "button_ap_enabled": true,
        "button_ap_pin": "P2",
        "initial_time": 1556805688,
        "measurement_interval": 5,
        "until_wifi_reconnect" : 12,
        "oled": false
    }
}

andere Frage: für was war das File yyyy-mm-ddHhh.csv gedacht, das mit _csv.add_dict(data)
erzeugt wird?

wenn wir schon runden sollten wir bei der Temperatur auf zwei Nachkommastellen runden, die aktuellen Änderungen führen zu unschönen Grafiken in der Tagesansicht

Vor der Software-Änderung …

2020-03-04 07_57_33-BEEP _ Bienenmonitor - SeaMonkey

… und danach, aktueller Stand heute!

2020-03-04 07_58_07-BEEP _ Bienenmonitor - SeaMonkey

Siehe zu Genauigkeit vs. Auflösung auch DS18B20 Genauigkeit und Auflösung - Mikrocontroller.net, könnte sein, dass wir Infos verschenken, wenn wir nur auf 0,1 ° runden, aber im 10-Sekunden-Takt messen.

Für normale imkerliche Anwendungen und Messzyklen jenseits von 1 Minute würde ich mich auch mit einer Nachkommestelle zufrieden geben, hier im wissenschaftlichen Kontext und unserem aktuellen Messintervall – und der Vergleichbarkeit mit den bisherigen Daten – würde ich zumindest 2 Nachkommastellen verwenden!

Die Darstellung hängt davon ab, wie groß die Temperaturdifferenz im Diagramm ist.
In Deinem Beispiel ( vermutlich Arbeitszimmer ) betrug er nur 20.4 - 19.6 = 0.8 °C.

In meinem Arbeitszimmer 25 -19 = 6 °C
image
Und in meinem Gewächhaus 7.4 - 6.2 = 1.2 °C
image
In der realen Bienenbeute wird es Unterschiede von einigen °C geben. Da braucht man nicht die Temperatur mit einer Auflösung von 1/100 °C anzugeben. So genau messen die Sensoren gar nicht.

Ausserdem entspricht die Darstellung handelsüblicher Thermometer.


Oder hast Du schon ein Thermometer gesehen, das 21.12 °C anzeigt ?

Ja, im wissenschaftlichen Bereich ist das durchaus üblich! ;-) Es geht auch nicht nur um die Anzeige für die Imker*innen, sondern um die wissenschaftliche Auswertung! Es macht keine Sinn, wenn wir alle 10 Sekunden messen, dann die Unterschiede, die wir dadurch ggf. detektieren aber mit einer “zu groben” Rundung wieder wegwerfen, dann können wir auch nur alle paar Minuten messen.

Nochmal: DS18B20 Genauigkeit und Auflösung - Mikrocontroller.net z…B.

Dass es Sinn ergeben kann merkt man, wenn man eine langsame
Temperaturentwicklung beobachtet, beispielsweise die Aussentemperatur.
Diese Sensoren sind zwar nur auf 0,5°C genau, aber das heisst nicht,
dass die Werte in diesem Ausmass rumzittern. Sondern sie bleiben sehr
stabil und bewegen sich praktisch nur in die Richtung der
Temperaturentwicklung.

Es geht nicht nur um die Anzeige! Meinetwegen soll die so bleiben, aber in der Datenbank sollten wir die Temperatur zumindest mit zwei Nachkommastellen abspeichern, sonst machen unsere Messungen im 10-Sekunden-Takt keinen Sinn!

1 Like