Plattform für Entwickler im M2M-Bereich

Arduino und das Internet der Dinge

Kay Glahn

Arduino hat sich als Prototyping-Plattform für die Steuerung von interaktiven Objekten etabliert. Zahlreiche Hersteller bieten so genannte GSM-Shields an, um die Plattform an das Mobilfunknetzt anzubinden. Hierdurch ergeben sich für Entwickler ganz neue Möglichkeiten, M2M-Applikationen umzusetzen.

In der M2M- also Machine-to-Machine-Kommunikation besteht ein erhebliches Potenzial, denn der Markt mit Mobiltelefonen erreicht irgendwann eine gewisse Sättigung. Obwohl der Trend zum Zweit- oder gar Dritthandy nicht von der Hand zu weisen ist, dürfte irgendwann der Moment kommen, in dem es nicht mehr sinnvoll ist, dieses Spiel weiterzutreiben. Ganz anders sieht es beim Internet of Things, dem Internet der Dinge, aus: Immer mehr Objekte des täglichen Gebrauchs kommunizieren schon jetzt mit dem Internet und greifen auf Onlinedienste zu. Das Potenzial ist aber hier bei Weitem nicht ausgeschöpft. Die Anzahl an potenziellen Teilnehmern, die über Mobilfunknetzte angebunden sind, ist fast unbegrenzt.

Rasantes Wachstum

Laut einer Vorhersage von Cisco werden bis 2016 weltweit insgesamt 1,906 Milliarden M2M-Module installiert sein, die zusammen einen Daten-Traffic von 508 022 Terabyte pro Monat generieren werden. Die Wachstumsrate beträgt damit rund 86 Prozent pro Jahr. Andere Studien kommen zu ganz ähnlichen Ergebnissen.

Doch was bedeutet das für Entwickler, und wie kann man an diesem Trend partizipieren? Um Objekte des täglichen Gebrauchs mit Intelligenz auszustatten, hat sich inzwischen die Arduino-Plattform in vielen Bereichen etabliert, die vor allem eine schnelle und relativ einfache Entwicklung von Prototypen ermöglicht. Hierbei handelt es sich sowohl um eine Hardware- als auch um eine  Softwareplattform, die beide unter einer Open-Source-Lizenz zur Verfügung stehen. Hauptbestandteil ist ein einfaches I/O-Board mit einem Mikrocontroller und analogen und digitalen Ein- und Ausgängen. Die Software besteht aus einer Entwicklungsumgebung, die auf der Processing IDE und Wiring aufbaut, das insbesondere von Künstlern, Designern, Bastlern und anderen Interessierten für die Programmierung von Mikrocontrollern verwendet wird. Herzstück von Arduino ist ein Atmel-AVR-Mikrocontroller aus der megaAVR-Serie. Auf aktuellen Boards kommt der ATmega328, der ATmega1280 oder der ATmega2560 zum Einsatz. Die meisten der am Markt verfügbaren Arduino-Boards bieten 14 digitale I/O-Pins, von denen sechs PWM-Signale ausgeben können und sechs als analoge Eingänge dienen können.

Abb. 1: Überarbeitete Version des von Telefónica I+D mitentwickelten GSM Shields für das Arduino-Board (Quelle: Telefónica)

Interessant ist, dass die Boards mithilfe so genannter Shields auf einfache Weise erweitert werden können. Hierdurch sind sie ideal für den Einsatz in M2M-Szenarien geeignet. Denn durch die Shields können sie beispielsweise mit GSM-, 3G-, WLAN-, Bluetooth- oder auch ZigBee-Netzwerkfunktionalität ausgestattet werden. Auch ein GPS-Chip kann so problemlos angebunden werden, falls er nicht ohnehin schon in das Mobilfunkmodul integriert ist. GSM-Shields für Arduino werden inzwischen von zahlreichen Herstellern mit den unterschiedlichsten Ausstattungsvarianten angeboten. Auf der diesjährigen Campus-Party in Berlin hat nun das Unternehmen Telefónica, zu dem auch der deutsche Mobilfunkanbieter O2 gehört, eine überarbeitete Version seines GSM-Shields für Arduino vorgestellt. Hierdurch wird es dem Arduino-Board beispielsweise möglich, SMS-Nachrichten zu verschicken, Anrufe aufzubauen oder anzunehmen sowie eine Internetverbindung per GPRS herzustellen. Das GSM-Board basiert auf dem Quadband-GSM-/GPRS-Modul M10 von QuecTel sowie einer passenden Onboard-Antenne von Antenova. Die Hardware und die dazugehörigen Softwarebibliotheken wurden von Arduino in Zusammenarbeit mit der Forschungsabteilung von Telefónica entwickelt und werden genauso wie das Arduino-Board und die Software als Open Source bereitgestellt.

