Haben Sie eine Frage?

Einsatz von Wireless Edge Intelligence mit Digi XBee MicroPython

"Wir haben gerade erst angefangen." The Carpenters

Bei Digi haben wir die MicroPython-Fähigkeiten in unserer XBee® -Linie seit vielen Monaten verbessert und eine Reihe von neuen Funktionen ausgerollt. Aber wir werden kontinuierlich Erweiterungen hinzufügen, um Edge Intelligence in IoT-Anwendungen zu unterstützen. "Wir haben gerade erst angefangen!"

Mit der neuesten Version der Digi XBee 3 MicroPython-Firmware ermöglicht der Funktionsumfang den Kunden nun, echte Geschäftslogik auf der XBee selbst über den Lebenszyklus des Endprodukts aufzubauen.

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 Kurzstreckenprodukten 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 I/O-Schnittstellen in der gesamten XBee 3-Produktlinie gleich aussehen. Egal, ob Sie PWM verwenden möchten, um einen Motor anzutreiben, eine Schnittstelle zu einem I2C-Thermostat oder -Sensor haben oder einfach nur ein Licht ein- und ausschalten wollen, Sie werden in der Lage sein, Ihr Digi XBee 3-Gerät zu 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 IoT-Anwendungen.

Kundenspezifische 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 stark einschränkend. Module sind grundlegend für die Python-Programmierung und die Best Practices der Softwareentwicklung. Sie machen es einfach, gemeinsamen Code zwischen verschiedenen XBee 3-Modulen und sogar verschiedenen Kundenendprodukten zu teilen.

MicroPython Over the air Updates

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 Short Range und Mobilfunk

Digi XBee- und XBee 3-Kunden sind bereits mit unserer Möglichkeit vertraut, Ihre XBee-Firmware über die Luft zu aktualisieren. Unser Entwicklungsteam hat sich auf den Weg gemacht, um 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 von Geräten und das Konfigurationsmanagement. Für RF-Produkte mit kurzer Reichweite, die sich nicht in einem IP-Netzwerk befinden, wie Zigbee, 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 ebenfalls über eine Over-the-Air-Update-Funktion für MicroPython. Da sie einen begrenzteren Speicherplatz haben als XBee 3 Mobilfunk, nutzen wir die Firmware-Update-Funktionen, die bereits im Produkt vorhanden waren, 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 dem Digi RM verbunden sind: Short Message (SM) Query. Sie ermöglicht es Ihnen, die Datennutzung zu minimieren und sich sogar bei Bedarf per SMS oder beim nächsten Check-in-Intervall per UDP zu verbinden.


Erfahren Sie mehr über DRM 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 XBee3 MicroPython

Es gibt viele praktische Alltagsanwendungen für diese Funktionalität sowie Feldanwendungen für das industrielle 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, abhängig von der erforderlichen Topologie und Verteilung der Geräte sowie 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 einer typischen Digi XBee3 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 stromaufwärts an die gewünschte IoT-Cloud oder an ein lokales Gateway zur Aggregation, je nachdem, ob die XBee 3 Mobilfunk oder Kurzstrecke ist.

Industrielle und landwirtschaftliche Anwendungen

Die Verwendung von MicroPython auf der Digi XBee 3 gewinnt bei unseren Kunden an Zugkraft, um Probleme der realen Welt zu lösen.

Digi XBee MicroPython

Ein Kunde nutzte beispielsweise MicroPython auf XBee 3 Mobilfunk LTE-M, um die Logik in batteriebetriebene Bodensensoren einzubauen, um die Temperatur und Feuchtigkeit von Feldern mit Mulchhaufen zu ü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 eines der folgenden und mehr zu tun:

  • 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 begonnen, Edge-Intelligence-Lösungen auf Digi XBee 3 zu liefern. Digi arbeitet aktiv an der Erweiterung unserer MicroPython-Entwicklungstools, Bibliotheken, Beispielprogramme und Anwendungen, die wir in unserem Github-Repository hosten. Diese Entwickler-Ressourcen bieten Bausteine, die Sie verwenden können, um echte Probleme zu lösen, indem Sie Ihren Produkten und Anwendungen IoT-Intelligenz hinzufügen.