Impressum Startseite Grund Installation Grundlagen Hilfreiches Projekte Querschläger Meckerecke

Ausprobiert: SMS-Versand/Empfang mit einem Vodafone UMTS K3765 USB Stick

Ich hatte etwas freie Zeit und schon länger hier einen USB Vodafone HSPA Stick K3765 rumliegen, also habe ich mal ausprobiert ob es mir nicht gelingt damit eine SMS zu senden und zu empfangen. Es gibt einige Tuturials im Netz, die mir irgendwie nicht weiter halfen, damit hatte ich den Stick nicht zum laufen gebracht. Durch ein mischen der Anleitungen gelang es dann doch...

Hier wird mit "Gammu" gearbeitet, einen Daemon der im Hintergrund die SMS verschickt und auch Empfängt und die SMS in div. Ordner ablegt.

Installation:

Als erstes stecken wir den USB K3765 Stick (mit einer SIM Karte!) in den USB Port des RPis und booten hoch... Ich habe eine Simyo Prepaid Card reingeschoben, die läuft auch einwandfrei mit dem Stick.

Durch eingabe von :

lsusb

sollten wir z.b. so eine Ausgabe bekommen:

Bus 001 Device 002: ID 0424:9512 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:1520 Huawei Technologies Co., Ltd. K3765 HSPA

Wie man sieht findet man den UMTS Stick bei ID 12d1:1520, Device 004 - das ist schon mal die halbe Miete.... Der Stick hat aber auch eine USB Stick funktion, d.h. er dient als Speicher und muss erst auf Datennutzung umgeschaltet werden. Um ihn umzuschalten brauchen wir noch den Modeswitch...

Also geht es erst mal mit dem Installieren los:

sudo aptitude install usb-modeswitch
sudo aptitude install usb-modeswitch-data

Jetzt noch Gammu Installieren, was den Empfang und den Versand der SMS bewerkstelligt:

sudo apt-get install gammu-smsd
sudo apt-get install gammu

Jetzt sollte "Gammu" noch konfiguriert werden:

sudo nano /etc/gammu-smsdrc

Folgende Konfigurationsdatei hat sich als "Lauffähig" erwiesen, die PIN und die Ordner für die In/Outbox kann ja beliebig angepasst werden.

# Configuration file for Gammu SMS Daemon
[gammu]
port = /dev/ttyUSB0
connection = at
logformat = textalldate

# SMSD configuration, see gammu-smsdrc(5)
[smsd]
pin = 1234
service = files
logfile = /var/log/gammu-smsd
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/

Jetzt geht es an das eingemachte..., am Anfang hatten wir ja folgendes gemacht:

lsusb

und folgendes bekommen:

Bus 001 Device 002: ID 0424:9512 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:1520 Huawei Technologies Co., Ltd. K3765 HSPA

Jetzt "Switchen" wir mal den Stick vom Datenspeicher zum UMTS Stick:

sudo usb_modeswitch -v 12d1 -p 1520 -I -M "55534243123456780000000000000011062000000100000000000000000000"

Jetzt kommt viel Textausgabe und am Ende, wenn wir jetzt wieder "lsusb" machen, sieht die Augabe schon ganz anders aus:

Bus 001 Device 002: ID 0424:9512 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 005: ID 12d1:1465 Huawei Technologies Co., Ltd.

Scheint also geklappt zu haben.

Damit man einfachen zugriff auf die SMS in der In- und Outbox haben geben wir den Ordner erst mal alle Rechte:

sudo chmod -R 0777 /var/spool/gammu/

Na so viel Änderungen und Anpassungen kann es nicht schaden den Gammu Neu zu starten:

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

Dabei sollten keine Fehlermeldungen erscheinen. Wenn das so ist, kann man seine ersten SMS Versenden:

echo "TEST SMS" | sudo gammu-smsd-inject TEXT "0049171222333444"

Einige Sekunden später sollte die SMS schon ankommen.

Sollte eine SMS an die Nummer geschickt werden, wird diese in der "Inbox"-> "/var/spool/gammu/inbox/" zu finden sein. Dabei steht die Absendenummer und auch die Nachricht, sowie einige andere Details.

Wenn man von PHP aus eine SMS Versenden will muss man etwas tricksen, da man erweiterte Rechte braucht..., also legen wir erst mal fest das jeder dieses gammu-smsd-inject aufrufen kann:

sudo chmod 0777 /usr/bin/gammu-smsd-inject

und dann können wir mittels folgendem PHP Code SMS Versenden:

<?php
$smsNachricht="Dies ist ein SMS Versand per PHP";
$Nummer="0049163123456";
exec( 'echo "'.$smsNachricht.'" | gammu-smsd-inject TEXT "'.$Nummer.'"');

?>

Sollte der RPi mal herunter gefahren werden und vom Stromnetz getrennt werden, blinkt der UMTS Stick am Anfang noch "Grün" und man kann keine Nachrichten Senden oder Empfangen. Nach ca 1-2 Minuten schaltet der Stick dann auf "Blau" um und die SMS Funktionen sind vollständig Nutzbar.

Ein normaler Reboot dagegen belässt den Stick im "blauen" Blinkmodus und man kann sofort weiter SMS Versenden und empfangen.

Ideal für Statusabfragen oder wichtige Meldungen.

NACHTRAG:

Wenn der RPi länger vom Stromnetz getrennt war und der USB Stick nicht mit Strom versorgt wurde, schaltet er wieder in den USB Speichermodus, d.h. man kann keine SMS Senden oder Empfangen. Umgehen lässt sich das wenn man beim hochbooten evtl im Cronjob "sudo Crontab -e" den Modeswitch einmal ausführen lässt, so das sich der Stick auf jeden fall in den Datenmodus schaltet:

@reboot /usr/sbin/usb_modeswitch -v 12d1 -p 1520 -I -M "55534243123456780000000000000011062000000100000000000000000000" >/dev/null 2>&1

Das muss alles dann in eine Zeile des Cronjobs. oder man legt es als Bash Script an und lässt es von Cronjob beim booten kurz einmal starten. Nervig, aber besser als gar nichts.

08.07.2015 NACHTRAG:

Gammu hat sich als SEHR instabil erwiesen, es musste mittlerweile täglich einmal automatisiert neu gestartet werden, und trotzdem verlor Gammu ab und an den Kontakt zum Stick - SMS wurden nicht "empfangen" von und senden ging auch nur "gelegentlich".

Also habe ich alles auf SMStools umgewitcht - mal sehen wie gut dieses SMS tool im Dauerbetrieb läuft.

Impressum Startseite Grund Installation Grundlagen Hilfreiches Projekte Querschläger Meckerecke