MicroPython-Firmware schmirgeln (150er)

"make recycle" freezes

Das tut mir sehr leid. Versuche dazu doch einmal, etwas Dampf rauszunehmen, indem Du im Makefile beim Target recycle die Zeile

$(rshell) $(rshell_options) --file tools/upload-requirements.rshell

auskommentierst.

Überflüssige Konfigurationsschnipsel entfernen

Die Firmware soll robust genug sein/werden, dass theoretisch alles stehenbleiben kann, ggf. auch falsche Konfigurationen.

Lösche in Deiner persönlichen settings.py aber bitte trotzdem einfach alle Dinge wie

        'bme280_1': {
            'bus': 'i2c:1',
        },
        'pytrack': {
            'bus': 'i2c:1',
        },
        'moisture': {
            'pin_adc_in': 'P15',
            'scaling': 4.096,
        },
        'waterlevel': {
            'pin_adc_in': 'P18'
        },

Und passe auch den Abschnitt busses entsprechend an, so dass er Deiner Hardwarekonfiguration entspricht.

[*] Note to self: Verschiedene settings.example.py bereitstellen, z.B. settings.example-basic.py vs. settings.example-pytrack.py, usw.

Datenübertragung belauschen

# Setup
apt install mosquitto-clients

# Listen to your data channel group
mosquitto_sub -h swarm.hiveeyes.org -p 1883 -t 'hiveeyes/testdrive/area-005/#' -v

Note to self: https://swarm.hiveeyes.org/transmissions geht gerade nicht. Dafür vorgesehener Sensor im Icinga2 scheint wohl gerade nicht zu funktionieren, sonst müsste der rot sein.

Sensoren zuschalten

Das war Deine letzte erfolgreiche Übertragung:

Raw

hiveeyes/testdrive/area-005/fipy-cg-01/data.json {"temperature.i2c:0.0x76": 23.01, "temperature_28ff641d8fd8778b": 22.875, "pressure.i2c:0.0x76": 1019.86, "weight": -136755.5, "temperature_28ff641d8fd833ac": 23.1875, "temperature_28ff641d8fd4d5d5": 23.4375, "temperature_28ff641d8fd922ab": 22.8125, "temperature_28ff641d8fd18ab0": 23.25, "humidity.i2c:0.0x76": 33.22, "memfree": 2429744}

Formatted

{
  "temperature.i2c:0.0x76": 23.01,
  "temperature_28ff641d8fd8778b": 22.875,
  "pressure.i2c:0.0x76": 1019.86,
  "weight": -136755.5,
  "temperature_28ff641d8fd833ac": 23.1875,
  "temperature_28ff641d8fd4d5d5": 23.4375,
  "temperature_28ff641d8fd922ab": 22.8125,
  "temperature_28ff641d8fd18ab0": 23.25,
  "humidity.i2c:0.0x76": 33.22,
  "memfree": 2429744
}

Danke @Andreas!! Schaut doch am Ende des Tages ganz gut aus!

1 Like

Daten im Grafana

Im imkerlichen Instant-Dashboard Dashboard hiveeyes-testdrive-area-005-fipy-cg-01 tauchen die neuen Feldnamen noch nicht auf, weil dort die Heuristik zur Feldnamenerkennung natürlich noch nicht auf die neuen Gegebenheiten vorbereitet wurde.

Im technischen Instant-Dashboard Panel hiveeyes-testdrive, device=fipy-cg-01, site=area-005 sieht man die aktuellen Telemetrienamen bereits als 1:1 Feldnamen, Du erlebst also gerade - trotz einiger Hürden auf dem Weg dorthin - das gleiche Erfolgserlebnis wie wir neulich bereits gemeinsam mit @tonke und @einsiedlerkrebs bei Developing Terkin for MicroPython - #4 by Andreas.

image

Gratuliere!


