Raspberry Pi · 9 min read · Dec 08, 2025
Wie man einen Raspberry Pi SMS-Server installiert
Bevor wir anfangen
Dieses Tutorial zeigt Ihnen, wie Sie einen SMS-Server auf einem Raspberry Pi 2 Model B einrichten können, der Raspbian ausführt.
Wir werden playsms und smstools verwenden. In meinem Beispiel habe ich ein Huawei E3131 3G-Modem verwendet.
Raspbian
Zuerst müssen wir Raspbian herunterladen, die neueste Version finden Sie unter https://www.raspberrypi.org/downloads/
Direkte URL: http://downloads.raspberrypi.org/raspbian_latest
Jetzt müssen wir die Datei 2015-05-05-raspbian-wheezy.zip entpacken:
unzip 2015-05-05-raspbian-wheezy.zipSie erhalten eine Datei mit dem Namen 2015-05-05-raspbian-wheezy.img, diese Datei muss auf Ihre micro-SD-Karte geschrieben werden.
Wenn Sie einige Grundlagen darüber wissen möchten, wie man mit dem Raspberry Pi arbeitet und das Image auf die micro-SD-Karte schreibt, können Sie mit dem Lesen dieses Tutorials beginnen:
https://www.howtoforge.com/tutorial/howto-install-raspbian-on-raspberry-pi/
Schreiben Sie die Image-Datei auf die micro-SD-Karte, auf meinem PC wird die micro-SD-Karte als /dev/mmcblk0 angezeigt, unter Linux können Sie dd verwenden:
dd bs=4M if=2015-05-05-raspbian-wheezy.img of=/dev/mmcblk0- Bitte beachten Sie, dass die Blockgröße von 4M in den meisten Fällen funktioniert; wenn nicht, versuchen Sie 1M, obwohl dies erheblich länger dauert.
- Beachten Sie auch, dass Sie, wenn Sie nicht als root angemeldet sind, dies mit sudo voranstellen müssen.
Wenn das Image geschrieben wurde, stecken Sie die micro-SD-Karte in Ihren Raspberry Pi und schalten Sie ihn ein.
Wenn der Raspberry Pi gebootet ist, sollten Sie beim ersten Start einen Bildschirm wie diesen sehen.

