Diese IOT2050 -Anwendung hat die Aufgabe, Daten dezentralisiert und über das Radio zu übertragen. Die LPWAN -Technologie -Langstrecke (LORA) wird zu diesem Zweck verwendet. Der IoT2050 dient als Lorawan -Tor. Das globale, kostenlose Lorawan (Langstrecken -Weitflächen -Netzwerk) aus dem Network oder der Things Stack Community Edition wird als Netzwerkserver verwendet. Dieses Handbuch beschreibt die Software- und Hardwarestruktur des Gateways (die Konfiguration und Funktion von Endgeräten (z. B. Sensoren) wird in diesem Handbuch nicht erläutert, da es vom individuellen Zweck der Anwendung abhängt):

Für die Anwendung sind die folgenden Hardwarekomponenten erforderlich:
Sie können auch alle einzelnen Teile in der Bestellliste sehen.
Die Arduino Uno -Schnittstelle des SIMATIC IOT2050 wird verwendet, um den IC880A -Konzentrator zu integrieren. Für diesen Zweck ist ein Adapterschild erforderlich, der die PIN -Zuordnungen kombiniert. Der Konzentrator wird mit 5 V geliefert.
Der in dieser Anwendung verwendete Adapterschild war selbst gebaut. Die erforderlichen Komponenten können aus der Bestellliste entnommen werden. Weitere Informationen zur Struktur finden Sie in der Projektdatei (.Pro), der schematischen Datei (.sch) und der Layout -Datei (.kicad_pcb).
Der Lorawan Concentrator IC880A ist ein Hochleistungs-Sender-/Empfängermodul mit mehreren Channel, das mehrere LORA-Pakete gleichzeitig mit verschiedenen Spreizfaktoren auf mehreren Kanälen empfängt. Das IC880A des Konzentratormoduls kann als komplettes HF -Frontend dieses Gateways in ein Gateway integriert werden.
Die folgende Abbildung zeigt die vollständige Hardwarestruktur des Lorawan -Gateways. Um die Antenne (2 dBI-Dipolantenne 863-870 MHz mit RP SMA) mit dem IC880A-Modul zu verbinden, wird ein U.FL-Adapter verwendet, um den SMA-Adapter umzukehren. Der Konzentrator ist zusammen mit dem Adapterschild in die Arduino Uno -Schnittstelle des IoT2050 angeschlossen.

Die folgende Software wird für dieses Handbuch verwendet:
Für die erste Inbetriebnahme des IoT2050 finden Sie die Einrichtung. Sie können weitere Hilfe im SIMATIC IOT2050 -Forum erhalten.
Nach dem Durchführen der Einrichtung muss ein Update für das System durchgeführt werden und Git muss installiert werden. Die folgenden Befehle werden dafür ausgeführt:
sudo apt-get update
sudo apt-get install git
Stellen Sie eine SHH -Verbindung über Putty her und verwenden Sie die folgenden Befehle:
iot2050setup
Use the arrow keys: "Peripherals" -> "Configure Arduino I/O" -> "Enable SPI on IO10-IO13" -> "Enable"
Use ESC to exit the iot2050setup


Um die neueste Version der LORA Basics ™ Station von GitHub zu klonen, verwenden Sie die folgenden Befehle:
cd /home
git clone https://github.com/lorabasics/basicstation.git
Jetzt muss die Datei setup.gmk , die Teil des Klons ist, für den IoT2050 angepasst werden, um die richtigen Verzeichnisse für die Toolchain zu speichern. Öffnen Sie dazu die Datei in einem Editor mit den folgenden Befehlen:
cd /home/basicstation/
nano setup.gmk
Mit der CTRL+C ist eine Zeilenspezifikation im Nano-Eduitor gezeigt werden:

