Kontinuierliche Verbesserungen des Terkin-Datenloggers (600er)

Preview

… für die alternative Firmware.

image

   27.2490 [terkin.telemetry         ] INFO   : Sending HTTP request to https://bee-observer.org/api/sensors
   27.2600 [terkin.telemetry         ] DEBUG  : Payload:     
{
  "t": 27.59,
  "h": 35.74,
  "p": 1008.39,
  "weight": 86786.33,
  "t_i_1": 24.9375,
  "t_i_2": 25.125,
  "t_i_5": 43.21738,
  "key": "## redacted ##"
}

Pre-release notes

# Map sensor field names to telemetry field names.
# Right now, please adapt this according to your sensor configuration by
# looking at the console output of the line 
# `[terkin.datalogger] INFO: Sensor data`. Thanks!
#
# Remark:
# This will be replaced by runtime configuration through
# HTTP API and captive portal.
sensor_telemetry_map = {
    "_version": "1.0.0",
    "temperature.0x77.i2c:0": "t",
    "humidity.0x77.i2c:0": "h",
    "pressure.0x77.i2c:0": "p",
    "weight": "weight",
    "temperature.28ff641d8fdf18c1.onewire:0": "t_i_1",
    "temperature.28ff641d8fc3944f.onewire:0": "t_i_2",
    "system.temperature": "t_i_5",
}

Links: Sensornamen (autodiscovery). Rechts: BEEP-BOB Telemetriefeldnamen.

1 Like

Traumhaft @Andreas.
schaut ja schon sehr vielversprechend aus, das wir das auch bald testen können.
Ist den dann auch eine Duale Datenübertragung zu Beep und swarm.hiveeyes möglich?
Die manuelle Konfiguration stört mich aktuell nicht, mal muß ja teoretisch nur einmal gemacht werden und man sieht wenigstens, was da für arbeit hinter steckt.

Die Wlan Verbindung hat bei mir im Gegensatz zur anderen Firmware übrigens gleich auf Anhieb funktioniert.
Muß nur noch die Sensoren richtig einstellen.
hiveeyes-testdrive-mko-micropython-firmware-wipy-mqtt-json
Werde aber erstmal eine Anleitung zum aufspielen für Win10 schreiben, bevor ich wieder alles vergesse.

1 Like
git pull
make setup
make install

Senden

   17.4109 [terkin.device            ] INFO   : Starting telemetry
   17.4324 [terkin.telemetry         ] INFO   : Telemetry channel topology: MqttKitTopology
   17.4487 [terkin.telemetry         ] INFO   : Telemetry channel URI: mqtt://swarm.hiveeyes.org/hiveeyes/testdrive/area-38/fipy-workbench-01
   17.4594 [terkin.telemetry         ] INFO   : Starting Terkin TelemetryClient
   17.4848 [terkin.telemetry         ] INFO   : Telemetry channel topology: MqttKitTopology
   17.5024 [terkin.telemetry         ] INFO   : Telemetry channel URI: mqtt://weather.hiveeyes.org/workbench/testdrive/area-38/fipy-workbench-01
   17.5134 [terkin.telemetry         ] INFO   : Starting Terkin TelemetryClient
   17.5339 [terkin.telemetry         ] INFO   : Telemetry channel topology: BeepBobTopology
   17.5476 [terkin.telemetry         ] INFO   : Telemetry channel URI: https://bee-observer.org/api/sensors

Wiegen

Dieser kleine Fauxpas wurde nun auch behoben. scale und offset werden nun zwar honoriert, wir arbeiten jedoch noch an der Kalibriermöglichkeit. (ZeroDivisionError: division by zero). Sekunde noch.

2 Likes

Wahnsinn!!!, ich kann gar nicht so schnell testen, wie Ihr Entwickelt. Ihr macht echt einen großartigen Job.

Edit:
jetzt hab ich mal das neue Git gezogen echt beeindruckend für den Kurzen Zeitraum.
image

1 Like

