Selasa, 05 Oktober 2010

SMS Gateway menggunakan Gammu di Ubuntu

Gammu adalah software opensource yang cukup handal untuk membangun SMS gateway. pada penerapannya, bisa dikembangkan menjadi berbagai macam aplikasi terapan seperti untuk pooling SMS, server pengisian pulsa dan sebagainya. Konsep dan cara kerja gammu sangat sederhana. Gammu melakukan koneksi ke HP. membaca SMS yang ada di handphone mengambilnya, dan menyimpannya ke dalam media penyimpanan di komputer. baik itu berupa file text atau ke dalam database seperti MySQL ataupun PostgreSQL.

Pada percobaan ini, saya menggunakan HP siemens M55 dengan kabel konektor BlueTech USB.

skema..

[hahdphone] <-> [gammu] <-> [Database Mysql] <-> [Intefaces]

Installasi Gammu

gammu dapat di download di website resminya di sini
http://dl.cihar.com/gammu/releases/gammu-1.27.92.tar.gz

Download gammu
#wget http://dl.cihar.com/gammu/releases/gammu-1.27.92.tar.gz

Extract hasil download


#tar -zxfv gammu-1.27.92.tar.gz

masuk ke direktori hasil extract
cd gammu-1.27.92

Sebelum melakukan proses kompilasi, pastikan bahwa cmake, gcc dan library mysql-devel sudah terinstall. cmake untuk proses kompilasi sedangkan mysql-devel digunakan supaya gammu dapat menyimpan SMS ke dalam database mysql.


#apt-get install cmake gcc
#apt-get install libmysql++-dev

Lakukan installasi dengan 3 langkah mudah

#./configure --enable-shared
#make
#make test
#make install

Setelah terinstall, kita coba mengkonfigurasi gammu supaya dapat berkomunikasi dengan handphone


# gammu-config
Current Gammu configuration
?
? ?
? P Port (/dev/ttyUSB0) ?
? C Connection (at19200) ?
? M Model () ?
? D Synchronize time (yes) ?
? F Log file () ?
? O Log format (nothing) ?
? L Use locking () ?
? G Gammu localisation () ?
? H Help ?
? S Save ?
? ?
? ?
? |

Pilih menu Port dan ganti dengan /dev/ttyUSB0 karena kabel yang saya gunakan menggunakan port usb ke komputer
Untuk Connection pilih at19200. ini merupakan tipe koneksi default. jika anda menggunakan jenis HP yang berbeda, silahkan sesuaikan.

Pilih menu Save kemudian OK

pada dasarnya, yang kita lakukan tadi adalah menciptakan sebuah file yang disimpan dalam home direktori user dengan nama .gammurc
silahkan cek isi file tersebut.

Test koneksi ke HP dengan gammu


# gammu --identify
Device : /dev/ttyUSB0
Manufacturer : Siemens
Model : unknown (M55)
Firmware : 10
IMEI : 352027003098230
SIM IMSI : 510102833201906

Konfigurasi SMS daemon menggunakan database mysql

1. Buat database dengan nama sms

#mysqladmin create sms -uroot -p
#mysql sms -uroot -p < /usr/local/share/doc/gammu/examples/sql/mysql.sql

2. Membuat konfigurasi smsd. Gammu sudah membuatkan contoh konfigurasi file untuk smsd. kita bisa mengambilnya dari file /usr/local/share/doc/gammu/examples/config/smsrc. yang perlu kita lakukan adalah dengan mengcopy file tersebut dan simpan dalam direktori /etc

#cp /usr/local/share/doc/gammu/examples/config/smsdrc /etc

3. Edit file /etc/smsdrc dan rubah pada bagian berikut

[gammu]
port = /dev/ttyUSB0
connection = at19200
[smsd]
service = mysql
user = root
password = rahasia
pc = localhost
database = sms

4. Menjalankan Gammu sebagai SMS daemon

# gammu-smsd -c /etc/smsdrc

Setelah menjalankan perintah di atas, gammu akan mulai bekerja. membaca sms di HP kemudian menyimpannya ke dalam database MySQL dan menghapus SMS yang ada di HP. coba cek inbox HP. jika SMSnya berkurang, berarti gammu sudah berjalan dengan benar. jika tidak, silahkan periksa file smsdlog

Membaca dan mengirim SMS
untuk membaca SMS, kita dapat melakukan query pada tabel inbox di dalam database sms

mysql> select * from inbox;

Sedangkan jika ingin mengirimkan SMS, dapat dilakukan dengan menginputkan tabel outbox

mysql> insert into outbox(DestinationNumber,TextDecoded) values('081328080020','Test sms gammu');

Jadi, untuk mengelola SMS, baik untuk mengirimkan atau membaca SMS yang masuk tinggal mengutak-atik tabel-tabel yang ada di database sms. karena sudah disimpan dalam database, kita dapat membuat interface dengan menggunakan PHP,VisualBasic, Delphi, Java atau apapun sepanjang dapat mengakses database MySQL.
Terima kasih, dan selamat mencoba

0 komentar:

Posting Komentar