yanrf.com

Catat dan Rekam!

Notifikasi Status Server via SMS Menggunakan Raspberry Pi + Gammu

leave a comment

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.

Written by Yan Arief

October 10th, 2013 at 4:15 pm

Masalah pada CUPS: Stopped – Unable to send data to printer

leave a comment

Beberapa waklu lalu print server yang menggunakan Raspberry Pi bermasalah, print queue ngadat tidak diproses printer. Sudah dicoba reboot dan mati-nyalakan printer juga tak menyelesaikan masalah. Masalah ini muncul setelah proses mencetak sekitar setengah halaman tetiba printer ngadat.

Kita lacak masalahnya ada di mana, pada web interface CUPS https://IP_SERVER:631/printers/Canon_MP160_Raw, status printer: Stopped (“Unable to send data to printer”).

Cek juga pesan kesalahan CUPS dalam /var/log/cups/error_log, ditemukan seperti di bawah ini.

-- [Job 47] Unable to send data to printer.
-- Failed to update TXT record for Canon MP160 Raw Driver @ raspbmc: -2
-- Returning IPP client-error-bad-request for Print-Job (http://IP_SERVER:631/printers/Canon_MP160_Raw) from IP_client
-- [Job 47] Stopping unresponsive job!

Kemudian saya lihat konfigurasi /etc/cups/printer.conf, ditemukan 2 baris ini.

State Stopped
StateMessage Unable to send data to printer

Dalam kondisi normal State adalah idle, bandingkan dengan file /etc/cups/printers.conf.O. Juga saya mencari referensi dalam manual CUPS tentang printer.conf.

Solusinya:
Sebelumnya matikan service cups, mengedit printer.conf hapus 2 baris (State dan StateMessage) kemudian start service cups. Atau dengan cara lain, jalankan perintah /etc/sbin/cupsenable nama_printer.

Dan print server akhirnya berjalan normal.

~Semoga bermanfaat

Written by Yan Arief

October 1st, 2013 at 10:16 am

Solusi Internal SD Card Reader Tidak Terdeteksi pada openSUSE 12.3

leave a comment

sdcard_4gb

Laptop yang saya gunakan terpasang internal SD Card Reader tipe Realtek device 5289. Driver perangkat tersebut tidak tersedia pada openSUSE 12.3 Kernel 3.7. Bedasarkan referensi yang saya peroleh, kernel module untuk SD Card Reader tipe tersebut baru didukung pada Kernel 3.8.

Beberapa tutorial sudah saya coba, akhirnya berhasil setelah menggunakan Dynamic Kernel Module Support (DKMS) framework. Kemudian memasang paket dkms-rts_bpp kernel module untuk Realtek Card Reader Device 5289.

Langkah instalasi, sebelumnya memeriksa detail informasi perangkat yang ada dalam sistem mengunakan perintah lspci.

$ sudo su
$ lspci
********
01:00.0 3D controller: NVIDIA Corporation Device 1140 (rev a1)
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5289 (rev 01)
03:00.2 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168 PCI Express Gigabit Ethernet controller (rev 0a)
04:00.0 Network controller: Atheros Communications Inc. AR9462 Wireless Network Adapter (rev 01)
********

Memperhatikan informasi lspci di atas, perangkat SD Card Reader yaitu Realtek Semiconductor Co., Ltd. Device 5289 (rev 01)

Paket DKMS salah satunya terdapat dalam repository Overman79/Laptop. Sebelumnya saya sudah menambah repo ini saat menginstall Bumbleblee untuk NVidia Optimus VGA.

// Tambah repositori Overman79/Laptop.
$ zypper ar http://download.opensuse.org/repositories/home:/Overman79:/Laptop/openSUSE_12.3/ Overman79

// install dkms dan dkms-rts_bpp
$ zypper in dkms dkms-rts_bpp

// aktifkan dkms service
$ systemctl enable dkms

Nah, masukkan SD Card ke dalam Card Reader dan akhirnya dapat dibaca oleh sistem. Periksa juga output yang terdapat pada file /var/log/messages.

Written by Yan Arief

September 10th, 2013 at 3:02 pm

Sharing Scanner Menggunakan Raspberry Pi dan SANE

leave a comment

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

Written by Yan Arief

July 25th, 2013 at 2:36 pm

Raspberry Pi sebagai Print Server

one comment

Selain untuk hiburan Raspberry Pi juga saya gunakan untuk memudahkan pekerjaan — sebagai Print Server. Laptop tersambung ke WIFI rumah langsung terhubung ke print server tak perlu ribet mendekat ke meja printer colok kabel USB.

Saya masih menggunakan paket instalasi Raspbmc, karena baru punya 1 buah Raspi jadi dalam satu mesin saya gunakan sebagai media center sekaligus print server dan mungkin nanti untuk keperluan lainnya juga *maksa*. Beruntunglah Raspbmc berbasis Raspbian Wheezy didukung repostiorinya sehingga fleksibel untuk menambah paket aplikasi yang dibutuhkan.

Jadi gini, untuk print server saya akan mengkonfigurasi Raspberry Pi dengan printer Canon MP160, menginstal CUPS, kemudian menginstall printer di komputer client via Internet Print Protocol (IPP).

Konfigurasi Print Server
Menginstal CUPS sekaligus paket pedukungnya.
$ sudo apt-get install cups

Konfigurasi user untuk otorisasi manajemen printer, memasukkan user pi sebagai anggota grup lpadmin.
$ sudo usermod -aG lpadmin pi

Mengaktifkan sharing printer dan membuka akses untuk remote admin
$ sudo cupsctl --share-printers --remote-printers --remote-admin

Jalankan CUPS
$ sudo /etc/init.d/cups start

Kemudian mengakses manajemen CUPS via web https://{Alamat IP Raspi}:631/admin/, tambahkan printer baru (add new printer). Tipe printer saya terdeteksi Canon MP160, Pilih make/manufacture: RAW, dengan setelan ini maka beban CPU pada print server lebih ringan dan proses pencetakan lebih cepat, tetap nanti di komputer client harus disetel driver printer yang sesuai. Dengan sistem demikian, print server tidak dapat melakukan pencetakan sendiri, bila di-test print melalui web interface CUPS tidak ada respon, jadi pencetakan hanya bisa dari Komputer client.

Saya pernah mencoba konfigurasi print server, setelan CUPS dipasang driver sesuai printernya, proses pencetakan lambat dan print spooling lama.

raspi-printsrv-01

Karena sistem berbagi-pakai printer menggunakan IPP, untuk setelan di komputer client menggunaka url printer ipp://{Alamat IP Raspi}:631/printers/Canon_MP160 atau menggunakan protokol http untuk setelan di MS Windows.

Instalasi Printer pada Komputer Client
Konfigurasi di Linux, saya menggunakan openSuse jadi cukup memakai Yast. Buka setelan printers, pilih Print via Network, saya lebih prefer memilih “Do All Printing Directly via One Single CUPS server”, kemudian masukan alamat IP print server. Lanjut, pilih device driver yang sesuai, terakhir coba klik test printer.

raspi-printsrv-02

Konfigurasi pada Mac OSX, buka setelan Printer pada System Preference. Add printer — biyasanya otomatis mendeteksi printer yang di-share di jaringan. Kemudian sesuaikan driver printer-nya.

raspi-printsrv-03

Konfigurasi pada Windows 7, Tambah printer baru, pilih “Add a network, wireless or Bluetooth printer”, biarkan aplikasi memindai printer bila tidak ditemukan klik “The printer that I want isn’t listed”. Selanjutnya, masukan url printer http://{Alamat IP Raspi}:631/printers/Canon_MP160 pada “Select a shared printer by name”. Terakhir pilih driver pinternya.

Bila klien kebanyakan menggunakan Windows sebaiknya juga mengkonfigurasi print sharing via Samba Share. Untuk perangkat yang berbasis Mac bisa mengkonfigurasi AirPrint.

Sebagai tambahan, untuk performa pencetakaannya cukup cepat meski Raspi sedang digunakan untuk memutar film.

Referensi:
CUPS is too slow, how can I make it faster?

Written by Yan Arief

July 19th, 2013 at 4:00 pm

Wayang Kulit

leave a comment

Semua tahu, wayang Kulit warisan budaya nenek moyang juga sebagai Warisan Budaya Dunia karena nilai filosofisnya. Alkulturasi berbagai budaya, India, Arab, Jawa bahkan Eropa. Pada jamannya tontonan ini pasti ngehits.

Wayang Kulit

Kapan terakhir nonton wayang?

Mungkin banyak yg bilang gak pernah, lupa atau malah jawabannya mbuh kapan.. ya seperti biyasa yang tradisional itu gak mainstream, segelintir saja yang melirik. Tapi saya yakin wayang kulit ini tidak bakal punah. Masih ada yang peduli, masih ada sekolah pedalangan, dan masih ada mas Donny dengan Museum Wayangnya.

Pertunjukan wayang juga masih banyak digelar, ada yang rutin seperti di Bangsal Srimanganti Kraton Jogja, Sasono Hinggil Alun-alun Kidul, Tembi Rumah Budaya, dsb. Ada juga pas ada acara tertentu. Pengrajin Wayang Kulit juga masih eksis, di Pucung, Wukirsari, Imogiri atau di Dusun Gendeng Bangunjiwo.

Nek pertanyaan di atas itu ditanyakan ke anak saya (4th kurang dikit), jawabnya mungkin barusan liat wayang di tablet atau tivi. Sejak usia 2 th dia suka seni tradisional, gamelan, upacara tradisi, wayang, dan sejenisnya. Nek disuruh milih dibelikan mobil2an atau wayang, pasti pilih wayang.

Dia kepengen belajar ndalang, njuk kira-kira di mana ya tempat belajar ndalang untuk bocah?

Written by Yan Arief

July 16th, 2013 at 2:52 pm

Posted in Personal

Tagged with