Jetzt wähle ich folgende Optionen:
1 Expand Filesystem
3 Enable Boot To Desktop/Scratch -> Wählen Sie Konsole Textkonsole, die eine Anmeldung erfordert (Standard)
8 Advanced Options -> A4 SSH -> Aktivieren
8 Advanced Options -> A0 Update
Finish -> RebootJetzt können Sie sich mit folgendem Benutzernamen anmelden: pi und Passwort: raspberry.
Zuerst richten wir die Netzwerkkonfiguration für unseren Server ein, indem wir
sudo nano /etc/network/interfacesMeine /etc/network/interfaces-Datei sieht so aus (ändern Sie die Konfiguration nach Ihren Bedürfnissen):
auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet static
address 10.255.50.30
netmask 255.255.255.0
gateway 10.255.50.1
dns-nameservers 8.8.8.8 8.8.4.4Jetzt starten wir den Netzwerkdienst auf dem Pi neu:
sudo /etc/init.d/networking restartDann deaktivieren wir DHCP beim Start mit diesem Befehl:
sudo update-rc.d -f dhcpcd removeWenn Sie es später wieder aktivieren möchten, führen Sie einfach folgenden Befehl aus:
sudo update-rc.d dhcpcd defaultsJetzt können wir einen SSH-Client wie PuTTY verwenden, um von unserem PC aus eine Verbindung zum Raspberry Pi herzustellen.
Jetzt aktualisieren wir Raspbian mit folgendem Befehl:
sudo apt-get update && apt-get upgrade -y && apt-get dist-upgrade -yPlaySMS
Laden Sie playsms 1.1 herunter und installieren Sie es:
sudo -s
apt-get install apache2 libapache2-mod-php5 mysql-server php5 php5-cli php5-mysql php5-mcrypt php5-gd php5-imap php5-curl
php5enmod mcrypt
service apache2 restartWenn Sie nach dem neuen Passwort für den MySQL “root”-Benutzer gefragt werden, verwenden Sie ein starkes Passwort, in diesem Beispiel habe ich MyP@$$w0rd verwendet.
Jetzt können wir zu http://your-ip gehen, in meinem Fall http://10.255.50.30, und wir sehen eine Seite, die anzeigt: “Es funktioniert!”.
cd /tmp/
wget http://downloads.sourceforge.net/project/playsms/playsms/Version%201.1/playsms-1.1.tar.gz
tar -zxf playsms-1.1.tar.gz -C /usr/local/src
ls -l /usr/local/src/
cd /usr/local/src/playsms-1.1/
cp install.conf.dist install.conf
nano install.confKopieren Sie install.conf.dist nach install.conf und bearbeiten Sie install.conf
Lesen Sie install.conf und nehmen Sie Änderungen vor, um Ihrer Systemkonfiguration zu entsprechen.
Ich habe die Datei bearbeitet, sodass sie so aussieht:
# INSTALL DATA
# ============
# Bitte ändern Sie INSTALL DATA unten, um Ihrer Systemkonfiguration zu entsprechen
# Bitte ändern Sie nicht den Variablennamen, Sie können nur den Wert ändern
# MySQL-Datenbank-Benutzername
DBUSER="root"
# MySQL-Datenbank-Passwort
DBPASS="MyP@$$w0rd"
# MySQL-Datenbank-Name
DBNAME="playsms"
# MySQL-Datenbank-Host
DBHOST="localhost"
# MySQL-Datenbank-Port
DBPORT="3306"
# Benutzer des Webservers, z. B. ist der apache2-Benutzer standardmäßig www-data
# Hinweis: Bitte stellen Sie sicher, dass Ihr Webserver-Benutzer
WEBSERVERUSER="www-data"
# Gruppe des Webservers, z. B. ist die apache2-Gruppe standardmäßig www-data
# Hinweis: Bitte stellen Sie sicher, dass Ihre Webserver-Gruppe
WEBSERVERGROUP="www-data"
# Pfad zu den extrahierten Quell-Dateien von playSMS
PATHSRC="$(pwd)"
# Pfad zu den Web-Dateien von playSMS
# Hinweis: Bitte stellen Sie sicher, dass Ihr Web-Stammverzeichnis, in diesem Beispiel ist es /var/www/html
PATHWEB="/var/www/html/playsms"
# Pfad zu den zusätzlichen Dateien von playSMS
PATHLIB="/var/lib/playsms"
# Pfad zu den Daemon- und anderen Binärdateien von playSMS
PATHBIN="/usr/local/bin"
# Pfad zu den Protokolldateien von playSMS
PATHLOG="/var/log/playsms"
# ENDE DER INSTALLATIONSDATEN
# ===================
Jetzt ausführen:
./install-playsms.shDrücken Sie Y, wenn alles in Ordnung aussieht.
Jetzt möchten wir sicherstellen, dass playsms beim Booten startet, indem wir eine Zeile in die rc.local-Datei hinzufügen.
nano /etc/init.d/rc.localFügen Sie Folgendes in die Datei ein: /usr/local/bin/playsmsd start
unten in der Datei (vor exit, falls es einen exit-Befehl gibt).
Auf diese Weise wird playsmsd beim Booten automatisch gestartet.
..
/usr/local/bin/playsmsd startBearbeiten Sie die Apache vhost-Datei:
nano /etc/apache2/sites-available/defaultMeine vhost-Datei sieht so aus:
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/playsms
Options FollowSymLinks
AllowOverride None
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
ErrorLog ${APACHE_LOG_DIR}/error.log
# Mögliche Werte sind: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Jetzt laden Sie die Apache2-Konfiguration neu, um die Änderungen anzuwenden.
service apache2 reloadDann sollten Sie in der Lage sein, die playsms-Website unter folgender URL zu erreichen:
Gehen Sie zu http://your-ip usw. http://10.255.50.30
Sie können sich anmelden mit:
Benutzername: admin
Passwort: admin
Gateway - SMS Server Tools 3
Zuerst installieren wir die Build-Tools, um die neueste Version zu erstellen. Führen Sie aus:
apt-get install build-essential libusb-1.0 libusb-1.0-0-devJetzt habe ich das Huawei E3131-Modem eingesteckt, und ich kann es mit lsusb auflisten:
lsusblsusb
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 12d1:14fe Huawei Technologies Co., Ltd.Wir möchten, dass es mit ID: 12d1:1506 ist, aber es wird derzeit mit 12d1:14fe erkannt.
Um dies zu ändern, installieren wir usb_modeswitch im System, die neueste Version finden Sie hier:
http://www.draisberghof.de/usb_modeswitch/#download
cd /tmp
wget http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-2.2.5.tar.bz2
tar jxvf usb-modeswitch-2.2.5.tar.bz2
cd usb-modeswitch-2.2.5
make install
cd /tmp
wget http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-data-20150627.tar.bz2
tar xjvf usb-modeswitch-data-20150627.tar.bz2
cd usb-modeswitch-data-20150627
make installJetzt ziehen Sie das Modem ab und stecken Sie es wieder ein, und führen Sie dann aus:
lsusb lsusb
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 006: ID 12d1:1506 Huawei Technologies Co., Ltd. E398 LTE/UMTS/GSM Modem/NetzwerkkarteJetzt haben wir den gewünschten Modus: 12d1:1506.
Als nächstes fahren wir mit SMS Server Tools 3 fort.
Zuerst laden wir es herunter, entpacken es und installieren es.
cd /usr/local/src
wget http://smstools3.kekekasvi.com/packages/smstools3-3.1.15.tar.gz
tar -zxvf smstools3-3.1.15.tar.gz
cd smstools3
makeWenn Sie einen Fehler sehen, wie in meinem Fall, wenn Sie make ausführen:
make
cd src && make -
make[1]: Betritt das Verzeichnis '/usr/local/src/smstools3/src'
Makefile:51: * Rezept beginnt vor dem ersten Ziel. Stop.
make[1]: Verlasse das Verzeichnis '/usr/local/src/smstools3/src'
Makefile:10: Rezept für das Ziel 'compile' fehlgeschlagen
make: * [compile] Fehler 2Dann machen Sie Folgendes:
nano src/MakefileDas Problem ist ein fehlendes Tabulatorzeichen, suchen Sie jetzt nach:
ifeq (,$(findstring DISABLE_INET_SOCKET,$(CFLAGS)))
override LFLAGS += -lsocket -lnsl
endifUnd verschieben Sie die Zeile override LFLAGS += -lsocket -lnsl mit einem TAB
ifeq (,$(findstring DISABLE_INET_SOCKET,$(CFLAGS)))
override LFLAGS += -lsocket -lnsl
endifUnd versuchen Sie erneut, make auszuführen:
make
make installJetzt erstellen wir einige erforderliche Ordner:
mkdir -p /var/log/sms/stats
mkdir -p /var/spool/sms/{checked,failed,incoming,outgoing,sent}
mkdir /var/spool/sms/modem1
chown www-data:www-data -R /var/spool/sms
chmod 777 -R /var/spool/smsUnd dann verschieben wir die ursprüngliche Konfigurationsdatei und laden ein Beispiel von PlaySMS herunter:
mv /etc/smsd.conf /etc/smsd.conf.dist
cd /tmp
wget -c https://raw.githubusercontent.com/antonraharja/playSMS/master/contrib/smstools/smsd.conf
cp smsd.conf /etc/Um sicherzustellen, dass ich immer das richtige Gerät verwende, werde ich eine dynamische Geräte-Datei verwenden.
Lesen Sie mehr über dynamische Geräte-Dateien unter folgender URL: http://antonraharja.com/2015/05/14/persistent-paths-for-dynamic-device-file/
nano /etc/udev/rules.d/80-ttyusb-map.rulesACTION=="add", KERNEL=="ttyUSB[0-9]*", PROGRAM="/etc/udev/rules.d/ttyusb-map.sh %p", SYMLINK+="gsm%c"touch /etc/udev/rules.d/ttyusb-map.sh
chmod 755 /etc/udev/rules.d/ttyusb-map.sh
nano /etc/udev/rules.d/ttyusb-map.sh#!/usr/bin/perl -w
@items = split("/", $ARGV[0]);
for ($i = 0; $i < @items; $i++) {
if ($items[$i] =~ m/^usb[0-9]+$/) {
print $items[$i + 1] . "\n";
last;
}
}Jetzt ziehen Sie das Modem ab und stecken es wieder ein, und es sollte sich unter /dev/gsm* befinden:
ls -l /dev/gsm*
lrwxrwxrwx 1 root root 7 Jul 24 01:39 /dev/gsm1-1 -> ttyUSB0
lrwxrwxrwx 1 root root 7 Jul 24 01:39 /dev/gsmmodem -> ttyUSB0Ich habe einige Änderungen an der Datei vorgenommen, hier ist meine Konfiguration, mein Modem befindet sich unter /dev/gsm1-1, ersetzen Sie dies durch Ihren Speicherort.
# Globale Konfiguration
#devices = modem1, modem2
devices = modem1
loglevel = 5
# Protokolldateien
stats = /var/log/sms/stats
logfile = /var/log/sms/smsd.log
# Standard-Warteschlangenverzeichnis = /var/spool/sms
outgoing = /var/spool/sms/outgoing
checked = /var/spool/sms/checked
failed = /var/spool/sms/failed
incoming = /var/spool/sms/incoming
sent = /var/spool/sms/sent
# Setzen Sie keinen Berichtsordner, lassen Sie Statusberichtdateien im Eingangsordner speichern
#report = /var/spool/sms/report
delaytime = 2
errorsleeptime = 10
blocktime = 180
autosplit = 3
#receive_before_send = yes
incoming_utf8 = yes
# Warteschlangen-Konfigurationen
[queues]
modem1 = /var/spool/sms/modem1
#modem2 = /var/spool/sms/modem2
# Modem-Konfigurationen
# Modemname: modem1
# Modemtyp: Wavecom USB
[modem1]
#init = AT+CNMI=2,2,0,1,0;+CMEE=1
#init = AT+CPMS="ME","ME","ME"
device = /dev/gsm1-1
baudrate = 19200
incoming = yes
pin = 3391
report = yes
queues = modem1
decode_unicode_text = yes
cs_convert = yes
# Modemname: modem2
# Modemtyp: Wavecom USB
#[modem2]
#init = AT+CNMI=2,2,0,1,0;+CMEE=1
#device = /dev/ttyUSB1
#baudrate = 115200
#incoming = yes
#report = yes
#queues = modem2Starten Sie die SMS Server Tools 3 neu:
/etc/init.d/sms3 restartÜberprüfen Sie, ob die SMS Server Tools 3 ausgeführt werden:
ps ax | grep -v grep | grep smsdÜberwachen Sie die Protokolldatei der SMS Server Tools 3:
tail -f /var/log/smsd.logMelden Sie sich an und konfigurieren Sie smstools im playsms-Webpanel
Melden Sie sich bei Ihrer playsms-Installation an, meine Adresse ist http://10.255.50.30/
Benutzername ist admin
Passwort ist admin
Gehen Sie jetzt zu Einstellungen => Gateway verwalten und SMSC.
Sie sollten einen Bildschirm wie diesen sehen:
Jetzt klicken Sie auf Bearbeiten des smstools-Gateways.
Und stellen Sie sicher, dass es so eingerichtet ist:
Klicken Sie auf Speichern, und wenn es gespeichert ist, klicken Sie zurück.
Jetzt müssen Sie das SMSC einrichten, also wählen Sie bitte das + Zeichen bei SMSTools.
Sie sollten die SMSC-Details wie folgt ausfüllen, geben Sie Ihre Modemtelefonnummer in die Empfängernummer ein.
Wenn Sie fertig sind, klicken Sie auf Speichern.
Gehen Sie jetzt zu Einstellungen => Hauptkonfiguration
Und füllen Sie folgende Felder aus:
Standard-Absender-ID
Standard-Präfix oder Ländervorwahl
Und setzen Sie Standard-SMSC auf smstools, wie im Bild unten gezeigt.
Klicken Sie auf Speichern, wir sind bereit, die erste SMS zu senden.
Eine SMS senden
Gehen Sie jetzt zu Mein Konto => Nachricht verfassen
Geben Sie Ihre Handynummer in “An” ein und eine Nachricht wie “Hallo Welt!” im Nachrichtenfeld und klicken Sie auf Senden.
Wenn die Nachricht in die Warteschlange gestellt wird, können Sie die Transaktion hier verfolgen:
Gehen Sie zu Berichte => Alle gesendeten Nachrichten
Eingehende Nachrichten, die nicht bearbeitet werden, werden im Sandbox gespeichert, Sie finden dies in Berichte => Sandbox
Und das Protokoll, wenn etwas nicht funktioniert, befindet sich in Berichte => Protokoll anzeigen
Wenn Sie Probleme mit Ihrer Einrichtung haben, ist ein guter Ort, um Hilfe zu suchen, das playsms-Forum.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.