Note to self: Warum hat das technische Dashboard nicht “to=now” voreingestellt? Grafana-Upgrade INCOMPAT? Panic!? Hinweis: Ohne den Parameter explizit in die URL zu schreiben, klappts nicht, weil to scheinbar auf begin + paardaquetschte gesetzt wird, konkret 2018-06-08 20:19:16 to 2018-06-08 23:59:59. WTF!?

Hier der Grund warum ich überhaupt darauf gekommen bin, dass diese nicht übertragen werden: Der debug-output sagt nur:

  886.8849 [terkin.datalogger        ] INFO   : --- loop ---
  886.8952 [terkin.datalogger        ] INFO   : Terkin loop
  896.7816 [hiveeyes.sensor_bme280   ] INFO   : I2C data: {'humidity.i2c:0.0x76': 32.17, 'temperature.i2c:0.0x76': 22.34, 'pressure.i2c:0.0x76': 1019.54}
  896.9094 [terkin.datalogger        ] INFO   : Telemetry transmission: SUCCESS

Hier taucht Waage und die DS18B20-Sensoren nicht auf, daher bin ich davon ausgegangen, dass die nicht übertragen werden. Grund wißt ihr sicher, entweder es ist kein “terkin-Objekt”, allerdings hätte ich gedacht, dass zuindest die DS18B20, da dynamisch mit terkin verwurstelt werden, vielleicht fehlt aber einfach auch nur die Ausgabe der Werte bei der debug-Ausgabe.

Wieder DAU-Gedanken, die dann zu falschen Schlussfolgerungen führen! ;-)

Beim Linux unter Windows 10 bekomme ich eine Liste mit über 200 (!) Einträgen in der Form

Serial Device: /dev/ttyS0
Serial Device: /dev/ttyS1
Serial Device: /dev/ttyS10
Serial Device: /dev/ttyS100
Serial Device: /dev/ttyS101
Serial Device: /dev/ttyS102
Serial Device: /dev/ttyS103
Serial Device: /dev/ttyS104
Serial Device: /dev/ttyS105
Serial Device: /dev/ttyS106
[... ca. 200 (!) weitere ... ]

Ich weiß darüber wie der Syntax für eine Serielle Schnitstelle ausschaut, ich weiß aber damit nicht welche in Benutzung ist oder gar wo das board angeschlossen ist!

Ja, die 0.3.0 ist noch nicht released. Das was Du auf dem Tisch hast, sind die brandneuesten Errungenschaften einiger gemeinsamer Sessions zusammen mit @einsiedlerkrebs und @tonke während der letzten vier Wochen, die es noch nicht in ein Release geschafft haben.

Wir müssen hier noch ein wenig weiterarbeiten, damit alles ein wenig abgerundeter daherkommt. Vielen Dank für Deine Berichterstattung!

Finding the appropriate serial port

Problem

Ad hoc improvement

a) Was gibt denn das bei Dir aus?
b) Würde denn bei Dir auch rshell --port COM4 boards unter WSL klappen, indem Du die Schnitte per export MCU_SERIAL_PORT=COM4 konfigurierst? Vermutlich geht das so nur nativ unter Windows, was Ihr gerne erforschen könnt. Dafür hatte ich Running rshell natively on Windows vorgesehen.

Real improvement

Wenn die Integration von pycom-fwtool-cli in den Findungsprozess sinnvoll ist, übernehme ich das gerne, so dass es ggf. via make list-serials angesteuert wird, wenn man unter Windows unterwegs ist (RUNNING_IN_HELL).

Reattaching to the serial console

Momentan kann man nur in der REPL per CTRL+D einen soft reboot auslösen und bekommt dann die Log Ausgabe des Datenloggers.

Wir würden gern auch an einen laufenden Datenlogger attachen können, um die gleiche Ausgabe zu bekommen.

Lösung

Man kommt nun per make console an einen laufenden FiPy ran und kann über make reset-device per Software einen Hard Reset auslösen.

Always upgrade your device firmware

Problem I

This is bad.

Problem II

It looks like we only get sparse metadata about the system runtime when running on older firmware releases like 1.18.2.r4.

Improvement for Problem II

