12
Instalasi dan Operasi Gammu Pada Windows 7 – Studi Kasus: Mengembangkan Layanan SMS Autoreply Haddad Sammir twitter.com/hSammir | cybernetix.or.id/cx/hsammir Padang – 30 Desember 2013 Persiapan Sebelum menggunakan gammu perlu memperhatikan beberapa hal yaitu: 1. Device (handphone / gsm modem) yang digunakan harus di- support gammu. Informasi mengenai device yang di-support gammu dapat dilihat pada tautan berikut: http://wammu.eu/phones/ 2. Perhatikan spesifikasi device khususnya “Connection”. Saya menggunakan modem gsm Huawei K3520, connection-nya adalah: at Informasi connection juga tersedia pada: http://wammu.eu/phones/ Instalasi Gammu adalah software Opensource yang dapat di-download di: http://wammu.eu/gammu/ . Instalasi cukup dilakukan dengan mengekstrak file terkompres ke sebuah direktori. Saya mengekstrak gammu ke direktori: C:\_APP\gammu . Berikutnya kita akan membutuhkan file konfigurasi gammu. Gammu sudah memberikan contoh file konfigurasi pada direktori C:\ _APP\gammu\share\doc\gammu\examples\config yaitu file “gammurc” dan “smsdrc”. 1

Instalasi Dan Operasi Gammu Pada Windows 7

Embed Size (px)

DESCRIPTION

Instalasi dan operasi gammu pada windows 7 dengan studi kasus membuat sms auto reply.

Citation preview

Instalasi dan Operasi Gammu Pada Windows 7 – Studi Kasus: Mengembangkan Layanan SMS Autoreply

Haddad Sammir twitter.com/hSammir | cybernetix.or.id/cx/hsammir

Padang – 30 Desember 2013

PersiapanSebelum menggunakan gammu perlu memperhatikan beberapa hal yaitu:

1. Device (handphone / gsm modem) yang digunakan harus di-support gammu.Informasi mengenai device yang di-support gammu dapat dilihat pada tautan berikut: http://wammu.eu/phones/

2. Perhatikan spesifikasi device khususnya “Connection”. Saya menggunakan modem gsm Huawei K3520, connection-nya adalah: atInformasi connection juga tersedia pada: http://wammu.eu/phones/

InstalasiGammu adalah software Opensource yang dapat di-download di: http://wammu.eu/gammu/ . Instalasi cukup dilakukan dengan mengekstrak file terkompres ke sebuah direktori. Saya mengekstrak gammu ke direktori: C:\_APP\gammu .

Berikutnya kita akan membutuhkan file konfigurasi gammu. Gammu sudah memberikan contoh file konfigurasi pada direktori C:\_APP\gammu\share\doc\gammu\examples\config yaitu file “gammurc” dan “smsdrc”.

Copy-kan kedua file tersebut ke direktori C:\_APP\gammu\bin

1

Setelah ini kita perlu mengedit file konfigurasi gammu, namun sebelum itu kita perlu mengetahui lokasi port device kita berada. Untuk itu hubungkan device dengan komputer dan tunggu beberapa saat. Bila perlu meng-install driver, maka install-lah dahulu.

Gunakan “Device Manager” untuk mengidentifikasi port yang digunakan oleh device kita:

2

Pada gambar di atas, modem gsm saya terdeteksi pada COM6 (yang digunakan adalah 3G PC UI Interface).

Selanjutnya kita perlu mengkonfigurasi gammu sebelum benar-benar menggunakannya. Kita buka file konfigurasi “gammurc” yang sudah kita siapkan tadi. Edit file tersebut sesuai dengan konfigurasi device kita. Ini contoh konfigurasi saya:

[gammu]

device = com6:connection = at

com6: Adalah lokasi port device modem gsm saya sedangkan at adalah connection yang sesuai dengan spesifikasi modem gsm saya.

Sekarang, mari kita menggunakan gammu. Lakukan perintah: gammu.exe –identify (pada direktori bin). Jika gammu memberikan informasi mengenai device yang kita gunakan maka sejauh ini semuanya sudah berjalan baik.

3

Untuk mengirim SMS dengan gammu kita perlu mengetikkan perintah: gammu --sendsms text 081363243XXX . Tunggu sampai muncul pemberitahuan: Enter the message text and press Ctrl+Z: . Setelah itu kita bisa mengetik SMS dan untuk mengakhirinya dilakukan dengan menekan enter, diikuti dengan cltr-z dan simbol titik dua “:” lalu enter. Seperti pada contoh berikut:

OtomatisasiUntuk melakukan otomatisasi SMS kita perlu menggunakan gammu-smsd. Gammu-smsd adalah demon yang bekerja memantau perangkat apabila ada SMS masuk. Smsd juga memanfaatkan database server (dalam hal ini mysql) untuk menyimpan dan memproses SMS. Tabel-tabel pada database smsd menyerupai folder SMS handphone pada umumnya.

4

Smsd bekerja dengan memantau perubahan yang terjadi pada perangkat dan database server. Dalam proses penerimaan SMS, jika smsd mendeteksi ada SMS baru, maka smsd akan menambahkan data baru pada tabel inbox. Jika smsd mendeteksi ada data pada tabel outbox, maka SMS akan dikirimkan sesuai dengan data yang tertera pada tabel outbox sekaligus memindahkan satu row data SMS yang telah dikirimkan pada tabel outbox ke tabel sentitems.

Dengan begitu, untuk membaca SMS, kita hanya perlu membuka tabel inbox, sedangkan untuk mengirim SMS kita hanya perlu menambahkan data pada tabel outbox.

