Cara Membuat SMS Gateway Auto Reply dengan Gammu dan PHP

Posted on
Anda kadang menjumpai Format SMS Polling maupun informasi seperti REG[spasi]BOLA atau INFO[spasi]NILAI_UAS kirim ke 45xx. sekarang anda bisa membuatnya sendiri secara otodidak hanya butuh kepercayaan diri dan segelas kopi di samping laptop/PC anda haha…

Bahan Yang diperlukan :
1. Gammu 1.29.0 ZIP ( Penulis menggunakan versi ini, sobat bisa mencoba versi lainnya ) | Unduh |
2. Modem GSM ( ZTE MF180 Mobinil ) atau cek disini dukungan modem anda

3. MySQL / Oracle

Langkah Pertama :
1. Cek modem port anda Device Manager > Modem > Nama Modem Anda

Cek Port Modem


2. Cek gammu modem buka cmd : C:Gammubingammu –identify

Gammu Identify Modem


3. Ekstrak file Gammu di Drive C:\
4. Rename dengan nama Gammu
5. Setting Database Anda terlebih dahulu kawan : C:Gammubin

[gammu]device = com15:

connection = at115200

simpan file tersebut dengan nama gammurc

6. Kemudian buat file smsdrc

[gammu]
device = com15: //letak modem port anda
connection = at115200 //cek di wammu.eu/phones
[smsd]
service = MYSQL
PIN = 1234
logfile = smsdlog
debuglevel = 0
commtimeout = 10
sendtimeout = 10 //waktu Pengiriman
user = root
password =
pc = localhost
database = gammu_db //Nama Database anda
driver = native_mysql

7. Buat file service dengan CMD :  C:Gammubingammu -c smsdrc -i
8. jika gagal coba un-install terlebih dahulu service-nya : C:Gammubingammu smsdrc -u
9. kita coba melakukan pengiriman SMS

Mengirim SMS lewat CMD
Tampilan Inbox di PHPmyAdmin

10. Membuat SMS AutoReply

<html><head>
<title>Biodata</title>
<meta content=’30’ http-equiv=’refresh’/> //reload otomatis page
<link rel=”shortcut icon” href=”admin/enabled-2.gif”>
</head>
<body>
SMS CENTER <br> BERJALAN
<?php
//koneksi ke mysql dan db nya
mysql_connect(“localhost”, “root”, “”);
mysql_select_db(“gammu_db”);
// query untuk membaca SMS yang belum diproses
$query = “SELECT * FROM inbox WHERE Processed = ‘false'”;
$hasil = mysql_query($query);
while ($data = mysql_fetch_array($hasil)) {
// membaca ID SMS
$id = $data[‘ID’];
// membaca no pengirim
$noPengirim = $data[‘SenderNumber’];
// membaca pesan SMS dan mengubahnya menjadi kapital
$msg = strtoupper($data[‘TextDecoded’]);
// proses parsing
// memecah pesan berdasarkan karakter
$pecah = explode(” “, $msg);
// jika kata terdepan dari SMS adalah ‘NILAI’ maka cari nilai Kalkulus
if ($pecah[0] == “BIODATA“) {
// baca NIM dari pesan SMS
$nim = $pecah[1];
// cari nilai kalkulus berdasar NIM
$query2 = “SELECT biodata FROM nilaikalkulus WHERE nim = ‘$nim'”;
$hasil2 = mysql_query($query2);
// cek bila data nilai tidak ditemukan
if (mysql_num_rows($hasil2) == 0)
{
$reply = “NPM tidak ditemukan , Cek FORMAT SMS ANDA : BIODATA<spasi>NPM”;
}
else {
// bila nilai ditemukan
$data2 = mysql_fetch_array($hasil2);
$nilai = $data2[‘biodata’];
$reply = “[Tergabung Dalam NR Team] Biodata Anda : “.$nilai;
}

// membuat SMS balasan
$query3 = “INSERT INTO outbox(DestinationNumber, TextDecoded, CreatorID) VALUES  (‘$noPengirim’, ‘$reply’, ‘Gammu’)”; $hasil3 = mysql_query($query3);
// ubah nilai ‘processed’ menjadi ‘true’ untuk setiap SMS yang telah diproses
$query3 = “UPDATE inbox SET Processed = ‘true’ WHERE ID = ‘$id'”;
$hasil3 = mysql_query($query3);
}
}
?>
</body>
</html>

keterangan :
– BIODATA = Keyword awal pendeteksi SMS
– explode(” “, $msg); = Jika hasil Explode mengunakan spasi berarti jarak keyword dan isi dipisah dengan [spasi] ex.BIODATA[spasi]NIM
– explode(“#”, $msg); = Jika hasil Explode mengunakan spasi berarti jarak keyword dan isi dipisah dengan [#] ex.BIODATA#NIM

Selamat Mencoba Kawan… [Andhika Nur Afian], jangan takut gagal…

Gravatar Image
Suka jalan-jalan, naik sepeda, bermain code-code asal tidak suka mengkode cinta. Hubungi email : andhika.na@gmail.com jika anda butuh website untuk personal maupun bisnis.

4 thoughts on “Cara Membuat SMS Gateway Auto Reply dengan Gammu dan PHP

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.