beelogger

TTN – LoRaWAN™

Hier möchten wir euch ein Projekt eines engagierten beelogger-Freundes vorstellen.
Wie üblich haben wir eine umfassende Anleitung erstellt. Zum Nachbau ist eine individuelle Einarbeitung in die LoRaWAN und die TheThingsNetwork Thematik hilfreich.
Achtung: Uns wurde berichtet, dass TTN in der Schweiz nicht zur Verfügung steht.

Allgemeine Informationen zu LoRa finden sich unter LoRa-alliance.org und www.LoRa-wan.de/, technische Bedingungen und Details für den Betrieb von LoRa in der EU sind im Dokument LoRawantm_regional_parameters_v1.1rb_-_final.pdf enthalten.

Bevor man mit LoRaWAN startet, sollte die Verfügbarkeit geprüft werden. Unter The-Things-Network ttnmapper.org/  können die örtlichen Gegebenheiten eingesehen werden.
Alternativ könnte eventuell auch ein eigener LoRaWAN-Access-Point eingerichtet werden. Zum Aufbau mit einem Raspberry und einem LoRa-Modul findet sich Anleitungen im Netz (1), (2), (3).

Auf Seite des community-Webservers sind die Vorraussetzungen geschaffen worden aus dem LoRa-Netz die Daten eines beeloggers mit LoRa-Modul entgegen zu nehmen.
Im derzeitigen Aufbau des beelogger-LoRa werden die Messdaten bis zu zwei Waagen, drei Sensoren, sowie Akku- und Solarspannung unterstützt.

Der beelogger-Solar wird für das LoRa-/RFM95-Modul erweitert durch ein LoRaWan-Shield oder eine Lochrasterplatine.
Für den beelogger-Universal haben wir die Nutzung im Bereich des Lochrasterfeldes für den Einbau des LoRa-/RFM95-Modul vorgesehen.
Das beelogger-LoRa-System unterstützt ein EE-Prom auf Grund der Rahmenbedingungen von LoRaWan bzw. TTN nicht.

Bezug

Bild Bezugsquelle Preis ab Suchbegriffe*  Bemerkungen

LoRa-Modul RFM95 868MHz mit SX 1276 Chip,
 

eBay 5 -10€ RFM95 LoRa Modul RFM95 Modul für
Frequenzbereich 868 MHz

Antenne (Drahtwendel oder 86mm Draht)

         
für den beelogger-solar:        
 LoRaWan-Shield Smart Prototyping
Elecrow
ab 4,15€ (10 Stück) zuzüglich Versand Platine Größe
ca. 65×55 mm
 Platinenbestellung 
 alternativ Lochrasterplatine:beelogger Solar Shield Platine eBay 6,00€
(5 Stück)
Lochrasterplatine 5×7 doppelseitig Lochrasterplatine 5×7, durchkontaktiert (Lötpads auf beiden Seiten)
       

 

Stiftleisten eBay, reichelt 1,00€ Pin Header Male,
RM 2,54mm, Höhe 8,5mm
vergoldet

4 Reihen je 16 Stück

2×16 polig 2 Stück

Buchsenleisten eBay, reichelt 1,00€ Pin Header Female,
RM 2,54mm, Höhe 8,5mm
vergoldet

4 Reihen je 16 Stück

2×16 polig 2 Stück

       

 

für den beelogger-Universal:      

 

Widerstand 220 Ohm eBay, reichelt 0,10€ Resistor 220
reichelt 1W 220
1 Stück (max. 10%, 1/2 – 1 Watt, max. 10mm)
Pegel-Wandler bi-direktional 4 Kanal eBay, diverse 2 – 5€ Pegel-Wandler, Logic-Level Converter

1 Stück

SMA-Buchse zum Einlöten
(z.B. DELOCK 65849, SMA BU P)
reichelt 1 -3 € zum Anschluss einer externen Antenne

1 Stück

alternativ zu SMA-Einlötbuchse:
SMA-Buchse mit offenem Kabelende
(Bsp: DELOCK 89600)
reichelt 5€ zum Anschluss einer externen Antenne

alternativ 1 Stück

Antenne 868MHz
(Bsp: ELSYS ANT 868, DELOCK 89769)
reichelt 7€ ext. Antenne

optional 1 Stück

*Einkaufstipps

 

Beschaltung und Aufbau für den beelogger-Solar/-Universal:

Grundsätzlich sind folgende Verbindungen vorzunehmen:

beelogger-Solar/Universal
RFM95/SX1276 Modul
3,3V VCC
GND GND
D10 NSS
D11/MOSI MOSI
D12/MISO MISO
D13/SCK SCK
D8 DIO0
D9 DIO1

 