Ein wenig hemdsärmlig, geht jetzt aber:

  1. Starten, z.B. per make sketch-and-run.
  2. In der Log-Ausgabe aus INFO: Sensor data den Wert für scale.0.raw notieren. Dieser entspricht dem offset.
  3. Adjust scale for the Micropython firmware folgen und daraus Werte für offset und scale gewinnen.
  4. Werte für offset und scale in der settings.py eintragen.
  5. settings.py aufspielen und neustarten per make sketch-and-run.
3 Likes

Hi @waggi , hab jetzt mal versucht eine Anleitung zu erstellen.

wenn du dir zutraust die Settings.py zu konfigureren. kannst du damit loslegen die Anleitung + Firmware zu testen.
Wenn du Probleme hast sag bescheid, dann versuche ich die Anleitung anzupassen.
Gruß Michael

2 Likes

MicroPython Datalogger 0.3.0
Habe ein kleines Problem festgestellt, da meine Fritzbox anscheinend manchmal nicht schnell genug antwortet habe schafft sie alle 3-4 Neustarts keine Verbindung aufzubauen.
Micropython erkennt zwar den Fehler, aber anscheinend fehlt noch ein Flag der sie nach einer weile nochmal versuchen lässt die Verbindung aufzubauen.
image.
das Programm läuft dann normal durch, und gibt dann bei jeder Übertragung eine Fehlermeldung aus das die Übertragung nicht geklappt hat.
image

Wenn einmal verbunden wurde läuft es aber offensichtlich perfekt. Wenn die Verbindung einmal abreißt, pausiert das Programm, bis wieder eine Verbindung hergestellt wurde.
und macht dann normal weiter.

Fazit: Nach einem Stromausfall oder Neustart kann sein das man nochmal Resetten muß.

1 Like

Die aktuelle firmware sendet gerade zu beep, aber nicht an hiveeyes, daher vermute ich kein WLAN-Problem, sondern was in der config oder beim Zugang zu hiveeyes

   26.8236 [terkin.telemetry         ] INFO   : Sending HTTP request to https://bee-observer.org/api/sensors
   26.8338 [terkin.telemetry         ] DEBUG  : Payload:     {"p": 1011.05, "h": 39.49, "t_i_4": 26.6875, "weight": 0.121, "key": "BwExxxxxxxxxxxxx", "t": 28.11, "t_i_2": 26.5, "t_i_3": 26.625, "t_i_1": 26.75, "t_i_5": 35.56522}
   29.6488 [terkin.datalogger        ] WARNING: Telemetry status: FAILURE. 1 out of 2 targets failed. Status: {'https://bee-observer.org/api/sensors': True, 'mqtt://swarm.hiveeyes.org': False}

26.7088 [terkin.telemetry ] ERROR : MQTT publishing failed

“interval” wird in der firmware gerade glaube ich nicht korrekt umgesetzt, mit

'interval': 60.0,
'deepsleep': True,

config-Fehler von mir? Es sind nur gefühlte 5 Sekunden, die der WiPy bei mir schläft.

Nein in der settings.beispiel-bob.py fehlt noch eine zeile.
image
dann klappt es

2 Likes

Danke @MKO! Das war es!

   25.4462 [terkin.telemetry         ] INFO   : Connecting to MQTT broker at swarm.hiveeyes.org
   25.5976 [terkin.telemetry         ] INFO   : Connecting to MQTT broker at ('46.4.251.66', 1883) succeeded 

I filed a bug report (nächstes mal wirds gleich ein pull request) add topology mqttkit to all settings.example files · Issue #7 · hiveeyes/hiveeyes-micropython-firmware · GitHub

@MKO funktioniert bei dir deep sleep in Verbindung mit einem geänderten intervall in der settings.py?

Noch was komisches, im debug kommt jetzt

'weight.0': -0.003, 

was richtig ist, auf hiveeyes landet aber mit

https://swarm.hiveeyes.org/api/hiveeyes/testdrive/area-005/fipy-cg-01/data.txt?from=now-10m&to=now&include=weight

nichts

2019-06-15T10:24:30.279309Z,
2019-06-15T10:25:01.648215Z,
2019-06-15T10:25:32.965187Z,
2019-06-15T10:26:04.339107Z,