================================
BOB MicroPython Datalogger 0.2.1
================================
CPU freq     160.0 MHz
Device id    807d3ac262bc


Python  : 3.4.0
lorawan : 1.0.2
machine : FiPy with ESP32
nodename: FiPy
release : 1.20.0.rc8
sigfox  : 1.0.1
sysname : FiPy
version : v1.9.4-7b83c6d on 2019-03-06

When running on a more recent firmware version, the metadata contains valuable information about the system runtime.

We would appreciate if you could upgrade your firmware.

I have updated the firmware yesterday and now again and the last stable version is 1.18.2.r4 .

Then, the extensive information is probably only available from the development version 1.20.x.

1 Like

2 posts were merged into an existing topic: Aussetzer bei der Datenakquise - Mosquitto auf elbanco läuft holprig

Zu viele Nachkommastellen

Wir übermitteln momentan zu viele Nachkommastellen:

  1. ist es eine Scheingenauigkeit, da die Sensoren gar nicht so genau messen und
  2. verbraucht es Bandbreite (besonders bei LoRa)

Daher würde ich vorschlagen wir runden (wir sollten tatsächlich runden, nciht nur abschneiden!) schon auf dem Node die Messwerte und zwar:

  • Temperatur: 1 Nachkommastelle
  • Luftfeuchtigkeit: 1 Nachkommastelle
  • Luftdruck: keine Nachkommastelle
  • Gewicht in kg mit 3 Nachkommastellen

Das ist der (alte) Status gerade:

