Monday, 25 September 2017

Cara Install dan Menggunakan Gammu Terbaru di Windows

Tutorial kali ini kita akan membahas bagaimana cara menginstall Gammu di Windows termasuk cara menggunakannya.

Cara ini dapat diterapkan baik pada Windows XP, maupun Windows 7 (Sp1), 8, dan 10. Perlu diperhatikan tidak semua versi gammu dapat berjalan di windows lama, misal gammu versi 1.37.0 tidak dapat berjalan di Windows XP.

Penulis menguji coba di windows 7 SP1 64 bit dan Windows 7 64 bit. Ada masalah ketika menjalankan perintah gammu-identify yang menyatakan bahwa ada file yang kurang

A. Download GAMMU

Download gammu di website resminya

https://wammu.eu/download/gammu/

Pilih sesuai dengan arsitektur windows yang digunakan, 32 atau 64 bit. Pada contoh ini saya menggunakan versi 64 bit.

Sejak versi 1.33.0, tidak ada versi binary gammu yang berbentuk file zip, adanya bentuk installer (.exe), sehingga, mau tidak mau kita harus menginstallnya

B. Install GAMMU

dobel klik file installer, kemudian ikuti wizard yang ada.

1. Pilih Add Gammu to the system PATH for All users.

Pilih opsi “Add Gammu to the system PATH for All users”.

Opsi ini akan menambahkan path direktori instalasi gammu ke dalam Windows Environment Variable, sehingga memungkinkan kita dapat menjalankan perintah gammu melalui command prompt termasuk menjalankan / menginstall service sms daemon.


2. Pilih direktori instalasi

Pilih direktori dimana Gammu akan diinstall atau biarkan apa adanya, misal pada contoh ini, gammu akan diinstall di C:\Program Files\Gammu 1.38.1

3. Pilih direktori start menu

Pilih nama direktori untuk start menu, atau biarkan apa adanya, pada contoh ini Gammu 1.38.1

4. pilih components yang diinstal

Pada pilihan components yang ingin diinstall, pilih full. Dengan opsi ini, Gammu akan mengcopy semua file, termasuk contoh file konfigurasi dan contoh file sql, sehingga akan memudahkan kita melakukan konfigurasi.

C. Mengirim SMS dengan gammu

Cara 1: Mengirim SMS Dengan GAMMU Melalui Command Prompt

Terdapat dua cara untuk mengirim sms dengan Gammu, yaitu melalui command prompt dan memasukkan data pada database. Mari kita bahas cara yang pertama.

a.  Buat File Konfigurasi

Untuk dapat menggunakan Gammu, terlebih dahulu buat file konfigurasi dengan nama gammurc (baca gammu rc) dan tempatkan pada direktori bin yang ada pada folder instalasi, pada contoh kali ini C:\Program Files\Gammu 1.38.1\bin

Atau, sobat dapat mengcopy contoh file konfigurasi dari folder instalasi di C:\Program Files\Gammu 1.38.1\share\doc\gammu\examples\config

Selanjutnya, isi dengan konfigurasi sebagai berikut:

[gammu]
device = com6:
connection = at460800

Penjelasan:


  • com6 adalah nomor port dari modem, untuk mengetahuinya, klik kanan pada My Computer atau This PC, kemudian klik properties, selanjutnya pilih device manager dan pilih bagian modem.




  • Selanjutnya, untuk connection, kita gunakan AT diikuti kecepatan dari port tersebut (seperti pada contoh gambar diatas). Kecepatan port sifatnya opsional, kita dapat mengabaikannya, misal: connection = at


Untuk opsi lainnya, dapat dilihat pada file contoh atau mengunjungi halaman: https://wammu.eu/docs/manual/config/index.html#gammurc

b. Jalankan Gammu

Sebelum melangkah lebih jauh, pertama-tama kita tes apakah Gammu dapat membaca modem kita.

Jalankan command prompt, arahkan cursor ke direktori bin, kemudian ketikkan perintah gammu identify. Perintah ini untuk memastikan bahwa Gammu dapat membaca modem kita.


Pada contoh diatas, terlihat bahwa saya menggunakan model M 150-2 (Huawei E3372). Untuk list modem yang sudah didukung, dapat dilihat di: https://wammu.eu/phones/

Seanjutnya, mari kita tes dengan mengirim sms. Jalankan perintah

