Implementierung mehrfach vernetzter Anwendungen zur Bestandsüberwachung
2023-01-11
Moderne Anwendungen zur Bestandsüberwachung, wie z. B. die Überwachung von Viehbeständen, Flottenmanagement und Logistik, erfassen automatisch aktuelle Statusinformationen und Positionskoordinaten der verfolgten Objekte. Ein eingebauter Transponder überträgt seine Aufzeichnungsdaten in die Cloud und stellt sie der Leitstelle oder einem mobilen Gerät zur Verfügung. In der Fabrik sind häufig drahtlose Datenaktualisierungen mit kurzer Reichweite erforderlich, um Logistikdaten, Prozessverlaufs- und Überwachungsdaten auszutauschen, Konfigurationen zu ändern oder Firmware-Updates im Transponderspeicher durchzuführen.
Die Entwickler solcher Bestandsüberwachungssysteme stehen vor der Herausforderung, einen multifunktionalen Sensortransponder zu konzipieren, der über verschiedene Lang- und Kurzstrecken-Funkprotokolle kommuniziert, ein breites Spektrum an Messdaten erfasst, monatelang ohne Batteriewechsel arbeitet und alle Daten über Internetdienste zur Verfügung stellt. Darüber hinaus müssen die Entwickler all dies erreichen und gleichzeitig die Kosten senken und die Markteinführungszeit verkürzen.
Auch wenn die enorme Größe der Aufgabe überwältigend sein kann, können Entwickler viel Zeit und Energie sparen, wenn sie Entwicklungskits verwenden, in denen ein Großteil der erforderlichen Hardware und Software bereits integriert ist.
Dieser Artikel befasst sich mit den technischen Anforderungen einer fortschrittlichen, anwendungsübergreifenden Bestandsüberwachung. Anschließend wird ein multifunktionales Entwicklungskit von STMicroelectronics vorgestellt, das den Aufwand für den Entwurf, das Testen und die Bewertung von Prototypen erheblich reduziert. Er gibt einen Einblick in die wichtigsten Funktionsmerkmale des Entwicklungskits und zeigt, wie Entwickler die Funktionen der kombinierten System-on-Chip-Module (SoC) einfach anpassen können, ohne selbst programmieren zu müssen, und die Daten dann aus der Cloud abrufen und visualisieren können.
Merkmale eines drahtlosen Messtransponders
Für die Bestandsüberwachung gibt es eine Vielzahl von Anwendungsbereichen, die jeweils sehr spezifische technische Ausstattungen für den Transponder und das damit verbundene Netzwerk erfordern. In Abbildung 1 sind die technischen Merkmale eines drahtlosen Messtransponders in vier Anwendungskategorien aufgeführt.
Abbildung 1: Die Merkmale eines drahtlosen Messtransponders hängen von der Anwendung der Bestandsüberwachung ab. (Bildquelle: STMicroelectronics)
Ein autonomer Transponder, der mit dem Objekt mitgeführt wird, muss Umwelteinflüsse, die Position und den Zustand des Objekts erfassen (Sensing, Abbildung 1), speichern und bei nächster Gelegenheit über eine beliebige drahtlose Schnittstelle senden (Connectivity). Die Signalverarbeitung und die Umwandlung in verschiedene drahtlose Protokolle muss von einem ausreichend leistungsfähigen Mikrocontroller (MCU) mit einem hohen Maß an Datensicherheit („Processing & security“) übernommen werden. Die MCU steuert auch das Energiemanagement („Power Management“) und sorgt so für eine lange Lebensdauer der Transponderbatterie.
Die erforderliche Datenverfügbarkeit einer Anwendung zur Bestandsüberwachung wirkt sich auf die Komplexität der Sensoren aus und erfordert eine entsprechende Vernetzung. Für vorhersehbare, bekannte Transportwege, wie z.B. bei der Paketzustellung, reicht es aus, die Messsignale im Transponder zu speichern. Die Daten können dann aus nächster Nähe per Bluetooth Low Energy (BLE) oder Nahfeldkommunikation (NFC) an der nächsten Logistik-Kontrollstelle ausgelesen werden.
Sowohl beim Flottenmanagement als auch in der Logistik und bei der Überwachung von Viehbeständen über große Entfernungen sollte die Datenübertragung vom Transponder über die Cloud zur Endanwendung möglichst in Echtzeit erfolgen. Der Transponder benötigt daher eine mobile Funkschnittstelle, um eine große Reichweite zu erzielen. Zu den Optionen gehören LoRaWAN (Long Range, Wide Area Network), Sigfox und NB-IoT (Narrowband-Internet of Things), da diese Protokolle für energiesparende Datenübertragungen mit geringem Durchsatz optimiert sind.
Ein komplettes Ökosystem zur Bestandsüberwachung für weniger Entwicklungsaufwand
Systementwickler, die ihre Anwendung zur Bestandsüberwachung (Asset-Tracking-Anwendung, ASTRA) kosten- und zeiteffizient realisieren wollen, können die multifunktionale Entwicklungsplattform STEVAL-ASTRA1B von STMicroelectronics nutzen. Die Plattform umfasst mehrere ICs und SoC-Module, die das Prototyping, die Programmierung, das Testen und die Bewertung innovativer Ortungs- und Überwachungslösungen erheblich vereinfachen. Das Entwicklungskit besteht aus einem modularen Evaluierungsboard, Firmware-Bibliotheken, Programmierwerkzeugen und einer Schaltungsdokumentation sowie einer App für mobile Geräte und einer webbasierten Visualisierungsoberfläche (Abbildung 2).
Abbildung 2: Das gebrauchsfertige Ökosystem zur Bestandsüberwachung erstreckt sich vom drahtlosen Messtransponder über die Cloud bis hin zur Endanwendung und reduziert den Entwicklungsaufwand. (Bildquelle: STMicroelectronics)
Das Board STEVAL-ASTRA1B basiert auf zwei stromsparenden SoC-Modulen für Kurz- und Langstrecken-Vernetzung sowie NFC. Auf dem Modul ist zudem ein Modul für Datensicherheitsfunktionen enthalten. Die Trägerplatine verfügt über mehrere Umgebungs- und Bewegungssensoren sowie ein GNSS-Modul (Global Navigation Satellite System), das Positionskoordinaten liefert und Geofencing ermöglicht. Ein Energiemanagementsystem regelt die Betriebsweise aller Gerätekomponenten und steuert die Stromversorgung. Die Stromversorgung besteht aus einem Schaltwandler, einer Batterie und einem USB-C-Ladecontroller, um die Lebensdauer der Batterie so weit wie möglich zu verlängern. Im Lieferumfang enthalten sind ein Lithium-Polymer-Akku (Li-Poly) für 480 Milliamperestunden (mAh), ein Gehäuse, eine SMA-Antenne (LoRa) und eine NFC-Antenne.
Zu den ICs und SoCs des Boards STEVAL-ASTRA1B gehören:
- Zwei Wireless-SoCs:
- STM32WB5MMGH6TR: Dieses SoC-Modul, das auf einer Wireless-MCU Arm®-Cortex®-M4/M0+ für 2,4 Gigahertz (GHz) und extrem niedrigem Stromverbrauch basiert, dient als Hauptanwendungsprozessor und unterstützt 802.15.4, BLE 5.0, Thread und Zigbee
- STM32WL55JCI6: Dieser Wireless-SoC basiert auf einer Wireless-MCU Arm-Cortex-M0+ mit extrem niedrigem Stromverbrauch und unterstützt LoRa, Sigfox und GFSK für den Sub-Gigahertz-Bereich (150 bis 960 Megahertz (MHz))
- ST25DV64K-JFR8D3: NFC-Sender
- TESEO-LIV3F: GNSS-Modul mit simultaner Mehrfachkonstellation
- Umwelt- und Bewegungssensoren:
- STTS22HTR: Digitaler Temperatursensor; -40 bis 125°C
- LPS22HHTR: Drucksensor; 26 bis 126 Kilopascal (kPa), absolut
- HTS221TR: Luftfeuchte- und Temperatursensor; 0 bis 100% relative Luftfeuchtigkeit (RH) I²C, SPI ±4,5% RH
- LIS2DTW12TR: Beschleunigungsmesser X-, Y-, Z-Achse; ±2g, 4g, 8g, 16g, 0,8 Hertz (Hz) bis 800 Hz
- LSM6DSO32XTR: Beschleunigungsmesser, Gyroskop, Temperatursensor I²C, SPI-Ausgang
- STSAFE-A110: Sicherheitselement
- Batteriebetriebene Lösung mit intelligenter Energieverwaltungsarchitektur:
- ST1PS02BQTR: Abwärtswandelnder (Buck) Schaltregler-IC; positiv einstellbar, 1,8 Volt, 1 Ausgang, 400 Milliampere (mA)
- STBC03JR: Batterielade-IC für Lithium-Ionen- (Li-Ion) oder Li-Poly-Akkus
- TCPP01-M12: USB-Typ-C- und PD-Schutz (Power Delivery, Stromversorgung)
Das Evaluierungsboard arbeitet bei Temperaturen von +5 bis 35°C und verwendet die folgenden Frequenzbänder:
- BLE: 2400 MHz bis 2480 MHz, +6 Dezibel bezogen auf ein Milliwatt (mW) (dBm)
- LoRaWAN: 863 MHz bis 870 MHz, +14 dBm (begrenzt durch die Firmware)
- GNSS (Empfänger): 1559 MHz bis 1610 MHz
- NFC: 13,56 MHz
Die interne Struktur des STEVAL-ASTRA1B
Der ASTRA-Transponder verhält sich wie ein Datenlogger und unterteilt seinen Datenfluss in drei Hauptblöcke, die jeweils aus Hardware- und Softwaretreibern sowie der Anwendungsschicht bestehen (Abbildung 3). Der Dateneingang (Abbildung 3, links) erfasst alle Sensorsignale des Boards. Der zentrale Block (Abbildung 3, Mitte) verarbeitet und speichert die Daten. Schließlich werden die gespeicherten Daten drahtlos übertragen (Abbildung 3, rechts). Im Falle einer Rekonfiguration, eines Firmware-Updates oder des Schreibens von Prozess-/Logistikdaten verläuft der Signalfluss in umgekehrter Richtung.
Abbildung 3: Datenfluss des drahtlosen Messtransponders: Die Sensorsignale (links) werden verarbeitet, gespeichert (Mitte) und dann bei Gelegenheit gesendet (rechts). (Bildquelle: STMicroelectronics)
Die FP-ATR-ASTRA1-Firmware erweitert die STM32Cube-Entwicklungsumgebung von STMicroelectronics und implementiert eine vollständige Bestandsüberwachungsanwendung, die Verbindungen mit großer Reichweite (LoRaWAN, Sigfox) und kurzer Reichweite (BLE, NFC) unterstützt. Das Funktionspaket liest Daten von Umwelt- und Bewegungssensoren, ruft GNSS-Geopositionierung ab und sendet alles über BLE an ein mobiles Gerät und parallel dazu über ein LoRaWAN-Netzwerk an die Cloud.
Das FP-ATR-ASTRA1-Paket unterstützt Niederleistungsprofile, um eine lange Batterielebensdauer für maximale Autonomie zu gewährleisten. Darüber hinaus bietet es wichtige Funktionen wie eine sichere Elementverwaltung, die Möglichkeit, benutzerdefinierte Algorithmen hinzuzufügen, Debugging-Schnittstellen und Erweiterungsmöglichkeiten.
Das Softwarepaket ist unterteilt in: Dokumentation, Treiber und HAL, Middleware und Beispielprojekte. Die Projekte enthalten Quellcode und kompilierte Binärdateien für die integrierten Entwicklungsumgebungen (IDEs) Keil, IAR und STM32Cube. Die folgenden fünf vordefinierten Anwendungsfälle sind individuell konfigurierbar: Flottenmanagement, Viehüberwachung, Warenüberwachung, Logistik und kundenspezifische Anwendungen.
Das STEVAL-ASTRA1B arbeitet als einfacher Zustandsautomat, der seine Betriebsart ereignisabhängig ändert. Die beiden Hauptzustände sind für den Vollbetrieb (Run) oder den Niederstrombetrieb (LP, Low Power) ausgelegt. Im Run-Modus sind alle Funktionen aktiv, und alle Daten werden wie konfiguriert übertragen. Im LP-Zustand werden alle Komponenten mit Ausnahme der MCU in den Energiesparmodus versetzt oder deaktiviert (Abbildung 4).
Abbildung 4: Die beiden Hauptbetriebsarten des STEVAL-ASTRA1B sind der Vollbetrieb (Run) oder der LP-Modus. (Bildquelle: STMicroelectronics)
Durch Drücken der Seitentaste wird der Übergang zwischen den beiden Zuständen ausgelöst. Eine weitere Eingabe kann die Ausgabe eines MEMS-Ereignisses (MEMS: Mikroelektromechanisches System) oder das Ergebnis eines Algorithmus sein. Dies ist nur ein Beispiel dafür, wie ein Zustandsautomat implementiert werden kann, um das Verhalten des Geräts zu ändern. Es können auch mehrere Zwischenzustände implementiert werden, um ein Gleichgewicht zwischen der Reaktionsfähigkeit des Systems und der Batterielebensdauer herzustellen.
Mögliche Ereignisse sind
- BP: Ereignis „Taste gedrückt“ („Button Pressed“)
- SD: Ereignis der Abschaltung („Shutdown“)
- ER: Fehlerereignis
- EP: Automatischer Übergang zum nächsten Schritt
- RN: Kommando für „Run-Modus aktivieren“
- LP: Kommando für „LP-Modus aktivieren“
Abrufen und Visualisieren von Cloud-Daten
Auf dem Transponder STEVAL-ASTRA1B ist das Firmwarepaket FP-ATR-ASTRA1 vorinstalliert, so dass Umweltmesssignale und GNSS-Positionsdaten in wenigen Minuten visualisiert werden können.
Mit der mobilen App STAssetTracking für Smartphones und Tablets, die Bluetooth aktiviert haben und mit dem Internet verbunden sind, wird der Transponder über das myst.com-Benutzerkonto auf dem TTN-V3-Netzwerkserver (TTN: The Things Network) als LoRaWAN-Teilnehmer registriert. Er ist auch mit dem Web-Dashboard DSH-ASSETRACKING auf AWS (Amazon Web Services) verbunden.
Nach der TTN-Registrierung erscheint das STEVAL-ASTRA1B in der aktualisierten Geräteliste der mobilen App. Durch Drücken der Schaltfläche „START SYNC“ im Menü <SETTINGS> wird der Sendebetrieb des Transponders aktiviert, so dass er die gespeicherten Daten parallel über BLE und LoRaWAN aussendet. Die mobile App kann die Messdaten aus dem Speicher auf einem Dashboard anzeigen und die GNSS-Position des Transponders ausgeben oder als Marker auf einer Karte darstellen (Abbildung 5).
Abbildung 5: Die mobile App hilft bei der Registrierung des Transponders bei TTN und bei der Verknüpfung mit dem Cloud-Dashboard; sie visualisiert die aufgezeichneten Sensorwerte und unterstützt die Konfiguration und Fehlersuche. (Bildquelle: STMicroelectronics)
Neben dem ASTRA-Transponder kann das Web-Dashboard viele andere eigenständige drahtlose Tracker wie den P-L496G-CELL02 (LTE) und den NUCLEO-S2868A2 (Sigfox HF-Sender) oder internetgekoppelte Knoten wie den STEVAL-SMARTAG1 (Wi-Fi), die STEVAL-MKSBOX1V1 (BLE-Endknoten) und den STEVAL-SMARTAG1 (NFC-Endknoten) in der Cloud zusammenfassen. Dies ermöglicht die Entwicklung eines cloudbasierten drahtlosen Multiprotokoll-Ökosystems.
Individuelle Konfiguration und Programmierung
Nachdem die Werkseinstellungen des ASTRA-Transponders bei der Erstinbetriebnahme erfolgreich evaluiert wurden, muss der Entwickler den Transponder im nächsten Schritt an seine eigene Anwendung zur Bestandsüberwachung anpassen.
Für kleinere Anpassungsarbeiten ohne zusätzliche Hardware kann es ausreichen, die verschiedenen Parameter und Funktionen über BLE und die mobile App zu konfigurieren (drücken Sie in der mobilen App auf das Symbol mit „Hammer und Schraubenschlüssel“, Abbildung 5).
Eine andere Möglichkeit, das Projekt zu konfigurieren, ist die Verwendung einer Befehlszeile und einer Debug-Konsole. Während ein PC-Terminalprogramm (z. B. Tera Term) über USB durch einen virtuellen COM-Port kommuniziert, verwendet das mobile Gerät die STBLESensor-App (ST BLE Sensor) und vernetzt sich über BLE (Abbildung 6).
Abbildung 6: Befehlszeile und Debug-Konsole auf einem PC (links) und auf einem mobilen Gerät (rechts). (Bildquelle: STMicroelectronics)
Für die Neuprogrammierung des ASTRA-Boards, z. B. für ein Firmware-Update, die Integration anderer Bibliotheksfunktionen oder die Erstellung eines eigenen Anwendungscodes, ist der Zugriff über die JTAG-Schnittstelle bequem. Dazu wird der separat erhältliche Debug- und Programmieradapter STLINK-V3MINIE über ein 14-poliges Flachbandkabel mit dem ASTRA-Board verbunden. Eine auf einem PC installierte IDE wie Keil, IAR oder STM32Cube kann dann kompilierte Binärdateien in den Speicher des Anwendungsprogramms oder in Debug-Programmsequenzen schreiben.
Der STLINK-V3MINI bietet auch eine virtuelle COM-Port-Schnittstelle, über die der Host-PC mit dem Ziel-Mikrocontroller über UART kommunizieren kann.
Es gibt mehrere Möglichkeiten, Firmware-Updates für die verschiedenen Arm-MCUs durchzuführen:
- Das STM32Cube-Programmiergerät auf einem PC schreibt die Binärdatei mithilfe eines JTAG-Adapters und eines MCU-Bootloaders in den Flash-Speicher
- Das STM32Cube-Programmiergerät auf einem PC schreibt die Binärdatei über USB und einen MCU-Bootloader in den Flash-Speicher
- Das drahtlose Firmware-Upgrade (FUOTA, Firmware Upgrade Over The Air) erfolgt über BLE mit der STBLESensor-App auf einem mobilen Gerät
Da der Applikationscontroller STM32WL55JC (LoRaWAN) als Master für den STM32WB5MMG (BLE) fungiert, muss der jeweils zu flashende MCU-Kern über Jumper ausgewählt werden.
Grafische Softwarekonfiguration mit STM32CubeMX
STM32Cube erleichtert Entwicklern das Leben, indem es den Entwicklungsaufwand, die Zeit und die Kosten reduziert. Die IDE deckt das gesamte STM32-MCU-Portfolio ab. Darüber hinaus ermöglicht STM32CubeMX die Konfiguration und die Generierung von C-Code mit Hilfe grafischer Assistenten. Das Softwarepaket FP-ATR-ASTRA1 erweitert die STM32Cube-Funktionalität und kann direkt in die STM32CubeMX-IDE installiert werden.
Abbildung 7 zeigt die STM32CubeMX-Shell: Navigation (links und oben), FP-ATR-ASTRA1-Paketkonfiguration (Mitte) und seine Architektur (rechts). Das FP-ATR-ASTRA1-Paket bietet drei Registerkarten zur Anpassung: [Platform Settings], [Parameter Settings] und [ASTRA ENGINE].
Abbildung 7: Grafische Softwarekonfiguration mit dem STM32CubeMX-Tool: Navigation (links und oben), Konfiguration des FP-ATR-ASTRA1-Pakets (Mitte) und dessen Architektur (rechts). (Bildquelle: STMicroelectronics)
Sobald alle Einstellungen konfiguriert sind, kann der Code vom STM32CubeMX generiert werden, indem man auf die Schaltfläche <Generate Code> drückt. Durch Öffnen der gewünschten IDE kann der Firmware-Code dann angepasst, kompiliert und auf das Board geflasht werden.
Der generierte Quellcode hat eine modulare Architektur in Bezug auf Hardwareblöcke und Funktionen. Die Verwaltung der Hardware-Blöcke wird durch spezifische Definitionen (USE_GNSS) festgelegt. Die Funktionen werden in verschiedenen Dateien verwaltet, z. B. die Systeminitialisierung, die Konfiguration der Zustandsmaschine oder die Datenverwaltung.
Trotz der Komplexität des Dateibaums sind nur wenige Dateien an der Anwendungskonfiguration der Anwendungsfälle beteiligt:
- app_astra.c/.h
Diese Hauptdatei ist der Einstiegspunkt und ruft Initialisierungsfunktionen in MX_Astra_Init() auf (Listing 1)
Listing 1: Diese Funktion MX_Astra_Init() wird für die Systeminitialisierung verwendet. (Quelle des Listings: STMicroelectronics)
- astra_confmng.c/.h
Dieser Board-Konfigurationsmanager enthält die Variablen, die vom Benutzer ausgewählt werden, um die einzelnen Hardware-Blöcke zu aktivieren/deaktivieren sowie die Implementierung und Konfiguration von Anwendungsfällen. - astra_datamng.c/.h
In dieser Datei werden die von den Sensoren und anderen Eingängen erfassten Daten im RAM gespeichert. Sie sind bereit, manipuliert zu werden, z. B. um einen bestimmten Algorithmus auf die Daten anzuwenden. - astra_sysmng.c/.h
Hier werden die systembezogenen Funktionen implementiert. Die wichtigsten Funktionen sind die Befehlszeilenschnittstelle, Schaltflächenrückrufe, Algorithmen, LEDs, die Verwaltung von Anwendungsfällen für die Bestandsüberwachung und die Timerverwaltung. - SM_APP.c/.h
Diese Dateien enthalten die Konfigurationsstrukturen des Zustandsautomaten.
Fazit
Die Entwicklung von Anwendungen zur Bestandsüberwachung ist ein komplexer, mehrstufiger Prozess, aber die multifunktionale Entwicklungsplattform STEVAL-ASTRA1B vereinfacht diese Aufgabe. Mit der notwendigen Hard- und Software an Bord bietet es eine schnelle und einfache Möglichkeit, die aufgezeichneten Daten eines Funktransponders im Webinterface oder über die App für mobile Geräte zu visualisieren. Wie gezeigt, können Entwickler diesen drahtlosen Datenlogger mit flexiblen Konfigurationswerkzeugen ohne Codeprogrammierung einfach an ihre Tracking- oder Überwachungsanwendung anpassen oder den automatischen Codegenerator verwenden.
Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der DigiKey oder offiziellen Politik der DigiKey wider.




