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 :

$ 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
pi@raspberrypi-gammu:~ $ 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
pi@raspberrypi-gammu:~ $ 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 :

pi@raspberrypi-gammu:~ $ sudo gammu --identify
 Device : /dev/ttyUSB1
 Manufacturer : ZTE CORPORATION
 Model : unknown (MF190)
 Firmware : BD_MF190V1.0.0B05
 IMEI : 861264020613204
 SIM IMSI : 510102982137225
pi@raspberrypi-gammu:~ $ 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
pi@raspberrypi-gammu:~ $ 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 :

pi@raspberrypi-gammu:~ $ 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:

<em>$ mysql> CREATE DATABASE gammu_sms;
 </em>

Kemudian pastikan database telah terbuat. cek dengan cara berikut:

<em>$ mysql> show databases;
 </em>

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.

<em>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</em>

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 ….