DesignSpark Electrical Logolinkedin
Menu Suche
Ask a Question

13 Feb 2017, 9:12

Starten Sie Ihr IoT-Cloud-Computing-Abenteuer mit einem Creator Ci40 Kit von Imagination Technologies

Gefahrlos auf den IoT-Zug aufspringen

Im Zuge des Erfolgs von Raspberry Pi ist eine ganze Reihe kostengünstiger 64-Bit-SBCs (Single Board Computer) in Erscheinung getreten, die alle von dem durch Pi erschlossenen Markt profitieren wollen. Die Konkurrenz für ernstzunehmende IoT-Projekte (Internet of Things) ist allerdings dünn gesät. Wenn Sie es vermeiden wollen, einen weiteren Zombie für das stetig wachsende botnet zu kreieren, aus denen das Internet of Tat™ besteht, benötigen Sie einen SBC, der von vornherein für den Gebrauch mit einem Software-Framework konzipiert wurde, das den sicheren Betrieb Ihrer Anwendung unterstützt. Unter den wenigen Produkten, bei denen Entwickler in dieser Hinsicht fündig werden, gehört der Ci40 Kit von Imagination Technologies eindeutig zu den Spitzenkandidaten.

 

Wir stellen vor: Creator Ci40 Kit

Das mit einer in leuchtendem Violett erstrahlenden Entwicklungsplatine ausgestattete Kit bietet dem Anwender folgende Features:

MIPS CPU
550 MHz Dual-Core, Dual Thread interAptiv
2 x 32/32 KB L1-Cache
1x 512 KB L2-Cache
Gleitkommaeinheit
OpenWRT Linux OS

Konnektivität
802.11 AC 2 x 2 WiFi
802.15.4 6LoWPAN
Bluetooth (LE & Classic)
1 x RJ45 Ethernet-Anschluss
1 x USB

IO-Erweiterung
2 x MikroElektronika Click-Schnittstellen
1 x Raspberry Pi-Schnittstelle (Typ 40-polige Stiftleiste)

Sicherheit
Infineon TPM (Trusted Platform Module) zur Zertifikatsspeicherung

Speicher
2 MB Boot NOR-Flash
512 MB NAND-Flash
256 MB DDR3 SDRAM
SD-Kartensteckplatz

Stromversorgung
Micro-USB oder 9 V dc

 

Dank der MikroElektronika Click-Schnittstellen können Sie der Anwendung ganz einfach Sensor- oder Bestätigungsfunktionalität hinzufügen. Die Angebotspalette an Click-Platinen ist riesig (und wächst weiter), und deckt alles von Beschleunigungsmessern bis hin zu WLAN ab. Für den Fall, dass Sie keine passende Click-Platine finden, wird sogar einePrototyping-Click-Platine angeboten. All das spart Ihnen wertvolle Zeit bei der Inbetriebnahme Ihrer Machbarkeitsnachweis-Anwendung.

Um Sie schnellstmöglich auf Hochtouren zu bringen, umfasst die Kit Box:

1 x Creator Ci40 Entwicklungsplatine
2 x MikroElektronika 6LoWPAN Clicker-Platinen
3 x MikroElektronika Click-Platinen (Thermo, Motion und Relay)
1 x microUSB-Kabel

 

Software-Framework

Was den Creator Kit wirklich von der Masse abhebt, ist seine umfassende Unterstützung von Open-Source-Software für IoT-Anwendungen.

Die Entwicklungsplatine läuft mit OpenWRT Linux.

Die Geräteverwaltung erfolgt über eine (Awa genannte) Implementierung des Open Mobile Alliance Lightweight Machine to Machine-Standards (LWM2M) und vereinfacht die sichere Kommunikation mit Cloud-basierten Servern.

Die Spezifikation Internet Protocol for Smart Objects (IPSO) bietet ein standardisiertes Objektmodell für Sensoren und Betätigungselemente

 

 

Keine Frage: Es gibt eine ganze Menge API-Dokumentation, für die Sie sicherlich mehr als einen Tag benötigen, um sie durchzuackern. Damit Sie die wichtigsten Infos jedoch schneller aufnehmen können, haben wir im Online-Support eineSchnellstartübersicht für Sie bereitgestellt, die Sie zu einigen spannenden Workshops rund um das Thema Clicker-Platinen im Kit führt.

Workshop 1 setzt den auf der Platine integrierten Schalter ein, um einfache Häufigkeitsdaten (für die Anzahl des Betätigens der Schaltfläche) an die Cloud-basierte Entwicklerkonsole zu senden. In der Erweiterung des Workshops wird anstelle des Schalters die Click-Platine des PIR-Bewegungsmelders verwendet, um zu demonstrieren, wie einfach es ist, Ihren Code zu ändern, um statt der Häufigkeitsdaten eine Anzahl registrierter Bewegungen zu senden.

