RAK WisMesh Repeater Battery Pack Telemetrie

Ich habe mir einen doch hochpreisigeren WisMesh Repeater zugelegt und festgestellt, dass aktuell keine Telemetrie für die angeschlossene Batterie vorhanden ist, was ich bei der Dimension von Akku schon sehr vermisse.

Das ganze Set besteht aus

10W Panel
RAK9154 Solar Battery:

Darin arbeitet ein IO MCU, welcher an Pin 5 einen One-Wire Port hat, was ein recht einfaches serielles Interface mit einer Datenleitung ist.

RAK10721 (=RAK2560_HUB + RAK4630)

Im DS zum HUB steht folgendes: One-Wire an UART2.

Habe den One-Wire Bus dann letzlich an UART1 gefunden :slight_smile: Leider habe ich keine Schematics zum Board selbst finden können, ausser eben dem Blockdiagramm.

Nun habe ich einen PullRequest an die MeshCore Firmware gestellt, d.h. die Änderung wird jetzt dort zur Diskussion gestellt: Initial RAK One-Wire implementation for WisMesh Solar Repeater by hb9fxq · Pull Request #1847 · meshcore-dev/MeshCore · GitHub

Wer aber das selbe Problem hat, und Hardware zum Testen zur Hand, der darf gerne jetzt schon versuchen:

Die Daten des SolarPacks (SOC, Spannung, Ladung/Entladung) werden dann im Telemetry Channel 2 gezeigt.

Ich melde, wenn meine Änderung in der offiziellen Firmware verfügbar sind.

Technisch gesehen lese ich noch mehr Daten:

DEBUG: OneWire: REPORT SID=0x15 IPSO=186 len=2
DEBUG: OneWire: Battery Voltage = 10.68V (IPSO 186, raw=1068)
DEBUG: OneWire: REPORT SID=0x16 IPSO=185 len=2
DEBUG: OneWire: Battery Current = 0mA (IPSO 185, raw=0)
DEBUG: OneWire: REPORT SID=0x17 IPSO=184 len=1
DEBUG: OneWire: Battery SOC = 40% (IPSO 184)
DEBUG: OneWire: REPORT SID=0x18 IPSO=103 len=2
DEBUG: OneWire: Battery Temperature = 20.0C (IPSO 103, raw=200)
DEBUG: OneWire: REPORT SID=0x19 IPSO=243 len=2
DEBUG: OneWire: Battery Error = 0x0000 (IPSO 243, SID 0x19)
DEBUG: OneWire: REPORT SID=0x1A IPSO=243 len=2
DEBUG: OneWire: Battery FW Version = v00.03 (IPSO 243, SID 0x1A)

Ich finde aktuell in der MeshCore Firmware keinen Platz die übrigen Werte zu bezeichnen. Aber was über dem Bus kommt stimmt mit dem RAK HUB Datasheet überein. Spannend wäre sicherlich der Battery Error Counter (Feld 19, Type F3)

LG

Frank

4 Likes

Ganz herzlichen Dank für deine umfangreiche Analyse und für die Bereitstellung der Informationen! Ich werde das sehr gerne ausprobieren, der Repeater HB9BG-Falkenfluh verwendet dieselbe Hardware. Da die Batteriekapazität gross genug ist und das Solarpanel genügend Ladeleistung liefert, ist dieser Repeater bis jetzt noch nie ausgefallen. Aber es ist trotzdem sehr wertvoll, dank deinem Effort jetzt etwas mehr „insight“im diesen Gerätetyp zu haben.

L.G. Christoph

1 Like

Hallo Frank
Das Skript wird für alle eine grosse Hilfe sein, welche mit dieser potenten Stromversorgung von RAK, neben dem Transceiver, auch andere Hardware versorgen wollen.
Irrtum vorbehalten, habe gesehen, dass du alle 30 Sekunden die Sensoren abfragst. Planst du, die ausgelesenen Werte periodisch über das Mesh abzufragen/zu übermitteln? Welche Zyklen hast du dafür angesichts der knappen Bandbreite vorgesehen - oder legst du die Werte in ein Speicher-Array um sie ‘gesammelt’ zu übertragen?

Lieber Gruss, Paul

Hallo Paul

Ich entnehme Deiner Fragestellung, dass ich offenbar die Funktion nicht gut genug beschrieben habe.

Es handelt sich um kein Script, welches etwas abfragt. Es ist eine Erweiterung der MeshCore Firmware, welche erlaubt den Controller des AkkuPack in die Telemetrie zu übernehmen. Analog z.B. des lokalen ADC oder eine INA Sensors etc.

Das OneWire muss gepollt werden, das bedeutet periodisch abgerufen, weil ich nicht einfach eine Abrage an den Akku senden kann. Er stellt einfach kontinuierlich Daten bereit. Auf den Intervall habe ich keinen Einfluss. Deshalb verhält sich die Firmware an der Stelle, wie die GPS Loop. Ich hole alle 30 Sekunden das, was der Akku mir mitteilt.

Wie oft der Anwender die Telemetrie vom Repeater letzlich abruft hat nichts mit der Firmware zu tun sondern mit dem Anwender über die App :slight_smile:

Kurzum: Alles Firmware intern: Das Polling cached die Daten lediglich im Arbeitsspeicher des Repeaters, was eine technische Notewendigkeit beim Polling ist.

Die Abfrage der Telemetrie wird ja vom Nutzer getätigt.

LG
Frank

2 Likes

REQUEST → RESPONSE ! Jetzt stehe ich nicht mehr so fest auf dem Schlauch… Merci für die Erläuterung.

LG Paul

Kurz gesagt: Es gibt keine Last auf das Mesh-Netz. Eine technische Notwendigkeit. Alles zur RAK Implementation zu One-Wire unter One Wire Serial | RAKwireless Documentation Center

LG
Frank

2 Likes