Jalankan perintah gammu --sendsms text [nomor-hp], misal gammu --sendsms text 08651360000  , kemudian tulis pesan yang ingin dikirim. Setelah selesai, tekan enter, kemudian CTRL+Z (akan mencetak ^Z) kemudian tekan enter lagi. Hasil yang kita peroleh:

Hasil yang kita peroleh:


Proses ini bisa saja gagal, misal kita memperoleh pesan error:

Sending SMS 1/1....waiting for network answer..error 38, message reference=-1
Unknown error.

Penyebab error bisa bermacam macam, bisa pulsa habis, kartu belum aktif, modem tidak terkoneksi  dengan baik, dll.

Cara 2: Mengirim SMS Dengan Gammu Melalui Insert Data Pada Database

Cara kedua untuk mengirim pesan dengan Gammu adalah memasukkan data ke dalam tabel pada database tertentu. Ketika data dimasukkan, otomatis Gammu akan mengirim pesan sesuai dengan data yang ada.

Cara ini merupakan cara paling fleksibel dan banyak diterapkan oleh berbagai aplikasi pengirim sms massal, karena lebih mudah memasukkan data pada database daripada menjalankan command prompt.

Untuk keperluan tersebut, kita perlu menjalankan smsd (baca sms daemon). Daemon ini akan mendeteksi aktivitas modem dan server database, sehingga aktivitas terkait sms dapat dilakukan/disimpan pada database.

Pada contoh ini, databas yang kita gunakan adalah MySQL.

a. Cek Driver Database Yang Tersedia

Sebelum menggunakan database, kita perlu mengecek driver database yang tersedia pada paket gammu yang kita install. untuk mengetahuinya, jalankan perintah: gammu-smsd -v, perhatikan gambar berikut:


Pada contoh diatas, terlihat bahwa hanya driver ODBC yang tersedia, untuk itu kita tidak dapat menggunakan driver lain seperti native_mysql.

Sejak versi 1.33.0, driver database yang disertakan pada paket instalasi Gammu adalah ODBC, sehingga semua koneksi database harus melalui ODBC

b. Buat File Konfigurasi

Selanjutnya, buat file konfigurasi smsd dengan nama smsdrc (baca smsd-rc), atau, sobat dapat mengcopy nya dari folder instalasi di C:\Program Files\Gammu 1.38.1\share\doc\gammu\examples\config


Isikan file konfigurasi berikut:

[gammu]
device = com6:
connection = at115200

[smsd]
service = sql
driver = odbc
sql = mysql
host = mysql_odbc
LogFile = smsdlog.log
Penjelasan:


  • sql = mysql artinya bahasa sql yang digunakan adalah mysql
  • host diisi dengan nama odbc yang kita buat, bukan localhost seperti yang biasa kita gunakan. Untuk membuat koneksi ODBC
  • Pada koneksi ODBC, nama database tidak berpengaruh karena database ini ditentukan saat kita membuat koneksi ODBC. Pada contoh diatas, bagian database = gammu hanya sebagai contoh, dapat dihilangkan.
  • Logfile digunakan untuk menyimpan semua aktifitas daemon, file ini akan disimpan pada direktori bin.

Seting koneksi ODBC



  1. Download Konektor ODBC MySQL. Caranya, kunjungi halaman download resminya di: https://dev.mysql.com/downloads/connector/odbc/.

    Pilih file .exe sesuai arsitektur Windows yang kita gunakan. Pada contoh ini, saya menggunakan versi 64 bit. Selanjutnya, klik tombol download. Kita akan diarahkan ke halaman download, klik link No thanks, just start my download.

  2. Install konektor ODBC yang telah kita download dengan mengikuti wizard yang ada. Install dengan setting default.
  3. Buka ODBC data Source pada Windows. Caranya, buka Control  Panel, kemudian cari bagian ODBC, misal seperti gambar berikut:

  4. Atau bisa langsung melalui fitur search program yang ada di start menu. Selanjutnya, pilih arsitektur yang akan digunakan, 32 atau 64 bit. Pada contoh ini, saya menggunakan 64 bit. Pilihan ini hanya ada pada windows versi 8 keatas.
  5. Klik Tab System DNS, kemudian buat DNS baru dengan mengklik tombol Add….Selanjutnya, pada jendela yang muncul, pilih ODBC MySQL jenis ANSI, kemudian klik Finish
  6. Selanjutnya, isi detail Data Source Name.




    Bagian Data Source Name, isi sesuai keinginan, sebisa mungkin mencerminkan jenis konektor, misal saya beri nama mysql_odbc.

    Pada bagian Database, pilih database yang akan kita gunakan pada Gammu. pada contoh diatas kebetulan nama database yang saya gunakan adalah Gammu. Untuk memastikan koneksi telah berhasil, klik tombol Test. Jika berhasil maka akan muncul popup Connection Successful.

