PHP Programming
Membuat SMS Gateway menggunakan WaveCome GSM,  SMSTools, PHP dalam Debian

Membuat SMS Gateway menggunakan WaveCome GSM, SMSTools, PHP dalam Debian

Selasa, 25 September 2007 06:49 WIB | 17.463 Views | Comments 2007-09-25 06:49:16

Menurut pikiran sederhana saya, ada 2 jenis sms gateway yang umum dan sering terjadi, yang pertama sms gateway menggunakan modem GSM atau CDMA dan yang kedua adalah kita bertindak sebagai Content Provider (CP) dari sebuah layanan yang disediakan oleh Operator selullar, contohnya REG ke 6288 misalkan, kali ini kita akan bahas yang pertama dulu.

Oh iya, saya buat aplikasi ini karena setelah pusing mencari aplikasi yang bisa mengirim dan menerima SMS melalui modem GSM, saya menggunakan WaveCom, hasil pembelian teman sekantor, fungsinya memang untuk menerima sms untuk layanan kirim buku yang dikeluarkan Aa Gym lewat MQFM, apapun itu fungsinya, saya tidak akan bahas panjang disini. Nah, setelah pusing itu, saya terpikir mendingan membuat aplikasi sendiri, yang pertama gratis, mudah kalau ada rusak, murah dan InsyaAllah nambah ilmu dan pengalaman.

Lanjut...

Beberapa hal yang harus diketahui diawal, saya menggunakan beberapa software dan hardware yang ada antara lain :

1. Modem Wavecom dengan koneksi RS232 kedalam komputernya, katanya bisa menggunakan yang lain sih, bisa Itechno atau yang sejenis harganya katanya sekitar 2 jutaan untuk daerah bandung, harusnya Jakarta lebih murah.
2. Saya menggunakan daemon sms servernya menggunakan smstools, kenapa saya pilih ini, karena terlihat lebih sederhana dan mudah untuk installasinya, apalagi di debian paket ini sudah tersedia. Atau untuk distro lain bisa di download di http://smstools.meinemullemaus.de/
3. Semuanya saya jalankan di linux debian, kenapa debian, yah ini satu-satunya linux kesukaanku dari taun 2003. linux pertama dan linux terakhir bagi diriku
4. PHP, yah pemograman ini yang saya gunakan baik untuk interface atau untuk menjalankan sms daemon.
5. Adobe Photoshop atau apapun itu untuk mendesain tampilan supaya lebih "mencrang".
6. Minicom atau vwdial, saya cenderung memilih yang kedua karena deteksi modemnya lebih enak.


Baik, setelah semuanya kita siapkan semuanya kita akan melakukan langkah-langkah selanjutnya.

Hardware
Kita pasang semua hardware yang diperlukan, WaveCom kita pasang dengan menghubungkan kelam Serial Port yang ada dibagian belakang computer.

Installasi Paket Dasar
Pastikan semua paket dasar yang diperlukan harus ada seperti Apache2, PHP4 atau PHP5, PHP-CLI untuk menjalan script php yang dibuat nanti. MySQL untuk menyimpan data sms yang masuk. Oh iya jangan lupa install pendeteksi modem, untuk mendeteksi modem.

Installasi SMSTools.
Untuk pengguna debian, sebenernya teman-teman tinggal menjalankan :

Apt-get install smstools

Namun, saya tidak sarankan karena tidak membawa aplikasi tambahan yang diperlukan, jadi bagusnya download dulu smstools dan simpan di folder kesayangan anda.

#cd /home/adi/
#wget -c  http://www.meinemullemaus.de/smstools/packages/smstools-2.2.18.tar.gz
#tar -zxvf smstools-2.2.18.tar.gz

selanjutnya setelah itu masuk dan kita akan melakukan installasi

#cd smstools
#make
#make install

setelah itu kita buka konfirgurasi smstools dengan editor kesayangan temen-teman, kalau saya menggunakan vim editor

#vim /etc/smsd.conf

dan setelah saya deteksi modemnya ternyata berada di /dev/ttys0 maka konfigurasi yang saya buat adalah seperti dibawah.

# AUTOMATICALLY CREATED CONFIGURATION FILE -- DO NOT EDIT BY HAND!
#
# Description: Main configuration file for the smsd
# Last changed: Tue Aug 28 12:50:04 WIT 2007
# Please note that this is _not_ a dpkg-conffile. It has been created because
# you have choosen to manage smsd configuration with debconf. This file is not meant
# to be and should not be editted directly.
# Instead
# Run: dpkg-reconfigure <-plow> smstools
#
# If you want to manage your configuration file by hand at a later time
# you may run the above command, too and say that you don't want to manage
# smsd configuration with debconf.

