IoT mit Raspberry PI

Smart mit Stick und Handy

1. Juni 2017, 11:43 Uhr | Frank Riemenschneider
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Einbinden und Konfigurieren

Manuelles und automatisches Senden.
Bild 4: Manuelles und automatisches Senden einer SMS.
© Klaus Dembowski

Im Bild 4 sind die beiden Möglichkeiten gezeigt, wie eine SMS versendet werden kann. In der ersten Zeile wird ein manueller Sendevorgang gestartet, während der Befehl in der zweiten eine SMS in den Postausgang des Daemons »injiziert«. Dabei muss die Telefonnummer mit einem Pluszeichen und mit »49« statt der bei Inlandsnummern führenden Null beginnen und darf nicht in Anführungszeichen gesetzt werden.
Der Empfang von SMS ist meist ohne Probleme möglich, mitunter hapert es jedoch mit dem Senden. Ein Blick in die Log-Datei des Daemons, die etwaige Fehlercodes anzeigt, kann hier weiterhelfen.
Die SMS wird an das SMS Service Center (SMSC) des jeweiligen Anbieters übertragen, welches das Versenden aus verschiedenen Gründen verweigern kann. In einem solchen Fall, empfiehlt es sich, zunächst die SIM-Karte im LTE-Stick zu kontrollieren, indem man sie zum Test für den Versand einer SMS in ein Handy einlegt. Sollte der Versand auch nicht mit einem üblichen Handy funktionieren, liegt das Problem jedenfalls nicht am Rasp­berry Pi, sondern am Stick oder an der SIM-Karte und/oder dem Mobilfunkzugang.

Und jetzt mit Internet

Bei Prepaid-SIM-Karten muss man sich bei der ersten Benutzung dafür entscheiden, wie mit dem Guthaben umgegangen werden soll. Wer etwa das 10-Euro-Startguthaben der angebotenen Daten-Flatrate, die mit 9,95 Euro zu Buche schlägt, zuordnet, hat eben noch nicht einmal die ca. 20 Cent für den Versand einer SMS zur Verfügung, was dann in einem Fehlercode »CMS-Error 10« in der Logdatei resultiert. Die Selbstverständlichkeit, dass für den Versand der SMS genügend Guthaben vorhanden sein muss, gerät bei der Inbetriebnahme und den Konfigurationsarbeiten nicht selten aus dem Blickfeld, zumal sich dieser Umstand lediglich in einem unscheinbaren Fehlercode in einer Logdatei niederschlägt.

Die Einwahl ins Internet erfolgt über das Point-to-Point-Protokoll, wofür in Raspbian Jessie das Paket »ppp« zur Verfügung steht. Um dieses komfortabler bedienen zu können, ist das Skript »sakis3g« zu empfehlen, wofür eine ausführliche Installationsanleitung, Dokumentation und Hilfe zur Verfügung steht [3]. Alternativ dazu bietet sich »wvdial« an, das die Verbindung deutlich schneller aufbaut als sakis3g. Nach der Installation von wvdial durch den Paketmanager, ist zunächst eine Konfigurationsdatei anzulegen, was mit dem Befehl »sudo wvdialconf« geschieht. Die so erzeugte Datei »/etc/wvdial.conf« ist wie folgt zu bearbeiten:

[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0
Init3 = AT+CGDCONT=1, »IP«, »internet.t-mobile«
Stupid Mode = 1
ISDN = 0
Modem Type = Analog Modem
New PPPD = yes
ISDN = 0
Phone = *99#
Modem = /dev/ttyUSB1
Username = { }
Password = { }
Baud = 9600
Danach ist ein Test der Internetverbindung empfehlenswert:

pi@raspberrypi:~ $ sudo wvdial >/dev/null 2>&1 &
pi@raspberrypi:~ $ sudo route add default gw 10.64.64.64 ppp0

Die erste Zeile ist für jeden Verbindungsaufbau notwendig, die zweite hingegen nur beim ersten Aufruf von wvdial. Für eine komfortablere Bedienung empfiehlt es sich, diese Befehle automatisch − etwa mit einem Skript beim Start − ausführbar zu machen.

Der Verbindungsabbau erfolgt, indem der Prozess, unter dem die Instanz von wvdial läuft, beendet wird. Um sicher zu gehen, dass ausgehende Verbindungen tatsächlich über den LTE-Stick geleitet werden, hängt man an die Datei »/etc/peers/ppp/wvdial« noch die beiden folgenden Zeilen an:

defaultroute
resetdefaultroute

Damit steht die Internetverbindung über den LTE-Stick, sodass hiermit alle üblichen Dienste ausführbar sind. Meist empfiehlt es sich, die Messwerte zu sammeln und zu bestimmten Zeitpunkten per FTP auf einen (eigenen) FTP-Server zu übertragen, etwa mit dem Tool »ncftp«, welches sich wie üblich mit dem Paketmanager installieren lässt.

Smart Schalten per Handy

Das Werkzeug bietet neben einem interaktiven Kommandozeilenmodus die bei­den Befehle »ncftpput« und »ncftpget«, mit denen Dateien einfach auf einen FTP-Server hoch- bzw. von dort heruntergeladen werden können. Somit lässt sich ein Dateitransfer aus einem Bash-Script heraus durchzuführen. Das Hochladen einer lokalen Datei mit Messwerten auf einen FTP-Server erfolgt mit:

pi@raspberrypi:~ $ ncftpput -u <USERNAME> -p <PASSWORD> <REMOTE-HOST> <REMOTE-DIR> <LOCAL-FILE>

<USERNAME> und <PASSWORD> sind dabei durch den Benutzernamen und das dazugehörige Passwort des zugangsberechtigten Nutzers zu ersetzen. Für einen anonymen Zugriff auf den FTP-Server ist der Teil -u <USERNAME> und -p <PASSWORD> im Aufruf wegzulassen. Die Parameter <REMOTE-HOST> und <REMOTE-DIR> beziehen sich auf den FTP-Server und geben die Internetadresse an, unter der er zu erreichen ist, sowie das Server-Verzeichnis, in dem die Datei gespeichert werden soll. <LOCAL-FILE> spezifiziert, welche Datei des lokalen Rechners hochzuladen ist.

Der Downloadbefehl ist vergleichbar aufgebaut, nur drei Anpassungen sind nötig: ncftpput wird durch ncftpget ersetzt, und anstelle des Zielverzeichnisses auf dem Server wird das lokale Zielverzeichnis und danach der Pfad zur gewünschten Datei auf dem Server angegeben:

pi@raspberrypi:~ $ ncftpget -u <USERNAME> -p <PASSWORD>,! <REMOTE-HOST> <LOCAL-DIR> <REMOTE-FILE>

Das Mobilfunknetz lässt sich mit einem LTE-Stick für die Übertragung von Messdaten eines Raspberry Pi oder eines anderen Computers auf verschiedene Art und Weise nutzen, wie es oben anhand SMS und FTP beispielhaft gezeigt worden ist. Für einige smarte Anwendungen, etwa für das Einschalten einer Lampe oder das Aktivieren von anderen Geräten, die sich am Stromnetz befinden, reicht die Übertragung eines Schaltbefehls an einen entsprechenden Empfänger aus.

passend zum Thema


  1. Smart mit Stick und Handy
  2. Einbinden und Konfigurieren
  3. Wiederbelebung
  4. Ausschalten per Timer
  5. Nicht-invasive Signalabnahme mit LDR

Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Componeers GmbH