Außerdem haben wir einen Workshop vorveröffentlicht, in dem ein Beispiel für einen Temperaturlogger erstellt wird. Zu diesem Zeitpunkt ist noch kein Beispiel für einen 6LoWPAN-Clicker erhältlich.

Es lohnt sich, Zeit zu investieren – nehmen Sie sich doch einen Vormittag für den Quick Start und den ersten Workshop, um sich mit Platine und Software vertraut zu machen. Sollte dies zu einfach für Sie sein, empfehle ich Ihnen, sich mit dem Reflashen Ihrer Platine zu beschäftigen. Ich persönlich empfand das Flashen eines OpenWRT-Images auf eine MicroSD-Karte und die anschließende Inbetriebnahme als sehr lehrreich.

 

Ein Königreich für ein ferngesteuertes Relais

Ein Relais klicken zu hören und gleichzeitig zu wissen, dass Sie Ihr Relais genauso einfach von Ihrem Lieblingscafé um die Ecke – oder von jedem anderen Platz der Welt mit WLAN-Zugang – aus betätigen könnten, kann ein tolles Gefühl sein.

Workshop 2 befasst sich mit diesem spannenden Thema und mehr: eine wunderbare Möglichkeit, einen Nachmittag zu verbringen. Näheres zu meinem Nachmittag mit dem Relais-Modul finden Sie weiter unten. Um unnötige Verwirrung zu vermeiden, möchte ich jedoch zunächst Folgendes klarstellen, bevor wir ans Eingemachte gehen:

  • Befehlen, die auf der Ci40 OpenWRT Linux-Befehlszeile laufen, wird ein ‚#‘ vorangestellt, während
  • Befehlen, die auf der virtuellen Maschine Linux Mint 18.1 Cinnamon laufen, wird ein ‚$‘ vorangestellt wird.

Ich habe mich zunächst per Remote-Zugriff in die Ci40 eingeloggt:

$ ssh root@ipaddr

 ‚Ipaddr‘ ist in diesem Fall die IP-Adresse Ihrer Ci40. Nach dem Einloggen habe ich erst einmal überprüft, welche Version von LetMeCreate installiert ist:

# opkg list-installed letmecreate

 

Meine Version war die 1.1.0, obwohl wir eigentlich Version 1.3.0 (oder später) benötigen. Zu diesem Zeitpunkt war bereits Version 1.4.0 einige Tage zuvor aufGithub veröffentlicht worden. Also lud ich die neuere Version herunter und installierte sie auf der Ci40. Am einfachsten geht dies wahrscheinlich auf folgende Weise:

  1. Verwenden Sie Firefox (oder einen anderen, von Ihnen bevorzugten Browser) auf Ihrer Linux-Distribution, um die Datei von Github herunterzuladen.
  2. Wechseln Sie über die Befehlszeile Ihres Endgeräts wie folgt in das „Downloads“-Verzeichnis:
    • $ cd Downloads
  3. Kopieren Sie die Datei mittels SCP in Ihr Ci40-Stammverzeichnis:
    • $ scp letmecreate_1.4.0-1_pistachio.ipk root@ipaddr:/
  4. Installieren Sie das Paket auf der Ci40:
    • # opkg install /letmecreate_1.4.0-1_pistachio.ipk

Wenn Sie fertig sind, können Sie die .ipk-Datei aus Ihrem Stammverzeichnis löschen. Da ich nun wieder auf dem neuesten Stand war, konnte ich mit der eigentlichen Installation der Anwendung fortfahren. Hierfür wechselte ich in das ‚myworkspace‘-Verzeichnis, das ich an diesem Vormittag bereits angelegt hatte, in meinem Fall hier:

$ cd /home/redstone/Projects/Ci40/myworkspace

 

Anschließend haben wir die Projektdateien von Github geklont:

$ git clone https://github.com/creatordev/w2-remoterelay

 

Der nächste Schritt bestand in der Aktualisierung der OpenWRT-Feeds, damit die neue Anwendung gefunden wird:

$ cd ../openwrt-sdk$ ./scripts/feeds update -a && ./scripts/feeds install -a

 

Im letzten Schritt erfolgte dann die Erstellung:

$ make package/w2-remoterelay/compile

 

Dank makefiles befindet sich unsere remoterelay_1.0.0-1_pistachio.ipk-Datei nun wie durch Zauberhand im Ordner

openwrt-sdk/bin/pistachio/packages/myworkspace

Um das Ganze auf unser Entwickler-Board zu bekommen, sind wir in das Verzeichnis gewechselt, in dem sich die Datei nun befindet, und haben SCP erneut gestartet:

