SMS Server einrichten
Auf einem Ubuntu 16.04 Server soll ein SMS Server Dienst zur Alarmierung über SMS eingerichtet werden. Dazu soll das Paket "gammu" eingesetzt werden.
Als Hardware dient ein Huawei E1552 web'n'walk Stick Fusion II USB stick.
Zunächst soll sicher gestellt werden, dass der Stick im richtigen Modus (Modem) arbeitet und immer die selbe Device Bezeichnung zugewiesen bekommt.
Udev Regel zur Umschaltung von Storage in Modem Funktion
USB ModeSwitch muss installiert werden und folgende Regeln werden in /etc/udev/rules.d/ eingefügt:
# eigene udev-Regeln für UMTS-Sticks
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1446", RUN+="/usr/sbin/usb_modeswitch -v 12d1 -p 1446 -M '55534243123456780000000000000011062000000100000000000000000000'"
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1436", RUN+="/bin/bash -c 'modprobe option && echo 12d1 1436 > /sys/bus/usb-serial/drivers/option1/new_id'"
Eindeutiger Device Name festlegen
Damit der USB Stick auch immer den selben Namen bekommt, muss man eine weitere Regel in /etc/udev/rules.d einfügen:
SUBSYSTEM=="tty", SUBSYSTEMS=="usb", ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1436", SYMLINK+="mytty-huawei-stick"
Beim erneuten Einstecken wird der Stick nun immer als /dev/mytty-huawei-stick angemeldet.
Gammu installieren und konfigurieren
$ apt get install gammu gammu-smsd
Eine Konfigurationsdatei anlegen /etc/gammu-smsdrc
# Configuration file for Gammu SMS Daemon # Gammu library configuration, see gammurc(5) [gammu] # Please configure this! port = /dev/mytty-huawei-stick connection = at115200 # Debugging logformat = textall # SMSD configuration, see gammu-smsdrc(5) [smsd] service = files logfile = syslog PIN = 'xxxx' # 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/
Der gamu-smsd Service kann nun aktiviert und gestartet (systemd) werden
$ sudo systemctl enable gammu-smsd
$ sudo systemctl start gammu-smsd
Prüfen kann man die Funktion mit
sudo gammu-smsd-monitor -n 1 -d 1
Damit man in einem cron job den Stick überwachen kann - ohne root zu sein - ist es anzuraten, dem Binary das Setuid Bit zu setzen, dann kann jeder unprivilegierte User das Kommando (als root) ausführen:
Damit man in einem cron job den Stick überwachen kann - ohne root zu sein - ist es anzuraten, dem Binary das Setuid Bit zu setzen, dann kann jeder unprivilegierte User das Kommando (als root) ausführen:
$ chmod u+s /usr/bin/gammu-smsd-monitor
Versenden von SMS
Zuerst sollte man die Spool Directories für alle schreibbar machen sonst kann nur ein Benutzer senden:
$ chmod -R o+rwx /var/spool/gammu/
$ chmod -R o+rwx /var/spool/gammu/
Jetzt kann die erste Textnachricht versendet werden:
echo "Testnachricht" | gammu-smsd-inject TEXT +4917XXXXXX
Keine Kommentare:
Kommentar veröffentlichen