timeseries
time temperature.i2c:0.0x76 temperature_28ff641d8fd833ac weight memfree temperature_28ff641d8fd4d5d5 temperature_28ff641d8fd18ab0 humidity.i2c:0.0x76 temperature_28ff641d8fd8778b temperature_28ff641d8fd922ab pressure.i2c:0.0x76
2019-04-12T12:51:07.030258Z 22.35 22.5625 -136610.3 2429952 22.8125 22.875 31.86 22.25 22.375 1019.51
2019-04-12T12:51:22.167623Z 22.36 22.5625 -136702.5 2430000 22.8125 22.875 31.9 22.25 22.375 1019.47
2019-04-12T12:52:07.725812Z 22.37 22.5625 -136518.5 2430032 22.8125 22.875 31.81 22.25 22.4375 1019.39
2019-04-12T12:52:22.881995Z 22.38 22.5625 -136506 2429984 22.8125 22.875 31.95 22.25 22.4375 1019.46
2019-04-12T12:52:38.021274Z 22.39 22.5625 -136562.7 2430048 22.875 22.875 31.88 22.25 22.4375 1019.46
2019-04-12T12:52:53.240296Z 22.39 22.5625 -136519.5 2430128 22.875 22.875 31.76 22.25 22.4375 1019.42
2019-04-12T12:53:08.462735Z 22.39 22.5625 -136499.7 2429856 22.875 22.875 31.81 22.25 22.5 1019.46
2019-04-12T12:53:23.602897Z 22.39 22.5625 -136493 2430000 22.875 22.875 31.81 22.25 22.5 1019.45
2019-04-12T12:53:38.817121Z 22.38 22.5625 -136449.2 2429872 22.875 22.875 31.86 22.25 22.4375 1019.46
2019-04-12T12:53:53.946593Z 22.4 22.5625 -136475.8 2430032 22.875 22.875 31.88 22.25 22.4375 1019.43
2019-04-12T12:54:39.467619Z 22.4 22.625 -136469.3 2429968 22.875 22.875 31.83 22.25 22.4375 1019.44
2019-04-12T12:54:55.125765Z 22.42 22.625 -136373.5 2430032 22.875 22.875 31.84 22.25 22.4375 1019.38
2019-04-12T12:55:09.803500Z 22.42 22.625 -136431.7 2430048 22.875 22.875 31.91 22.25 22.4375 1019.37
2019-04-12T12:55:25.036772Z 22.43 22.625 -136431.7 2430032 22.9375 22.875 31.84 22.25 22.4375 1019.38
2019-04-12T12:55:40.344700Z 22.41 22.625 -136402.8 2429984 22.875 22.875 31.84 22.25 22.4375 1019.45
2019-04-12T12:55:55.477524Z 22.42 22.625 -136387.7 2430128 22.9375 22.875 31.78 22.375 22.4375 1019.44
2019-04-12T12:56:10.623716Z 22.42 22.625 -136397.8 2430080 22.9375 22.875 31.74 22.25 22.4375 1019.38
2019-04-12T12:56:25.831365Z 22.42 22.625 -136434 2429856 22.9375 22.875 31.74 22.25 22.4375 1019.41
2019-04-12T12:57:11.400824Z 22.41 22.625 -136443.8 2429984 22.875 22.875 31.78 22.25 22.375 1019.45
2019-04-12T12:57:26.549550Z 22.42 22.625 -136436.3 2430048 22.875 22.875 31.79 22.25 22.375 1019.38
2019-04-12T12:57:41.681305Z 22.41 22.625 -136403 2430048 22.9375 22.875 31.8 22.25 22.375 1019.45
2019-04-12T12:57:56.825154Z 22.41 22.625 -136433.2 2430000 22.9375 22.875 31.76 22.25 22.375 1019.43
2019-04-12T12:58:12.058364Z 22.41 22.625 -136410.2 2430000 22.9375 22.875 31.75 22.25 22.375 1019.35
2019-04-12T12:58:27.265090Z 22.4 22.625 -136248.8 2429872 22.9375 22.875 31.82 22.25 22.375 1019.38
2019-04-12T12:58:42.398352Z 22.42 22.625 -136260.2 2429984 22.9375 22.875 31.89 22.25 22.375 1019.41
2019-04-12T12:58:57.534634Z 22.42 22.625 -136284.5 2430016 22.9375 22.875 31.78 22.375 22.375 1019.44
2019-04-12T12:59:43.046643Z 22.41 22.625 -136223 2430048 22.9375 22.875 31.78 22.375 22.375 1019.43
2019-04-12T12:59:58.241266Z 22.41 22.625 -136263.5 2430032 22.9375 22.875 31.79 22.375 22.375 1019.37
2019-04-12T13:00:13.373832Z 22.41 22.625 -136328 2429984 22.9375 22.875 31.89 22.375 22.375 1019.37
2019-04-12T13:00:28.506273Z 22.44 22.625 -136327.6 2430016 22.9375 22.875 31.81 22.375 22.375 1019.42
2019-04-12T13:00:43.642104Z 22.42 22.625 -136255.3 2430048 22.9375 22.875 31.74 22.25 22.375 1019.33
2019-04-12T13:00:58.769414Z 22.44 22.625 -136265.7 2430048 22.9375 22.875 31.75 22.375 22.375 1019.4
2019-04-12T13:01:13.909065Z 22.44 22.625 -136271.5 2429984 22.9375 22.875 31.7 22.375 22.375 1019.37
2019-04-12T13:01:29.121866Z 22.43 22.625 -136223.5 2430032 22.9375 22.875 31.73 22.375 22.375 1019.44
2019-04-12T13:02:14.680025Z 22.45 22.625 -136244.5 2430032 22.9375 22.875 31.72 22.375 22.375 1019.42
2019-04-12T13:02:29.839883Z 22.45 22.625 -136232 2429984 22.9375 22.875 31.77 22.375 22.375 1019.39
2019-04-12T13:02:44.988421Z 22.45 22.6875 -136270.7 2430032 22.9375 22.875 31.7 22.375 22.375 1019.39
2019-04-12T13:03:00.195374Z 22.46 22.6875 -136243.8 2429984 22.9375 22.875 31.72 22.375 22.375 1019.38
2019-04-12T13:03:15.323896Z 22.45 22.6875 -136257.5 2430016 22.9375 22.9375 31.66 22.375 22.375 1019.39
2019-04-12T13:03:30.458708Z 22.46 22.6875 -136289.5 2430128 22.9375 22.875 31.69 22.375 22.375 1019.4
2019-04-12T13:03:45.597860Z 22.45 22.6875 -136241.1 2430128 22.9375 22.875 31.74 22.375 22.375 1019.39
2019-04-12T13:04:00.824108Z 22.45 22.6875 -136229 2429824 22.9375 22.875 31.68 22.375 22.375 1019.36
2019-04-12T13:04:46.454332Z 22.46 22.6875 -136253.8 2429824 22.9375 22.875 31.76 22.375 22.375 1019.33
2019-04-12T13:05:01.621803Z 22.46 22.625 -136229 2429984 22.9375 22.875 31.74 22.375 22.375 1019.25
2019-04-12T13:05:16.768808Z 22.47 22.6875 -136271 2429968 22.9375 22.875 31.73 22.375 22.375 1019.35

