IoT mit Raspberry PI Smart mit Stick und Handy

Um Daten weltweit zu versenden, gibt es die Mobilfunknetze mit bis zu 1 Gbit/s (4,5G) Datenrate. So viel ist in den meisten Fällen aber gar nicht nötig. Für viele Smart-Home- und IoT-Anwendungen genügt häufig ein Raspberry Pi mit Surf-Stick oder sogar ein ­ausrangiertes Handys.

Spätestens seit dem Raspberry Pi Modell 3, der sowohl mit Blue­tooth Low Energy (Bluetooth Smart) als auch mit WLAN ausgestattet ist, ist die drahtlose Übertragung von Sensordaten eine Standarddisziplin. Mit diesen Komponenten lässt sich ein Funksensorknoten oder ein ähnliches »smartes« Gerät einfach aufbauen. Mit einem Raspberry Pi eine Mobilfunkverbindung zu realisieren erscheint hingegen etwas komplizierter und auch undurchsichtiger. Hierfür empfiehlt sich ein handelsüblicher LTE-Stick, den man in eine USB-Buchse von Notebooks und Tablets steckt. Fast alle Mobilfunkanbieter bieten solche Sticks mit passenden Gerätetreibern an. Eine speziell für den Raspberry Pi entwickelte LTE-Schnittstelle, die zwar immer wieder angekündigt wird, bis heute aber auf sich warten lässt, ist nicht notwendig.

Als Beispiel wird im Folgenden der »Speedstick LTE V« der Telekom mit einem Funkchip von Huawei verwendet, was sich als praktikabler Standard (unter Linux) erwiesen hat. Modelle anderer Hersteller lassen sich prinzipiell auf die hier beschriebene Art und Weise konfigurieren. Gleichwohl treten dabei immer wieder unterschiedliche und überraschende Probleme auf, was sowohl die Konfigurierung als auch den Betrieb betrifft und wir hier nicht weiterverfolgen.
In den Speedstick gehört eine SIM-Card mit mehreren Tarifmöglichkeiten. Zum Ausprobieren eignet sich am besten eine Prepaid-Karte wie »DataStart« mit einem Startguthaben von mindestens 10 Euro. Die erste Inbetriebnahme des Sticks sollte an einem PC oder Notebook mit einem Standardbetriebssystem (Windows) und dem Telekom-Programm »Internet Manager« (Bild 1) erfolgen. Es befindet sich auf dem Stick, der für die Installation im System als CD-ROM-Laufwerk erscheint.
Das Manager-Programm stellt eine Verbindung mit einer Telekom-Seite her und ist für die Auswahl des gewünschten Tarifes und damit des Datenvolumens zuständig. Es bietet darüber hinaus verschiedene Funktionstests sowie Einstellungsoptionen und zeigt auch Daten zur bisherigen Verwendung an. Dabei empfiehlt es sich, die anderen möglichen Wege des Computers (LAN, WLAN) in das Internet zu deaktivieren, damit tatsächlich auf die Mobilfunkverbindung zugegriffen wird.

Einbinden
und Konfigurieren

Ein LTE-Stick (Bild 2) wird unter Linux als Modem und als Netzwerkkarte betrachtet, was somit auch auf den Raspberry Pi (mit »Rasbian Jessie« o. ä.) zutrifft. Zunächst ist der Stick als USB-Gerät einzubinden, was nicht immer automatisch funktioniert und gegebenenfalls manuell durchzuführen ist. Falls nach dem Einstecken des Sticks eine Anzeige wie im Bild 3 vorhanden ist, ist der Stick bereits als Modem erkannt worden; fehlt hingegen die zweite Zeile, ist etwas manuelle Nachhilfe notwendig.

Wichtig ist die Product-ID, die unterschiedlich ist, je nach dem, ob der Stick (zunächst) als Speichermedium (14fe) erkannt worden ist oder automatisch als Modem-Device (1506, Bild 3). Die Vendor-ID ist hier 12d1, was für Huawei steht. Mitunter hilft ein Neustart oder auch mehrmaliges Abziehen und Einstecken des Sticks, damit er erkannt wird, was mit der aktuellen Jessie-Version der Fall sein sollte. Sollte es nicht klappen, ist das Paket »usb_modeswitch« nötig, und der ­Modeswitch-Befehl ist daraufhin mit Root-Rechten auszuführen. Um diese Umschaltung zukünftig automatisch ausführen zu lassen, empfiehlt es sich, eine »udev rule« anzulegen. Näheres hierzu findet sich beispielsweise unter [1].
Es hängt von der gewünschten Anwendung ab, in welcher Form die Sensordaten per LTE zu übertragen sind. In der einfachsten Form mag eine SMS ausreichen. Dafür eignet sich beispielsweise das Tool »gammu-smsd«, mit dem sich Textnachrichten sowohl manuell als auch automatisiert versenden lassen. Beim automatischen Versand wird die SMS in eine Warteschlange der ausgehenden Nachrichten eingefügt, die ein Daemon regelmäßig kontrolliert und bearbeitet. Sollte das Senden fehlschlagen, wird es nach kurzer Zeit wiederholt, und zwar so lange, bis es funktioniert hat und die Message dann in einen Ordner mit erfolgreich gesendeten SMS kopiert wird. Nach einer bestimmten (konfigurierbaren) Anzahl von Fehlversuchen wird die SMS andernfalls aus der Warteschlange des Postausgangs in einen Ordner verschoben, in dem die fehlgeschlagenen Sendeversuche protokolliert werden. Der manuelle Versand endet mit einer Statusmeldung über den Erfolg des Sendevorgangs, während ein Versand durch den Daemon im Hintergrund läuft und keine Ausgaben auf der Kommandozeile hervorruft. Tipps zur Installation und zum Einsatz des Gammu-SMS-Daemon finden sich unter [2].