LoRaWAN UDP Packet Forwarder 1
17.12.2024
Elektronik | Funk | Software
Der Technik-Blog
Sidewalk ist ein von Amazon entwickeltes Funkprotokoll für IoT-Endgeräte. In diesem Artikel geht es um die Inbetriebnahme vom CC1352P7 LaunchPad (Development Board) mit Amazon Sidewalk.
Hinweis: Sidewalk ist derzeit nur in den Vereinigten Staaten verfügbar. Wer Sidewalk außerhalb von den Vereinigten Staaten testen möchte, benötigen einen OpenVPN-Tunnel mit einer amerikanischen IP-Adresse. Das Amazon Echo oder andere Sidewalk-Bridges müssen ebenfalls über den VPN-Tunnel geroutet werden und mit einem amerikanischen Amazon-Konto verknüpft sein.
Achtung: Der Betrieb von Sidewalk mit FSK im Bereich um 915 MHz ist in Europa verboten! Alternativ kann Sidewalk auch nur mit der Funktechnologie Bluetooth betrieben werden. Die im jeweiligen Land gültigen Fernmeldegesetze zum Betrieb von Funkanlagen sind unbedingt zu beachten!
Eine Sidewalk Bridge (z.B. das Amazon Echo 4)
Texas Instruments CC1352P7 LaunchPad
Python 3.6 oder neuer
Code Composer Studio (CCSTUDIO IDE), Getestet mit Version: 13.3.0
SIMPLELINK-LOWPOWER-F2-SDK (Sidewalk SDK), Getestet mit Version: 7.40.00.77
Betriebsystem FreeRTOS, Getestet mit Version: 202212.01
ARM GNU Compiler, Getestet mit Version: 13.2.Rel1
Aktiver Amazon Web Services (AWS) Account
Python wird für das TI-LaunchPad eigentlich nicht benötigt. Das Sidewalk-Beispiel erstellt nach dem kompilieren automatisch eine Webseite in AWS, auf der erste bi-direktionale Verbindungen zwischen dem LaunchPad und AWS über die Bridges getestet werden können. Dabei handelt es sich um Python-Scripts, die nach dem kompilieren ausgeführt werden und dadurch die Installation von Python notwendig machen.
Das Texas Instruments entickelte Code Composer Studio stellt die Entwicklungsumgebung für das TI-LaunchPad bereit. Mit dieser Software werden die Programme für den Mikrocontroller geschrieben und kompiliert. Ein von TI bereitgestelltes Sidewalk-Beispiel beinhaltet auch eine Webanwendung, die automatisch ein Deployment in AWS durchführt. Die Installation von CCS erfolgt über einen Windows-Installer. Bei der Installation wird die Checkbox "SimpleLink CC13xx, ..." für das LaunchPad aktiviert:
Nach einer erfolgreichen Installation von CCS kann anschließend das SIMPLELINK-LOWPOWER-F2-SDK installiert werden.
Das Sidewalk SDK für das CC1352P7 LaunchPad befindet sich im Paket vom SIMPLELINK-LOWPOWER-F2-SDK. Die Installation vom SDK wird ebenfalls über den Windows Installer durchgeführt:
Damit in CCS das Sidewalk-Beispiel geöffnet werden kann, sind vorab noch einige Vorbereitungen zu erledigen. Als Betriebssystem für den Mikrocontroller wird FreeRTOS verwendet. FreeRTOS wird als ZIP-Archiv von der Webseite heruntergeladen und in das Installationsverzeichnis von CCS nach folgenden Pfad extrahiert:
C:\ti\FreeRTOSv20XXXX.XX
Anschließend muss der Installationspfad von FreeRTOS in CCS angegeben werden. Dazu wird CCS geöffnet und unter dem Tab "Window"->"Peferences" das Optionsmenü aufgerufen. Unter dem Tab "Code Composer Studio"->"Build"->"Variables" wird eine neue Variable mit folgenden Daten erstellt:
Variable Name: FREERTOS_INSTALL_DIR
Type: Path
Value: C:\ti\FreeRTOSv20XXXX.XX (Pfad zum extrahierten ZIP-Archiv)
Zum Schluss muss noch der ARM GNU Compiler hinzugefügt werden. Nach dem Download von der Herstellerwebseite wird das ZIP-Archiv ebenfalls in das Installationsverzeichnis von CCS nach folgenden Pfad extrahiert: C:\ti\ccsXX\ccs\tools\compiler\
Auch der Pfad zum Compiler muss in CCS angegeben werden. Im Fenster "Preferences" befindet sich unter dem Tab "Code Composer Studio"->"Build"->"Compilers" die Option, weitere Compiler anzuführen. Hier muss der Pfad zum Compiler angegeben werden:
Das Sidewalk-SDK bringt ein Code-Beispiel mit sich, das nicht nur das LaunchPad konfiguriert, sondern auch ein komplettes Sidewalk-Projekt mit AWS aufsetzt. Das Projekt wird in CCS importiert und befindet sich in folgenden Verzeichnis: C:\ti\simplelink_cc13xx_cc26xx_sdk_7_XX_XX_XX\examples\rtos\LP_CC1352P7_1\ti_sidewalk
Konnte das Projekt erfolgreich in CCS importiert werden, so sollte sich automatisch die Datei aws_creditials.yaml öffnen. Hier werden die Keys von AWS eingesetzt:
Die Schlüssel für das Gerät werden in der AWS-Console im Modul IAM (Identity and Access Management) erstellt. Dazu wird unter dem Tab "Access Management"->"Users" ein neuer Benutzer erstellt:
Anschließend erfolgt die Rollenzuweisung. Für einen unkomplizierten Einstieg sollte die Rolle "AdministratorAccess" dem Benutzer zugewiesen werden:
Ist die Policy AdministratorAccess nicht gewünscht oder zu hoch, so kann alternativ auch auf folgende Policies beschränkt werden: IoT Core, DynamoDB, S3, CloudFront
Nachdem der neue User erstellt wurde, können die Access-Keys generiert werden:
Als Case wird "Other" angeben:
Die Keys werden im Anschluss angezeigt und können als CSV-Datei heruntergeladen werden:
Ein Download der CSV wird empfohlen, da eine spätere Einsicht nicht mehr möglich ist.
Nachdem die Schlüssel in "aws_credentials.yaml" eingefügt wurden, kann diese Datei geschlossen werden. Anschließend wird die Datei "sid_demo.syscfg" geöffnet. Unter dem Tab "TI-Sidelwalk" wird ausgewählt, wie sich das TI LaunchPad mit Sidewalk verbindet. Außerhalb von den USA sollte eine Verbindung nur via BLE erfolgen! Folgende Einstellungen sind hier auszuwählen:
Weiter unten sind noch weitere Einstellungen festzulegen, die sich auf den Betrieb mit AWS und auf die Webapp beziehen:
Mit den angegebenen Zugangsdaten wird man sich im Anschluss bei der Webapp anmelden. Als AWS Profile wird die Einstellung "default" angegeben und die aktuell einzige funktionierende Region ist "us-east-1". Wurden alle erforderlichen Daten angegeben, kann das Projekt kompiliert werden:
Der Kompiliervorgang nimmt in der Regel einige Minuten in Anspruch. Zuerst wird das eigentliche Programm für das Launchpad kompiliert, anschließend beginnt automatisch die Geräte- und Dashboard Einrichtung bei AWS. Ist alles fertig, sollte sich ein Webbrowser öffnen mit der Login-Seite vom Sidewalk Demo-Projekt.
Die Firmware für das LaunchPad muss noch auf den Controller geflasht werden. In CCS befindet sich unter dem Reiter "Run"->"Load" ein Punkt mit der Bezeichnung "Build Projet Before Load", welcher nicht aktiviert sein darf. Anschließend klickt man auf den oberen Reiter "Select Programm To Load":
Es öffnet sich ein Fenster, wo man das zuvor kompilierte Projekt aus dem Debug-Ordner auswählt:
Mit einem Klick auf OK startet der Uploadvorgang. Eventuell muss zuvor ein Firmware-Update gemacht werden, dieses wird an der Stelle einfach durchgeführt:
Der Uploadvorgang dauert in der Regel nur einige wenige Sekunden:
Das LaunchPad führt nach dem Upload einen Reset durch und startet mit dem Verbindungsaufbau. Wenige Minuten später sollte das LaunchPad mit der AWS Webapp via Sidewalk kommunizieren:
The Things Network kümmert sich lediglich um den Transport von LoRaWAN-Paketen, jedoch nicht um die Speicherung. Hier geht es um die Entwicklung einer Webapp.
WeiterlesenAEQ-WEB © 2015-2024 All Right Reserved