Bei mir misst er jede 5 sec mit Senden und Schreiben auf SD. Ich habe den FiPy 2 mal so lange laufen lassen bis die Powerbank mit 10000 mAh leer war. es waren fast 25000 cycle in fast 35 Stunden.
ok klingt super! dann schau ich morgen noch mal.
Hallo @Diren , der FTP-Server scheint nicht mehr stabil zu laufen.
Die Software misst bei mir alle 5 sec
Ich habe noch diese zwei bugs bei der aktuellen Version (2020-02-28, ca. 8:30h) gefunden.
- Bei der Konfiguration der Temperatursensoren werden die aktuell gemessenen Werte nicht mehr angezeigt, siehe unten. Auf der Test Sensors-Seite aber schon, d.h. das Auslesen generell läuft nicht schief, sondern vermutlich die Darstellung hier auf der Seite.
- Weiter wird nach dem Justieren der Waage über Scale (HX711) und wechseln auf Test Sensors der Gewichts-Wert falsch berechnet. Nach einem restart tauchen sie dann dort auch korrekt auf.
Den ersten bug hatte ich bisher so nicht gesehen, beim zweiten bin ich mir nicht sicher, ob das schon länger ein Problem ist / bereits in den letzten Versionen so war.
Stimmt war mir auch schon aufgefallen. Nach Neustart und nochmaligen öffnen des AP war, glaube ich, wieder alles Ok denke die Werte werden nur gespeichert, aber nicht sofort aktualisiert.
Wenn ich den WLAN-Router ausschalte, am FiPy nichts ändere und dann nach einer Zeit den Router wieder einstecke schaut es so aus als ob sich der FiPy nicht wieder reconnected, d.h. wenn er ein mal die connectin verliert ist er for ever weg vom Netz und überträgt nichts mehr??!! Ist das bei euch auch so, das wäre natürlich eine massiver Verschlechterung der Funktionalität und geht so nicht für den Produktivbetrieb!
@Diren hat den Pull request von mir zum Reconect glaube iich noch nicht eingebunden.
Füg den Mal manuell bei dir ein, dann müsste es funktionieren.
Danke für die ganzen Bugreports!
Müsste jetzt alles laufen.
Stimmt, bei mir auch. Weiß nicht, wie ich drauf gekommen war, das er langsamer misst. Sorry!
Ich hab den FTP-Server glaub ich noch nie benutzt, das musst du mir vielleicht mal genauer erklären.
Stimmt. Das lag daran, dass in Didis Update die Temperatur als String gespeichert wurde. @didilamken ich hab das wieder zu int geändert. Ist das ok, oder war das ein Fix für einen anderen Bug?
Sollte gefixt sein.
Ich hab mich jetzt für folgende Lösung entschieden: wlan reconnect · Hiverize/FiPy@d2b733e · GitHub
Gerne ordentlich reviewen und testen.
Wenn du dazu noch was raus finden kannst, wäre natürlich cool!
Ich hatte das in String geändert, da ich einen CRC-Error gerne als ’ ’ ( Leerstring ) kennzeichnen würde. Ausserdem ist das beim OLED-Display und beim Speichern auf SD-Karte praktischer, da braucht man einen String.
try:
tmp = self.read_temp(rom)
ds18b20tmp = int(tmp*10)/10
except:
print("CRC-Err", end = ' ')
# ds18b20tmp = '99.9'
ds18b20tmp = ' '
hier gibt es Probleme bei CRC-Error : String, sonst Zahl
Gibt es nicht sowas wie NaN
oder None
? Wir sollten schon in der numerischen Domäne bleiben!
Am besten wäre…
None ist unpraktisch bei der Ausgabe auf OLED und SD-Karte.
Und was macht BEEP mit z.B. ‘t_i_1’: None ?
Auf der SD-Karte brauche ich Platzhalter für CRC-Error, damit die Spalten stimmen
z.B.{‘key’: ‘E421ET8aqCTm1234’, ‘t_i_1’: ‘23.8’, ‘t_i_3’: ’ ', ‘t_i_2’: ‘23.8’, usw.
Man kann die Werte sofort prüfen und formatiert als String in data[ ] zwischenspeichern. Auch überflüssige Nachkommastellen braucht man nicht mitzuschleppen.
So entstehen an dieser Stelle keine Werte. Auch nicht None
.
Ich werde mal versuchen, wie sich das bei der OLED- und SD-Ausgabe verhält
Dort wäre das dann ggf. am besten entsprechend zu kompensieren.
Das sieht gut aus:
Die blanks sind CRC-Fehler, aber sie tauchen in data[ ] nicht mehr auf.
Edit:
Vermutlich stürzt der Stand von heute 17 Uhr hier ab: ds18b20tmp = int(tmp*10)/10 OHNE str()
Der FTP-Server lädt nur kurze Files auf den PC. Nach 4 sec bricht er ab.
Gibt es einen geänderten Timeout in wlanmanager.py?
Mit den Dragonfly- und Squirrel-Firmwares haben wir ein paar Bugs in der LittleFS- und der FTP-Server-Implementierung behoben. Wenn es damit weitere Probleme gibt, sind wir daran sehr interessiert. Welche Firmware hast Du denn auf dem Gerät?
Die Firmware ist immer die gleiche:
Pycom MicroPython 1.20.1.r1-0.7.0-vanilla-dragonfly-onewire-i2s [daf40f36-dirty] on 2019-12-04; FiPy with ESP32
Ich habe hiverize/Fipy am 20.2 von github geladen, da ist alles ok.
Am 28.2. habe ich die SW mit den Änderungen von @Diren geladen. Da kann man nur kleine Files mit Filezilla auf den PC holen, nach 4 sec bricht der FiPy die Verbindung ab.
Wenn ich das Projekt vom 20.2. lade, geht wieder alles.
An den Unterschieden in wlanmanager.py liegt es definitiv nicht. Das habe ich getestet.
Die folgende CRC-Error Behandlung funktioniert:
Im Mess-Modus funktioniert String sehr gut ( Senden, OLED, SD-Karte )
Im AP-Modus muss getestet werden
Man glaubt es kaum:
wlan = network.WLAN(mode=network.WLAN.STA)
rssi = str(wlan.joined_ap_info().rssi)
Diese Zeilen beeinflussen den FTP-Server