LoraWAN ODL Counter

Begonnen von Xodor, 14. November 2022, 16:12

⏪ vorheriges - nächstes ⏩

Xodor

Hallo zusammen.

Ich wollte euch mal ein kleines Projekt von mir vorstellen welches ich angeregt durch Ideen aus diesem Forum Realisiert habe.

Für meine Heimautomation (Home Assistant) wollte ich eine Messsonde, ähnlich einer ODL-Sonde, bauen und implementieren.
Hierzu verwende ich folgende Komponenten:

- SBM-20 Zählrohr
- HV Spannungsquelle (ATTiny gesteuert)
- LoraWAN MCU-Modul
- 16550 LiIon Zelle
- Solarpanel

Das Ganze habe ich in ein Abwasserrohr (als Gehäuse) eingebaut und im Garten platziert. Die Standortwahl ist noch nicht optimal,
aber für erste Tests sollte es erstmal passen.

Die LoraWAN MCU zählt über einen Zeitraum vom 30 Minuten die Pulse des SBM-20 Zählrohres und sendet die Anzahl per LoraWAN an meinen
Home Assistant, welchen ich an das Backend (The Things Network) angebunden habe. Dort wird dann im Dashboard die Batteriespannung, ODL und die
Anzahl der gezählten Pulse angezeigt.

Dieses Projekt habe ich rein aus Interesse gebaut und keinen professionellen Ansatz damit verfolgt.

Anbei noch ein paar Bilder.

Xodor

miles_teg

Find ich klasse, hauptsächlich wegen dem LoRaWan. Bei Abdeckung könnte man quasi überall Sonden "verdeckt" aufbauen ;-)

DG0MG

Also die Gegenstelle (den Empfänger) für das LORAWAN betreibst Du selbst? Oder empfängt das Signal "irgendwer" und leitet es dann ins Netz weiter?
"Bling!": Irgendjemand Egales hat irgendetwas Egales getan! Schnell hingucken!

Henri

Ach, das ist ja spannend!

Ich bin noch auf der Suche nach einer Lösung, wie man beide LoRa-Endpunkte selber betreiben kann. Also ohne dass man ein fremdes Gateway zur Authentifizierung (und ggf. auch Verschlüsselung) verwendet. Das sollte dann auch mit nem Arduino laufen (der mit Verschlüsselung etwas zu kämpfen hat...), besser vielleicht auf einem ESP.

Wenn man diese HelTec LoRa Boards kauft, ist ja bereits ein Sketch darauf, der Pings von einem Board zum anderen schickt. Aber wenn ich so was für Messungen verwenden möchte, muss ich natürlich sicherstellen, dass es Daten von meinem eigenen Sensor sind, die ich empfange, und nicht etwa die Heizkostenerfasser von meinem Nachbarn. Da kann man dann natürlich einfach alles einfangen, was durch den Äther schwirrt, und nur die Datagramme auswerten, die die eigene ID mitschicken. Aber dann kann mir immer noch jemand Pakete schicken, die Unfug enthalten (meine ID ist ja für jeden lesbar und deshalb auch fälschbar). Also braucht man ein Geheimnis, das nur mein Sender und mein Empfänger teilen - Digitale Signatur, oder Verschlüsselung halt.

Und so was wird bei LoRaWAN auf leistungsfähige Internet-Server ausgelagert. Das heißt, man braucht eine Internet-Verbindung.  Es taugt aber nicht für eine Insellösung. Ich möchte meinen Sensor im Garten doch auch auslesen können, wenn Stromausfall ist. Nach etwa 1-2 Minuten gehen dann ja die VDSL-Kästen auf der Strasse aus, weil die nur eine Kurzzeit-USV haben.

Vor einiger Zeit hatte ich mir mal die Finger wundgesucht, ob es so was schon gibt, aber Verschlüsselung auf Microcontrollern hat wohl seine Hürden.

Wenn da jemand was zu weiß, bitte neuen Thread aufmachen, ich will diesen hier jetzt nicht kapern  ;D

Viele Grüße!

Henri

Henri

Noch mal kurz zum ursrpünglichen Projekt:

Funktioniert das gut mit einer LiIon-Zelle? Die sind ja gegen Über- und Unterladung, hohe Temperaturen beim Laden usw. sehr empfindlich. Wie fängst Du das ab? Nimmst Du diese kleinen chinesischen Charger boards? Und hast Du schon Langzeit-Erfahrungen damit?

Viele Grüße!

Henri

Xodor

Guten Abend,

