Um die Einführung in die LoRa-Funktechnik möglichst einfach zu gestalten, ist bei unserer Lösung schon fast alles fix und fertig aufgebaut. Alle Boards werden von uns vor der Auslieferung gestestet und mit einem Testprogramm der RadioShuttle-Software bespielt. Bis zu den ersten eigenen Funkstreckentests sind es nur wenige Schritte.
Wir raten Ihnen, das vorherige Kapitel Das Turtle-Board und die Technik zu lesen. Dort finden Sie Erläuterungen zu den einzelnen Komponenten des Boards, auf die im Folgenden eingegangen wird.
Um das Turtle-Board in Betrieb zu nehmen, müssen folgende Voraussetzungen erfüllt sein:
- Verbinden Sie die mitgelieferte SMA-Antenne mit dem Board
- Verbinden Sie das Turtle-Board über das Micro-USB-Kabel mit einem Computer
Zusätzlich muss die RadioShuttle-Software kompiliert und auf das Board geladen werden. Dieser Vorgang wird in den folgenden Abschnitten beschrieben.
Demovideo: Turtle Board First Steps – Getting Started
Demovideo: RadioShuttle »Turtle« LoRa board programming with Mbed OS using sample applications
Arm Mbed Entwicklungsumgebung
Arm bietet eine kostenlose professionelle Entwicklungsumgebung für Software. Es beinhaltet eine einfach zu bedienende webbasierte IDE und ist kostenlos. Dadurch bieten sich folgende Vorteile:
- Arm C/C++ Compiler (erzeugt einen hochoptimierten Code)
- Mbed OS (integrierte und einfach zu bedienende Programmier-Library)
- Programmier-Editor
- Mehrbenutzerentwicklung in einem Projekt
- Versionskontrolle für Programmcode und Projekte
- Library-Verwaltung (Libraries abonnieren veröffentlichen)
- Leistungsfähiger Online-Compiler (Offline-Compiler ebenfalls möglich)
- Support-Portal (für Fragen und Diskussionen)
- Unterstützung für eine Vielzahl von Boards (Mbed unterstützt mehr als 130 verschiedene Entwicklungsboards). Das Turtle-Board ist pin-kompatibel zum Board STM NUCLEO-L432KC
Für unsere Turtle-Boards ist die Wahl auf Arm Mbed gefallenen, da hier eine hochprofessionelle Entwicklungsumgebung für Arm-basierte MCUs zur Verfügung steht. Mit ein paar Klicks lässt sich die RadioShuttle-Software importieren und kompilieren ohne dass dafür lokale Software installiert werden muss.
All unsere Beispiele basieren auf dem Mbed Online-Compiler. Kommerzielle Offline-Compiler mit Keil MDK, IAR-Systemen oder der kostenlose GCC-Compiler/-Debugger können ebenfalls verwedendet werden, wenn das Mbed-Projekt in eine lokale Entwicklungsumgebung expoertiert wird. Diese Vorgehensweise wird hier allerdings nicht beschrieben.
Zu Anfang muss die RadioShuttle-Software kompiliert und in das Board geladen werden. Diese Schritte werden im Folgenden beschrieben.
Installation: RadioShuttle STM32 Utility
Um Anwendungen („.bin“-Dateien) in das Board laden zu können, wird ein spezielles Tool benötigt. RadioShuttle stellt diese STM32-Tools für Mac, Windows und Linux sowohl für Kommandozeilen als auch als GUI-Programm für Mac und Windows zur Verfügung. Die STM32-Tools können hier heruntergeladen werden (siehe auch Kapitel RadioShuttle STM32 Utility).
Installation unter Windows
Um mit dem Turtle-Board arbeiten zu können, wird ein Terminal-Emulator benötigt. Für Windows empfehlen wir „Tera Term“, das hier heruntergeladen werden kann.
Für beide Programme, RadioShuttle STM32 Utility und Tera Term, sind Windows erforderlich. Lesen Sie dazu den Abschnitt „7. Treiberinstallation unter Windows“ auf der Seite RadioShuttle STM32 Utility.
Installation unter macOS
MacOS-Anwender müssen keine weiteren Vorkehrungen treffen, da ein Terminal-Emulator sowie Treiber bereits im Betriebssystem enthalten sind.
Mbed-Konto anlegen
- Geben Sie in einem Webbrowser die Adresse https://os.mbed.com/account/signup/ ein und legen Sie ein kostenloses Mbed-Konto an
Mit diesem Konto können Sie auf die access Mbed-Tools und Dienste, die Sie zum Kompilieren der RadioShuttle-Software für das Turtle-Board benötigen, zugreifen.
RadioShuttle-Beispielsoftware importieren
Ein Link führt Sie zu der RadioShuttle-Software, die in die Mbed-IDE importiert werden kann.
- Starten Sie den Mbed Online Compiler
- Klicken Sie auf „Import“
- Klicken Sie auf „Click here to import from URL“ und geben Sie im Feld „Source URL“ die Adresse
https://github.com/RadioShuttle/MBED_Turtle_RadioShuttle
ein - Geben Sie im Feld „Import Name“ einen Namen ein, z. B. Turtle-Test
- Aktivieren Sie keinesfalls die Option „Update all libraries to the latest revision“; nicht alle Kombinationen sind getestet worden!
- Klicken Sie auf die Schaltfläche „Import“
Vermutlich wird Ihnen eine Warnmeldung angezeigt, dass Sie für Ihr Mbed-Konto noch keine Plattform angegeben haben. In diesem Fall gehen Sie folgendermaßen vor:
- Klicken Sie auf „Add Platform“
- Wählen Sie „NUCLEO-L432KC“ aus und klicken Sie auf „Add to your Mbed Compiler“
- Nachdem Sie die Plattform ausgewählt haben, klicken Sie auf die Schaltfläche „Import“
Jetzt ist ein neues Projekt angelegt. Es beinhaltet die Software für das Turtle-Board sowie das RadioShuttle-Protokoll mit der Beispielanwendung RadioTest (siehe Abb. 1).
Das ausgesuchte Board wurde Ihrem Konto hinzugefügt und sämtliche Objekte, die zum Projekt gehören, sollten im Fenster „Program Workspace“ aufgelistet sein.
Objects im Projekt „Turtle_RadioShuttle“
Name | Beschreibung |
---|---|
BufferedSerial | Eine gepufferte serielle Library, die asynchrones IO bereitstellt, wenn die Karte mit einem seriellen Debugger oder einer UART-Verbindung verwendet wird |
NVProperty | Nichtflüchtiger Speicher (Permanentspeicher) für Einstellungen, welcher den internen Flash-Speicher der MCU nutzt um Einstellungen bei der Installation neuer Software zu sichern |
RadioShuttle-STM32L4 | RadioShuttle Peer-to-Peer LoRa-Funkprotokollssoftware für STM32L4 MCUs |
RadioShuttle.h* | RadioShuttle Protokoll-API für Entwickler *im Ordner „RadioShuttle-STM32L4“ |
SX1276GenericLib | LoRa Funkchip-Treiber für die SX127x-Serie |
USBDeviceHT | USB-Geräte-Library für gepufferte serielle CDC-Verbindungen (Virtual COM-Ports) |
Utils | Hilfecode für Print-Debugging (dprintf), Konfiguration der seriellen Konsole usw. |
main.cpp/main.h | Main-Loop für das RadioShuttle-Programm |
xPinMap.h | Pin-Belegung und Funktionsdefinition der MCU für das Turtle-Board |
RadioTestSample.cpp | Peer-to-Peer LoRa-Funkbeispiel („RadioTest“) |
mbed | Mbed Entwicklungs-Library |
RadioShuttle-Software kompilieren
- Gehen Sie auf die Mbed-Website und klicken Sie auf „Compiler“
- Wählen Sie im Bereich „Program Workspace“, im Ordner „My Programs“, das Projekt „Turtle_RadioShuttle“ aus
- Klicken Sie in der Navigationsleiste auf die Schaltfläche „Compile“
- Sichern Sie die generierte Datei „Turtle_RadioShuttle.NUCLEO_L432KC.bin“ auf Ihrem Computer
RadioShuttle-Software in das Board laden
- Vergewissern Sie sich, dass das Turtle-Board an Ihren Computer angeschlossen ist
- Starten Sie das Tool „STM32 Utility“
Zuerst muss das Board in den DFU-Bootmodus (Device Firmware Upgrade) versetzt werden (die Statuszeile "STM32 DFU Target not available (enable via User and Reset button)"
zeigt, dass dies noch nicht der Fall ist):
- Halten Sie die „User“-Taste gedrückt und drücken Sie einmal kurz die „Reset“-Taste
Jetzt sollte die Statuszeile STM32 (ID:0) Flash: 256 kB
anzeigen. Das Board befindet sich nun im DFU-Modus.
- Ziehen Sie die generierte Datei „Turtle_RadioShuttle.NUCLEO_L432KC.bin“ auf das Fenster „RadioShuttle STM32 Utility“
Detaillierte Anweisungen finden Sie im Kapitel RadioShuttle STM32 Utility.
Weiter mit RadioShuttle-Programminstallation für Turtle