beelogger-Solar:

Das Schaltbild zur Verdrahtung des beelogger-Solar mit dem RFM95 Modul auf dem Shield:
RFM95 A/B sind die beiden Anschlussleisten des RFM95-Modul.

Hier ein Beispiel eines beeloggers-Users:

 

beelogger-Universal:

Das RFM95 Modul wird beim beelogger-Universal Version 1.05 auf den dafür vorgesehenen Lötpads angebracht.
Für die Anschaltung des Moduls an den beelogger-Universal sind ein 4-Kanal bi-direktionaler Pegel-Wandler sowie zwei Widerstände 220Ohm erforderlich. Für den Pegelwandler ist ein Anschlussfeld auf der Platine enthalten.
Die Bestückung der anderen im Bild nicht montierten Bauteile kann entfallen.
In Bild fehlen der DS3231, HX711 und die Pull-ups für DHT22/DS18B20 sowie die Anschlussklemmen.
Als Antenne dient bei guten Empfangsbedingungen ein 86mm langes Stück Draht (Länge über Platine). Dieses wird direkt in die Platine gelötet.
Für den Anschluss einer externen Antenne kann das Kabelende einer “SMA-Buchse mit offenem Kabelende” eingelötet werden. Für das Anlöten der Schirmung des Kabels die Lackierung der Platine im Bereich der Lötstelle vorher entfernen.
Informationen zum Umbau älterer Universal Versionen hier.

beelogger Universal Version 1.12

 

In Platinenversion Universal 1.1x sind die Leitungen zwischen Pegelwandler und RFM95-Modul in die Platine und eine optionale SMA Buchse für den Anschluss einer Antenne integriert.
Die Widerstände 220 Ohm sind zwischen D8 und Dio0 sowie D9 und Dio1 einzubauen.

Programmcode:

In den Programmcode müssen neben den Kalibrierwerten für die Spannungsmessung und den Wägesensoren auch die Verbindungsdaten aus der TTN-LoRa-Konfiguration eingetragen werden.
Der Prgrammcode benötigt die beelogger-Bibliotheken.

Das beelogger-LoRa-System verfügt über keinen Rückkanal vom Server. Die Steuerung der Intervallzeiten erfolgt daher nicht über die Fernsteuerung vom  Webservers sondern in der Konfiguration des Sketch.
Einstellbar sind das Standard-Intervall “WeckIntervall_default” und die Aktivierung der individuellen Intervallsteuerung “WeckIntervall_aktiv”.
Bei Aktivierung der individuellen Intervallsteuerung kann zusätzlich ein Winterintervall “WeckIntervall_Winter_aktiv” aktiviert und konfiguriert werden.
Intervalle unter fünf Minuten werden vom System auf 5 Minuten umgestellt, damit die Bedingungen der Nutzung von LoRa/TTN eingehalten werden.

Die Voreinstellung haben wir so vorgenommen.

Weitere Hinweise zur Konfiguration der Sensoren finden sich unter “alle Programmcode”.

aktueller LoRa-Sketch:

Version 191203

 Erster LoRa-Sketch

Version 191219

 RFM95 Setup angepasst

Version 200114

 TX-Timeout Abfrage ergänzt, 
 konfigurierbare Intervallzeiten
 zwei Waagen werden unterstützt

Version 200123

 alternative Lib für SI7021 (konfigurierbar)  LORA_MULTI_200123

Version 200505

  – Funktionalität Service-Schalter überarbeitet 
    Erstes Senden der Daten beim Einschalten
      (vor den Arbeiten des Imkers),
    zweites Senden beim Ausschalten 
      (unmittelbar nach den Arbeiten des Imkers)

  – Temperaturwert aus RTC bei Sensorausfall
  – bis zu vier DS18B20 

Version 200902

 – Korrekturoption Messwert Luftdruck LORA_MULTI_200902

LORA_MULTI_201108

  – Sensor Wägezellentemperatur konfigurierbar LORA_MULTI_081120

 

LoRa-QUAD, Sketch und Payload-Converter:

LORA_Multi_QUAD_201108

 – LoRa – QUAD, System mit vier Waagen Download

 

Die LMIC-Bibliothek für das LoRa-Modul wurde für den beelogger-Sketch angepasst. LORA_LMIC_200114

 

LoRa-Konfiguration:

Zunächst muss man sich kostenlos einen kostenlosen Account auf der Seite: https://www.thethingsnetwork.org/ einrichten.

Dann wählt man die CONSOLE an… und klickt auf APPLICATIONS:

Um Daten empfangen zu können, muss eine Application mit Devices erstellt werden.

Man benötigt für jeden beelogger eine eigene Application, da man immer nur ein Weiterleitungsziel pro Application angeben kann.

Mit “Add application” bestätigen und die Application auswählen:

Jetzt muss man noch ein Device erstellen für die Application, die die Daten senden wird.

Hier eine beliebige DeviceID und DEVICE EUI eingeben:

Dann mit “Register” bestätigen…

Nun ist das Device angelegt und es müssen noch ein paar Einstellungen gemacht werden:

Dafür auf Settings klicken.

Und dort ändern:

  •  Activation Method = ABP

  • bei Frame Counter Checks den angwählten Haken abwählen (deaktiviert)

Mit “Save” bestätigen.

Jetzt finden wir in der Device-Overview-Ansicht die Daten, die wir später im Arduino Sketch in der Konfiguration benötigen:

  • Device Address

  • Network Session Key (Mit einem Klick auf das Augensymbol wird der Key in der MSB Schreibweise angezeigt, die für die Konfiguration im Sketch benötigt wird.)

  • App Session Key (Mit einem Klick auf das Augensymbol wird der Key in der MSB Schreibweise angezeigt, die für die Konfiguration im Sketch benötigt wird.)

Nun nach oben auf die Seite.

Jetzt muss in der Application noch das Payload-Format erstellt werden:

Für das Payload-Format diese Javascript-Datei downloaden und den Inhalt in das Decoder-Feld reinkopieren und abspeichern:

Version 200114 LORA_Payload_200114
Version 200519 Deklaration  “object”  geändert
LORA_Payload_200519
 

Nun müssen die Daten vom TTN noch an den beelogger-communityServer gesendet werden:

Dazu den Reiter Intergrations auswählen … und eine neue “Integration” hinzufügen:

Hier wählt man “HTTP Integration” aus und trägt unter URL seine Daten in die Maske ein, wobei natürlich USERNAME mit dem beeloggerAccountName und das entsprechende Passowort für den beelogger individuell ersetzt werden muss.

Beispiele:
System mit einer Waage: https://community.beelogger.de/UserName/beelogger1/beelogger_log.php?Passwort=deinpasswort&LORA=1

System mit zwei Waagen: https://community.beelogger.de/UserName/Duo1/beelogger_log.php?Passwort=deinpasswort&LORA=1

 

In das Feld “Access Key” klicken und default key auswählen.

Mit “Add integration” die Aktionen abschliessen.

Den Sketch mit den Keys und der Device Address in den beelogger flashen. 

Systemtest

Das RFM95-Modul immer mit einer Antenne, ggf. “Klingel-” Draht 86mm lang ab Lötauge, betreiben.

Einen Testsketch haben wir für den LoRa-beelogger nicht erstellt.
Hierzu kann der normale Sketch verwendet werden, nachdem in die Multi_LORA_config.h die Daten für
– Device Adress
– Network Session Key
– App Session Key
eingetragen sind.
In der beelogger_config.h den Wert von myDEBUG auf 1 setzen.
Den Sketch laden und im Monitor die Ausgabe ansehen. Hier ein Beispiel mit nur einer Waage:

Ist eine der Leitungen NSS, MOSI, MISO, SCK oder 3,3V nicht korrekt angeschlossen wird diese Meldung angezeigt. Ebenso bei falschem Modul und auch fehlerhafter Einstellung in der LMIC-Bibliothek.

Wenn die Leitung von DIO-0 nicht richtig verschaltet ist, wird eine Time-Out Meldung angezeigt.

Inbetriebnahme

Nach erfolgreichem Test kann das System mit den gewünschten Sensoren ausgestattet werden. Nach erfolgter Konfiguration und Laden auf den beelogger ist das System betriebsfertig.
Je nach Ausbaustufe und Auswahl der Sensoren wird mehr Systemspeicher benötigt als verfügbar ist. Wird der Wert myDEBUG auf 0 gesetzt, steht mehr Speicher zur Verfügung.
Bitte für den Dauerbetrieb immer den Wert myDEBUG auf 0 setzen.

Sobald die Daten vom LoRa-beelogger im TTN ankommen, werden sie automatisch an den beelogger-Webserver übertragen und stehen wie alle anderen Daten für den User im communityAccount zur Verfügung.
Im der TTN-Konfiguration können die eingehenden Daten unter Application und der erstellten Application (im Beispiel beelogger01) bei “Data” eingesehen werden.

 LoRa™, LoRa™ Alliance und LoRaWAN™ sind eingetragene Warenzeichen der Semtech Corporation