Zitat von: DG0MG am 14. November 2022, 16:48Also die Gegenstelle (den Empfänger) für das LORAWAN betreibst Du selbst? Oder empfängt das Signal "irgendwer" und leitet es dann ins Netz weiter?
Ich betreibe an exponierter Stelle eine LoRaWAN Gateway welches ein Teil des TTN-Netzwerkes ist, und hier mehrere Dörfer abdeckt, und somit jedem im Empfangsbereich sendenden LoRaWAN Node zur Verfügung steht.
Eine Punkt zu Punkt Lösung mit zwei baugleichen Modulen kam für mich deshalb nicht in Frage.

Zitat von: Henri am 14. November 2022, 17:43Ach, das ist ja spannend!

Ich bin noch auf der Suche nach einer Lösung, wie man beide LoRa-Endpunkte selber betreiben kann. Also ohne dass man ein fremdes Gateway zur Authentifizierung (und ggf. auch Verschlüsselung) verwendet. Das sollte dann auch mit nem Arduino laufen (der mit Verschlüsselung etwas zu kämpfen hat...), besser vielleicht auf einem ESP.
Die Kommunikation mit dem LoRaWAN Backend findet bei TTN immer verschlüsselt statt. Die Gatewaybetreiber können deine Nutzdaten nur verschlüsselt mitlesen, aber nicht im Klartext. Dieses geht auch mit dem Arduino und dem LMIC Stack.

Zitat von: Henri am 14. November 2022, 17:52Funktioniert das gut mit einer LiIon-Zelle? Die sind ja gegen Über- und Unterladung, hohe Temperaturen beim Laden usw. sehr empfindlich. Wie fängst Du das ab? Nimmst Du diese kleinen chinesischen Charger boards? Und hast Du schon Langzeit-Erfahrungen damit?
Die Messstation läuft seit Juli ohne Unterbrechung durchgehend, und wird nur über das kleine Solarpanel (6V) bei Sonneneinstrahlung wieder aufgeladen. Wie es sich in der kalten und vor allem dunklen Jahreszeit verhält, werde ich ja bald wissen.

Als LoRaWAN MCU verwende ich ein CubeCell Board von Heltec. Dieses hat einen integrierten Solar-Laderegler für LiIon Zellen bereits mit auf dem Board. Weiter zeichnet es sich durch einen extrem niedrigen Stromverbrauch im Deep-Sleep Modus aus, welcher noch um einiges geringer als bei den ESPs ist. Ein weiterer Vorteil ist, dass die externen IRQs trotz Deep-Sleep weiter funktionieren und dadurch während die MCU schläft noch die Pulse vom Zählrohr erfassen kann.

Bei Interesse kann ich die Projektdateien für die Firmware (Platform.IO) bereitstellen.

Viele Grüße
Xodor

DG0MG

Zitat von: Xodor am 14. November 2022, 18:56Ich betreibe an exponierter Stelle eine LoRaWAN Gateway welches ein Teil des TTN-Netzwerkes ist, und hier mehrere Dörfer abdeckt, und somit jedem im Empfangsbereich sendenden LoRaWAN Node zur Verfügung steht.

Okay, das ist prima.
Wenn jetzt also irgendjemand im Einzugsbereich "Deines" Gateways auch soetwas bauen möchte (oder einfach nur einen Melder, ob ein Brief im Briefkasten vorn an der Straße liegt), dann kann er das tun ohne irgendwelche Informationen (Zugangsdaten, Autorisierung oder so) von Dir bekommen zu müssen? Du merkst, ich hab nicht viel Ahnung von TTN und Co.
"Bling!": Irgendjemand Egales hat irgendetwas Egales getan! Schnell hingucken!

Xodor

Zitat von: DG0MG am 14. November 2022, 19:04Okay, das ist prima.
Wenn jetzt also irgendjemand im Einzugsbereich "Deines" Gateways auch soetwas bauen möchte (oder einfach nur einen Melder, ob ein Brief im Briefkasten vorn an der Straße liegt), dann kann er das tun ohne irgendwelche Informationen (Zugangsdaten, Autorisierung oder so) von Dir bekommen zu müssen? Du merkst, ich hab nicht viel Ahnung von TTN und Co.
Richtig :)
Jeder kann sich bei The Things Network anmelden, eine Applikation registrieren und seine Nodes dort konfigurieren. Ich als Betreiber des Gateways habe damit gar nichts zu tun. Das Gateway empfängt lediglich die Pakete und leitet sie an TTN weiter. Wenn das Gateway ein Downlink Paket von TTN bekommt, wird es halt ausgesendet.
Die ganze Logik findet bei TTN im Backend statt. Das Gateway ist nur ein doofer Vermittler zwischen LoRaWAN und IP.

Xodor

