Jedes Gerät, das mit rapidM2M-Technologie ausgestattet ist, beinhaltet die Softwarekomponenten Firmware und Device Logic (DLO).
Die Firmware wird von Microtronics entwickelt und stellt das Fundament für den Betrieb der Device Logic dar. Es wird auch als rapidM2M Betriebssystem bezeichnet.
Die Device Logic wird im Studio als Teil einer IoT App entwickelt und beinhaltet die Applikationslogik im Gerät. Für eine einfache Programmierung der Applikation stehen eine Reihe an Bibliotheken zur Verfügung.
Was leistet die Firmware?
Oder anders formuliert: „Worum muss sich die Applikation nicht kümmern?“
- Historische Datenspeicherung
Die Daten werden mit einem Zeitstempel versehen und nichtflüchtig gespeichert. Unabhängig davon, ob zum Speicherzeitpunkt eine Verbindung mit dem Server besteht oder nicht, bleiben die Daten gespeichert. - Gerätelog (Device Log)
Zusätzlich zu den applikativen Daten aus der Device Logic werden Zusatzinformationen gespeichert, die nicht unmittelbar in Zusammenhang mit der Applikation stehen. Diese Daten können im Service- und Supportfall wichtige Aussagen liefern. Bei einem Mobilfunk-Uplink sind beispielsweise die Netzwerkinformationen grundlegend: Bei welchem Anbieter hat sich das Gerät registriert, wie gut ist die Empfangsqualität, etc. - Uplink
Egal ob 2G/3G/4G-, WiFi- oder Ethernet-Uplink – die Firmware kümmert sich um die Kommunikationsverbindung.
- Effiziente und sichere Datensynchronisation
Die historischen Daten und Konfigurationen werden komprimiert, um so wenig Datenvolumen wie möglich zu erzeugen. Übertragung findet über einen verschlüsselten und authentifizierten Kommunikationskanal statt, um ein Höchstmaß an Sicherheit zu gewährleisten. - OTA Update von Firmware und Device Logic
Sowohl die Firmware als auch die applikative Device Logic können over-the-air (OTA) upgedatet werden.
Welche Vorteile bietet dieser Ansatz?
- Saubere Trennung der Zuständigkeiten – „Teile und herrsche“
Der Entwickler der Device Logic muss sich nur mit der Applikation selbst beschäftigen. Alle notwendigen Funktionen für den Betrieb der Device Logic werden von der Firmware zur Verfügung gestellt. - Wenige unterschiedliche Firmwaren, viele Applikationen
Die Firmware wird von Microtronics gewartet und weiterentwickelt. Erweiterungen und Bugfixes aus vielen unterschiedlichen Applikationen fließen in eine gemeinsame Basis. Dadurch wird ein stabiles technologisches Fundament gewährt. - Abstraktion der zugrundeliegenden Hardware
Auf Basis von verfügbaren Bibliotheken im Studio ist es möglich, die Applikationsentwicklung weitestgehend unabhängig von der zugrundeliegenden Hardware zu gestalten. Beispielsweise kann einfach von einem M220-Modul auf ein M230-Modul gewechselt werden, wenn eine höhere Performance oder mehr Speicher benötigt wird. - Sicherheit
Der Binärcode der Device Logic wird von der Firmware interpretiert. Ein direkter Speicherzugriff von der Device Logic in die Firmware ist nicht möglich. - Verfügbarkeit
Fatale Fehler in der Device Logic (zum Beispiel Endlos-Schleife) werden von der Firmware detektiert. Im Fehlerfall (mehrmaliges Auftreten innerhalb kurzer Zeit) wird die Device Logic beendet und das Gerät wechselt in einen internen Recovery-Modus. Dadurch ist sichergestellt, dass ein OTA-Update der Device Logic jederzeit möglich ist. - Deployment und OTA-Update
Bei einer Änderung in der Applikation muss nur die Device Logic im Gerät aktualisiert werden. Der Updatevorgang ist dadurch schneller und der Energie- sowie Datenverbrauch geringer. Die Verteilung (Deployment) erfolgt über IoT Apps mittels der integrierten Entwicklungsumgebung Studio.
Ausblick
Microtronics verfolgt das klare Ziel, die Programmierung einer IoT-Applikation für Interessenten mit rapidM2M Studio so einfach wie möglich zu gestalten. Die Wiederverwendbarkeit (Reuse) erprobter Implementierungen (Best practices) in der Device Logic soll weiter forciert werden. Dafür werden die Bibliotheken und Beispielcodes ständig erweitert.
On Demand-Demo
- Leistungsstarke Web IDE für die Erstellung von IoT-Anwendungen
- Umfangreiche Beispiele und Libaries
- Schnelle und einfache IoT-Entwicklung
- Entwickeln, testen und deployen
- Geräte- und serverseitige Entwicklung in einer IDE
- Erfassen, übertragen & konsumieren auf einer Plattform