Niedawno wpadłem na pomysł wysyłania sms’ów bezpośrednio z serwera – początkowo miały być to tylko alerty informujące o przerwie w dostępie do internetu lecz szybko rozwinąłem funkcjonalność do informowania mnie o braku zasilania na UPSie. Mój mogem to huawei e3131 + karta prepaid (polecam Play: http://www.play.pl/promocja/rok-waznosci-konta/). Ogólnie konfiguracja sprowadzała się zainstalowania aktualnego pakietu Gnokii oraz kliku przydatnych skryptów.
Przykładowa konfiguracja Gnokii służąca do wysyłania sms.
Konfiguracja:
[global] model = AT port = /dev/ttyUSB0 connection = serial
Testujemy czy gnokii wykryl poprawnie modem:
#gnokii --identify GNOKII Version 0.6.21 IMEI : ***** Manufacturer : huawei Model : E3131 Product name : E3131 Revision : 21.157.11.00.264
jeśli wszystko jest ok, możemy zacząć wysyłkę sms 🙂
Skrypt realizujący wysyłkę:
#!/bin/sh LOG="/var/log/sms/sms.log" LOG_ALL="/var/log/sms/sms_all.log" DATA=`date +%Y-%m-%d:%H:%M:%S` MSG=$1 NUMER=$2 #wysyłka echo "echo $MSG | gnokii --sendsms $NUMER" >> $LOG_ALL #logowanie wysyłki echo "$DATA SMS:$MSG DO: $NUMER" >> $LOG
Do tego wszystkiego przydał by się skrypt zakładający / zdejmujący locka – tutaj zależnie od potrzeb 🙂
Dokumentacja Gnokii: http://www.gnokii.org/docs.shtml
Edit (12.07.2015):
Instalowałem Gnokii na ruterze pracującym pod OpenWrt (taki sam model modemu). Instalacja jest bardzo prosta, analogiczna do instalacji przeprowadzonej na serwerze pracującym pod Debianem. Niestety nie obyło się bez drobnego problemu. System nie chciał wykryć modemu mimo obecność wszystkich potrzebnych sterowników USB. Pomocne okazało się rozwiazanie znalezione na tracu openwrt: https://dev.openwrt.org/ticket/16778
Tworzymy plik:
/etc/modules.d/60-usb-serial
z wpisem:
usbserial vendor=0x12d1 product=0x1c07
Dzięku temu system bez problemu wykrył mój E3131 🙂