Die Zeilen 55 - 66 müssen mit # und Zeilen 68 - 72 kommentiert werden, müssen in Folgendes geändert werden:
CC=/usr/bin/gcc
LD=/usr/bin/ld
AR=/usr/bin/ar
OD=/usr/bin/objdump
OC=/usr/bin/objcopy
Zusätzlich muss Zeile 76 wie folgt bearbeitet werden:
export LD_LIBRARY_PATH=/usr/local/lib
Speichern und schließen Sie die Datei mit den folgenden Befehlen:
CTRL+X -> to exit editing
Y -> to save the changes
Enter -> to confirm the filename
So erstellen Sie die Paketwaschstation zum Aufbau des folgenden Befehls im Verzeichnis /home/basicstation/ :
make platform=rpi variant=std
Nachdem die Basisstation zusammengestellt wurde, erschien ein neuer Ordner namens build-rpi-std mit vier Unterordnern. Sie finden die kompilierte station im bin .
Sofern nicht anders angegeben, werden die folgenden Befehle und Aktionen in diesem Verzeichnis immer ausgeführt ( /home/basicstation/build-rpi-std/bin/ ).
Einige Konfigurationen sind für die Basisstation benötigt, die in der station.conf angegeben sind. Kopieren Sie die vorgefertigte Dateistation.conf in das Verzeichnis (Tipp: Das Tool WinSCP kann zum Übertragen der Dateien verwendet werden).
Die LORA Basics ™ -Station muss mit dem Lorawan® Network Server (LNS) versehen werden, um eine Verbindung herzustellen. In diesem Beispiel wird der Stack Community Edition Server mit Port 8887 verwendet. Dies ist in der Datei tc.uri angegeben. Kopieren Sie die vorgefertigte Datei tc.uri in das Verzeichnis.
Dies erfordert ein Stammzertifikat. Der folgende Befehl kann verwendet werden, um ein Zertifikat zu erhalten und die Datei tc.trust direkt zu erstellen:
curl https://letsencrypt.org/certs/isrgrootx1.pem.txt -o tc.trust
Sie können auch ein anderes Root -Zertifikat verwenden, das ohne die Zeichen <> in die Datei tc.trust eingefügt werden muss.
-----BEGIN CERTIFICATE-----
<insert root certificate here>
-----END CERTIFICATE-----
Das IC880A -Modul mit dem SX1301 -Basisbandchip muss jedes Mal zurückgesetzt werden, wenn es eingeschaltet wird. Dieser Reset wird jedoch nicht vom HAL des Chips durchgeführt. Daher wird ein Python -Skript geschrieben, um das extern auszuführen. Kopieren Sie das Python -Skript IC880A_Reset.py in das Verzeichnis. Anschließend muss der digitale E/A -Pin 4 als Ausgabe eingestellt werden, da dieser als Reset Pin verwendet wird:
iot2050setup
Use the arrow keys: "Peripherals" -> "Configure Arduino I/O" -> "Enable GPIO" -> Set PIN 4 as output
Use ESC to exit the iot2050setup

Der nächste Schritt besteht darin, ein Shell -Skript hinzuzufügen, das das Python -Skript ausführt. Dieses Skript wird später mit dem Start der station ausgeführt. Kopieren Sie die vorgefertigte Datei reset_gw.sh in das Verzeichnis. In diesem Shell -Skript wird das zuvor erstellte Python -Skript für den Hardware -Reset des Konzentrators aufgerufen. Das Skript muss nun mit ausführbaren Rechten mit dem folgenden Befehl zur Verfügung gestellt werden:
chmod 755 reset_gw.sh
Um die EUI des Gateway für die Registrierung auf dem Server zu erhalten, muss die station einmal gestartet werden (die Ausführung ist noch nicht voll funktionsfähig):
./station
Die EUI des Gateways besteht aus der MAC -Adresse des IoT2050 und wird nach Beginn der Station in der Konsolenausgabe angezeigt:

Die Anwendung kann mit der Schlüsselkombination CTRL+C gestoppt werden.
Um das Gateway mit den Dingen der Stack Community Edition zu autorisieren, muss ein API -Schlüssel in einer Datei namens tc.key gespeichert werden. Dazu muss das Gateway bei der Things Stack Community Edition registriert sein. Dies wird in den folgenden Schritten erläutert: Nach dem Anmelden auf der Webseite wird die Region ausgewählt. Danach kann ein neues Gateway hinzugefügt werden. Zu diesem Zweck muss eine eindeutige Gateway -ID sowie das Gateway -EUI aus der vorherigen Abbildung eingegeben werden. Darüber hinaus wird der Frequenzplan für die Region ausgewählt. Darüber hinaus kann ausgewählt werden, ob der Status des Gateways öffentlich sichtbar ist. Alle erforderlichen Konfigurationen sind in der folgenden Abbildung dargestellt:

Nach der Registrierung des neuen Gateways muss zur Genehmigung ein API -Schlüssel erstellt werden. Bevor der Schlüssel generiert wird, wird ihm ein Name zugewiesen. Darüber hinaus werden individuelle Rechte für die Verknüpfung als Gateway mit einem Gateway -Server für den Datenaustausch gegeben. Nach der Erstellung des API -Schlüssels muss es dringend kopiert und gespeichert werden, da es danach verschlüsselt und daher nicht mehr sichtbar ist.


Verwenden Sie die folgenden Befehle, um die tc.key -Datei zu erstellen und den zuvor kopierten API -Schlüssel anstelle von xxx zu verwenden:
export LNS_KEY="xxx"
echo "Authorization: Bearer $LNS_KEY" | perl -p -e 's/rn|n|r/rn/g' > tc.key
Dadurch wird die Installation und Konfiguration der Basisstation abgeschlossen. Jetzt kann die Station mit dem Befehl manuell gestartet werden:
./station
Wenn die Installation und Authentifizierung erfolgreich sind, startet die Station und das Gateway wird als in der Konsole der Dinge Stack Community Edition connected angezeigt:

