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

06/2019
Home Improvement

Diese Ausgabe als PDF kaufen

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

Stellenmarkt

Neuigkeiten

  • Verschlungene Pfade

    Mit Schleifen, Fallunterscheidungen und Funktionen programmieren Sie komplexe Skripte auf einfache und elegante Weise.

  • Extrem genau

    Mit einem A/D-Wandler messen Sie bei Bedarf Spannungen. Der MCP3424 macht dabei konstruktionsbedingt eine gute Figur.

  • Verbindungsaufnahme

  • Süßer Wecker

    Dem RasPi fehlen sowohl eine Echtzeituhr als auch ein BIOS, ein zeitgesteuertes Wecken erfordert also Zusatzkomponenten. Hier springt der Witty Pi Mini in die Bresche, ein µHAT von UUGear.

  • Windows to go

    Das Aufsetzen zuverlässiger und sicherer Remote-Desktop-Lösungen erfordert einiges Know-how. Die RasPi-basierte Pinbox von Pintexx reduziert den Konfigurationsaufwand auf ein Minimum.

  • Prima Klima

    In Museen ist es Pflicht, zu Hause nützlich: das permanente Prüfen und zentrale Erfassen der Feuchtigkeit und Temperatur in Räumen.

  • Auf einen Blick

    Ein maßgeschneiderter Infoscreen auf RasPi-Basis mit stromsparendem E-Ink-Display zeigt Termine, Bilder, Mitteilungen und Wetterinformationen an.

  • Sanft berührt

    Mit einem RasPi und dem Controllermodul PiXtend lassen sich mühelos Roboterarme ansteuern und deren Bewegung automatisieren.

  • Popcorn-Kino

    Mit Kodi 18.0 unterstützt LibreELEC 9.0 jetzt die von vielen Streaming-Diensten genutzte DRM-Verschlüsselung. Die Integration von Netflix, Amazon und Co. erfordert allerdings Handarbeit.

  • So nah und doch so fern

    Der RasPi kommt häufig als Server oder Steuerrechner für spezielle Zwecke zum Einsatz. Mit Anydesk erhalten Sie dazu eine Steuersoftware mit grafischer Oberfläche.