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.

Sharing Scanner Menggunakan Raspberry Pi dan SANE

Setelah mengkonfigurasi Print Server, dilanjut sharing scanner melalui jaringan menggunakan Raspberry Pi. Printer yang saya pakai Canon MP160, merupakan printer multifungsi selain berfungsi untuk mencetak juga dilengkapi pemindai scanner. Agar fitur scanner juga bisa diakses via jaringan harus mengkonfigurasi SANE pada Raspberry PI.

raspi-sane-pict

Konfigurasi SANE

Paket yang harus diinstal adalah sane-utils dan libsane, ternyata pada Raspbian Wheezy (Raspbmc) keduanya sudah terpasang saat menginstall CUPS untuk print server kemarin. Kalau belum diinstal silakan jalankan apt-get.

Cek scanner yang tersambung
$ sane-find-scanner
###
found USB scanner (vendor=0x04a9 [Canon], product=0x1714 [MP160]) at libusb:001:005
found USB scanner (vendor=0x0424, product=0xec00) at libusb:001:003
###


$ scanimage -L
device `pixma:04A91714' is a CANON Canon PIXMA MP160 multi-function peripheral

Selanjutnya edit konfigurasi /etc/sane.d/saned.conf agar bisa diakses via jaringan lokal, masukkan IP subnet yang digunakan misal 192.168.0.0/24.

#/etc/sane.d/saned.conf
#scan-client.somedomain.firm
192.168.0.0/24

Kemudian mengaktifkan SANE daemon (saned), edit file /etc/default/saned dan jalankan service.

# /etc/default/saned
RUN=yes
RUN_AS_USER=saned

Jalankan Saned
$ /etc/init.d/saned start

Konfigurasi Komputer Klien

Konfigurasi pada Linux, mengedit /etc/sane.d/net.conf masukkan alamat IP server. Untuk aplikasinya bisa menggunakan XSane. Untuk openSUSE seperti biyasa menggunakan yast, hardware -> scanner -> others -> Scanning via Network, kemudian pada “client setting” masukkan IP server.

Untuk MacOS X menggunakan Twain Sane Interface for Mac OSX, sedangkan untuk Windows menggunakan SaneTwain. Perlu juga dicoba akses SANE scanner pada gajet Android, menggunakan aplikasi InSaneScanner.

Uji Coba

Saya coba untuk memindai gambar ukuran A4 dengan kualitas scan resolusi rendah 75 dpi sampai resolusi 600 dpi, cukup lancar dan kualitas gambar cukup bagus. Berikut ini screenshoot proses menggunakan perintah ‘top’ dan lalu-lintas jaringan saat memindai dengan resolusi 600 dpi.

raspi-sane-pict-02
Cek proses menggunakan ‘top’

raspi-sane-pict-03
Cek lalu-lintas jaringan menggunakan ‘iftop’, server Raspi: 192.168.0.102, client: 192.168.0.103

Mencicipi Raspberry Pi, untuk Media Center

Raspberry Pi sebuah mini PC, single board seukuran e-KTP, murah dan hemat energi. Tipe yang saya miliki Raspbery Pi Model B 512 MB RAM (lihat spesifikasi). Bentuknya mungil tapi cukup komplit ditenagai prosesor ARM1176JZ-F 700 MHz dilengkapi GPIO, 2 USB ports, HDMI, LAN Card, RCA out, Audio out, dan SD Card reader. Untuk sistem operasi dipasang pada SD-Card. Sedangkan power supply, adaptor minimal 700 mA (3.5 W) microUSB.

Raspberry Pi Rev. B Raspberry Pi Rev. B

Pada awalnya Raspberry Pi ini untuk pendidikan namun dalam perkembangannya banyak yang bereksperimen menggunakan ini komputer ini untuk berbagai tujuan misalnya home automation, pemutar audio/video, server rumahan, hingga untuk robotika.

Saya pernah mencoba memasang Rasbian Wheezy sistem operasi berbasis Debian yang dioptimasikan untuk perangkat Raspberry Pi. Lumayan juga difungsikan sebagai komputer desktop. Sebenarnya saya ingin bereksperimen dengan memanfaatkan fasilitas GPIO tapi alasan klasik.. belum selo.. :) Saya baru pada level mencicipi PC mungil ini belum mengeksplore fitur-fiturnya lebih jauh.

Karena keterbatasan Raspberry Pi mungkin tidak cocok difungsikan untuk menjalankan aplikasi desktop sehari-hari saya. Dengan pertimbangan GPU Raspberry Pi mampu memutar video Full HD 1080p. Akhirnya saya gunakan hanya sebagai Media Center untuk memutar audio, video, foto, juga bisa memutar YouTube dan browsing langsung di TV. Istilahnya membuat TV biyasa menjadi Smart TV :p

Saya memanfaatkan perangkat yang sudah tersedia di rumah: SD card Sandisk 8 GB, TP-Link Wireless Router, TV Samsung UA32F4000AM, kabel RJ45, Kabel HDMI dan HP/Tablet Android sebagai remote control. Dengan skema: Raspberry PI dihubungkan via kabel RJ45 ke router dengan fasilitas DHCP server, output audio/video ke TV via kabel HDMI. Untuk sumber file bisa menggunakan flashdisk atau External Hardisk.

Untuk sistem operasi saya menggunakan RaspBMC sebuah distro linux turunan Debian yang dioptimasi untuk menjalankan aplikasi media center XBMC di Raspbery Pi. Meski dengan paket instalasi minimal, RaspBMC bisa menggunakan repository debian untuk menambah paket aplikasi lain bila diperlukan. Sementara XBMC sebagai mediacenter yang cukup komplit, bisa memasang add-on sehingga berbagai layanan multimedia online bisa dinikmati. Untuk mengunduh dan tutorial instalasi RaspBMC pada SD-Card di tautan ini.

RaspBMC Yatse, XBMC Remote

Remote control menggunakan HP/Tablet Android yang dipasang aplikasi Yatse the XBMC Remote, tentu saja dengan koneksi Wifi untuk menyambungkan perangkat. Menurut saya Yatse ini remote control untuk XMBC yang paling sip, dibanding official XBMC Remote. Salah satu fitur yang menarik, bisa mengirim (share) url video YouTube langsung ke XMBC.

Catatan: sebaiknya menggunakan kabel HDMI kualitas bagus agar tidak mengalami masalah blank screen, apabila mengalami masalah ini solusinya di tautan ini. Bila memakai kabel HDMI to VGA gunakan konverter aktif.

Oh iya, beberapa foto tentang Raspberry Pi saya unggah di Flickr.