Sie können weitere Informationen auf der Website von The Things Stack erhalten - Hinzufügen von Gateways.
Kopieren Sie das vorgefertigte Shell-Skript start.sh, das die station Binary nennt, in das Verzeichnis. Das Skript muss dann mit ausführbaren Rechten versehen werden:
chmod 755 start.sh
Kopieren Sie die vorgefertigte Systemd-Servicedatei IoT-2050-Lora-Gateway.service in das Verzeichnis /etc/systemd/system . Um dieses Verzeichnis zu ändern, verwenden Sie den folgenden Befehl:
cd /etc/systemd/system
Die Servicedatei kann jetzt manuell gestartet und mit dem folgenden Befehl getestet werden:
sudo systemctl start iot2050-lora-gateway.service
Nach erfolgreichem Start des Dienstes und der Station kann er mit dem folgenden Befehl gekündigt werden:
sudo systemctl stop iot2050-lora-gateway.service
Um den Autostart des Dienstes zu aktivieren, verwenden Sie den Befehl
sudo systemctl enable iot2050-lora-gateway.service
Nach dem nächsten Neustart wird das Gateway mit jedem Stiefel gestartet.
Das Gateway ist jetzt bereit für den Gebrauch. Endgeräte können nun der Anwendung über die Dinge Stack Community Edition hinzugefügt werden, die dann Daten über das Gateway zum Server übertragen. Hier finden Sie einige mögliche Endgeräte. So fügen Sie hier Endgeräte auf dem Server hinzu
Node-Red wird verwendet, um die gesammelten Daten zu visualisieren. Der Web-Editor ist über die IP-Adresse des IoT2050 und Port 1880 zugegriffen. Die Node-Red ist standardmäßig im Beispiel im Beispiel im Beispiel im Autostart. Öffnen Sie, um darauf zuzugreifen, einen Browser auf Ihrem PC, der mit dem IoT2050 verbunden ist, und öffnen Sie die URL http://<IP of the IOT2050>:1880/ .
Jetzt kann die Datei Flows.json in Node-Red importiert werden:
Menu -> Import -> Select file for Upload

Die Knoten müssen wie folgt eingestellt werden:
MQTT: Fügen Sie die Serveradresse und den Port der Dinge Stapel auf der Registerkarte Verbindung ein. Um alle Nachrichten zu abonnieren, setzen Sie das Thema für # .

Geben Sie Ihren Benutzernamen und den MQTT-api-Key als Passwort ein. Sie können diesen API-Schlüssel in den Integrationen-Feststellen Ihrer Anwendung generieren:



Node analysieren: In der Funktion analysieren Sie Knoten der verschiedenen device_id muss angepasst werden (abhängig von der Anwendung):

Beschreibung des Flusses: Um die eingehenden Nachrichten zu verarbeiten, wird zuerst ein JavaScript -Objekt erstellt. Anschließend werden die Uplinks in der Funktion analysieren, um die einzelnen Nachrichten jedes Endgeräts zu extrahieren. Zusätzlich wird der Knoten auf drei Ausgänge erweitert. Somit wird jede Nachricht einer Ausgabe zugeordnet und steht für ein Endgerät. Mit der Dashboard -Bibliothek und des Gaugeknotens können diese einzeln in ein Dashboard eingebaut werden.
Der Vorbildfluss zeigt ein Beispiel für die Kombination von drei Endgeräten im Parse-Knoten. Die IDs müssen je nach Anwendung und Einstellung im Dings -Netzwerk angepasst werden.
Dashboard: Um die Daten anzuzeigen, kann die Dashboard -Palette jetzt installiert und individuell konfiguriert werden:
Menu -> Manage Palette -> Install Tab -> Search and install the given libraries
Fertigstellung: Den Fluss zum IoT2050 herunterladen klicken Sie auf die Schaltfläche Deploy
Öffnen Sie das Dashboard von Knoten-Red die URL http://<IP of the IOT2050>:1880/ui
Vielen Dank für Ihr Interesse am Beitrag. Jeder kann freie Fehler, unklare Dokumentation und andere Probleme in Bezug auf dieses Repository im Abschnitt "Issues" melden. Zusätzlich kann jeder mit Pull -Anfragen Änderungen an diesem Repository vorschlagen.
Wenn Sie die Siemens -Contributor Lizenzvereinbarung (CLA) noch nicht unterschrieben haben, fordert das System Sie automatisch dazu auf, dies zu tun, wenn Sie Ihre Pull -Anfrage einreichen. Dies kann bequem über die Online -Plattform des CLA -Assistenten durchgeführt werden. Sobald die CLA unterschrieben ist, wird Ihre Pull -Anfrage automatisch gelöscht und zusammengestellt, wenn alle anderen Testphasen erfolgreich sind.
Bitte lesen Sie die rechtlichen Informationen.