Einsatz von Wireless Edge Intelligence mit Digi XBee MicroPython

Digi International Digi International
19. April 2019

Bei Digi arbeiten wir ständig an Innovationen und Verbesserungen, um unseren Kunden, Partnern und OEMs die besten drahtlosen Lösungen zu bieten. Unser reichhaltiges Angebot an drahtlosen Modulen, Ressourcen und Tools ermöglicht es Entwicklern, vernetzte Produkte und Anwendungen für eine Vielzahl von Anwendungsfällen in den Bereichen Landwirtschaft, Industrie, Medizin und intelligente Städte zu entwickeln.

In diesem Beitrag stellen wir Ihnen die Verbesserungen der MicroPython-Funktionen in unserer XBee®-Produktreihe sowie die neuen Funktionen vor, die wir eingeführt haben. Wir werden laufend Erweiterungen hinzufügen, um die Edge-Intelligenz in IoT Anwendungen zu unterstützen. "Wir haben gerade erst angefangen!

Mit der neuesten Version der 3Digi XBee MicroPython-Firmware können Kunden nun echte Geschäftslogik auf der XBee selbst über den gesamten Lebenszyklus des Endprodukts entwickeln.

Hier ein kurzer Überblick über einige der neuen Funktionen:

  • Wir haben die MicroPython-Fähigkeiten in der gesamten Produktlinie erweitert.
  • Wir haben die Unterstützung für benutzerdefinierte MicroPython-Module zu unseren Kurzzeitprodukten hinzugefügt.
  • Zusätzlich haben wir die Möglichkeit hinzugefügt, die MicroPython-Anwendung per Fernzugriff über die Luft zu aktualisieren.

Lassen Sie uns mehr über die erweiterte Funktionalität sprechen.

Erweiterte MicroPython-Fähigkeiten

Die neuen MicroPython-Fähigkeiten bedeuten, dass Sie erwarten können, dass die E/A-Schnittstellen in der gesamten XBee 3-Produktlinie gleich aussehen. Egal, ob Sie PWM zum Antrieb eines Motors verwenden, eine Schnittstelle zu einem I2C-Thermostat oder -Sensor herstellen oder einfach nur ein Licht ein- und ausschalten möchten, Sie können Ihr Digi XBee 3-Gerät verwenden, um Intelligenz hinzuzufügen und direkt mit der realen Welt zu interagieren. Wie wir sehen werden, umfassen die möglichen Anwendungsfälle in der realen Welt alles von der Heimautomatisierung bis hin zu industriellen Anwendungen IoT .

Benutzerdefinierte MicroPython-Unterstützung

Bei Digi XBee 3 Produkten mit kurzer Reichweite können Kunden jetzt ihre eigenen MicroPython-Module hinzufügen. Eine Python-Umgebung ohne Module ist sehr einschränkend. Module sind ein wesentlicher Bestandteil der Python-Programmierung und der bewährten Methoden der Softwareentwicklung. Sie machen es einfach, gemeinsamen Code zwischen verschiedenen XBee 3-Modulen und sogar verschiedenen Kundenendprodukten zu teilen.

MicroPython Over-the-Air-Aktualisierungen

Over-the-Air-Updates (OTA) bedeuten, dass Sie, wenn Sie einen Fehler in Ihrem Code finden oder die Fähigkeiten Ihrer Geräte im Feld verbessern wollen, neuen Code auf Ihre XBee's pushen können, ohne dass Sie einen LKW zu jedem einzelnen Gerät rollen müssen.

In vielen Anwendungen, wie z. B. der Straßenbeleuchtung, ist es einfach nicht praktikabel, physisch auf die Geräte zuzugreifen, um einen Fehler zu beheben oder einige neue Funktionen hinzuzufügen. Mit dieser Funktion können Sie Ihre Geräte aktualisieren, ohne sie physisch demontieren zu müssen, was Zeit und Arbeit spart.

Over-the-Air-Updates für Kurzstrecken- und Mobilfunk