$ scp remoterelay_1.0.0-1_pistachio.ipk root@ipaddr:/

 

Jetzt musste nur noch die Anwendung installiert und gestartet werden:

# opkg install remoterelay_1.0.0-1_pistachio.ipk# /bin/remoterelay

 

Da die Anwendung nun läuft, besteht der nächste Schritt darin, einen Browser auf einem Gerät Ihrer Wahl zu starten und sich auf die Entwicklerkonsole von Creative Technologies zu begeben. Hier erscheinen dann die Geräte, die wir mit den Creator Cloud-Servern verbunden haben.

Imagination Technologies lässt vermutlich mehr Geräte mit seinen Cloud-Servern verbinden, als ich es tun würde: Die einzige Vorgabe ist eine ‚angemessene‘ Geräteanzahl – und das sind nicht gerade wenige. In diesem Fall suchen wir jedoch nur nach einem einzigen Gerät: object ID 3201.

 

Klicken wir auf dieses Gerät, können wir uns IPSO-standardisierte Informationen über den Status unseres Geräts anzeigen lassen.

 

Klicken wir auf das Bleistift-Symbol (mit dem Pfeil hervorgehoben), können wir den Status des Geräts ändern.

Der Wert im Feld lässt sich zwischen Richtig und Falsch hin- und herschalten. Klickt man auf ‚Speichern‘, so wird der ausgewählte Wert direkt in das Gerät geschrieben. Dieser Schritt wird mit einem befriedigenden Klicken aus den Omron G6D-1A-ASI-Relais und einem erfreulichen Aufleuchten einer LED-Reihe am Board belohnt.

 

Die nächsten nützlichen Tools, die wir in diesem Beispiel ausprobieren möchten, kommen als WebHooks daher. Laienhaft ausgedrückt ermöglicht ein WebHook, dass ein Ereignis in einem Teil des Internets eine vorbestimmte Reaktion an einem anderen Ort auslöst. In unserem Fall können wir Daten, die unsere Relais betreffen, an eine Webseite senden, sobald eine Änderung des Relais-Status eintritt. Dies möchten wir mit Hilfe der folgenden Seite demonstrieren:requestb.in.

Auf dieser Seite bitte auf die große grüne Schaltfläche mit der Aufschrift‚ Create a RequestBin‘ klicken. Sie landen anschließend auf einer Seite, die so aussieht:

Kopieren Sie die URL der bin und gehen Sie zurück zur Entwickler-Konsole. Klicken Sie nun auf den Link ‚Subscriptions‘, der sich unter ‚Devices‘ befindet: Hier können die WebHook-Daten hinzugefügt werden, über die wir informiert werden möchten:

Gehen wir zurück zu ‚Devices‘ und schalten unsere Relais um, so können wir zu http://requestb.in/ wechseln und die Startseite aktualisieren. Dann sehen wir, dass Neuigkeiten zu unserem IoT-Gerät vorliegen, die uns über den neuen Status sowie dessen Eintrittszeitpunkt informieren:

 

Sollten Sie Interesse daran haben, dieses Beispiel weiterzuführen, so gibt es eine Android-App mit interessanten node.js, die Sie im Rahmen des Relais-Workshops ausprobieren können. Mit diesen Feinheiten habe ich mich an dieser Stelle jedoch nicht weiter befasst, da mein schlauer Magen mich darüber in Kenntnis gesetzt hat, dass es höchste Zeit für das Abendessen war. Schaut man sich die Anweisungen jedoch kurz an, erkennt man schnell, dass Entwickler sich anhand dieser Beispiele die Grundlagen eigener Anwendungen für die Praxis schaffen können.

Schlussfolgerungen

Für die meisten von uns ist wohl die Tatsache, dass der Ruf des gesamten IoT-Konzepts von Produkten bedroht wird, die schlecht konzipiert, ausgeführt und ergo unsicher sind, nichts Neues. Das Ci40-Kit wurde mit der Absicht zusammengestellt, die Entwicklung adäquater, skalierbarer Lösungen für angeschlossene Geräte zu vereinfachen, anstatt lediglich Einmal-Hacks zu liefern, die mit Hilfe nahezu jedes SBC erstellt werden können.

Gründlich getestete und gut durchdachte Produkte zu liefern ist wichtig – diese Geisteshaltung muss sich unter IoT-Entwicklern durchsetzen, wenn IoT zu einer bewährten Technologie heranreifen soll, die das Leben der Menschen verbessert. Das Ci40-Kit ist ein wunderbarer Startpunkt für Entwickler, die dies bereits verinnerlicht haben.

 

Anhang A – Cloud-Computing