Untuk memulai pembuatan SMS Autoreply, kita perlu meng-install database server. Untuk kemudahan, lebih baik kita meng-install 1 paket wamp. Saya menggunakan XAMPP yang dapat di-download di: http://www.apachefriends.org/en/xampp.html .

File SQL sudah disediakan gammu dan dapat diambil pada direktori: C:\_APP\gammu\share\doc\gammu\examples\sql

5

Gunakan file SQL tersebut untuk membangun struktur tabel pada database mysql.

Selanjutnya kita perlu mengkonfigurasi smsdrc. Berikut konfigurasi smsdrc saya:[gammu]device = com6:connection = at

[smsd]port = com6:connection = at;PIN = 1234debuglevel = 0commtimeout = 30sendtimeout = 30service = mysqlchecksecurity = 0user = rootpassword =pc = localhostdatabase = smsddriver = native_mysql

Device dan connection kurang lebih sama dengan port dan connection yaitu lokasi device dan connection. Yang perlu diperhatikan berikutnya adalah konfigurasi mysql perhatikan direktif service, user (username mysql), password (password mysql), pc (alamat server mysql), database (nama database) dan driver.

6

Setelah semuanya lengkap, coba kita jalankan gammu-smsd. Namun sebelumnya aktifkan/jalankan dulu server mysql. Jalankan gammu-smsd: C:\_APP\gammu\bin>gammu-smsd.exe -c smsdrc .

Untuk pengujian pengiriman SMS, kita dapat lakukan dengan meng-insert data SMS ke outbox. Saya menggunakan phpmyadmin untuk mempermudah melakukan query. Berikut query yang saya gunakan:

insert into outbox (`DestinationNumber`, `TextDecoded`) values( '081363243XXX','Test sms pake Gammu');

7

Jika semuanya berjalan dengan semestinya Anda akan mendapat SMS yang berbunyi: 'Test sms pake Gammu’.

Untuk menonaktifkan smsd cukup dengan mengirimkan Cltr+C pada shell / command promt.

Sejauh ini kita sudah mempelajari cara kerja smsd dan hubungannya dengan database. Untuk membangun sebuah layanan SMS Autoreply kita membutuhkan satu lagi fitur utama smsd yaitu: “Run on Receive”. Fitur ini bekerja dengan memonitor SMS yang masuk. Jika ada SMS yang masuk, maka smsd akan menjalankan program / skrip yang kita definisikan sebelumnya. Untuk mengaktifkan fitur ini, maka kita perlu menambahkan direktif “runonreceive” pada file smsdrc. Berikut contoh file smsdrc saya yang telah mengaktifkan fitur ini:

[gammu]device = com6:connection = at

[smsd]runonreceive = C:\TEMP\execgammu\test.batport = com6:connection = at......

Pada contoh file smsdrc di atas, jika ada SMS masuk, maka smsd akan menjalankan program test.bat. Adapun file tersebut berisi instruksi berikut:

C:\xampp\php\php C:\TEMP\execgammu\test2.php

Instruksi batch di atas akan mengeksekusi file test2.php yang dijalankan secara command line (tidak melalui web server). Isi file test2.php adalah sebagai berikut:

<?php

mysql_connect("localhost", "root", "") OR die("Koneksi gagal! ".mysql_error());mysql_select_db("smsd");

$result = mysql_query("SELECT ID, SenderNumber, TextDecoded FROM inbox WHERE processed = 'false'");while($row = mysql_fetch_array($result)){

//echo "ID = ".$row['id']."\n";mysql_query("INSERT INTO outbox(DestinationNumber, TextDecoded)

VALUES ('".$row['SenderNumber']."', 'Halo, ini adalah auto reply!')") or die(mysql_error());

mysql_query("UPDATE inbox SET processed='true' WHERE ID='".$row['ID']."'");}

?>

File php diatas akan melakukan Autoreply dengan sedikit trik. Kita akan memanfaatkan field “Processed” sebagai indikator SMS yang sudah diproses (sudah di reply) atau belum.

8

Secara default, jika ada SMS baru yang masuk dan dientrikan ke tabel inbox, maka SMS tersebut akan diberi tanda Processed = false. Hal tersebut dapat kita jadikan indikator bahwa SMS tersebut belum dibalas. Nanti setelah kita membalasnya, SMS tersebut kita update dengan Processed = true. Trik tersebut diperlukan untuk menentukan SMS mana saja yang belum diproses.

Selain menggunakan terminal / command promt ada cara lain untuk menjalankan smsd yaitu melalui services. Untuk melakukan hal tersebut, kita perlu meng-install service terlebih dahulu. Aktifkan Command Prompt dengan level administrator: klik kanan > Run as Administrator.

Gunakan perintah berikut untuk meng-install smsd sebagai service: gammu-smsd.exe -c smsdrc –i . Perhatikan parameter –i. Parameter tersebut digunakan untuk meng-install. Sedangkan untuk melakukan uninstall kita menggunakan parameter –u.

Setelah ini untuk mengaktifkan smsd dapat kita lakukan melalui Services:

9

Quo Vadis?Gammu pada dasarnya adalah software library dan tools, sehingga secara default tidak melakukan banyak hal. Programmer yang harus kreatif membangun project dari library / tools ini. Ada banyak project yang dapat diangkat dari Gammu. Mulai dari SMS Broadcast, SMS Voting dan banyak lagi. Yang kita perlukan pada dasarnya adalah sebuah kotak dan “imajinasi”.

10

ReferensiGammu Configuration File: http://wammu.eu/docs/manual/config/SMSD Configuration File: http://wammu.eu/docs/manual/smsd/config.htmlSMSD Database Structure: http://wammu.eu/docs/manual/smsd/tables.htmlRunOnReceive Directive: http://wammu.eu/docs/manual/smsd/run.html

11