Deutschland - Kennzeichen Deutschland

Incoterms:DDP
Alle Preise sind inklusive Zoll und Gebühren bei der Auswahl der Versandart.

Bitte bestätigen Sie Ihre Währungsauswahl:

Euro
Versand ist kostenfrei bei den meisten Bestellungen über 50 € (EUR)

US Dollar
Versand ist kostenfrei bei den meisten Bestellungen über $60 (USD)

Bench Talk for Design Engineers

Mouser German Blog

rss

Mouser Electronics, Inc german language blogs


Zerynth: Ein Python-Framework für IoT-Geräte Mike Parks

(Quelle: dTosh/Shutterstock.com)

Eine der größten Innovationen im Bausektor war die Idee der Vorfertigung von Bauteilen in einer Fabrik, und zwar Monate bevor sie auf der Baustelle benötigt werden. Dadurch können die Arbeiten nicht nur schnell abgeschlossen werden (sobald der erste Spatenstich auf der Baustelle erfolgte), sondern auch die Qualität kann gesteigert werden. Die Softwareentwicklung für eingebettete IoT-Geräte kann sich mithilfe von Softwareentwicklungs-Frameworks (auch als Software Development Kits oder SDKs bezeichnet) ein ähnliches Konzept zunutze machen. Ein SDK lässt sich am besten verstehen, wenn man sich vorstellt, das Holz für den Bau eines Hauses von Grund auf zu beschaffen. Sie müssen Bäume fällen, das Holz in einer Trockenkammer trocknen und es anschließend in brauchbares Schnittholz zerlegen. Sie können aber auch zu einem Holzhändler oder einem Sägewerk gehen und dort einfach das entsprechend zugeschnittene Holz kaufen, das mit ziemlicher Sicherheit nahezu perfekt für den gewünschten Anwendungsbereich geeignet ist. So müssen Sie weniger Zeit für nicht wertschöpfende (wenn auch wichtige) Aufgaben aufwenden und haben mehr Zeit, das Haus zu bauen, das der Endkunde wünscht.

Zerynth SDK

In der Softwareentwicklung lassen sich SDKs auf das Bild des Holzhändlers übertragen, bei dem man passgenaues Holz einkauft, anstatt selbst Bäume zu fällen. Die Zerynth-Plattform ist eine SDK-Lösung für Embedded-Entwickler, die IoT-Geräte in Python programmieren möchten. Zerynth unterstützt viele beliebte 32-Bit-Mikrocontroller-Architekturen, darunter beispielsweise SAMD21, ESP32, ESP8266 und NRF52832. Das SDK ist für Windows-, Mac OS- und Linux-Betriebssysteme verfügbar. Es umfasst zwei Hauptkomponenten: die Zerynth Toolchain und die integrierte Entwicklungsumgebung Zerynth Studio (IDE) (Abbildung 1).

Abbildung 1: Mit der integrierten Entwicklungsumgebung von Zerynth können Python-Entwickler Firmware für das IoT schreiben, debuggen, verwalten und bereitstellen. (Quelle: Green Shoe Garage)

Die Zerynth Toolchain (ZTC) ist das Kommandozeilen-Tool, das als Kern für die Firmware-Entwicklung, das Debugging und die Geräteverwaltung innerhalb des Zerynth-Ökosystems dient. Zerynth Studio ist eine grafische Oberfläche, die auf der ZTC-Kommandozeilen-Schnittstelle aufsetzt. Sie enthält einen grafischen Code-Editor und eine Debugger-Schnittstelle sowie zahlreiche Python-Code-Beispiele, die den Einstieg in Zerynth erleichtern. Ein spannendes Feature der Entwicklungsumgebung ist die Unterstützung für so genannte virtuelle Geräte, mit denen ein Entwickler Anwendungscode entwickeln und überprüfen kann, ohne dass ein physisches Gerät an den lokalen Host-Computer angeschlossen werden muss. Der Code-Editor bietet viele moderne Funktionen, darunter Syntax-Highlighting, Autovervollständigung und Smart Snippets. Darüber hinaus gibt es eine integrierte Unterstützung für Git-Repositories und einen integrierten Paketmanager, was die Entwickler freuen dürfte. Sie können sowohl auf die offiziellen Python-Code-Bibliotheken von Zerynth als auch auf die von der Benutzer-Community bereitgestellten Bibliotheken zugreifen. Durch den Zugriff auf Repositories mit bewährtem, zuverlässigem Quellcode können sich Entwickler auf den funktionalen Mehrwert für ihre Kunden konzentrieren, anstatt Zeit damit zu verschwenden, das Rad für häufig verwendeten Python-Code neu zu erfinden. Die Vorteile der Quellcode-Bibliotheken wird durch eine zweite wichtige Komponente des Zerynth-Ökosystems noch verstärkt: das Zerynth Operating System (OS).

Zerynth OS

