Erste Schritte mit dem RAK831 LoRa Gateway und RPi3
Dieses Projekt führt Sie durch alle Schritte, die erforderlich sind, um Ihr RAK831 LoRa Gateway-Modul mit WiFi als Backhaul zum Laufen zu bringen.
Einführung
Diese Schritt-für-Schritt-Anleitung richtet sich an Entwickler, die ihr eigenes Lora-Gateway mit dem fantastischen Lora-Funk-Frontend-Modul RAK831 von RAK Wireless entwickeln möchten. Die Anleitung setzt Grundkenntnisse des Raspberry-Pi-Ökosystems, der Hardware und des dazugehörigen Debian-Betriebssystems voraus. Die Anleitung setzt auch Grundkenntnisse des GPIO und der Peripherie auf dem Raspberry Pi voraus. Fangen wir also an.
Was ist LoRA?
LoRa Alliance™-Technologie. LoRaWAN™ ist eine Low Power Wide Area Network (LPWAN)-Spezifikation für drahtlose batteriebetriebene Dinge in einem regionalen, nationalen oder globalen Netzwerk. LoRaWAN zielt auf die wichtigsten Anforderungen des Internets der Dinge wie sichere bidirektionale Kommunikation, Mobilitäts- und Lokalisierungsdienste ab.
Das obige Diagramm zeigt die verschiedenen Teile der LoRa-Wireless-Architektur. Einige der wichtigen Teile werden im Folgenden kurz erklärt:
Hauptmerkmale der LoRa-Technologie und des LoRaWAN-Protokolls
· GEOLOCATION:Ermöglicht GPS-freie Tracking-Anwendungen mit geringem Stromverbrauch
· NIEDRIGE KOSTEN:Reduziert die Kosten auf drei Arten:Infrastrukturinvestitionen, Betriebskosten und Endknotensensoren
· STANDARDISIERT:Verbesserte globale Interoperabilität beschleunigt die Einführung und Einführung von LoRaWAN-basierten Netzwerken und IoT-Anwendungen
· LOW POWER:Speziell für einen geringen Stromverbrauch entwickeltes Protokoll, das die Batterielebensdauer auf bis zu 20 Jahre verlängert
· GROSSE REICHWEITE:Eine einzige Basisstation bietet eine tiefe Durchdringung in dichten Stadt-/Indoor-Regionen und verbindet ländliche Gebiete bis zu einer Entfernung von 48 km.
· SICHER:Eingebettete Ende-zu-Ende-AES128-Verschlüsselung
· HOHE KAPAZITÄT:Unterstützt Millionen von Nachrichten pro Basisstation, ideal für öffentliche Netzbetreiber, die viele Kunden bedienen
Der RAK 831 ist ein LorA-Radio-Frontend; d.h. es fungiert als Empfänger eingehender Lora-Datenpakete und leitet diese an einen Aggregator-Management-Software-/Hardware-Host weiter. Es kann auch LoRA-Datenpakete basierend auf der Anfrage des Host-Boards übertragen. In unserem Fall ist ein Raspberry Pi 3 das Host-Board, das das RAK 831-Frontend steuert.
Auswahl des Backhaul
Was ist ein Backhaul? Backhaul bezieht sich darauf, wie der Raspberry Pi mit dem Internet verbunden wird. Diese Anleitung konzentriert sich auf die Verwendung von Wifi als Backhaul, Sie können jedoch auch Ethernet oder 3G/4G verwenden. Wenn Ethernet in der Nähe des Gateways verfügbar ist, ziehen Sie es WLAN oder 3G/4G vor. Dies liegt daran, dass ein zusätzliches Funksignal im Inneren des Gehäuses Rauschen verursacht. Die Software kann mit der lauten Umgebung umgehen, daher ist dies kein großes Problem, aber je weniger laut, desto besser. Sie können diese Option mit Power-over-Ethernet kombinieren, um die Verkabelung bis zum Gateway zu minimieren.
Wenn Sie sich dagegen für WLAN anstelle von Ethernet entscheiden, versuchen Sie, einen Dongle mit externer Antenne zu verwenden und die Antenne außerhalb des Gehäuses zu verlegen, um weniger Rauschen in der Box zu haben.
Hardware einrichten:
Bevor wir etwas anschließen und einschalten, lassen Sie uns die folgenden Konfigurationen auf dem Raspberry Pi und dem RAK 831-Modul vornehmen:
HIMBEERE PI
1) Holen Sie sich das Raspberry Pi 3 Board und stellen Sie eine 8-GB-Micro-SD-Karte mit der Raspbian-Software bereit. Sie können sogar eine Noobs-SD-Karte mit vorinstallierter Software kaufen. Befolgen Sie zum Flashen des Betriebssystems auf der SD-Karte die Anweisungen hier: https://www.raspberrypi.org/learning/hardware-guide/
2) Verbinden Sie den Himbeer-Pi mit der 5V 2A-Stromversorgung. DIES IST SEHR WICHTIG. Das Lora-Modul kann während aktiver drahtloser Transaktionen einen Spitzenwert von 700 mA verbrauchen und verfügt daher über einen guten Strombaustein, um den Himbeer-Pi mit Strom zu versorgen
RAK 831:
1) Bevor Sie die Platine überhaupt einschalten, besorgen Sie sich die Antennen, die in Ihrem Kit enthalten waren, und schließen Sie sie an die Antennen-Schraubklemme an. DAS IST WICHTIG.
Verbindungsdetails:
Hier ist eine Tabelle, die zeigt, wie das rak831-Modul mit dem Himbeer-Pi verbunden wird:
Um das Pin-Layout des Raspberry Pi zu verstehen, gehen Sie zu: https://www.raspberrypi.org/documentation/usage/gpio/ für Details
Hinweise:
- Der Reset-Pin kann mit jedem GPIO auf dem Raspberry Pi 3 verbunden werden.
- Stellen Sie unbedingt sicher, dass Sie die Stromversorgungs-Pins richtig anschließen, um Schäden an der RAK 831-Platine zu vermeiden.
SPI aktivieren:
Das SPI-Peripheriegerät ist standardmäßig nicht eingeschaltet. Um es zu aktivieren, gehen Sie wie folgt vor.
- Ausführen
sudo raspi-config
. - Verwenden Sie den Abwärtspfeil, um
9 Erweiterte Optionen
. auszuwählen - Pfeil nach unten zu
A6 SPI
. - Wählen Sie
ja
wenn Sie aufgefordert werden, SPI . zu aktivieren , - Wählen Sie auch
ja
wenn es nach dem automatischen Laden des Kernel-Moduls fragt. - Wählen Sie mit dem Rechtspfeil
. aus Taste. - Wählen Sie
ja
wenn es zum Neustart auffordert.
Das System wird neu gestartet. Melden Sie sich an und geben Sie den folgenden Befehl ein
>ls /dev/*spi*
Der Pi sollte antworten mit
/dev/spidev0.0 /dev/spidev0.1
Diese repräsentieren SPI-Geräte auf dem Chip, die Pins 0 bzw. 1 aktivieren. Diese Pins sind im Pi fest verdrahtet. Normalerweise bedeutet dies, dass die Schnittstelle höchstens zwei Peripheriegeräte unterstützt, aber es gibt Fälle, in denen mehrere Geräte in Reihe geschaltet werden können und sich ein einziges Chip-Aktivierungssignal teilen.
Versorgen Sie das Board mit Strom:
Wie bei allen Wireless-Projekten benötigen sie in der Regel mehr Strom, als die Hostplatine über die Versorgungspins bereitstellen kann. Die beiden folgenden Schemata zeigen auf, wie Sie den RAK 831 und den Raspberry Pi 3 mit Strom versorgen können.
1) Versorgen Sie die 5V-Schiene vom Raspberry Pi
2) Versorgen Sie die 5-V-Schiene des Raspberry Pi und des RAK831 separat
Softwareinstallation:
Führen Sie auf dem Raspberry Pi die folgenden Schritte aus, um die erforderliche Software zu installieren:
- SPI aktivieren:
Verwenden Sie das Dienstprogramm raspi-config, um SPI zu aktivieren ([5] Schnittstellenoptionen -> P4 SPI) und auch das Dateisystem zu erweitern ([7] Erweiterte Optionen -> A1 Dateisystem erweitern):
$ sudo raspi-config
- Stellen Sie sicher, dass Git installiert ist
Sudo apt-get updateSudo apt-get upgradeSudo apt-get install git
- Verwalte deine WLAN-Verbindung auf dem Himbeer-Pi
- Konfigurieren Sie die WLAN-Anmeldedaten (weitere Details finden Sie hier)
$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Und fügen Sie am Ende der Datei den folgenden Block hinzu und ersetzen Sie SSID und Passwort entsprechend Ihrem Netzwerk:
network={ssid="The_SSID_of_your_wifi"psk="Your_wifi_password"}
- Klonen Sie das Installationsprogramm und starten Sie die Installation
$ git clone -b spi https://github.com/ttn-zh/ic880a-gateway.git ~/ic880a-gateway$ cd ~/ic880a-gateway $ sudo ./install.sh spi
- Im Installationsschritt werden Sie gefragt, ob Sie die Remote-Konfiguration aktivieren möchten. Geben Sie „y“ oder „yes“ ein und fahren Sie mit der Installation fort. Zu Beginn der Kommandozeilen-Installation würde Ihnen das Skript die Gateway-EUI anzeigen, die für die nächsten Schritte wichtig ist. BEACHTEN SIE ES UNTEN !
- Wenn Sie die Remote-Konfigurationsoption verwenden möchten, stellen Sie bitte sicher, dass Sie eine JSON-Datei mit dem Namen Ihrer Gateway-EUI (z. B. B827EBFFFE7B80CD.json) im Gateway Remote Config-Repository hier erstellt haben: https://github.com/ttn -zh/gateway-remote-config. Forken Sie das Repository, fügen Sie Ihre
.json-Datei mit der richtigen Konfiguration hinzu und übergeben Sie dann das gegabelte Repository. Wenn Sie fertig sind, senden Sie einen Pull-Request an das Master-Repository und die Datei sollte am nächsten Tag im Repository angezeigt werden. Ein Beispiel-Json ist unten gezeigt:
{ "gateway_conf":{ "gateway_ID":"die ID, die Sie in der Ausgabe der install.sh-Konsole notiert haben", "servers":[ { "server_address" :"der Router, zu dem Sie eine Verbindung herstellen möchten", "serv_port_up":1700, "serv_port_down":1700, "serv_enabled":true } ], "ref_latitude":der Breitengrad des Rak 831-Gateways, "ref_longitude":der long des rak 831 Gateways, "ref_altitude":40, "contact_email":"Kontakt-E-Mail des Gateway-Besitzers", "description":"eine kurze Beschreibung" } }
Hinweis:
Eine Liste gültiger Router finden Sie hier: https://www.thethingsnetwork.org/wiki/Backend/Connect/Gateway
- Standardmäßig ändert das Installationsprogramm den Hostnamen Ihres Raspberry Pi in ttn-gateway (um Kollisionen mit anderen Raspberry Pis in Ihrem Netzwerk zu vermeiden). Sie können dies im Nicht-Remote-Konfigurationsmodus überschreiben.
- HURRAY Ihr Gateway sollte jetzt funktionieren. Stellen Sie sicher, dass Sie das Gateway am nächsten Tag neu starten, damit Ihre Json-Datei ordnungsgemäß auf das RPi3 heruntergeladen wird.
- Beachten Sie, dass die global_config.json in wie folgt angepasst werden muss:
https://github.com/TheThingsNetwork/gateway-conf/blob/master/US-global_conf.json
für diejenigen, die den mp_pkt_fwd anstelle des alten Poly-Paketweiterleitungs verwenden möchten, der hier gehört wurde, und installieren Sie ihn mit der bereitgestellten Anweisung:
https://github.com/kersing/packet_forwarder/tree/master/mp_pkt_fwd. Auch hier können Sie die Datei global_conf..json im Stammverzeichnis des Projekts sehen. Stellen Sie nur sicher, dass Sie die Datei bearbeiten (imp-Abschnitte unten beschrieben) und nach der Kompilierung in den Ordner bin kopieren.
Einige konfigurierbare Entitäten in global_conf.json:
Die Datei global_conf.json finden Sie in ./bin/global_conf.json in der Basis Ihres Projektverzeichnisses, nachdem das Installationsskript ausgeführt wurde. Hier ist eine Liste einiger Entitäten, die Sie möglicherweise in der Datei global_conf.json für Ihre spezielle Gateway-Konfiguration bearbeiten möchten:
1) „radio_0“- oder „radio_1“-Konfiguration, insbesondere der Frequenzparameter und die minimalen und maximalen Frequenz-Sweep-Parameter.
2) Abschnitt "gateway_conf". Insbesondere die Gateway-ID oder die EUI Ihres Gateways.
3) Server-Up- und -Down-Port im gleichen Gateway_conf-Objekt zusammen mit Ihrer TTN-Serveradresse der Adresse Ihres eigenen Anwendungsservers, falls verfügbar.
Quelle:Erste Schritte mit dem RAK831 LoRa Gateway und RPi3
Herstellungsprozess
- Überwachen der Raumtemperaturen mit einem Raspberry Pi und Nagios
- Überwachen der Raumtemperaturen mit Moteinos und Raspberry Pi
- Integration von Sensordaten mit Raspberry Pi-Mikroprozessor
- 433 MHz Smart Home Controller mit Sensorflare und einem RaspberryPi
- Schwenk-/Neige-Gesichtsverfolgung mit dem Himbeer-Pi
- Aeroponik mit Raspberry Pi und Feuchtigkeitssensor
- Verwenden des gepulsten Radarsensors A111 mit einem Raspberry Pi
- Erste Schritte mit TJBot
- $35 NanoPi K1 Plus ist ein Raspberry Pi-ähnlicher Computer mit doppelt so viel RAM (und einer anderen CPU)
- LoRa – Raspberry Pi – Single Channel Gateway – Günstig!