Install Gammu di Raspberry Pi

Selain sebagai Web Server Raspberry Pi juga dapat digunakan sebagai mesin sms gateway. Aplikasi sms gateway yang digunakan adalah Gammu.

Tau donk apa itu gammu? kalau belum tau di googling aja ya :p
Oke tanpa basa-basi lagi ikuti tulisan berikut

1. Install Gammu beserta dependensinya
sudo apt-get install gammu python-gammu gammu-smsd

2. Pasang Modem SMS
Pada tulisan ini saya menggunakan sebuah modem 3G yang dapat digunakan sebagai modem sms yaitu Modem Huawei E220.


Setelah terpasang lakukan
dmesg | grep tty

Nanti akan tampil seperti dibawah ini
[    7.578478] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB0
[    7.697942] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB1

3. Edit file config Gammu
Ketik tulisan berikut
gammu-config


Pilih Port dan masukkan port modem yang aktif. Dari tulisan saya diatas berada di ttyUSB0 dan ttyUSB1. Maka isikan nilai port dengan /dev/ttyUSB0

Save file dan nati akan terbentuk file konfigurasi di /home/pi/.gammurc
Dimana /home/pi/ adalah home direktory saya dan file gammu bernama .gammurc


4. Cek koneksi modem dengan gammu
Untuk memastikan apakah modem dan gammu sudah sesuai dengan konfigurasi yang kita masukkan, lakukan
gammu --identify

Jika sesuai akan tampil seperti dibawah ini
Device       : /dev/ttyUSB0
Manufacturer : Huawei
Model        : E220 (E220)
Firmware     : 11.117.03.00.00
IMEI         : 358193012057xxx
SIM IMSI     : 510112514106xxx

5. Mengirimkan pesan dengan gammu
langkah selanjutnya adalah mengirim sms dengan perintah berikut
echo "isi pesan" | gammu --sendsms TEXT 08562424411

Dimana pesan sms adalah "isi pesan" yang ditujukan ke nomor 08562424411
Jika sukses akan tampil pesan sukses di terminal. Jika belum, cek kembali konfigurasi di nomor 3 dan 4 diatas.

6. Gammu dengan database MySQL
Agar semua sms yang masuk dan keluar dari modem dapat dikelola dengan baik, maka tidak ada salahnya jika kita menggunakan MySQL sebagai database dari gammu.

menujulah ke folder
/usr/share/doc/gammu/examples/sql

ekstrak mysql.sql.gz dgn perintah
sudo gunzip mysql.sql.gz

nanti akan menjadi mysql.sql

Selanjutnya buka mysql dan buat database gammu
mysql -u root -p

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

mysql> quit;

Dan kemudian import database bernama mysql.sql ke dalam database gammu yg telah dibuat
mysql -u root -p gammu < mysql.sql

Lalu login kembali dan lihat hasilnya
mysql -u root -p

mysql> use gammu;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

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

Keluar dari Mysql dan edit file gammu-smsdrc agar bisa tersambung dgn Mysql.
gammu-smsdrc dapat kamu edit dgn perintah berikut, namun sebelumnya backup filenya terlebih dahulu
sudo cp /etc/gammu-smsdrc /etc/gammu-smsdrc.BAK

dan edit
sudo nano /etc/gammu-smsdrc
# SMSD configuration, see gammu-smsdrc(5)
[smsd]
#service = files
service = sql
driver = native_mysql
logfile = /home/pi/smsdlog
# Increase for debugging information
debuglevel = 255

#Mysql User Password
user = root
password = password
pc = localhost
database = gammu

# Paths where messages are stored
#inboxpath = /var/spool/gammu/inbox/
#outboxpath = /var/spool/gammu/outbox/
#sentsmspath = /var/spool/gammu/sent/
#errorsmspath = /var/spool/gammu/error/


7. Skrip html dan php untuk form input dan mengirimkan sms
index.html
<html>
<h1>Kirim SMS</h1>
<form method="post" action="send.php">
 Nomor HP Tujuan
 <input type="text" name="nohp">
 Isi SMS
 <textarea name="sms"></textarea>
 Format SMS
 <input type="radio" name="format" value="flash"> Flash SMS
 <input type="radio" name="format" value="normal"> Normal SMS 
 <input type="submit" name="submit" value="Kirim SMS">
</form>
</html>

send.php
<?php
//koneksi ke database Gammu
mysql_connect("dbhost", "dbuser", "dbpass");
mysql_select_db("dbname");
//baca no tujuan
$no_tujuan = $_POST['nohp'];
//baca isi sms
$isi_sms = $_POST['sms'];
//baca format sms
$pilih_format = $_POST['format'];
if ($pilih_format == "flash"){
 //jika format yang dipilih 'flash'
 //query kirim sms format flash
 $query = "INSERT INTO outbox(DestinationNumber, TextDecoded, CreatorID, Class)
  VALUES ('$no_tujuan', '$isi_sms', 'Gammu', '0')";
 //jalankan query
  mysql_query($query);
}else if ($pilih_format == "normal"){
 //jika format yang dipilih 'normal'
 //query kirim sms normal
 $query = "INSERT INTO outbox(DestinationNumber, TextDecoded, CreatorID, Class)
  VALUES ('$no_tujuan', '$isi_sms', 'Gammu', '-1')";
 //jalankan query
 mysql_query($query);
} else echo "Anda belum memilih format SMS";
?>

Kemudian jalankan service gammu
sudo /etc/init.d/gammu-smsd start

Lihat juga file log yang telah dibuat
tail -f /home/pi/smsdlog

Buka web yang telah dibuat dengan skrip html dan php diatas. Masukkan pesan beserta nomor tujuan, dan yang paling penting pastikan pulsa masih tersedia :)
Install Gammu di Raspberry Pi Install Gammu di Raspberry Pi Reviewed by rizupz on Jumat, November 15, 2013 Rating: 5

Tidak ada komentar:

Diberdayakan oleh Blogger.