Danke @Andreas!! Schaut doch am Ende des Tages ganz gut aus!
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.
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
.
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:
- ist es eine Scheingenauigkeit, da die Sensoren gar nicht so genau messen und
- 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
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.
>>>
Problem
No worries and sorry, wir waren 's.
Einmalig "make recycle"
oder "make install-framework"
noch dazwischen. Ich aktualisiere gleich die Dokumentation. Danke!
Lösung
# Get most recent development sources
git pull
# Setup sandbox environment
make setup
# Upload framework and program to device
make install
# Upload program sketch and invoke hard reset
make sketch-and-run
Bingo! Jetzt läuft es, ich musste in der settings.py – wie in der example-Vorlage angedeutet – noch
'deepsleep': True,
hinzufügen. Nun läufts! Danke!
Mehr Strom sparen
[*] Radios abschalten
Nachforschungen
Maßnahmen
WiFi, Bluetooth und LTE, ggf. nur mit SIM Karte.
… oder doch nicht nötig?
– All radios on by default | Pycom user forum
[*] Peripherie abschalten
HX711, I2C, ADC.
HX711
Internen LDO abschalten
– Low power ESP32: Software tweaking (less hardware) - #9 by Andreas
[*] Wake up anders setzen?
30 Sekunden warten vor dem Messen
Stromsparmaßnahmen
Alles.
Dazu konnte ich in der Pycom MicroPython Dokumentation keine passende Schnittstelle finden. Habt Ihr Ideen?
Das ist nun folgendermaßen gesetzt:
machine.pin_sleep_wakeup(pins=['P8'], mode=machine.WAKEUP_ALL_LOW, enable_pull=False)
Habt Ihr dazu Einwände? Die Implementierung mit Doku gibts unter https://github.com/hiveeyes/hiveeyes-micropython-firmware/blob/master/terkin/device.py#L247-L276.
Brrr.