MicroPython-Firmware schmirgeln (240er)

Ahh, der schon wieder! ;-) Hatten wir den nicht schon mal rausgeworfen? Oder nur temporär.

Scheinbar nicht.

ifeq ($(OS),Windows_NT)
    $(eval RUNNING_IN_HELL := true)
endif

Das hier scheint noch nicht zu klappen. Vermutlich, weil es $OS nicht innerhalb der WSL gibt, so wie von @MKO neulich bei Running the MicroTerkin Agent on Windows - #37 by MKO berichtet.

Dein QuickFix™ Workaround: Im Makefile danach (ca. Zeile 44) folgendes einfügen:

RUNNING_IN_HELL := true

Hi Clemens,

vielleicht klappt es mit den jüngsten Änderungen zur Betriebssystemerkennung jetzt besser für Dich.

Viele Grüße,
Andreas.

1 Like

Ja, nun funktioniert es! Danke!

Problems

make recycle-ng

make[2]: Entering directory '/home/cgruber/hiveeyes/sources/hiveeyes-micropython-firmware'
INFO: Checking for existance of the "lftp" program at "/mnt/c/ProgramData/chocolatey/bin/lftp.exe"
/mnt/c/ProgramData/chocolatey/bin/lftp.exe -u micro,python 192.168.178.25 < tools/upload-mpy.lftprc
mirror: Access failed: //wsl$/Ubuntu/home/cgruber/hiveeyes/sources/hiveeyes-micropython-firmware/lib-mpy: No such file or directory

mpy-cross

root@XPS13-CGruber:/home/cgruber/hiveeyes/sources/hiveeyes-micropython-firmware# make mpy-compile
./bin/mpy_cross_all.py: No such file or directory
tools/micropython.mk:88: recipe for target 'mpy-cross-setup' failed
make: *** [mpy-cross-setup] Error 1
root@XPS13-CGruber:/home/cgruber/hiveeyes/sources/hiveeyes-micropython-firmware#

Error handling