Digi XBee und XBee 3-Kunden sind bereits mit der Möglichkeit vertraut, ihre XBee-Firmware über die Luft zu aktualisieren. Unser Entwicklungsteam hat es sich zur Aufgabe gemacht, sicherzustellen, dass Kunden auch MicroPython-Anwendungen auf Digi XBee 3-Geräten aus der Ferne aktualisieren können. Für Geräte, die IP verwenden, integrieren wir Digi Remote Manager® (Digi RM), den Cloud-Service von Digi für die Fernüberwachung und das Konfigurationsmanagement von Geräten. Für RF-Produkte mit kurzer Reichweite, die nicht in einem IP-Netzwerk wie Zigbee sind, verwenden wir die OTA-Funktion.

Digi XBee 3 Produkte mit kurzer Reichweite, die 802.15.4, DigiMesh und Zigbee umfassen, können nicht direkt mit Digi RM verbunden werden und verfügen auch über eine MicroPython-Update-Funktion über die Luft. Da der Speicherplatz bei diesen Produkten begrenzter ist als bei XBee 3 Mobilfunk, nutzen wir die Firmware-Update-Funktionen, die bereits im Produkt vorhanden sind, um ein einfaches Dateisystem-Image hochzuladen, das die Python-Anwendung und ihre unterstützenden Module enthält.

Für Digi XBee 3 Mobilfunk Produkte können Sie Digi RM verwenden, um direkt mit dem Dateisystem auf Ihrem XBee zu interagieren. Sie können nicht nur Ihren Python-Code hochladen, sondern auch einstellen, dass Aktualisierungen nur erfolgen, wenn schlafende Geräte aufwachen, um die Batterie optimal zu nutzen. Diese Fähigkeit nutzt eine Funktion, die es nur bei Digi-Geräten gibt, die mit Digi RM verbunden sind: Short Message (SM) Query. Sie ermöglicht es Ihnen, die Datennutzung zu minimieren und sogar bei Bedarf eine Verbindung per SMS oder beim nächsten Check-in-Intervall per UDP herzustellen.


 

Erfahren Sie mehr über Digi RM in unserem White Paper, IoT Device Management: Sichere und skalierbare Einsätze mit Digi Remote Manager

 


Vorteile der Verwendung von MicroPython

MicroPython ermöglicht es Kunden, Endprodukte mit Intelligenz auszustatten, ohne den zusätzlichen Zeitaufwand, die Kosten und die Komplexität der Entwicklung in einem Host-Mikrocontroller. Natürlich ist dies kein Einheitsmodell; die Entscheidung für MicroPython oder einen Host-Prozessor hängt von der Komplexität und den Anforderungen der Anwendung ab.

Ein Host-Mikrocontroller kann angemessen sein, und die beiden schließen sich nicht gegenseitig aus. MicroPython kann dazu dienen, dem Kommunikationsmodul Funktionalität hinzuzufügen, die sonst vielleicht nicht vorhanden wäre (z. B. MQTT), und dadurch die Zeit zu sparen, die für die Implementierung auf der Host-MCU erforderlich ist. Abgesehen davon benötigen viele Anwendungen keinen Host-Prozessor und erfordern lediglich, dass ihre Geschäftslogik eine Abfolge der folgenden Aktionen ausführt:

  • Lesen eines Eingangs (I2C, GPIO)
  • Verfolgen eines Intervalls
  • Senden Sie einige Daten
  • Führen Sie eine einfache Berechnung durch
  • Prüfen auf eine zu ändernde Bedingung
  • Ein Gerät ein- oder ausschalten
  • Schlaf
  • Aufwachen

Die oben genannten Aktionen lassen sich auf unkomplizierte Weise kombinieren, um Probleme zu lösen, und jede dieser Aktionen kann mit MicroPython ausgeführt werden. Ein typischer XBee 3, auf dem MicroPython läuft, könnte fünf Minuten lang schlafen, dann aufwachen, um zu prüfen, ob sich der Status eines GPIOs von niedrig auf hoch geändert hat, und dann wieder schlafen gehen. Wenn sich der Wert ändert, könnte er eine Textnachricht senden, um einen Alarm auszugeben, dass etwas schief gelaufen ist.

Beispielhafte Anwendungsfälle für Digi XBee 3 MicroPython

