Raspberry Pi - SMS per Kommandozeile versenden

Raspberry Pi – SMS per Kommandozeile versenden

Da ich den Raspberry Pi häufig für Monitoringzwecke o.ä. einsetze, möchte ich bei Problemen oder kritischen Events schnellstmöglich benachrichtigt werden. Um im Problemfall nicht auf die (möglicherweise unterbrochene) Internetverbindung angewiesen zu sein, setze ich für kritische Status-Benachrichtigungen im Serverbereich gerne auf SMS. Da ich damit in den vergangenen Jahren sehr positive Erfahrungen im geschäftlichen Umfeld gemacht habe, wollte ich dies nun auch bei meinen Projekten rund um den Raspberry Pi einsetzen.

Dazu benötigen wir Folgendes:

Die richtige SIM-Karte

Um die SMS für möglichst kleines Geld versenden zu können, setze ich auf Prepaid Anbieter mit günstigem SMS-Preis. Dabei setze ich jedoch nur Prepaid-Anbieter ein, die auch eine automatische Guthaben-Aufladung anbieten. Sobald das Kartenguthaben unter einen bestimmten Betrag fällt wird dann per Abbuchung das Guthabenkonnte automatisch wieder aufgeladen. Dadurch muss ich mir um das Kartenguthaben nie Gedanken machen und dem SMS-Versand steht nichts im Wege.

Ich habe folgende Anbieter bei mir im Einsatz:


Schwierigkeitsgrad:


 

UMTS-Stick unter Raspbian einrichten

Ist der UMTS-Stick mit der SIM-Karte bestückt, sollte dieser am Besten über einen aktiven USB-Hub am Raspberry Pi angeschlossen werden. Besonders dann, wenn zusätzlich noch ein WLAN-Stick oder ein anderes USB-Gerät direkt am Raspberry Pi angeschlossen ist, reicht die Stromversorgung direkt über den USB-Port nicht mehr aus.

Sobald der Stick angeschlossen wurde, wird er von Raspbian auch schon erkannt. Dies kann einfach mit folgendem Befehl überprüft werden:

$ lsusb

Bei mir sieht die Ausgabe dann folgendermaßen aus:
lsusb_umts
 

Die mir bekannten UMTS-Sticks stellen meist zwei oder drei serielle Schnittstellen zur Verfügung. Die erste fungiert dabei meist als herkömmliches Modem, die anderen können zur Abfrage von Statusinformationen (Netz, Signalstärke, …) verwendet werden. Diese serielle Schnittstellen findet man unter /dev:

dev_serial_umts
 
Hinweis zu Modem- und Datenmodus

Da UMTS-Sticks zusätzlich einen microSD Steckplatz zur Bereitstellung der Windows-Treiber besitzen, werden manche Sticks unter Linux nur als USB Speicher erkannt. Sollte also kein neues serielles Device auftauchen, muss zusätzlich noch das Paket usb-modeswitch und usb-modeswitch-data installiert werden. USB-Switchmode bringt eine recht große Datenbank mit Daten zu allen gängigen Sticks mit und aktiviert damit den Modemmodus des UMTS-Sticks. Bei mir war dies aber nicht erforderlich.
 

Gammu SMS Daemon

Um über die Konsole einfach SMS versenden zu können, benötigen wir einen Daemon, der den UMTS-Stick entsprechend anspricht. Diesen installieren wir mit folgendem Befehl:

$ sudo apt-get install gammu-smsd

Ist die Installation fertig, muss die Konfigurationsdatei (/etc/gammu-smsdrc) editiert werden. Der Inhalt sollte wie folgt aussehen, lediglich die Pin sollte natürlich entsprechend angepasst werden:

# Configuration file for Gammu SMS Daemon
# Gammu library configuration, see gammurc(5)
[gammu]
# Please configure this!
port = /dev/ttyUSB0
connection = at
# Debugging
logformat = textalldate
# SMSD configuration, see gammu-smsdrc(5)
[smsd]
pin = 1234
service = files
#logfile = syslog
logfile = /var/log/gammu-smsd
# Increase for debugging information
debuglevel = 4
ReceiveFrequency = 300
# 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/

Anschließend starten wir nun den SMS Daemon neu. Startet dieser ohne Fehlermeldungen (siehe Ausgabe und ggf. Logfile /var/log/gammu-smsd), steht einer ersten Test-SMS nichts mehr im Wege.

$ sudo /etc/init.d/gammu-smsd restart

 

SMS-Versand

Um nun eine SMS über die Konsole zu versenden, kommt folgender Befehl zum Einsatz:

echo "Ich bin eine Test-SMS, versandt vom Raspberry Pi" | sudo gammu-smsd-inject TEXT "+491741234567"

 


Artikel bewerten:
1 Star2 Stars3 Stars4 Stars5 Stars
4,54/5 (48 Bewertungen)

Raspberry Pi – SMS per Kommandozeile versenden 4,54 out of 5 based on 48 ratings
Loading...