Technisch gesehen ist das GSM-Shield eigentlich nichts Besonderes. Denn längst sind von verschiedenen Anbietern wesentlich leistungsfähigere Shields verfügbar, die wie das 3G-Shield von Cooking Hacks, der Hardwaresparte von Libelium, beispielsweise WCDMA und HSPA mit bis zu 7,2 Mbps unterstützen – somit rund zwanzigmal schneller sind – und zudem ein integriertes GPS-Modul mitbringen. Auch dieses Projekt teilt mit Arduino die gleiche Open-Source-Philosophie, was die Hardware und Software betrifft.

Globale M2M-Tarife

Das Besondere des von Telefónica mitentwickelten Boards ist, dass es demnächst direkt über das Entwicklerprogramm BlueVia von Telefónica bezogen werden kann, inklusive einer entsprechenden SIM-Karte und einem speziellen M2M-Mobilfunktarif, der fast weltweit gültig ist. Als Entwickler bekommt man für 10 Euro 10 MB GPRS Traffic, der binnen sechs Monaten aufgebraucht werden muss, oder für 15 Euro 20 MB Traffic, der ein Jahr lang gültig ist. Nach Ablauf des Vertrags kann dieser über die Webseite von BlueVia verlängert werden. Die Bezahlung erfolgt dabei jeweils per PayPal. Telefónica ermöglicht es außerdem, das GSM-Shield sowie das damit verbundene Arduino-Board remote über einen Cloud-Service auf der BlueVia-Webseite zu verwalten und zu steuern, nachdem es einmal mit der dazugehörigen SIM-Karte registriert wurde. Neben Managementdaten, wie der letzten Verbindung durch das Arduino-Board oder dem verbleibenden Traffic-Kontingent, können hierüber auch die Ports des Arduino-Boards konfiguriert, abgefragt und ferngesteuert werden.

Die Programmierung der Arduino-Boards und somit auch der GSM-Shields erfolgt mithilfe einer abgewandelten Variante der Processing IDE. Diese steht als Open Source zur Verfügung und ist komplett in Java entwickelt. Während die Processing-Sprache an Java angelehnt ist, wird für Arduino die Sprache Wiring eingesetzt. Diese nutzt ebenfalls die Processing IDE als Basis, stellt allerdings eine vereinfachte Version der Sprache C++ dar. Grundsätzlich erfolgt die Programmierung von Arduino also in C/C++. Durch die Wiring-Sprache wird die Programmierung allerdings stark vereinfacht. Die auf Processing bzw. Wiring basierende Arduino-Entwicklungsumgebung stellt alle notwendigen Tools bereit, um das Arduino-Board zu programmieren und die Programme auf die Hardware zu laden.

Abb. 2: Die Arduino-Entwicklungsumgebung liefert alle erforderlichen Werkzeuge zum Entwickeln von Programmen in Wiring

Für Java-Entwickler gibt es mit den Wireless-Modulen von Cinterion eine kommerzielle Alternative. Die Firma, die ehemals unter Siemens Wireless Modules bekannt war und inzwischen von Gemalto übernommen wurde, stellt verschiedene GSM- und 3G-Module her, die sich direkt in Java programmieren lassen, ohne dass ein separates Mikrocontroller-Board erforderlich wäre. Die Programmierung erfolgt hierbei in Java ME auf Basis der CLDC (Connected Limited Device Configuration) und des IMP (Information Module Profile), das ein Subset der MIDP (Mobile Information Device Profile) darstellt. Entwickler, die bereits Anwendungen für Java-ME-fähige Mobiltelefone entwickelt haben, können hier also relativ schnell den Einstieg finden. Nachteil dieses Ansatzes ist, dass das Modul nicht als Open Source verfügbar ist und somit nicht individuell angepasst werden kann. Außerdem existiert kein breites Spektrum an Zusatzmodulen und Shields, wie es bei Arduino der Fall ist. Auch zahlreiche andere Hersteller wie Huawei, Intel, Sierra Wireless, Telit oder u-blox bieten Wireless-Module an, die sich zumeist in C/C++ oder teilweise auch in Python programmieren lassen.

Fazit

Das M2M-Segment und die Anbindung von Objekten und Geräten aller Art an das Internet bieten ein großes Potenzial. Mit Mikrocontroller-Boards wie Arduino und einem passenden Shield oder einem programmierbaren 3G-Modul lassen sich mit relativ wenig Aufwand und mit bestehendem Know-how entsprechende Projekte umsetzen. Mithilfe entsprechender M2M-Tarife, wie sie über Entwicklerprogramme von verschiedenen Mobilfunkbetreibern angeboten werden, lassen sich Prototypen und Proof of Concepts dann auch in der realen Welt testen.

Geschrieben von
Kay Glahn
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.