Zitat von: Henri am 14. November 2022, 17:43Und so was wird bei LoRaWAN auf leistungsfähige Internet-Server ausgelagert. Das heißt, man braucht eine Internet-Verbindung.  Es taugt aber nicht für eine Insellösung. Ich möchte meinen Sensor im Garten doch auch auslesen können, wenn Stromausfall ist. Nach etwa 1-2 Minuten gehen dann ja die VDSL-Kästen auf der Strasse aus, weil die nur eine Kurzzeit-USV haben.

Du kannst auch dein eigenes Backend betreiben. Dann bist du nicht von irgendwelchen IP-Anbindungen abhängig. Du musst nur dafür sorgen, dass dein Backend und dein Gateway mit Strom versorgt werden und auch laufen.
Schau doch mal bei Google unter "ChirpStack" Damit kannst du dir eine komplett eigne LoRaWAN Lösung aufbauen.

DG0MG

Zitat von: Xodor am 14. November 2022, 16:12Die LoraWAN MCU zählt über einen Zeitraum vom 30 Minuten die Pulse
Also macht das nicht der ATTiny auf der oben gezeigten Platine?
Das bedeutet, dass die "große" CPU immer mitläuft, denn sie muss ja zählen - vielleicht in irgendwelchen Stromsparmodi?
Wie sieht denn der Rest der Hardware aus?

Zitat von: Xodor am 14. November 2022, 18:56verwende ich ein CubeCell Board von Heltec
Ah, das ist dann wohl dieses?: https://heltec.org/project/htcc-ab01/

Was hat denn das ganze System so für eine Stromaufnahme? Muss ja schon recht wenig sein, wenn das schon ne Weile auf Solar läuft?



"Bling!": Irgendjemand Egales hat irgendetwas Egales getan! Schnell hingucken!

Henri

OK, klar, dass Du Dein eigenes Gateway benutzen möchtest  :)

Zitat von: Xodor am 14. November 2022, 19:22Schau doch mal bei Google unter "ChirpStack" Damit kannst du dir eine komplett eigne LoRaWAN Lösung aufbauen.



ChirpStack klingt sehr interessant. Wenn ich recht sehe, braucht man dafür aber mindestens einen Raspberry. Also benötigt zumindest das Backend Netzstrom (oder einen dicken Akku).

Ich finde es halt ein wenig absurd, dass man mit 10 mW supersparsam funkt, aber dann die (empfangende) Basisstation  einen hohen Verbrauch hat. Wenn der funkende Briefkasten mir einen Einwurf meldet, wäre es ja schick, wenn der Empfänger auch mit Batterien (oder Solar) betrieben werden könnte. Durch eine blitzende LED, oder E-Paper o.ä. Dafür extra einen Raspberry laufen zu lassen, lohnt nur, wenn der noch eine Menge andere Sachen macht.
Da man heutzutage aber "immer und überall" Internet und das Smartphone am Laufen hat, ist anscheinend die Motivation nicht so groß, so was zu bauen. Die Auslagerung der Funktion ins Internet ist da eigentlich konsequent.

Ich habe vor ein paar Jahren mal zwei HelTec-Boards gekauft, aber nach dem ersten Rumspielen nichts mehr damit gemacht, eben weil ich  keinen Rechner ständig laufen lassen wollte.

NuclearPhoenix

Zitat von: Henri am 14. November 2022, 20:50ChirpStack klingt sehr interessant. Wenn ich recht sehe, braucht man dafür aber mindestens einen Raspberry. Also benötigt zumindest das Backend Netzstrom (oder einen dicken Akku).
Dabei muss man ja froh sein, dass es Raspberry Pis überhaupt gibt. Früher hat man für sowas ja einen "richtigen" Rechner bzw. Laptop laufen lassen müssen. Ich finde das aber ehrlich gesagt gar nicht so schlimm, wenn die Basisstation einen höheren Stromverbrauch hat. Damit könnten sich ja, wenn ich das richtig verstanden habe, ganz viele Klienten verbinden.

Übrigens: Sehr cooles Projekt! Ich finde die Methode über LoRa super interessant :)
Wie groß ist denn eigentlich dein Solarpanel von der Fläche her? Ist ja super, dass das ohne Probleme selbstständig alles läuft.

Xodor

Zitat von: DG0MG am 14. November 2022, 19:54Also macht das nicht der ATTiny auf der oben gezeigten Platine?
Das bedeutet, dass die "große" CPU immer mitläuft, denn sie muss ja zählen - vielleicht in irgendwelchen Stromsparmodi?
Wie sieht denn der Rest der Hardware aus?
Der ATTiny erzeugt das PWM Signal und schaltet die HV ein und aus wenn die Spannung erreicht wurde. Diese Schaltung ist angelehnt an die vom Multigeiger. Nur dass ich die HV autark haben wollte und deshalb den ATTiny genommen habe. Ich hätte das natürlich auch mit dem CubeCell Board machen können.Aber die HV-Platine war halt fertig und lag hier herum.

