Probleme bei der Aktualisierung der BOB-Firmware

Hi,
ich habe Probleme beim Update nach dieser Anleitung.
Flasche ich über das GUI Tool (egal ob 1.20.1.r1 oder die inzwischen aktuellste 1.20.2.r3) spuckt die Atom console nach dem upload aus:

Traceback (most recent call last):
  File "main.py", line 14, in <module>
  File "webserver.py", line 9, in <module>
  File "sensors/__init__.py", line 8, in <module>
  File "lib/onewire.py", line 5, in <module>
ImportError: no module named '_onewire'

also habe ich versucht per DOS-Shell auf die vanilla-dragonfly-onewire Version zu flashen:

pycom-fwtool-cli.exe --port COM3 flash --tar FiPy-1.20.1.r1-0.7.0-vanilla-dragonfly-onewire.tar.gz
Running in PIC mode
Script Version: 2.1
Flash operation successful.

bekomme dann in der console aber gemeldet:

Traceback (most recent call last):
  File "main.py", line 14, in <module>
  File "webserver.py", line 131, in <module>
  File "/flash/lib/microDNSSrv.py", line 19, in Create
  File "/flash/lib/microDNSSrv.py", line 161, in Start
OSError: Network card not available
Pycom MicroPython 1.20.1.r1-0.7.0-vanilla-dragonfly-onewire [13d82ea5-dirty] on 2019-11-17; FiPy with ESP32

hmm…wollte euch eigentlich den Postversand ersparen :-/

Hi @Pete, die 1.20.1.r1-0.7.0-vanilla-dragonfly-onewire Diren hat damit getestet und die sollte passen! Auch die etwas neuer FiPy-1.20.2.rc3-0.8.0-vanilla-squirrel.tar.gz habe ich heute getestet und sie läuft mit der BOB-Software.

Das update der Firmware (quasi das Betriebssystem) ist aber nur die halbe Miete, du musst zusätzlich auch die BOB-Software updaten.

Falls du das bereits getan hast und der Fehler dennoch kommt: War die Kopie ggf. von heute Vormittag? Wir hatten ein paar Verbesserungen eingespielt, die heute Vormittag nicht vollständig waren, meine Fehlermeldung dazu schaute aber anders aus. Falls du dir die zip-Datei schon vor längerem von GitHub - Hiverize/FiPy heruntergeladen hast, bitte nochmals den aktuellen Stand downloaden!

Falls du noch eine alte Version der Firmware und Software hattest, bitte unbedingt vorher das komplette board löschen! Wenn du nicht alles nochmal neu konfigurieren möchtest kannst du vorher deine alte Konfigurations-Datei herunterladen.

[edit] Die hier geposteten links mit lokalem Anker funktionieren leider nicht, du findest aber alle Abschnitte auf der Seite Installation der Bee Observer Firmware.

Hi Pete,

a) Versuche es doch einmal mit der neueren Squirrel firmware for Pycom/ESP32. Sie bringt ungeachtet der aktuellen Probleme einige weitere Verbesserungen mit.

b) Bitte beachte unbedingt die entsprechende Installationsanleitung bei Dragonfly firmware for Pycom/ESP32. Sie gilt gleichermaßen für die Dragonfly- sowie die Squirrel-Releases. Das Stichwort ist hier die dort beschriebene erase_all-Prozedur.

Viele Grüße,
Andreas.

ok, ich habs, danke.

1.) ich Depp hab versucht mit der pycpm-fwtool gui exe den erase_all durchzuführen anstatt die cli zu verwenden, was ohne fehler einfach quittiert wurde.

2.) dennoch hatte ich nach dem flashen auf die per Dropdown zur Auswahl gestellte Version 1.12.2.r3 via gui updatetool die Fehlermeldung, dass das modul _onewire nicht gefunden werden konnte. als ich via cli.exe aber explizit die dragonfly oder auch squirrel tar Datei verwendet habe, funktionierte es. merkwürdig…vielleicht doch noch irgendein Anwenderfehler.

danke für den vor allem megaschnellen support!
Pete

Das passt ins Bild. Ordentlichen C-Level support für 1-Wire gibt es nur in den Dragonfly- bzw. Squirrel-Images.

1 Like

Danke für den Hinweis! Früher (vor dem Update von Diren vor ein paar Tagen) war die Dragonfly-Firmware zwar schon die bessere Wahl, es funktionierte aber auch die von PyCom angebotene Firmware in der Theorie mit der BOB-Software. Mit den jetzt eingebauten “ordentlichen” C-Treibern ist die Dragonfly- bzw. Squirrel-firmware zwingend notwendig!

[todo cg] Das muss ich noch in der Anleitung nachbessern, da passt der aktuelle screenshot nicht, wenn auch der nachfolgende Text auf die Lösung hinweist! ;-) Sollte man aber expliziter machen! done, cg

Noch eine Frage: wie stellt man mit dem cli Update eigentlich sicher, dass das LittleFS verwendet wird? (Laut Anleitung ist das wichtig ?)
Danke & Gruß
Pete

1 Like

Bei den Dragonfly- und Squirrel-Builds wird das schon bei der Kompilierung festgelegt. Ob zur Laufzeit dann theoretisch beide Varianten verfügbar sind, weiß ich nicht.

Beim Start der Firmware wird das aber angezeigt, so kann man sich also relativ sicher sein, dass alles sitzt – siehe Wie bei FiPy / uPy überprüfen, ob gewünschtes Filesystem installiert ist.

Falls diese Information dort beim Anstarten doch nicht auftauchen sollte, dann…