c. Buat Database

Selanjutnya, kita perlu untuk membuat database yang akan digunakan Gammu untuk menyimpan semua data. Untuk membuatnya, dump file sql yang ada di folder C:\Program Files\Gammu 1.38.1\share\doc\gammu\examples\sql


Untuk load file sql: (1) Buat database, misal gammu (2) Klik database tersebut, kemudian klik menu import yang ada di sebelah atas (3) Pilih file .sql, jika berhasil maka akan terbentuk tabel sebagai berikut:


Penjelasan:

  • gammu. Tabel ini digunakan untuk menyimpan versi Gammu.
  • inbox. Tabel ini berisi SMS yang masuk.
  • outbox. Tabel ini akan menyimpan pesan yang ingin dikirim. Pengisian data pada tabel ini akan memicu gammu mengirim sms sesuai dengan data yang diisikan.
  • outboxmultipart. Secara default kita hanya dapat menyimpan pesan sebanyak 160 karakter. Untuk karakter lebih dari 160, pesan akan disimpan pada tabel ini.
  • phones. Tabel ini akan digunakan gammu untuk menyimpan  data phone / modem seperti nomor IMEI, NetCode, dll
  • sentitems. Tabel ini akan menyimpan semua pesan dari tabel outbox yang telah dikirim, baik berhasil maupun gagal.

Perlu diperhatikan bahwa pada file sql, terdapat beberapa statemen yang tidak kompatibel dengan MySQL versi 5.7.x, sehingga, jika menemui pesan error, coba turunkan versi MySQL yang digunakan

d. Jalankan Service SMS Daemon

Selanjutnya, jalankan service sms daemon. Jalankan perintah:

gammu-smsd -c smsdrc

Contoh sebagai berikut:


Penjelasan:

  • -c merujuk pada file konfigurasi yang akan digunakan, dalam hal ini file smsdrc, untuk opsi lainnya, dapat dilihat dengan menjalankan perintah gammu-smsd
  • Jika berhasil, maka cursor akan berhenti, tidak kembali ke direktori awal ( C:\Program Files\Gammu 1.38.1\bin )
Penting diperhatikan bahwa untuk dapat menjalankan service, kita perlu hak akses administrator, jalankan command prompt dengan klik kanan » Run as administrator

e. Kirim SMS Via Database

Selanjutnya, kita tes kirim SMS dengan memasukkan data ke tabel outbox.

Tabel tersebut terdiri dari banyak sekali field, namun demikian, kita hanya perlu mengisi 3 field saja, yaitu DestinationNumber berisi nomor tujuan, TextDecoded berisi pesan yang dikirim, dan CreatorID berisi ID pembuat pesan (diisi bebas)

Misal, kali ini kita masukkan data menggunakan phpMyAdmin. Buka phpMyAdmin, klik database gammu, kemudian pilih Tab SQL dan jalankan perintah berikut:

INSERT INTO outbox (DestinationNumber, TextDecoded, CreatorID) VALUES ('085649921023', 'Kirim sms dari database', 'iril');


Tunggu beberapa saat hingga data terkirim. setelah terkirim, maka data akan berpindah ke tabel sentitems.

f. Install Service SMSD

Agar service smsd berjalan secara otomatis ketika widows dijalankan, maka kita perlu menginstall nya ke dalam service windows. Untuk menginstallnya, jalankan perintah:

gammu-smsd -c smsdrc -i

Jika berhasil, maka kita akan memperoleh pesan:

C:\Program Files\Gammu-1.38.1\bin>gammu-smsd -c smsdrc -i
Service GammuSMSD started sucessfully


Service yang telah diinstall dapat di cek pada windows services. Secara default nama service tersebut adalah Gammu SMSD Service (GammuSMSD)


Secara default, service tersebut belum berjalan, untuk itu, kita perlu menjalankannya. Jalankan perintah

gammu-smsd -c smsdrc -s

Penting diperhatikan bahwa meskipun kita memperoleh pesan sukses, namun pada kenyataannya, bisa jadi service tersebut tidak berjalan, untuk itu, agar lebih yakin, kita dapat menjalankannya secara manual:



Selanjutnya anda tinggal membuat program untuk menghandle sms yang masuk (inbox) ataupun mengirimkan sms (outbox)