Notifikasi Status Server via SMS Menggunakan Raspberry Pi + Gammu

Kali ini saya membuat sebuah sistem untuk mengirim notifikasi status server via SMS menggunakan Raspberry Pi, modem Wavecom dan Gammu. Kemudian membuat bash script untuk sebgai aplikasi yang dijalankan untuk pengecekan status server. Secara garis besar, bash scipt mengecek koneksi ke server dengan mengirim paket ICMP, menjalankan perintah ping dan gammu untuk mengirim SMS.

Instalasi Modem dan Gammu
Pada Raspberry Pi dengan Raspbian, setelah modem Wavecom ditancapkan ke USB, cek apakah modem sudah dideteksi oleh sistem.

pi@mypi:~$ lsusb
*** modem terdeteksi berikut ini:
*** Prolific Technology, Inc. PL2303 Serial Port

#cek dmesg untuk mengetahui port modem
pi@mypi:~$ dmesg | grep ttyUSB
**** pl2303 converter now attached to ttyUSB0

Modem sudah dideteksi oleh sistem dan terhubund pada port ttyUSB0.

Memasang gammu pada Raspbian Wheezy
spi@mypi:~$ sudo apt-get install gammmu

Membuat file .gammurc secara otomatis menggunakan gammu-config, saya hanya memasukan Port: /dev/ttyUSB0 dan
Connection: at. Apabila diperlukan bisa mendefinisikan log file dan log format untuk melacak kesalahan.
pi@mypi:~$ sudo gammmu-config

Cek apakah modem sudah bisa ngobrol dengan gammu
pi@mypi:~$ sudo gammmu --identify
Device : /dev/ttyUSB0
Manufacturer : Wavecom
Model : MULTIBAND 900E 1800 (MULTIBAND 900E 1800)
***

Nah, modem dan gammu sudah beres, silakan dicoba tes mengirim SMS.
pi@mypi:~$ sudo gammu sendsms TEXT MOBILENUMBER -text "Tes SMS dari Gammu"

Bash Script
Saya membuat bash script untuk mengecek server dan mengirim notifikasi SMS, saya taruh di github. Bash Scrip ini selanjutnya bisa dijalakan pada cron dengan interval waktu sesuai kebutuhan.

Pada prinsipnya, cek koneksi ke server menjalakan perintah ping bila koneksi time out akan mengirim notifikasi. Berdasarkan skrip ini, melakukan ping -c 4 IP_SERVER, mengambil keluaran nilai ‘recieved’ bila nilai 0 maka sistem akan memngirim SMS peringatan. Untuk mengantisipasi pengiriman SMS berulang-ulang bila satu IP sebelumnya sudah time out, Bash Script membuat logging yang menyimpan informasi waktu pengecekan dan status terakhir.