Inbetriebnahme

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

Turtle Board First Steps – Getting Started (auf Englisch)

Demovideo: RadioShuttle »Turtle« LoRa board programming with Mbed OS using sample applications

RadioShuttle »Turtle« LoRa board programming with Mbed OS using sample applications (auf Englisch)

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

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).

Abb. 1: Mbed Compiler

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“

NameBeschreibung
BufferedSerialEine gepufferte serielle Library, die asynchrones IO bereitstellt, wenn die Karte mit einem seriellen Debugger oder einer UART-Verbindung verwendet wird
NVPropertyNichtflüchtiger Speicher (Permanentspeicher) für Einstellungen, welcher den internen Flash-Speicher der MCU nutzt um Einstellungen bei der Installation neuer Software zu sichern
RadioShuttle-STM32L4RadioShuttle Peer-to-Peer LoRa-Funkprotokollssoftware für STM32L4 MCUs
RadioShuttle.h*RadioShuttle Protokoll-API für Entwickler
*im Ordner „RadioShuttle-STM32L4“
SX1276GenericLibLoRa Funkchip-Treiber für die SX127x-Serie
USBDeviceHTUSB-Geräte-Library für gepufferte serielle CDC-Verbindungen (Virtual COM-Ports)
UtilsHilfecode für Print-Debugging (dprintf), Konfiguration der seriellen Konsole usw.
main.cpp/main.hMain-Loop für das RadioShuttle-Programm
xPinMap.hPin-Belegung und Funktionsdefinition der MCU für das Turtle-Board
RadioTestSample.cppPeer-to-Peer LoRa-Funkbeispiel („RadioTest“)
mbedMbed 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