Gnokii – smsy z serwera

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 🙂