Zerynth OS ist ein Multithreading-Echtzeitbetriebssystem (RTOS), das auf zahlreichen 32-Bit-Mikrocontroller-Architekturen mit begrenzten Speicher- und Speicherressourcen einsetzbar ist. Es umfasst individuell angepasste Software-Stacks für viele Kommunikationsprotokolle, darunter Wi-Fi®, Bluetooth® und LoRa. Außerdem beinhaltet es Sicherheits- und Energieverwaltungsfunktionen. Durch den Einsatz von Abstraktionsebenen sowohl für die Hardware- als auch für die RTOS-Interaktion ist Zerynth OS nahezu unabhängig von den zugrunde liegenden Mikrocontroller-Plattformen. Den Kern des Zerynth OS bildet die Zerynth Virtual Machine (VM), die die vom Benutzer geschriebenen Python-Skripte auf einer beliebigen Anzahl von RTOSs und Hardware-Plattformen ausführt. Zu den Standard-RTOSs zählen etwa FreeRtos und CHIBIOS. Durch die Verwendung einer Betriebssystem-Abstraktionsebene auf der VM (die sogenannte VM Operative System Abstraction Layer (VOSAL)) können Entwickler leistungsstarke Anwendungen erstellen, die auf der Zerynth VM laufen und unabhängig vom gewählten RTOS Funktionen auf Betriebssystemebene nutzen, wie beispielsweise Semaphoren und Threads. Im Hinblick auf die Hardwareabstraktionsebene bietet Zerynth OS ein Verfahren (VM Hardware Abstraction Layer oder VHAL) zur Interaktion mit vielen der Peripheriegeräte, die auf modernen Mikrocontrollern zu finden sind, wie beispielsweise Interrupts, GPIO, I2C, SPI, ADC, PWM und UART. Die VHAL ist für jeden unterstützten Mikrocontroller individuell abgestimmt und stellt eine einzige, standardisierte Softwareschnittstelle zu allen oben genannten Peripheriegeräten bereit. Mit anderen Worten: Sie müssen den Python-Code der Anwendung nur einmal schreiben, und er funktioniert auf mehreren Hardware-Plattformen, solange das Gerät die entsprechenden Peripheriegeräte mitbringt.

Zerynth Device Manager

Die Entwicklung von Python-Code für ein IoT-Gerät ist natürlich nur ein Teilaspekt. Ein Gerät muss schließlich in der Praxis auch eine Verbindung mit dem Internet herstellen, um seinen Zweck zu erfüllen. Zur Unterstützung der verschiedenen Funktionen, die mit der Inbetriebnahme eines IoT-Geräts verbunden sind (z. B. Bereitstellung, Organisation, Überwachung und Verwaltung mehrerer Geräte weltweit über Fernzugriff), können Entwickler den Zerynth Device Manager (ZDM) nutzen. Mit dem ZDM lassen sich Geräte sicher in die Cloud einbinden. Mithilfe von REST-APIs können über den ZDM auch Geräte über ihren gesamten Lebenszyklus hinweg verwaltet werden, einschließlich Remote Procedure Calls (RPC) und Firmware Over-the-Air (FOTA)-Upgrades. Der ZDM beinhaltet Tools für die Aggregation und Speicherung der Daten, die von den IoT-Geräten im Feld gesammelt werden. Außerdem bietet er eine Ereignisverwaltung und einen Meldemechanismus, um auf die Rohdaten zu reagieren, sobald sie empfangen werden. Der ZDM kann als Cloud-basierter Service genutzt oder vor Ort installiert werden, wenn der Kunde besondere Sicherheits- oder Unternehmensanforderungen hat. Wenn ein Entwickler den Cloud-Dienst eines Drittanbieters (z. B. Amazon Web Services, Microsoft Azure, Google Cloud Platform, Ubidots, The Things Network) nutzen möchte, muss er lediglich eine Codezeile in der Python-Anwendung ändern und nicht den gesamten Code neu schreiben.

Python und Zerynth: Mehr Möglichkeiten für Programmierer

Python ist eine sehr leistungsfähige Programmiersprache, die auch in Anwendungsbereichen jenseits der traditionellen Desktop-Anwendungen immer mehr an Bedeutung gewinnt. Entwickler von eingebetteter Elektronik und insbesondere von IoT-Geräten können von der Einführung von Softwareentwicklungs-Frameworks wie Zerynth erheblich profitieren. Frameworks sorgen für Konsistenz und können sogar zu Leistungssteigerung sowie besserem Energiemanagement und höherer Sicherheit beitragen. In Kombination mit den einzigartigen Möglichkeiten der Programmiersprache Python können Entwickler mit Hilfe von Frameworks eingebettete Systeme mit höchster Qualität entwickeln, indem sie Routinearbeiten vermeiden, bewährte Quellcodebibliotheken für sich wiederholende Aufgaben nutzen und dadurch Ressourcen für kundenorientierte Funktionen freimachen.



« Zurück


Michael Parks, P.E. ist der Eigentümer von Green Shoe Garage, einem Entwicklungsstudio für kundenspezifische Elektronik und Technologieberatung im Süden von Maryland. Er produziert den S.T.E.A.M. Power-Podcast (ein Podcast über MINT-Themen), mit dem er die Öffentlichkeit für technische und wissenschaftliche Fragen sensibilisieren möchte. Michael ist außerdem zugelassener Ingenieur im Bundesstaat Maryland und hat einen Master-Abschluss in Systemtechnik von der Johns Hopkins University.


Alle Autoren

Alle anzeigen Alle anzeigen
Blog nach Datum anzeigen