Es gibt viele praktische Alltagsanwendungen für diese Funktionalität sowie Feldanwendungen für die Industrie IoT. Die verschiedenen Arten von Anwendungsfällen können die Funktionalität der XBee 3 Mobilfunk Linie (Cat 1, LTE-M, NB-IoT, 3G) oder XBee 3 Kurzstreckenprodukte (Zigbee, DigiMesh, 802.15.4) erfordern, je nach der erforderlichen Topologie und Verteilung der Geräte und der Häufigkeit und Menge der zu sendenden Daten.

Schauen wir uns Beispiele an, die die Bandbreite der Möglichkeiten zeigen.

Wasserstandssensor

In bestimmten Klimazonen kann es bei Häusern aufgrund von übermäßiger Schneeschmelze und Abfluss oder Regenstürmen, die ein hohes Regenvolumen erzeugen, zum Ausfall der Sumpfpumpe kommen. Ein einfacher Hochwassersensor kann den Hausbesitzer auf das Problem aufmerksam machen, bevor es zu einer Kellerüberflutung kommt.

Anwendung zum täglichen Auslesen von Daten

In einem anderen Beispiel für eine typische Digi XBee 3 MicroPython-Anwendung schläft das Modul einen Tag lang, wacht auf, liest einen I2C-Sensor aus, wandelt die Daten mit einer einfachen Berechnung um, formatiert das Ergebnis und überträgt den Datenpunkt dann an die gewünschte IoT Cloud oder an ein lokales Gateway zur Aggregation, je nachdem, ob die XBee 3 Mobilfunk oder eine kurze Reichweite hat.

Industrielle und landwirtschaftliche Anwendungen

Der Einsatz von MicroPython auf Digi XBee 3 findet bei unseren Kunden immer mehr Anklang, um reale Probleme zu lösen.

Digi XBee MicroPython

Ein Kunde nutzte beispielsweise MicroPython auf XBee 3 Mobilfunk LTE-M, um die Logik in batteriebetriebene Bodensensoren einzubauen, die die Temperatur und Feuchtigkeit von Mulchhaufen überwachen. Diese Anwendung nutzte mehrere MicroPython-Bibliotheken, einschließlich MQTT, um die Daten in der AWS (Amazon Web Services) IoT Cloud zu veröffentlichen.

Ein anderer Kunde nutzte eine FTP-Client-Bibliothek, um Daten im Dateisystem zu protokollieren und sie dann an den eigenen Anwendungsserver zu übertragen.

In einem anderen Anwendungsfall verwendete ein Kunde MicroPython auf XBee 3 Zigbee, um die aktuelle Temperatur zu lesen und an einen entfernten Knoten in einer Dampfmessanwendung zu senden.

MicroPython Code Vereinfachung

Das Tolle an diesen Lösungen ist, dass sie unglaublich einfachen MicroPython-Code beinhalten. Ein erfahrener Entwickler kann eine nützliche Anwendung in 100 Codezeilen oder weniger erstellen.

MicroPython-Lösungen sind nur durch die Vorstellungskraft begrenzt. Zum Beispiel können Sie MicroPython mit Digi XBee 3 Geräten verwenden, um eine der folgenden Aufgaben zu erfüllen und mehr:

  • Ansteuerung einer einfachen Anzeige
  • Schnittstelle mit BLE
  • Hinzufügen eines einfachen Netzwerkprotokolls
  • Erweitern Sie den API-Modus um den Benutzerdaten-Relay-Frame
  • Bearbeitung von Anfragen aus der Cloud

Wir haben gerade erst damit begonnen, Edge-Intelligence-Lösungen auf Digi XBee 3 bereitzustellen. Digi arbeitet aktiv an der Erweiterung unserer MicroPython-Entwicklungstools, Bibliotheken, Beispielprogramme und Anwendungen, die wir in unserem Github-Repository bereitstellen. Diese Entwicklerressourcen bieten Bausteine, mit denen Sie echte Probleme lösen können, indem Sie Ihre Produkte und Anwendungen auf IoT mit Intelligenz ausstatten.

Nächste Schritte

Holen Sie sich unseren Technical Brief
Erfahren Sie mehr über Bluetooth-Sicherheit mit Digi XBee Geräten