Pada tutorial kali ini kita akan membahas bagaimana cara install Gammu di Windows termasuk cara menggunakannya.
Cara ini dapat diterapkan baik pada Windows XP, maupun Windows 7, 8, dan 10. Perlu diperhatikan bahwa tidak semua versi binary dari gammu dapat berjalan di windows lama, misal gammu versi 1.37.0 tidak dapat berjalan di Windows XP.
I. Download GAMMU
Kali ini saya akan menggunakan gammu versi terbaru yaitu versi 1.38.1 yang direlease tanggal 5 Januari 2017. Untuk mendownloadnya, silakan kunjungi halaman resmi gammu https://wammu.eu/download/gammu/
Silakan pilih sesuai dengan arsitektur windows yang digunakan, 32 atau 64 bit. Pada contoh ini saya menggunakan versi 64 bit.
II. Cara Install GAMMU di Windows
Untuk menginstall Gammu, dobel klik file installer, kemudian ikuti wizard yang ada.
Langkah 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.
Langkah 2
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
Langkah 3
Pilih nama direktori untuk start menu, atau biarkan apa adanya, pada contoh ini Gammu 1.38.1
Langkah 4
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.
Klik Install dan tunggu proses instalasi selesai.
III. 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.
1 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
2 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/
Perlu diperhatikan bahwa jika modem digunakan (misal: koneksi internet sedang aktif), maka kita akan mendapatkan pesan error:
C:\Program Files\Gammu 1.38.1\bin>gammu identify Error opening device. Unknown, busy or no permissions.
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.
IV. 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.
1 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
.
2 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 = at [smsd] service = sql driver = odbc sql = mysql host = mysql_odbc user = root password = database = gammu 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, silakan baca tutorial: Setting ODBC MySQL Untuk Gammu
- 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.
3 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
Pada contoh kali ini saya dump menggunakan phpMyAdmin bawaan XAMPP. Tutorial menginstall XAMPP dapat diikuti disini: Cara Install XAMPP di Windows
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, dllsentitems
. Tabel ini akan menyimpan semua pesan dari tabel outbox yang telah dikirim, baik berhasil maupun gagal.
4 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 perintahgammu-smsd
- Jika berhasil, maka cursor akan berhenti, tidak kembali ke direktori awal ( C:\Program Files\Gammu 1.38.1\bin )
5 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 ('085866927217', 'Tes kirim SMS dari database', 'agusph');
Gambar:
Tunggu beberapa saat hingga data terkirim. setelah terkirim, maka data akan berpindah ke tabel sentitems.
6 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:
Untuk menghapus service, kita gunakan perintah:
gammu-smsd -c smsdrc -u
V. Penutup
Dengan gammu, kita dapat mengirim sms melalui perangkat komputer. Dengan penggunaan database sebagai trigger pengiriman sms, membuat kita leluasa untuk mengatur berbagai skenario, misal: membuat auto reply sms untuk setiap sms yang masuk, membuat sms terjadwal, membuat sms massal, dll dengan mudah.
Demikian tutorial mengenai cara install dan menggunakan gammu di Windows, semoga bermanfaat.
Subscibe Now
Suka dengan artikel di Jagowebdev.com? jangan sampai ketinggalan, segera join ke milis kami untuk update informasi terbaru dari Jagowebdev.com
52 Feedback dari pembaca
tanya gan.. langkah 1 s.d 5 sukses di langkah ke 6, pada saat start gammu service muncuk ” ERROR 77:0x4d
dimana letak salahnya.. trims
Sepertinya ada masalah di sistem windowsnya mas, coba direstart komputernya
saya langkah ke 5 aja belum masuk SMS nya…problemnya dimananya ya ?
mas sms nya masuk tapi tidak masuk ke database inbox itu knp ya ?
Coba di restart server mysqlnya mas
Mas file log nya saya kok tidak ada ya?
Coba dicari di direktori bin mas
gan klo error gini apa yang harus di rubah..?
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Program Files\Gammu 1.38.2\bin>gammu-smsd -c smsdrc
gammu-smsd: SQLConnect failed, Code = -1, ODBC diagnostics:
gammu-smsd: IM002:1:0:[Microsoft][ODBC Driver Manager] Data source name not foun
d and no default driver specified
gammu-smsd: Initialisation failed, stopping Gammu smsd: Failed to connect to dat
abase. (DB_CONNECT[77])
Failed to run SMSD: Failed to connect to database.
C:\Program Files\Gammu 1.38.2\bin>
Itu sepertinya ODBC MySQL nya belum jalan mas, coba di cek lagi di bagian Control Panel ODBC
terimakasih mas artikelnya sangat membantu, penyajiannya juga bagus nyaman dibaca. sukses terus
Terima Kasih Mas…
gan klo pake mysql gimana settingan smsdrc nya? kok ada keterangan
gammu-smsd: The native_mysql driver was not compiled in!
Failed to read config: Desired functionality has been disabled on compile time.
Itu errornya sepertinya karena kompilasi installer gammunya mas, coba menggunakan gammu versi lama
kalo gini itu erornya apa mas ?
‘cannot find file smsdrc’
Coba di cek lagi instalasinya mas
Halo gan saya install gammu di windows 10, proses install sudah selesai. Tapi tidak dapat mengirim sms. Mohon solusi gan.
Muncul error “SQLExecDirect failed, check the manual that corresponds to your MySQL server version for the right syntax to use near ‘Signal) …. ”
Koneksi modem OK, instal services tidak ada masalah
Note:
Saya menggunakan MySQL ODBC 5.1
MySQL Server 1.83 (tapi setelah terinstal keluar MySQL 5.6.20)
Mohon bimbingannya Pak
Mungkin versi MySQL nya mas, tetapi MySQL ver 5.6 seharusnya tidak masalah, atau coba ubah versi gammunya
tambahkan di script smsdrc nya :
sql = mysql
Mas, semua instalasi berjalan tidak ada msalah, sewaktu coba kirim sms via database, isi di table outbox tidak pindah ke table sentitem.
masalahnya dimana ya mas?
mohon pencerahan 😀
Coba di cek service MySQL nya mbak, tapi sepertinya di gammunya
pesan: Can’t open log file “smsdlog.log”
pas di cek di direktori bin juga gak ada file log nya mas, gimana ya?
Mas, saya mau tanya.
Ada pesan seperti ini dari cmd
c:Gammu\bin>gammu-smsd -c smsdrc
Log filename is “smsdlog”
gammu-smsd[7932]: No gammu configuration found !
Failed to read config: Gammu is not configured.
Seperti itu mas, solusinya seperti apa ya?
Terima kasih sebelumnya
Terimakasih mas atas referensinya, sangat membantu,
untuk yang lain bisa jadikan referensi ini jadi panduan,
yang perlu diperhatikan adalah ikuti baik baik langkah di atas..
mas. mau nanya. saat jalanin gammu-smsd -c smsdrc, tidak muncul tulisan Log filename is “smsdlogâ€Â. tapi sms terkirim. itu kenapa ya?. .awal install gak ada file smsdlog. truz saya buatin sendiri. mohon pencerahannya. terima kasih.
mas mau nanya .untuk mengirim notikasi secara otomatis bisa gak mas lewat gammu
Saya sudah tidak menggunakan gammu lagi mas, setahu saya seharusnya bisa, soalnya dia trigger nya ketika data masuk ke database, data masuk kedatabase bisa dibuat otomatis sesuai keperluan
minta tolong setting service yang lengkap gan ,serta konfigurasinya
Maaf saya sudah tidak menggunakan gammu mas..
Nama file log adalah “smsdlog.log”
gammu-smsd: SQLConnect gagal, Kode = -1, diagnostik ODBC:
gammu-smsd: IM002: 1: 0: [Microsoft] [ODBC Driver Manager] Nama sumber data tidak foun
d dan tidak ada driver standar yang ditentukan
gammu-smsd: Inisialisasi gagal, menghentikan Gammu smsd: Gagal terhubung ke dat
menghina. (DB_CONNECT [77])
Gagal menjalankan SMSD: Gagal terhubung ke basis data.
bisa ngasi solusi gak bang
Sepertinya tidak bisa konek ke database mas, coba cek koneksi ODBC nya
Mas mau tanya…saya sdh berhasil install dan run service lewat console. Namun pd saat start service lwt service gagal…muncul error “windows could not start the gammu smsd service(gammu smsd) service on local computer. Error 77:0x4d”. Mohon pencerahannya mas. Terima kasih
kirim melalui db (outbox) kok tidak bisa ya? trus kalau ada sms masuk tidak ke inbox tp ter create file di c:\gammu….
mohon pencerahan nya mas. thanks
Solusi database MySQL 5.7
SenderID uses varchar(50) instead of 255
Timestamp can only be used once, so the rest are replaced with DateTime
Trigger also get replaced from timestamp() to now()
source:
https://gist.github.com/tomysmile/9258bb875583413f4832a2012f2f150a
Bang langkah 1 sd 5 sudah saya jalankan dan normal tapi setelah saya mencoba mengirimkan pesan dengna insert data ke database ko sms nya tidak terkirim ya?… mohon solusinya
Saya menemukan error ini bang tolong pencerahannya kesalahannya dimana :
gammu-smsd: Error getting security status: Error writing to the device. (DEVICEWRITEERROR[11])
gammu-smsd: You might want to set CheckSecurity = 0 to avoid checking security status
gammu-smsd: Error getting security status: Error writing to the device. (DEVICEWRITEERROR[11])
gammu-smsd: You might want to set CheckSecurity = 0 to avoid checking security status
Mohon pencerahannya kesalahannya di mana… saya menemukan error ini
gammu-smsd: Can’t open device: Error opening device. Unknown, busy or no permissions. (DEVICEOPENERROR[2])
Failed to run SMSD: Error opening device. Unknown, busy or no permissions.
Maaf, sudah lama saya tidak menggunakan gammu mas…
Untuk yang mengalami ERROR 77:0x4d pada saat gammu run service windows pastikan dulu konfigurasi gammu baik2 saja melalui di commad prompt (cmd) caranya adalah : gammu-smsd -c smsdrc kalau tidak ada muncul warning apa2 brarti gammu normal. selanjutnya periksa setting ODBC. buat koneksi ODBC melalui System DSN (jangan User DSN ini penyebab ERROR 77:0x4d) lalu periksa kembali konfigurasi smsdrc samakan dengan nama koneksi ODBC yang dibuat tadi. silahkan di coba run service kembali. saya sudah mencoba di windows 10 dan sukses.
Terima kasih sekali sharingnya mas, semoga bermanfaat bagi pembaca lain…
Thanks beraaatt suhuuu, 2 hari nyari masalah ini ga nemu”, artikel jadul semua. ternyata masalahnya di mysql odbc 😀 makasih suhu sangat bermanfaat
Sama sama mas…
kalau dihosting bisa gan?
Seharusnya bisa mas
mau tanya kalau kirim sms emang delay ya , lama buat sampeknya ke nomer yang dituju . Mohon pencerahannya
Terima Kasih banyak mas.. udah berhasil.. cuma karena ga ada pulsa jadi Gagal Hehehe..
Owalah, iya mas, siap…
c:\xampp\htdocs\sms\gammu>gammu-smsd -c smsdrc -i
c:\xampp\htdocs\sms\gammu>gammu-smsd -c smsdrc -s
c:\xampp\htdocs\sms\gammu>gammu-smsd -c smsdrc
c:\xampp\htdocs\sms\gammu>gammu-smsd -c smsdrc
c:\xampp\htdocs\sms\gammu>gammu-smsd -c smsdrc
c:\xampp\htdocs\sms\gammu>
kalo gini gimana pak?
dijalankan kan biasanya ada window cmd baru, ini gak mau muncul new window cmd nya
tapi dicoba sendsms via command nya bisa, cuman jalaninnya aja yg gabisa pak
Gammu yang jalan normal di saya:
Versi 1.38.1
https://wammu.eu/download/gammu/1.38.1/
MySQL Server pakai versi 5.5.62
https://downloads.mysql.com/archives/community/
ODBC Connector versi 5.3
https://dev.mysql.com/downloads/connector/odbc/5.3.html
Config file smsdrc saya :
#################
[gammu]
#smsdrc
device = com4:
connection = at115200
[smsd]
service = sql
sql = mysql
driver = odbc
PIN = 1234
logfile = smsd.log
debuglevel = 255
host = gammu
user = gammu
password = YeK8Ef345YhhFT55H
pc = localhost
database = gammu
commtimeout = 20
sendtimeout = 10
MaxRetries = 2
RetryTimeout = 300
#################################
Sesuaikan port com, setingan odbc dengan punya kalian.
Mudah2an membantu
Terima kasih banyak atas infonya mas, semoga dapat membantu yang lain
Siang pak, saya mau tanya, dan semoga masih ada yg jawab. Ada yg pernah error
“Failed to get SMSC number from phone.”?
Saya sudah muter untuk cari solusinya masih tetap sama seperti itu. terimakasih
Maaf saya sudah lama tidak mengulik gammu lagi mas