SMS dengan Gammu dan MYSQL

Bersmsria di konsole linux atau menjadikan linux sebagai sms gateway..?
hmmm.. sungguh menyenangkan. :)
Baiklah, tanpa berpanjang lebar lagi, berikut langkah-langkah untuk membuat linux bisa bersms ria dengan gammu dan sms yang masuk dan keluar di simpan ke dalam database(MySQL)

Persiapan.
Pertama harus disiapkan handphone dengan koneksi ke komputer menggunakan kabel(serial/usb) atau dengan bluetooth, dan jangan lupa mengisi pulsanya karena percumah kita bersusah payah membuat sms server tapi pulsanya tidak ada :D .
MySQL juga harus sudah terisntall karena semua pesan yang keluar dan masuk akan di simpan ke dalam database dan disini tidak di sertakan cara instalasi MySQL karena sebagian besar distro linux sudah terinstall MySQL atau disertai paket instalasi MySQL.

Perhatian:
Pada tutorial ini gammu yang digunakan sebagai contoh adalah versi 1.13.90

Selanjutnya download source gammu di :

http://dl.cihar.com/gammu/releases/gammu-1.13.90.tar.bz2

# cd /usr/src
# apt-get install libmysqlclient15-dev
# wget http://dl.cihar.com/gammu/releases/gammu-1.13.90.tar.bz2

setelah selasai download langsung di ekstrak

# tar zxvf gammu-1.13.90.tar.bz2

Perhatian :
Sebelum kompilasi pastikan cmake sudah terinstall pada linux box anda, jika belum anda dapat mendownload di sini dan cara installnya bisa dilihat di sini.

Setelah cmake bisa di beresken tanpa error marilah kita lanjutkan urasan kita dengan gammu. Jalankan pada terminal :

# cd gammu-1.13.0
# mkdir build
# cd build
# cmake ..
# make
# make install

Jika sampai disini tidak ada error berarti gammu sudah terinstall, langkah berikutnya tinggal mengkonfigurasi gammu. File konfigurasi gammu terletak di direktori /etc yaitu smsdrc dan gammurc, contoh file konfigurasi tersebut dapat di temukan di dalam direktori “docs/examples/config”, karena secara default file konfigurasi tersebut belum ada maka sebaiknya kita kopi, jalankan :

# cp ../docs/examples/config/gammurc /etc
# cp ../docs/examples/config/smsdrc /etc

Editlah file tersebut(/etc/smsdrc) seperti berikut:

#[gammu]
port = /dev/ttyACM0
#model = 6110
connection = at19200
#synchronizetime = yes
#logfile = gammulog
#logformat = textall
#use_locking = yes
#gammuloc = gammu.us
#startinfo = yes

————————— di potong disini ———————————-
——- dan untuk sementara bagian bawahnya kita abaikan dahulu ———