$ make purge-device fails for @einsiedlerkrebs:

make purge-device
Format /flash on the device? This will delete your program. [y/n]? #.venv3/bin/rshell --port /dev/ttyACM0 --buffer-size 2048 --timing --file tools/clean.rshell
Using buffer-size of 2048
Connecting to /dev/ttyACM0 (buffer-size 2048)...
Trying to connect to REPL  connected
Testing if ubinascii.unhexlify exists ... Y
Retrieving root directories ... /flash/
Setting time ... Apr 15, 2019 09:03:02
Evaluating board_name ... pyboard
Retrieving time epoch ... Jan 01, 1970
Entering REPL. Use Control-X to exit.
>
Pycom MicroPython 1.20.0.rc8 [v1.9.4-7b83c6d] on 2019-03-06; FiPy with ESP32
Type "help()" for more information.
>>> 
>>> import os ; os.fsformat(/flash) 
Traceback (most recent call last):
  File "<stdin>", line 1
SyntaxError: invalid syntax
>>> took 1.024 seconds

Hier funktioniert es

root@XPS13-CGruber:/home/cgruber/hiveeyes/sources/hiveeyes-micropython-firmware# make purge-device
Format /flash on the device? This will delete your program. [y/n]? #.venv3/bin/rshell --port /dev/ttyS16 --buffer-size 2048 --timing --file tools/clean.rshell
Using buffer-size of 2048
Connecting to /dev/ttyS16 (buffer-size 2048)...
Testing if ubinascii.unhexlify exists ... Y
Retrieving root directories ... /flash/
Setting time ... Apr 15, 2019 11:48:19
Evaluating board_name ... pyboard
Retrieving time epoch ... Jan 01, 1970
Entering REPL. Use Control-X to exit.
>
Pycom MicroPython 1.20.0.rc9 [v1.9.4-7eeaf3f] on 2019-04-01; FiPy with ESP32
Type "help()" for more information.
>>>
>>> import os ; os.fsformat("/flash")
>>> took 1.545 seconds
root@XPS13-CGruber:/home/cgruber/hiveeyes/sources/hiveeyes-micropython-firmware#

Btw. was ist “yout program” genau?? kann ich mit make recycle wieder etwas draufspielen, oder muss ich make setup wieder ausführen?

Alles! Must rephrase to “Will wipe your device completely.

make setup && make recycle

1 Like

Wieder mal frustran, aber vielleicht hab ich einfach nur wieder was vergessen … Wollte den neuen deep sleep testen Implement deep sleep between readings · Issue #2 · hiveeyes/hiveeyes-micropython-firmware · GitHub

Was ich gemacht habe

git pull
make setup 
make sketch-and-run

Was raus kommt:

Initializing filesystem as LittleFS!
[boot.py] INFO: Python module search path is: ['', '/flash', '/flash/lib', 'dist-packages']

Traceback (most recent call last):
  File "main.py", line 11, in <module>
ImportError: no module named 'terkin'
Pycom MicroPython 1.20.0.rc11 [v1.9.4-0a38f88] on 2019-05-14; FiPy with ESP32
Type "help()" for more information.
>>>