./bin/mpy_cross_all.py: No such file or directory
tools/micropython.mk:88: recipe for target 'mpy-cross-setup' failed
make[2]: *** [mpy-cross-setup] Error 1
make[2]: Leaving directory '/home/cgruber/hiveeyes/sources/hiveeyes-micropython-firmware'
make[2]: Entering directory '/home/cgruber/hiveeyes/sources/hiveeyes-micropython-firmware'
\x1b[0m[INFO]   \x1b[0m Checking for existance of the "lftp" program at "/mnt/c/ProgramData/chocolatey/bin/lftp.exe"

ANSI colored output on WSL

\x1b[36;01m[ADVICE] \x1b[0m You might want to check the output of the file transfer process above for any errors.

@clemens: Alle wesentlichen Probleme sollten jetzt mit den letzten commits behoben sein, zusätzlich kam noch BME280 optimaler mit MicroPython ansteuern hinzu.

1 Like

Das .deb wird zwar auch bei

https://forum.pycom.io/topic/4987/pycom-firmware-tool-error

genannt, ich konnte es jedoch auf die Schnelle weder noch bei packages.{debian.org|ubuntu.com} finden. Meow. Wenn Ihr per Direktlink nachhelft, bau ich ihn gern auch als Verweis ins Makefile ein. Die anderen Verbesserungen an der Basis kommen gleich rein. Merci!

https://software.pycom.io/downloads/linux-1.15.1.html

1 Like

Merci!

Mit Farben.

1 Like

@clemens: Um vielleicht den fehlenden Farben unter WSL auf die Schliche zu kommmen

gibt es als Testprogramm nun

make colors

image

Funktioniert fast, cyan und cyan2 gehen, die anderen nicht

btw. make help hat auch ein paar Probleme unter WSL

root@XPS13-CGruber:/home/cgruber/hiveeyes/sources/hiveeyes-micropython-firmware# make help
/bin/sh: 1: test: Linux: unexpected operator
Available rules:

setup                         Prepare sandbox environment and download requirements
[...]
reset-device-attached         Send reset command to device and keep the REPL shell attached

/bin/sh: 2: @#: not found
Documentation:

Please check https://community.hiveeyes.org/t/operate-the-terkin-datalogger-sandbox/2332
in order to get an idea how to operate this software sandbox.

auch bei make install-pycom-firmware wollen die Farben nicht:

root@XPS13-CGruber:/home/cgruber/hiveeyes/sources/hiveeyes-micropython-firmware# make install-pycom-firmware
\x1b[32;01m[OK]     \x1b[0m Found Pycom Firmware Updater at "/mnt/c/Program\ Files\ \(x86\)/Pycom/Pycom\ Firmware\ Update/pycom-fwtool-cli.exe"
make[1]: Entering directory '/home/cgruber/hiveeyes/sources/hiveeyes-micropython-firmware'
\x1b[33;01m[CONFIRM]\x1b[0m Install Pycom firmware FiPy-1.20.0.rc11.tar.gz on the device connected to make[2]: Entering directory '/home/cgruber/hiveeyes/sources/hiveeyes-micropython-firmware'
 [y/n] n

Vermutlich geht es also derzeit nur bei make help.

Vielleicht willst Du es mit den letzten Änderungen (git pull) noch einmal versuchen? Danke!

Mag er immer noch nicht:

Bei make help gibt es schon Farben, nur die Fehlermeldungen haben mich irritiert:

/bin/sh: 1: test: Linux: unexpected operator
[…]
/bin/sh: 2: @#: not found

sonst ist das scho/ön farbig:

Keine Ahnung wo das herkommen soll.

Vielleicht die letzten Zeilen aus tools/help.mk, die dort noch auskommentiert rumstehen? Maybe try to remove 'em!?

So colors work in general. It’s just a matter of using them appropriately. Also found these guys.

wsl-terminal

wsltty

Habe gerade das hiveeyes release 0.6.0, per Atom hochgeladen und laufen lassen und bekomme folgenden Fehler:

[main.py] INFO: Starting Terkin Datalogger
   18.8810 [terkin.configuration     ] INFO   : Starting TerkinConfiguration on path "/flash"
   18.9004 [terkin.configuration     ] INFO   : Ensuring existence of backup directory at "/flash/backup"
   19.7443 [terkin.device            ] INFO   : Reset cause and wakeup reason: {'reset_cause': {'code': 2, 'message': 'WDT'}, 'wakeup_reason': {'code': 0, 'message': 'PWRON'}}
   19.7633 [terkin.watchdog          ] INFO   : Skipping watchdog timer (WDT)
Traceback (most recent call last):
  File "main.py", line 44, in <module>
  File "main.py", line 39, in main
  File "/flash/lib/terkin/datalogger.py", line 110, in start
  File "/flash/lib/terkin/device.py", line 134, in blink_led
OSError: the requested operation is not possible
Pycom MicroPython 1.20.0.rc13 [v1.9.4-94bb382] on 2019-08-22; WiPy with ESP32
Type "help()" for more information.
>>>

mit

'rgb_led': {
    'heartbeat': False,
},

kommt der Fehler nicht.

Mit dem aktuellen hiveeyes release 0.6.0 kommen die DS18B20-Temperaturwerte bei hiveeyes an aber nicht bei BOB, die BME280 und auch Gewichts-Werte passen, die DS18B20 aber nicht.

Dieses Problem sollte im aktuellen master behoben worden sein.

Neuer Konfigurationsschnipsel:

# Configure RGB-LED.
'rgb_led': {

    # Use the builtin heartbeat blink pattern. Default: True.
    'heartbeat': True,

    # Activate the Terkin blink pattern. Will disable the builtin heartbeat pattern when enabled.
    'terkin': False,
},

Das Terkin-Blink-Pattern besteht derzeit aus:

  • 2x grün beim Hochfahren
  • 2x blau beim Eintritt in den Mainloop
  • 1x blau oder 1x rotorange, je nach outcome der Telemetrieübertragung

Bessere Vorschläge dafür nehmen wir gerne an.

1 Like

Probleme bei der Telemetrie zu BEEP

Problembericht

Analytische Beobachtungen

Vorher

Nachher

Fazit

Aus unserer Sicht funktioniert alles wie bisher. Folgende Werte kommen an:

Dieses Bild entspricht auch dem konfigurierten Mapping:

sensor_telemetry_map = {
    "_version": "1.0.0",
    "temperature.0x77.i2c:0": "t",
    "humidity.0x77.i2c:0": "h",
    "pressure.0x77.i2c:0": "p",
    "weight.0": "weight",
    "temperature.28ff641d8fdf18c1.onewire:0": "t_i_1",
    "temperature.28ff641d8fc3944f.onewire:0": "t_i_2",
    "system.temperature": "t_i_5",
}

Bei mir schau das ander aus, ich habe folgende DS18B20 konfiguriert:

    # DS18B20
    "temperature.2890912409000025.onewire:0": "t_i_1",
    "temperature.2822F1240900005D.onewire:0": "t_i_2",
    "temperature.28EEFA24090000CF.onewire:0": "t_i_3",
    "temperature.28A1012409000048.onewire:0": "t_i_4",
    "temperature.2879502409000075.onewire:0": "t_i_5",
    "temperature.28030F2509000057.onewire:0": "t_i_6",

Die hardware-IDs müssten korrekt sein, da ich mit den selben IDs parallel zu hiveeyes schicke und die Daten da richtig ankommen.

Was ich aber in der BOB-App bekomme ist:

es wird nur t_1 und t_5 übertragen!

Bei einem zweiten Stock kommt gar nichts an:

Weil es t_i_6 ggf nicht gibt habe ich statt dessen t_o versucht, aber auch damit keinen Erfolg.