# Global configuration
devices = WAVECOM
logfile = /var/log/smstools/smsd.log
infofile = /var/run/smstools/smsd.working
pidfile = /var/run/smstools/smsd.pid
outgoing = /var/spool/sms/outgoing
checked = /var/spool/sms/checked
failed = /var/spool/sms/failed
incoming = /var/spool/sms/incoming
sent = /var/spool/sms/sent
stats = /var/log/smstools/smsd_stats
# You can specify here an external program that is started whenever an alarm occurs.
# alarmhandler = /path/to/an/alarmhandler/script
# Specifies what levels start an alarmhandler. You can use value between 2 and 5.
# alarmlevel = 4
#eventhandler = Coba
#blacklist = /etc/smstools/blacklist
#whitelist = /etc/smstools/whitelist
autosplit = 3

# Modem configuration
[WAVECOM]
#init =
device = /dev/ttyS0
incoming = yes
baudrate = 115200
report = yes

setelah itu kita coba restart smstoolsnya

#/etc/init.d/sms restart

lihat log untuk memastikan bahwa smstools berjalan dengan baik

#tail -f /var/log/smsd.log

setelah semuanya terlihat baik, kita akan coba kirim sms misalnya ke nomer saya dengan cara seperti ini

#sendsms 6285624253500 ‘Haloo mas adi, aku lagi nyoba smstools nih'

kalau itu berhasil, Alhamdulillah berarti kita nanti tinggal buat untuk interface dengan user dan bagaimana caranya menyimpan data kedalam mysql, oh iya semua data yang masuk dan yang keluar semuanya ada di /var/spool/sms , masih dalam bentuk file, nah di tulisan yang akan dating kita coba buat aplikasi sederhananya untuk menyimpan file itu kedalam mysql. Ok, sekian dulu, sudah pukul 7 nih, harus mandi dan berangkat ke kantor dulu..

oh iya terakhir, adi kasih contoh salahsatu sms yang masuk yang berada di

#cd /var/www/spool/sms/incoming
#vim WAVECOM.zxfGH
#

From: 6281542969XXX
From_SMSC: 62816124
Sent: 07-09-09 18:14:32
Received: 07-09-09 19:09:52
Subject: WAVECOM
Alphabet: ISO
UDH: false

Mf aq br plg krj. Oia,mmg sgt slt sx brml dgn ikhlas itu. Klo aq sih gn crnya: qt hrs igt bhw Lgt,bmi bsrt isinya adlh mlk alla

...... 

Bersambung ....

Adi Sumaryadi - Bicara IT dan Internet






PHP Programming Lainnya
Tips Keamanan, Register Global dalam PHP
Senin, 28 Mei 2007 06:12 WIB
Tips Keamanan, Register Global dalam PHP
Saya liat banyak sekali buku-buku yang beredar di Gramedia atau yang lainnya khususnya buku komputer yang membahas pemrograman PHP masih menggunakan Register Globals dimana dia diset menjadi on, padahal jika kita lihat dalam PHP Manual yang dikeluarkan PHP dot net pada halaman-halaman awal membahas tentang yang satu ini, mungkin ini adalah sesuatu yang crusial menurut pengembang PHP walaupun demikian belum banyak pembuat buku PHP yang merilis ulang bukunya dengan source code yang berjalan pada register globals off.
Validasi Email pada Form di Halaman Web
Minggu, 08 April 2007 22:43 WIB
Validasi Email pada Form di Halaman Web
Bagi sahabat semua yang mempunyai fitur yang diharuskan untuk memasukan email di website sahabat, sahabat bisa menggunakan JavaScript untuk mengecek apakah email yang dimasukan sudah benar atau belum, atau menggunakan PHP. Yang PHP gimana caranya? caranya kayak gini..
Membuat Counter Web dengan Images
Minggu, 08 April 2007 22:38 WIB
Membuat Counter Web dengan Images
Tutorial ini membantu anda untuk membuat counter bagi website pribadi sahabat denga menggunakan image dan tanpa menggunakan database, sehingga akan sangat cocok sekali untuk website yang gratisan dan tidak mempunya database server. dengan menggunakan bahasa pemograman PHP yang mudah dipelajari