Membuat SMS Gateway dengan Gammu pada CentOS 5 (1)

SMS Gateway merupakan pintu gerbang bagi penyebaran Informasi dengan menggunakan SMS. Anda dapat menyebarkan pesan ke ratusan nomor secara otomatis dan cepat yang langsung terhubung dengan database nomor-nomor ponsel saja tanpa harus mengetik ratusan nomor dan pesan di ponsel anda karena semua nomor akan diambil secara otomatis dari database tersebut. Selain itu , dengan adanya SMS Gateway anda dapat mengustomisasi pesan-pesan yang ingin dikirim. Dengan menggunakan program tambahan yang dapat dibuat sendiri, pengirim pesan dapat lebih fleksibel dalam mengirim berita karena biasanya pesan yang ingin dikirim berbeda-beda untuk masing-masing penerimanya.

Kita di sini akan memanfaatkan Gammu.  Sebaiknya semua software yang dipakai di sini didownload dalam bentuk sourcenya (semacam .tar.gz, .tar.bz2, dll) bukan package installer (semacam .rpm, .deb, dll). Ini untuk mengurangi kesalahan akibat ketergantungan suatu paket software terhadap distro Linux tertentu. Makanya agar lebih pas dengan konfigurasi linux kita, kita akan compile sendiri nantinya.

Oiya, maaf kalau aku nantinya lebih banyak pakai shell command daripada perintah GUI nya CentOS.

Kebutuhan kita sebelum pembuatan SMS Gateway ini yaitu :
1. PC, laptop, atau netbook, ini yang paling pueenting.
2. Modem iTegno 3000.
Harganya saat posting ini ditulis yaitu gratis, soalnya dari kantor hehe sekitar 2jutaan. Bisa juga dengan modem lain atau handphone asal disupport oleh Gammu.
3. Kartu GSM.

Langkah-langkahnya nih:
1. Instal dulu CentOS 5 di komputer Anda. Di sini aku menggunakan CentOS versi 5.2.
2. Instal CMake pada CentOS 5 tadi. Ini nih caranya.

Install CMake
1.  Download CMake terbaru (aku pakai cmake-2.6.2.tar.gz) ke salah satu direktori. Misalnya /home/arie.
2. Buka shell. Masuk sebagai super user.

[arie@localhost ~]$ su              

>>tanda ‘$’ artinya kita masih sebagai user biasa
Password:

[root@localhost arie]#               

>>tanda ‘#’ artinya kita sudah sebagai superuser
Oke, lanjut dengan mengekstrak cmake tadi.

 tar -zxvf cmake-2.6.2.tar.gz

Kalau sudah selesai masuklah ke folder hasil ekstraksi tadi

 cd cmake-2.6.2
 ls

Mulai proses instalasinya

 ./configure
 gmake
 make install

Untuk menguji apakah cmake benar telah terinstal atau belum

 cmake

Jika benar, Anda akan mendapat sederet info tentang versi cmake, perintah dan parameter pada cmake. Jika belum, coba deh dibaca lagi urutan instalasi tadi, sudah bener belum. Kalau merasa sudah bener, tapi masih bermasalah, tinggalkan comment di bawah ini atau kirim email. 🙂
3. Instal Gammu. Ini nih caranya.

Install Gammu
1. Download gammu versi stabil yang terbaru (aku pakai gammu-1.21.0.tar.gz).
2. Buka shell. Masuk sebagai super user.

[arie@localhost ~]$ su
Password:
[root@localhost arie]#

Oke, sama caranya, lanjut dengan mengekstrak gammu tadi.

tar -zxvf gammu-1.21.0.tar.gz

Kalau sudah selesai masuklah ke folder hasil ekstraksi tadi

 cd gammu-1.21.0
 ls

Mulai proses instalasinya

 ./configure
 make install

Untuk menguji apakah gammu benar telah terinstal atau belum

 gammu

Jika benar, Anda akan mendapat sederet info tentang versi gammu, perintah dan parameter pada gammu. Jika belum, coba deh dibaca lagi urutan instalasi tadi, sudah bener belum. Kalau merasa sudah bener, tapi masih bermasalah, tinggalkan comment di bawah ini atau kirim email. 🙂 halah, copy paste dari langkah sebelumnya.
4. Atur konfigurasi pada gammu. Konfigurasi utama ada di file gammurc. Kita copy dulu file smsdrc dan gammurc dari folder /docs/examples/config/ ke /etc.

 cp gammurc smsdrc /etc

Edit file gammurc dengan editor kesukaan Anda (boleh nano, pico, vi, emacs, gedit, dll)

 nano /etc/gammurc

Ubah di bagian berikut ini


[gammu]

port = /dev/ttyUSB0                    >>karena dipasang di port USB ke-0 (ingat kan, hitungan mulai dari nol)
;model = 6110
connection = at115200                >>untuk koneksi ke itegno
;synchronizetime = yes
logfile = /var/log/gammu/gammulog  >>lokasinya terserah, untuk menempatkan file log
logformat = textall
;use_locking = yes
;gammuloc = locfile
;startinfo = yes
;gammucoding = utf8
;usephonedb = yes

