SMS verschicken und empfangen mit dem Raspberry Pi

SMSD im Einsatz

Möchten Sie den Raspberry Pi regelmäßig per SMS zu bestimmten Reaktionen bewegen, reichen solche Lösungen im Eigenbau nicht mehr aus. Dann schlägt die Stunde eines hilfreichen Geistes, unter Linux "Daemon" genannt.

Gammu bringt dazu einen Server mit, der in konfigurierbaren Abständen via UMTS-Stick nach neu eingegangenen SMS sucht, diese ausliest und weitere Aktionen anstößt. Die Installation und Konfiguration des Servers fällt sehr leicht. Den ersten Teil erledigen Sie über den folgenden Befehl:

$ sudo apt-get install gammu-smsd

SMSD erwartet seine Konfigurationsinformationen in der Datei /etc/gammu-smsdrc – solange diese nicht existiert, startet der Server unter Raspbian nicht. Die Datei liegt wieder im Windows-INI-Format vor; zum Abschnitt [gammu] wie in Listing 3 kommt ein weiterer für den eigentlichen Daemon hinzu. Listing 6 zeigt ein Beispiel.

Listing 6

 

# Configuration file for Gammu SMS Daemon
# Gammu library configuration, see gammurc(5)
[gammu]
device = /dev/ttyUSB2
name = Huawei UMTS USB-Stick
connection = at
use_locking = yes
logformat = nothing
# SMSD configuration, see gammu-smsdrc(5)
[smsd]
service = files
logfile = syslog
PIN = 1234
# Increase for debugging information
debuglevel = 0
# Paths where messages are stored
inboxpath = /var/spool/gammu/inbox/
outboxpath = /var/spool/gammu/outbox/
sentsmspath = /var/spool/gammu/sent/
errorsmspath = /var/spool/gammu/error/
# process incoming messages
RunOnReceive = /usr/local/bin/smsin.sh

Der Daemon unterstützt verschiedene Backends zum Speichern von Nachrichten. Als einfachstes dient dabei das Dateisystem, als Alternativen für komplexere Ansprüche kommen Datenbanksysteme wie MySQL, SQLite oder Datenbanken mit generischem ODBC-Treiber infrage. Für unser Beispiel genügt das Dateisystem. Listing 6 konfiguriert es über den Schlüssel service sowie über die verschiedenen Pfade für ausgehende und eingehende SMS (Zeilen 13 und 20 bis 23). Die hier vorgestellte Konfiguration regelt nur das Nötigste; das Handbuch beschreibt sehr viele Optionen, mit denen Sie das Verhalten fast beliebig anpassen.

Zu erwähnen ist hier insbesondere der Schlüssel CommTimeout: Findet er keine ausgehenden Nachrichten in der Outbox, legt der Daemon für das dort eingestellte Intervall eine Pause ein, bevor er auf neu eingetroffene Nachrichten prüft. Der Vorgabewert beträgt 30 Sekunden, die Prüfung erfolgt zusätzlich automatisch nach jedem SMS-Versand.

SMS-Versand

Damit sich Gammu und Gammu-SMSD beim Versand nicht in die Quere kommen, sollten Sie bei aktivem Server die SMS nicht mehr selbst per Gammu versenden, sondern sie stattdessen dem Server übergeben. Theoretisch genügt es, die Nachricht richtig formatiert direkt ins Outbox-Verzeichnis zu stellen. Aus Gründen der Bequemlichkeit überlassen Sie das Formatieren aber besser einem Hilfsprogramm:

$ gammu-smsd-inject TEXT Nummer -text "Gruss vom RasPi an die Rufnummer Nummer"

Diese Variante hat auch den Vorteil, dass sie unabhängig vom Backend funktioniert. Der Versand von USSD-Anfragen klappt auf diese Weise jedoch nicht: Diese Anfragen sind potenziell interaktiv und passen somit nicht ins Schema des im Hintergrund werkelnden Servers.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Aktuelle Ausgabe

04/2019
TV & Multimedia

Diese Ausgabe als PDF kaufen

Preis € 9,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Finger weg

    Ein Temperatursensor verrät, ob Sie einen Gegenstand gefahrlos berühren dürfen. Beim Messen brauchen Sie dabei noch nicht einmal Kontakt zum Objekt.

  • Aus einer Hand

    Um einen Mikrocontroller zu programmieren, genügt ein Raspberry Pi. Wir zeigen, was Sie dazu noch benötigen.

  • Im Gleichtakt

    Synchronisierte Live-Loops und selbst erstellte Funktionen helfen dabei, Sonic Pi wie ein Live-Instrument zu spielen.

  • Mach mal

    Das Ftduino-Modul schlägt die Brücke zu Fischertechnik und ermöglicht es unter anderem, einen Drei-Achsen-Roboter anzusteuern.

  • Eleganter Diener

    Jeden Morgen dieselben Handgriffe, um zu sehen, ob die S-Bahn fährt und wie das Wetter wird? Ein cleverer Infoscreen auf RasPi-Basis automatisiert den Vorgang.

  • Bienenflüsterer

    Bienenzüchter, die ihre Völker besser kennenlernen möchten, müssen die fleißigen Insekten nicht pausenlos stören. Mit einem Raspberry Pi und verschiedenen Sensoren überwachen sie Temperatur, Luftfeuchtigkeit und bald auch das Gewicht des Bienenstocks.

  • Beerige Musik

    Für echten Hi-Fi-Sound braucht es mehr als einen kleinen Bluetooth-Brüllwürfel. Mit Volumio und einem Raspberry Pi rüsten Sie Ihre klassische Hi-Fi-Anlage mit smarten Funktionen auf.

  • Ton ab!

    Auf den ersten Blick erscheint der RasPi zu schwachbrüstig für den Betrieb leistungshungriger DAW-Software. Doch der Schein trügt.

  • Himbeer-TV

    Der DVB TV µHAT rüstet den Raspberry Pi mit einem DVB-T/T2-Tuner auf. Die deutsche TV-Landschaft schränkt dessen Möglichkeiten allerdings ein.

  • Git à la RasPi

    Mit wenigen Handgriffen zum Git-Hoster: Die dezentrale Arbeitsweise von Git erleichtert in Kombination mit der Netzwerkfähigkeit des RasPi das Verwalten von Quellcode.