In den letzten fünf Jahren ist ‚Cloud‘ zu einem allgegenwärtigen Begriff geworden. Aber was ist das eigentlich und warum sollten Sie sich damit auseinandersetzen? Bei Cloud-Computing im weitesten Sinne handelt es sich um jeden Computerprozess, der an einem anderen Ort als Ihrem lokalen Gerät (also Ihrem Mac, PC oder Laptop, den Sie gerade benutzen) stattfindet. Der Begriff wurde von alten Whiteboard-Diagrammen für Verkaufspräsentationen (und Telco-Plänen) abgeleitet, in denen verschiedene Prozesse dargestellt wurden, die eine Verbindung zu einem entfernten Ort aufwiesen. Dies wurde mittels großer roter Pfeile verdeutlicht, die auf eine Wolke oder von ihr weg zeigten und die komplexen Vorgänge von Weitverkehrsnetzwerken stark vereinfacht darstellten.

Wenn IT-Fachleute in der Praxis über Cloud-Computing sprechen, meinen sie häufig das ‚öffentliche Cloud-Modell‘, bei dem die Speicherung und/oder Verarbeitung über das Internet erfolgt. Typische Beispiele von Cloud-Speicherung sind Dienste wie Dropbox oder Microsoft OneDrive, aber auch Facebook und Youtube (wo riesige Mengen an Bild-, Video- und anderen Daten hochgeladen und geteilt werden) können als Cloud-Speicherdienste angesehen werden.

Bei Cloud geht es aber nicht nur um das Speichern: Ein weiteres schnell wachsendes Gebiet im Cloud-Bereich ist das Auslagern von Prozessorauslastung auf riesige Serverfarmen. In vielen Fällen geht es hierbei lediglich darum, Datenbank-Software auf den Servern des Anbieters anstatt auf den eigenen Servern laufen zu lassen. In seiner äußersten Form kann dies jedoch für Unternehmen mit schwankendem Bedarf an Rechenleistungen sehr vorteilhaft sein, denn hier ergibt sich die Möglichkeit, je nach Höhe des Bedarfs entsprechende Anpassungen am Cloud-Processing vorzunehmen. Für den Fall, dass Sie Modewörter mögen: Die Bezeichnung hierfür lautet ‚Cloud-Bursting‘ – mit seiner Hilfe kann das Unternehmen massive Investitionen in den Aufbau von IT-Infrastruktur vermeiden, die die meiste Zeit gar nicht benötigt wird.

Nicht nur Unternehmen profitieren vom Auslagern von Prozessen in die Cloud. Bei sprachaktivierten Verbraucherprodukten wie Siri und Alexa wird nur wenig auf dem Gerät selbst verarbeitet, mit dem man spricht: Die Verarbeitung komplexer (und hohe Prozessorleistung erfordernder) Technologien wie Automatic Speech Recognition und Natural Language Understanding erfolgt auf Apple- und Amazon-Servern in der Cloud.

Sie werden noch auf eine ganze Reihe anderer Begriffe stoßen, etwa ‚Software as a Service‘ (SaaS) – zum Beispiel Microsoft Office 365 – und ‚Platform as a Service‘ (PaaS) – zum Beispiel für besonderes Webhosting – aber alle diese Dienste sind im Wesentlichen eine Kombination Speicherung und Verarbeitung, die jeweils in einer Cloud auf einem fremden Server erfolgen.

Warum sollten Sie sich damit befassen? Cloud-Dienste stellen ihre Benutzer vor die einige Fragen über das Ausmaß, in dem man sich auf sie einlassen sollte. Die häufigsten Fragen zielen darauf ab, was man tun kann, wenn man über keinen Online-Zugriff verfügt (zum Beispiel aufgrund von DDoS-Angriffen auf Ihren Service-Provider dem Weltuntergang™). Naheliegend ist auch das Thema der Datensicherheit von Informationen, auf die Hacker theoretisch rund um die Uhr zugreifen können. Lokal synchronisierte Dateien und 256-Bit-Verschlüsselung sind zwar hilfreich, aber längst kein Allheilmittel. Weniger offensichtliche Fragen ergeben sich aus der Problematik, wer eigentlich über die Rechte an den Daten verfügt, die Sie (absichtlich oder unabsichtlich) auf einer Cloud ablegen und welche Parteien wie mit besagten Daten umgehen dürfen. Auf diese Art von Fragen sollten Sie vermutlich eine Antwort wissen, denn Cloud-Computing hält immer weiter Einzug in Ihr Leben.

Mark completed his Electronic Engineering degree in 1991 and went on to work in real-time digital signal processing applications engineering, later moving into technical marketing.

13 Feb 2017, 9:12

Kommentare