Kalau pengen mempelajari lebih lanjut pengaturan port dan connection bisa dibuka di /docs/develop/Gammu.htm. Karena umumnya kita login sebagai user biasa, sedangkan gammu dijalankan oleh superuser ‘root’ maka akan muncul error nantinya. Makanya untuk kasus letak logfile di atas, kita perlu melakukan hal-hal berikut ini:

Dengan login root di shell, buat folder tempat log

 cd /var/log
 mkdir gammu

Kemudian buat file bernama ‘gammulog’

 cd /gammu
 touch gammulog

Lihat apakah file ‘gammulog’ bisa ditulisi oleh superuser ‘root’

 ls -l 

Kalau hasilnya seperti di bawah ini berarti sudah betul:

total 0
-rw-r--r-- 1 root root 0 Dec 04 13:10 gammulog

5. Ujicoba koneksi ke modem iTegno. Tapi jangan lupa pasang dulu kabel dari modem itegno 3000 ke port usb yang pertama (soalnya tadi di gammurc diset di /dev/ttyUSB0). Kalau lampu indikator sudah nyala, coba perintah berikut ini :

 gammu --identify

Harusnya hasilnya adalah ini:

Manufacturer     : Wavecom
Model             : unknown (MULTIBAND 900E 1800)
Firmware        : 652a09gg.Q2406A 1489876 060706 17:19
IMEI             : 351621000512260
SIM IMSI        : 510101825265652

6. Persiapkan database untuk gammu di mysql.
File sql ada di folder bawaan gammu di subfolder /docs/examples/config. Nama filenya mysql.sql. Sangat disarankan untuk memiliki phpMyAdmin, GUI untuk manajemen data mysql. Kalau sudah ada phpMyAdmin, pertama buat dulu database misalnya bernama ‘smsd’, kemudian tinggal import file tadi ke database ‘smsd’.

7. Edit konfigurasi untuk koneksi dari gammu ke mysql.
File konfigurasi ini ada di /etc/smsdrc.

nano /etc/smsdrc

Ubah pada baris berikut saja :

[smsd]
PIN =
logfile = /var/log/gammu/smsdlog
commtimeout = 1
sendtimeout = 10

Juga pada baris berikut :

# ----------------- SETTINGS FOR --smsd MYSQL or --smsd PGSQL -------------------
user = root
password =
#pc = localhost
database = smsd

8. Ujicoba jalankan daemon smsd pada gammu.
Daemon smsd ini yang akan mengelola koneksi, memindahkan dan mengatur data pada database mysql dari modem itegno tadi.
Jalankan pada bash shell, command berikut ini

 gammu --smsd MYSQL /etc/smsdrc

Jika daemon berhasil dijalankan, akan muncul

Log filename is “smsdlog”
Press Ctrl+C to stop the program …

9. Semua pesan masuk dari modem itegno ke tabel inbox. Sedangkan untuk mengirim pesan, cukup masukkan record baru ke tabel outbox, daemon smsd akan secara otomatis memindahkan pesan tersebut ke tabel sentitems dan menuliskan lognya di smsdlog.

10 responses to this post.

  1. […] ada isian baru di tabel inbox, mysql otomatis meng-insert isian baru ke tabel outbox. Karena pada aplikasi sms gateway ini sudah ada daemon khusus, maka otomatis isian tabel outbox akan dikirim sebagai pesan […]

    Balas

  2. yen wis dadi ndang kirimke nang emailku le..
    awal tahun aq kon mulai nggarap..
    sms server nggo monitoring susenas..

    Balas

  3. Posted by wawan on Februari 15, 2009 at 6:04 pm

    Loww mas..
    sy lg mau bikin sms gateway yang bisa auto riplay, menggunakan HP Sony Ericsson K310i sebagai modem, saya masih bingung cara cara kongifurasi anatara gammu dengan HP k310inya.,,, mohon penjelasanya…

    makasih..
    kirim ke email saya mlaya_sentika15@yahoo.com

    Balas

  4. […] di sini. Berhubung banyaknya alesan banyaknya kesibukan, jadi terpaksa jarak antara postingan sebelumnya dan yang ini agak jauh, walaupun temanya bersambung. Untungnya sekarang sedang lumayan banyak waktu […]

    Balas

  5. Posted by andhi on Mei 16, 2009 at 3:08 pm

    mohon pencerahan

    saya udah coba pake gammu 1.10.6
    tapi tak coba kirim sms kok ga masuk ya….di inbox
    padahal gammu konek….identify modem ok….gimana ya…..

    thank’s

    Balas

  6. Posted by zoro on Juli 7, 2009 at 11:01 am

    file gammurcnya ada dimana???
    ko langsung /docs/examples/bla/bla cii???
    ga jelas

    Balas

  7. Kalu error kayak gini gmn ya ?

    gammu: error while loading shared libraries: libGammu.so.7: cannot open shared object file: No such file or directory

    Thanks

    Balas

  8. Posted by arie on April 9, 2010 at 2:53 am

    @cakuza : Berarti file library itu gak ada atau corrupt mas, coba instal lagi library lengkapnya, untuk amannya sih pake yang paket .tar.gz mas trus dicompile sendiri dulu baru diinstal, jadi ketauan ada yang kurang, atau gak beres dengan paket installernya saat dicompile.. Good Luck

    Balas

Tinggalkan Balasan ke cakuza Batalkan balasan