Zbudowanie własnej bramki SMS w Linuksie

Do zbudowania własnej bramki SMS polecam telefon Nokia 3310 wraz z kablem fbus/mbus na RS232, aktywną kartą SIM (polecam usługi telemetryczne) i oprogramowanie gnokii.

Jeżeli nie posiadamy takiego telefonu, to na pewno ktoś ze znajomych ma i nie potrzebuje i chętnie odda. W ten sposób zaoszczędzimy jakieś 40 zł, jeżeli nikt takowego nie posiada, to nie polecam kupować, bo gnokii obsługuje masę innych telefonów, także nowych, z którymi można się komunikować za pomocą USB, a nawet modemów USB.

Ja w swoich zasobach znalazłem kabel do telefonu, a telefon dostałem od sąsiada. A gnokii ściągnąłem z internetu. Najnowsza dostępna wersja to 0.6.31 z 2 grudnia 2011 roku, jest dostępna do pobrania stąd: ftp://ftp.slackware.pl/pub/gnokii/gnokii/0.6.x/gnokii-0.6.31.tar.bz2.

Ja kompilowałem z włączoną opcją security (do używania kodów bezpieczeństwa PIN oraz PUK) i wyłączoną opcją użycia serwera X.

wget ftp://ftp.slackware.pl/pub/gnokii/gnokii/0.6.x/gnokii-0.6.31.tar.bz2 -O /tmp/gnokii-0.6.31.tar.bz
cd /tmp/gnokii-0.6.31.tar.bz
tar xjf gnokii-0.6.31.tar.bz2
./configure --prefix=/usr/local/ --enable-security --without-x
make
make install

Nasza aplikacja powinna znaleźć się w /usr/local/bin/gnokii.

Należy sprawdzić plik konfiguracyjny, domyślnie znajduje się w /etc/gnokiirc, u mnie jest następujący

[global]
model = 6110
port = /dev/ttyS0
connection = serial
LogFile = syslog
[smsd]
Service = files
PIN = 1234
LogFile = syslog
InboxPath = /var/spool/sms/inbox/
OutboPpath = /var/spool/sms/outbox/
SentSMSPath = /var/spool/sms/sent/
ErrorSMSPath = /var/spool/sms/error/

Jeżeli tam jest możemy wysłać testowego SMS-a do siebie.

echo 'Testowy SMS 1' | gnokii --sendsms +48XXXXXXXXX

Aplikacja w przypadku braku błędu powinna zwrócić

GNOKII Version 0.6.31
Send succeeded with reference 0!