Editlah bada bagian “port” dan sesuaikan dengan koneksi HP/modem GSM nya, begitu juga pada bagian “connection”. Pada contoh di atas saya menggunakan koneksi kabel USB dengan Hp SE K550i( sesuai dengan http://cihar.com/gammu/phonedb/sony-ericsson/459/).

Untuk “port” disesuaikan dengan linux mengenal sebagai apa, jika menggunakan kabel serial biasanya di linux di kenal dengan :

“/dev/ttyS*”,

jika menggunkan USB biasanya linux mengenalnya dengan :

“/dev/ttyACM*”

atau

“/dev/ttyUSB*”,

untuk mempermudah sebaiknya anda sebelum memasang kabel dari HP tersebut ke komputer menjalankan perintah :

# tail -f /var/log/messages

agar ketika kabel tersebut di pasang ke komputer akan terlihat device yang baru terpasang di dalam log dan sebagai apa linux mengenal device tersebut.

Jika menggunakan bluetooth maka portnya diisi dengan dengan bluetooth address-nya. Jika Modem atau Handphone yang di gunakan lain maka untuk petunjuk konfigurasi “connection” silahkan anda cari di sini.

Setelah konfigurasi selesai selanjutnya bisa kita tes menjalankan gammu :

r# gammu –identify

jika outputnya tidak error dan berupa informasi mengenai HP yang tersambung maka gammu berhasil jalan..
Nah.. sekarang kita sudah bisa mengirimkan sms dengan menggunakan perintah :

# echo ….isi pesan…. | gammu –sendsms TEXT notujuan

Sampai disini gammu sudah bisa di gunakan untuk mengirim/menerima sms, agar semua sms yang masuk dan keluar di simpan ke dalam database(MySQL) maka kita harus mengkonfigurasi gammu lagi. Untuk itu Editlah file /etc/smsdrc pada bagian setingan untuk database MySQL, seperti di bawah ini

—————-/etc/smsdrc di potong disini ——————–

[smsd]
PIN = 1234
logfile = /var/log/smsdlog
commtimeout = 1
sendtimeout = 10
#receivefrequency = 0
#resetfrequency = 0
#deliveryreport = no
#phoneid = MyPhone1
#deliveryreportdelay = 10

# —————–SETTINGS FOR –smsd MYSQL ————–
user = root
# user mysql untuk mengakses database, biasanya root
password = password
#isilah dengan password user di mysql tersebut
pc = localhost
database = sms
#nama databasenya
# when you send sms from some SMSC, you can have Delivery/Failed Delivery

————–/etc/smsdrc di potong disini ——————

langkah selanjutnya berikutnya membuat database: root@gesang:/usr/src/gammu-1.13.0# mysql -u root -p Enter password: <— masukan password user root untuk MySQL Setelah masuk buatlah database dengan nama “sms”.

mysql>create database sms;
Query OK, 1 row affected (0.00 sec)

mysql>quit
Bye

Setelah databse berhasil di buat, selanjutnya membuat tabel-tabelnya. Untuk memudahkanya masuklah ke direktori hasil ekstrak gammu, di terminal jalankan:

# cd /usr/src/gammu-1.13.0/docs/examples/config/

pastikan di direktory config terdapat file “mysql.sql” untuk membuat tabel yang di butuhkan untuk meyimpan sms yang keluar dan masuk.

# ls -l
total 36
-rw-r–r– 1 root root 9611 2007-06-11 17:04 gammurc
-rw-r–r– 1 root root 6016 2006-06-12 13:47 mysql.sql
-rw-r–r– 1 root root 7460 2007-01-27 03:13 pgsql.sql
-rw-r–r– 1 root root 7246 2007-08-09 15:43 smsdrc

jika file”mysql.sql” ada, kemudian jalankan perintah :

# mysql -u root -p
Enter password: <– (jagan lupa masukan password)

mysql>use sms;
mysql >\. mysql.sql
Query OK, 0 rows affected (0.02 sec)
Query OK, 0 rows affected (0.02 sec)
Query OK, 1 row affected (0.01 sec)
Query OK, 0 rows affected (0.03 sec)
Query OK, 0 rows affected (0.03 sec)
Query OK, 0 rows affected (0.02 sec)
Query OK, 0 rows affected (0.02 sec)
Query OK, 0 rows affected (0.03 sec)
Query OK, 0 rows affected (0.02 sec)
Query OK, 0 rows affected (0.03 sec)

mysql>show tables;
+——————+
| Tables_in_sms |
+——————+
| daemons |
| gammu |
| inbox |
| outbox |
| outbox_multipart |
| pbk |
| pbk_groups |
| phones |
| sentitems |
+——————+
9 rows in set (0.00 sec)

mysql>quit
Bye

Nah… sekarang gammu sudah bisa dijalankan dengan MySQL.
Cara menjalankannya :

#echo isi pesan | gammu –sendsmsdsms TEXT notujuan MYSQL /etc/smsdrc

atau dengan

#gammu –smsd MYSQL /etc/smsdrc
Log filename is “/var/log/smsdlog”
Press Ctrl+C to stop the program …

Untuk membaca sms yang datang anda tinggal melihat di database sms tabel inbox, untuk memudahkan bisa menggunkan phpmyadmin atau menggunakan script php yang bisa di download di sini, dan kemudian ekstrak ke direktory yang bisa diakses dengan browser, tetapi sebelumnya pada file sms.php harus di edit sesuaikan dengan user dan password untuk koneksi MySQL nya dan kemudian jalankan apache.

Nah…
sampai disini kiranya tutorial sms dengan gammu dan mysql, serta masih bisa dikembangkan lagi sesuai kebutuhan dan itu tergantung kemauan dan kreativitas kita.

viva.. opensource

Referensi :
– http://www.syednetworks.com
– http://www.gammu.org/wiki/index.php?title=Main_Page





6 Responses to “SMS dengan Gammu dan MYSQL”

permisi mas,
saya ada masalah gammu dan mysql

kenapa ketika menjalankan perintah

echo isi pesan | gammu –sendsmsdsms TEXT notujuan MYSQL /etc/smsdrc

keluar pesan seperti ini:

Error: SMS daemon is now in separate binary, please use gammu-smsd-inject instead of gammu sendsmsdsms!

bagaimana menyelesaikannya? thx 🙂

arief added these pithy words on Mar 15 12 at 11:38 pm

itu coba pada tanda – mungkin anda kurang 1. coba anda ulangi perintahnya jadi begini

echo isi pesan | gammu –sendsmsdsms TEXT notujuan MYSQL /etc/smsdrc

jika masih belum berhasil coba cek modem telah terditeksi atau belum dengan perintah

gammu –identify

dah hasilnya seperti gimana?

admin added these pithy words on Mar 16 12 at 1:48 am

sudah berhasil mas, thx..

arief added these pithy words on Mar 16 12 at 8:52 am

Mas,mau tnya,, klo sms dengan gammu gak bsa ya cara agar sms itu terkirim atau tundanya..
soalnya di db nya,,statusnya send ok smua,,
padahal da dcoba di no yg tidak aktif atau sudah mati..

ade added these pithy words on Nov 14 14 at 4:54 pm

Untuk melihat status sms terkirim atau enggaknya bisa dilihat di databse mysql gammu di table sentitems kolom status. Jika statusnya SendingOK berarti sms terkirim ke nomer tujuan. Jika statusnya SendingError berarti sms tidak terkirim. Semoga membantu..

admin added these pithy words on Nov 15 14 at 2:18 pm

sip.. lanjut mas bro…

Indra added these pithy words on Nov 15 14 at 5:01 pm

Tulis Komentar