Export-Problem, weil neue Variablen dazu gekommen sind?

Auch bei BOB / Beep scheint nichts anzukommen vom Gewicht

Erledigt, mapping ist jetzt anders statt weight ist es jetzt weight.0

Hab Deep Sleep noch gar nicht getestet. Hab ich aber heute Abend vor.

Hier nochmal mein Setup für die Programmierung und Überwachung im zusammengebauten Zustand. Die 4 Leitungen habe ich einfach unten an die Pin gelötet und mit Heißkleber fixiert.

10 posts were merged into an existing topic: [Pycom MPY] Verbesserung des “SystemBatteryLevel” Systemsensors / Energiehaushalt

@Andreas hat gerade den deep sleep bug gefixed. Danach hatte ich mit git pull meine sandbox auf den aktuellen Stand gebracht und mit make sketch-and-run auf den WiPy gebracht, das hat aber nicht gereicht, schwinbar war make install noch notwendig.

Mir ist ab und an nicht klar wann was verwendet werden muss. Welche files werden mit make sketch-and-run welche mit make install geändert?

Das ist auch wichtig, wenn updates reinkommen und user selbst updaten sollen. Standardempfehlung immer make install vorher?

See documentation hiveeyes-micropython-firmware/getting-started.rst at master · hiveeyes/hiveeyes-micropython-firmware · GitHub : “Upload framework and datalogger” vs. “Upload program sketch”

Für VSC (Visual Studio Code) von Microsoft gibt es auch ein plugin von pymakr. Das funktioniert ganz gut. Eingebaute REPL und ein-klick Synchronisation des Projektlaufwerks (damit kann man dann auch gut Dateien übertragen).
Fand ich ein wenig gewöhnungsbedürftig, aber eigentlich ganz gut (Intellisense, linting, etc…)

1 Like

Das funktioniert schon auch ganz gut, habe das mit der Software von @vinz auch erfolgreich und reliabel nutzen können.

Mit der GitHub - hiveeyes/terkin-datalogger: Datalogger for MicroPython and CPython. firmware können wir atom und Pymakr allerdings noch nicht nutzen, da die Developer Sandbox sich den code während make install “zusammenbaut”, wir können noch nicht den code per git pull von github herunterladen und auf den WiPy packen, da die Sandbox noch etwas “magic” macht, die Atom / Pymakr nicht kann.

@Andreas hat das aber auf dem Schirm und wir haben auch geplant das zu implementieren. d.h. es gibt dann neben der aktuellen Version auch ein release oder Verzeichnis oder was auch immer, das dem Dateisystem auf dem FiPy entspricht. Das könnte man dann auf den FiPy einfach per Atom kopieren.

Muß leider über noch einen Bug im Hiveeyes MicroPython Dataloggers 0.3.0 berichen.
Die Datenverbindung zu bee-observer.org bricht bei mir auf allen 3 Nodes alle paar Stunden in unregelmäßigen Abständen ab.
Dabei wird aber fleißig zu swarm.hiveeyes weiter übertragen, ist also auf den Zweig ‘beep-bob’ begrenzt. Habe leider den Ausfall nicht weiter eingrenzen oder provozieren können.
Werde jetzt mal bei einen auf 0.4.0 ungraden und die anderen weiter laufen lassen.

49815.0587 [terkin.telemetry         ] WARNING: Adapter is offline, skipping telemetry to https://bee-observer.org/api/sensors
49843.5640 [terkin.datalogger        ] WARNING: Telemetry status: FAILURE. 1 out of 2 targets failed. Status: {'https://bee-observer.org/api/sensors': False, 'mqtt://swarm.hiveeyes.org/hiveeyes/testdrive/MKO-micropython-firmware/FiPy-mqtt-json': True}
1 Like

Vielen Dank für Eure Eingaben und dass Ihr Euch bei manchen Dingen bereits selbst weiterhelfen konntet. Wir werden versuchen, möglichst viele Eurer Meldungen für das kommende Release 0.4.0 zu berücksichtigen.

1 Like