Kali ini aku akan sedikit membahas tentang membangun server sms sederhana menggunakan perangkat Raspberry dan Modem ZTE MF190.
Karena aplikasi menggunakan Gammu dan Kalkun SMS yang sudah cukup lama, jadi untuk Raspbian saya menggunakan Raspbian (05-07-2017).
Perlu diketahui juga, Kalkun SMS hanya support menggunakan PHP5.x, jadi kalau pakai PHP7.x sudah pasti tidak akan bisa digunakan.
Oke, kita langsung saja pada langkah-langkah untuk melakukan instalasi SMS Server :
- Extract Raspbian Image ke dalam mmc 16GB, untuk mendownload image Jessie bisa menggunakan link berikut : http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/
- Update OS Raspbian, install Apache, PHP5, Mysql Server dan PHPMyadmin
$ sudo apt update $ sudo apt upgrade $ sudo apt-get install apache2 -y $ sudo apt-get install php5 php5-mysql php-gettext php5-mbstring libapache2-mod-php5 -y $ sudo apt install mysql-server mysql-client -y $ sudo mysql_secure_installation $ sudo apt-get install phpmyadmin -y
- Install Gammu
$ sudo apt-get install gammu-smsd gammu python-gammu usb-modeswitch -y
- Sambungkan modem dengan Raspberry
- Cek apakah usb sudah terbaca oleh Raspberry
[email protected]:~ $ sudo lsusb Bus 001 Device 004: ID 19d2:0117 ZTE WCDMA Technologies MSM Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
- Cek modem menggunakan port USB yang mana
[email protected]:~ $ sudo dmesg | grep tty [ 0.000000] Kernel command line: 8250.nr_uarts=0 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3dc00000 vc_mem.mem_size=0x3f000000 dwc_otg.lpm_enable=0 console=ttyS0,115200 console=tty1 root=PARTUUID=9ced5596-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles [ 0.000347] console [tty1] enabled [ 0.751646] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 87, base_baud = 0) is a PL011 rev2 [ 6.176129] usb 1-1.5: GSM modem (1-port) converter now attached to ttyUSB0 [ 6.176674] usb 1-1.5: GSM modem (1-port) converter now attached to ttyUSB1 [ 6.177222] usb 1-1.5: GSM modem (1-port) converter now attached to ttyUSB2
untuk ini, silahkan dicoba satu persatu, karena modem tidak selalu berada di ttyUSB0.
- Ok, kalau sudah mengetahui kira-kira pakai port USB yang mana langsung setup Gammu
$ sudo gammu-config
┌─────────────────────────────────────────┐ │ Current Gammu configuration │ │ │ │ P Port (/dev/ttyUSB2) │ │ C Connection (at19200) │ │ M Model () │ │ D Synchronize time (yes) │ │ F Log file () │ │ O Log format (nothing) │ │ L Use locking () │ │ G Gammu localisation () │ │ H Help │ │ S Save │ │ │ │ │ │ <Ok> <Cancel> │ │ │ └─────────────────────────────────────────┘
Gammu-config ini akan buat file di home directory ~/.gammurc.
Cek perubahan permission
$ ls -l /dev/ttyUSB* crw-rw---T 1 root dialout 188, 0 May 14 18:06 /dev/ttyUSB0 crw-rw---T 1 root dialout 188, 1 May 14 16:56 /dev/ttyUSB1 crw-rw---T 1 root dialout 188, 2 May 14 16:56 /dev/ttyUSB2
Test gammu sudah bekerja atau belum?
Masukkan command berikut :
[email protected]:~ $ sudo gammu --identify Device : /dev/ttyUSB1 Manufacturer : ZTE CORPORATION Model : unknown (MF190) Firmware : BD_MF190V1.0.0B05 IMEI : 861264020613204 SIM IMSI : 510102982137225
[email protected]:~ $ sudo gammu --networkinfo Network state : home network Network : 510 10 (Telkomsel, Indonesia), LAC DC5, CID CB75 Packet network state : home network Packet network : 510 10 (Telkomsel, Indonesia), LAC DC5, CID CB75 GPRS : attached
[email protected]:~ $ gammu getallsms 0 SMS parts in 0 SMS sequences
Kalau perintah-perintah diatas sudah menunjukkan reply yang benar seperti diatas, bisa ditest untuk kirim sms :
[email protected]:~ $ echo "Kirim SMS dari gammu nih" | gammu sendsms TEXT 08xxxxxxxx9 If you want break, press Ctrl+C... Sending SMS 1/1....waiting for network answer..OK, message reference=7
MENGHUBUNGKAN GAMMU DENGAN MYSQL
Tahapan ini yaitu sinkronisasi gammu dengan mysql. salah satu fungsi dari mysql ini yaitu dapat menyimpan pesan masuk dan pesan terkirim bahkan kalau dioprek lebih lanjut ketika ada sms masuk mesin automatis mengirim sms. tapi langkah itu tidak dibahas disini. disini saya hanya membahas sinkronisasi gammu dengan mysql.
Ambil file mysql.sql pada directory berikut:
$ mv /usr/share/doc/gammu/examples/sql/mysql.sql.gz /home/pi/
Extract filenya :
$ gunzip mysql.sql.gz
$ mysql -u root -p
Kemudian masukkan password pada saat install MYSQL, kemudian akan tampil:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 41458 Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu) Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
Buat database baru dengan cara berikut:
$ mysql> CREATE DATABASE gammu_sms;
Kemudian pastikan database telah terbuat. cek dengan cara berikut:
$ mysql> show databases;
Akan tampil:
+--------------------+ | Database | +--------------------+ | information_schema | | gammu_sms | | mysql | | performance_schema | | test | | zabbix | +--------------------+ 14 rows in set (0.00 sec) mysql>
Selanjutnya dump mysql.sql kedalam database kamu. gunakan database kamu dengan ketik perintah berikut:
$ mysql> use gammu_sms;
Import file SQL dengan perintah
$ mysql> source /home/pi/mysql.sql
Cek kembali apakah tabel telah ada:
$ mysql> show tables;
Kemudian muncul daftar table:
+---------------------+ | Tables_in_gammu_sms | +---------------------+ | daemons | | gammu | | inbox | | outbox | | outbox_multipart | | pbk | | pbk_groups | | phones | | sentitems | +---------------------+ 9 rows in set (0.00 sec)
Keluar dari mysql:
$ mysql> exit
Supaya GAMMU bisa berkomunikasi dengan MYSQL kamu harus mensetting gammu-smsdrc:
$ nano /etc/gammu-smsdrc
Edit konfigurasinya seperti ini:
# Configuration file for Gammu SMS Daemon # Gammu library configuration, see gammurc(5) [gammu] # Please configure this! port = /dev/ttyUSB2 connection = at115200 # Debugging #logformat = textall # SMSD configuration, see gammu-smsdrc(5) [smsd] service = SQL logfile = /home/pi/gammulog # Increase for debugging information debuglevel = 0 PIN=12345 phoneid = modem_1 user = root password = passwordmysql pc = localhost database = gammu_sms driver = native_mysql runonreceive = /home/pi/www/sms/scripts/daemon.sh # 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/
Test dengan perintah:
echo "Uji mengirim SMS dari gammu-smsd" | sudo -u gammu gammu-smsd-inject TEXT 08xxxxxxxx9 gammu-smsd-inject[2658]: Connected to Database: xxxxxx on xxx.xxx.xxx.xxx gammu-smsd-inject[2658]: Connected to Database native_mysql: xxxxxx on xxx.xxx.xxx.xxx gammu-smsd-inject[2658]: Written message with ID 6 Written message with ID 6
Jika berhasil jalankan service gammu.
/etc/init.d/gammu-smsd start
Instalasi CMS untuk management SMS dengan CMS Kalkun
Kalkun SMS merupakan CMS untuk memanagement masuk keluarnya SMS. Program ini Opensource jadi kita bisa download secara gratiss. Download kalkun sms dengan mengetikkan perintah.
cd /var/www/html wget http://sourceforge.net/projects/kalkun/files/kalkun/0.7.1/kalkun_0.7.1.tar.gz/download unzip kalkun_0.7.1.zip
setelah di-unzip edit database untuk kalkun sms
$ sudo nano /var/www/html/kalkun/application/database.php
edit pada bagian seperti dibawah ini :
// MySQL $db['default']['username'] = "root"; $db['default']['password'] = "password"; $db['default']['database'] = "gammu_sms"; $db['default']['dbdriver'] = "mysql";
setelah itu langsung buka url dengan browser http://localhost/kalkun/index.php/install
Instalasi selesai. Kamu harus menghapus folder install di directory root Webserver. ketikkan perintah:
$ rmdir /home/pi/www/install
Login dengan User : kalkun dan Password: kalkun
Sampai disini Gammu dengan Kalkun SMS sudah selesai dan raspberry sms server siap digunakan. Selamat mencoba ….