Der Rest der Hardware ist das CubeCell-Board welches über den Interrupt-Pin das Signal vom Zählrohr bekommt, eine LiIon Zelle die an das CubeCell-Board angeschlossen ist, und eine Solarzelle von einem alten Springbrunnen.Die Solarzelle ist 130x110mm groß und liefert ca 6-7V. Dieses langt im die Batterie wieder aufzuladen.


Zitat von: DG0MG am 14. November 2022, 19:54Ah, das ist dann wohl dieses?: https://heltec.org/project/htcc-ab01/

Was hat denn das ganze System so für eine Stromaufnahme? Muss ja schon recht wenig sein, wenn das schon ne Weile auf Solar läuft?
Ja, genau dieses Board als V2.
Die Stromaufnahme liegt so um die 13mA - wenn ich mich nicht vermessen habe. Der grösste Teil davon wird von der HV Platine benötigt. Das CubeCell-Modul fällt fast gar nicht ins Gewicht.


Zitat von: Henri am 14. November 2022, 20:50Ich finde es halt ein wenig absurd, dass man mit 10 mW supersparsam funkt, aber dann die (empfangende) Basisstation  einen hohen Verbrauch hat. Wenn der funkende Briefkasten mir einen Einwurf meldet, wäre es ja schick, wenn der Empfänger auch mit Batterien (oder Solar) betrieben werden könnte. Durch eine blitzende LED, oder E-Paper o.ä. Dafür extra einen Raspberry laufen zu lassen, lohnt nur, wenn der noch eine Menge andere Sachen macht.
Da man heutzutage aber "immer und überall" Internet und das Smartphone am Laufen hat, ist anscheinend die Motivation nicht so groß, so was zu bauen. Die Auslagerung der Funktion ins Internet ist da eigentlich konsequent.
Vielleicht brauchst du ja gar kein eigenes Gateway. Es könnte doch durchaus sein, dass du bereits im Empfangsbereich eines vorhandenen Gateway wohnst. Dann kannst du es einfach mitbenutzen.
Als Alternative (habe ich auch schon realisiert) kannst du anstatt LoRaWAN auch Sigfox (leider kommerziell und kostenpflichtig) benutzen, welches in Europa eine sehr gute Netzabdeckung hat.


Zitat von: NuclearPhoenix am 14. November 2022, 20:59Dabei muss man ja froh sein, dass es Raspberry Pis überhaupt gibt. Früher hat man für sowas ja einen "richtigen" Rechner bzw. Laptop laufen lassen müssen. Ich finde das aber ehrlich gesagt gar nicht so schlimm, wenn die Basisstation einen höheren Stromverbrauch hat. Damit könnten sich ja, wenn ich das richtig verstanden habe, ganz viele Klienten verbinden.

Übrigens: Sehr cooles Projekt! Ich finde die Methode über LoRa super interessant :)
Wie groß ist denn eigentlich dein Solarpanel von der Fläche her? Ist ja super, dass das ohne Probleme selbstständig alles läuft.
Genau so ist es. Dieses Gateway ist in der Lage durchaus mehrere hundert Nodes anzubinden.
Das Panel ist 113x110mm groß.

Henri

Zitat von: DG0MG am 14. November 2022, 19:54
Zitat von: Xodor am 14. November 2022, 18:56verwende ich ein CubeCell Board von Heltec
Ah, das ist dann wohl dieses?: https://heltec.org/project/htcc-ab01/


Ah! Das ist ja ein geniales Teil! Alles drin: Ladecontroller, Direktanschluss fürs Solarpanel, 3,5 µA im deep sleep mode... Und das für ganze $ 11,90 ... Ich hatte damals für meine boards noch einiges mehr ausgegeben. :)

Wo ich wohne, gibt es übrigens kein LoRaWAN Gateway in der Nähe. Ich hatte bereits mal auf entsprechende Karten geschaut. Wenn ich was in die Richtung machen möchte, müsste ich da also selber ran   8) 


Xodor

Ich habe in den letzten Tagen nachts und in den frühen Morgenstunden einen Anstieg der Aktivität feststellen können und habe erst gedacht, dass es an meiner Hardware/Software liegt. Dem ist aber anscheinend nicht so, denn die ODL-Sonde hier in der Nähe zeigte zum gleichen Zeitpunkt ebenfalls eine erhöhte Aktivität an.
Wodurch kann das kommen?