yanrf.com

Catat dan Rekam!

Archive for the ‘raspberry pi’ tag

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

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

Raspberry Pi Media Center: Berbagi-Pakai Multimedia via Samba

leave a comment

Hiburan di rumah tambah seru setelah membuat TV LED 32″ biyasa menjadi Smart TV menggunakan Raspberry Pi (RaspBMC) ditambah fitur remote control dan addons favorit. Nah, sekarang mengoptimalkan berbagi-pakai (sharing) file multimedia antar semua perangkat dengan menghubungkan media center berbasis RaspBMC dengan PC/Laptop dan gajet melalui jaringan rumah. Sehingga mudah mengakses file di semua perangkat untuk ditayangkan di TV, berikut ini yang saya implementasikan di rumah.

Samba atau SMB (Server Message Block) adalah protokol filesharing standar Windows network, yang bisa berjalan di platform Linux, Mac, dsb. Pertama, mengkonfigurasi Samba Server untuk membuat Raspberry Pi Media center sekaligus sebagai NAS (Network Attached Storage) dengan storage utama berupa External Hardisk terhubung via USB.

Beruntung Raspbmc terbaru keluaran bulan Juni kemarin sudah terpasang paket Samba Server versi 3.6.6. Sedangkan versi sebelumnya harus menginstal paket Samba lewat apt-get. Padahal sebelumnya saya berwacana menulis tentang instalasi samba server di RaspBMC, yah.. versi baru tidak perlu banyak ngoprek.

Untuk konfigurasi Samba, mungkin hanya mengubah setting /etc/samba/smb.conf — netbios name dan workgroup disesuaikan dengan keingginan. Setelan Samba Server bawaan RaspBMC, netbios name: Raspbmc, workgroup: Workgroup, Samba username: pi dan password: raspberry, shared folder ada 2 yaitu pi (user) dan devices (berisi external storage terpasang).

Saatnya dicoba, sebelumnya saya sudah mengkonfigurasi filesharing di Windows, Samba di openSUSE, Macbook dan Android. Saya coba browse Samba Network seperti gambar di bawah ini.

Browse via Mac
smb-raspbmc

Browse via XBMC
smb-xbmc

Oh ya.. sebagai tambahan, untuk Samba Server di Android saya menggunakan aplikasi Samba Filesharing for Android tapi khusus gajet Android yang akses root sudah dibuka. Untuk Samba Client, bisa menggunakan aplikasi filemanager seperti file explorer bawaan Stock ROM, ES File Explorer dan sejenisnya.

Oke, semua sudah tersambung. Sekarang bisa membackup file foto/video di Ponsel hasil jalan-jalan kemarin via WIFI langsung ke storage yang dipasang di Media Center, tinggal ditayangkan di TV. Atau sebaliknya, dari Media center memutar file multimedia yang tersimpan di perangkat lain.

Selain menggunakani protokol Samba, XBMC (RapsBMC) juga mendukung sharing multimedia via UPnP/DLNA, Zeroconf, NFS. Besok ngoprek lagi kalau sedang selo…

Written by Yan Arief

July 12th, 2013 at 6:06 am

Remote Control, Youtube dan Flickr untuk XBMC (Raspbmc)

leave a comment

Media center yang saya bikin dengan Raspberry Pi dan XBMC (Raspbmc) kemarin cukup untuk hiburan di rumah dengan biaya hemat. Agar mudah mengoperasikannya perlu remote control dan juga menambah add-on layanan web atau media sosial agar lebih seru.

Remote Control

Seperti dalam tulisan sebelumnya, saya menggunakan Yatse untuk gajet Android yang terhubung dengan WLAN. Memiliki fitur yang komplit, kontrol untuk pemutaran audio/video, kontrol navigasi menu, virtual keyboard, share audio/video/foto ke XBMC via protokol UPnP dan juga share url Youtube.

yatse-playstore

Selain itu, XBMC memiliki remote kontrol berbasis web, untuk mengakses dengan memasukan alamat IP Raspberry Pi pada browser komputer kita. Cukup sederhana interface-nya, cukup untuk mengontrol navigasi menu. Saya sebenarnya tertarik dengan wireless mini keyboard + touchpad tapi belum kesampaian :(

Youtube Add-on

XBMC menyediakan berbagai add-on untuk foto, audio, video dan konfigurasi sistemnya. Add-on wajib adalah Youtube, instalasinya bisa melalui menu System -> Add-ons.

RaspBMC, Samsung UA32F4000AM

Cukup sederhana interface youtube add-on ini, dilengkapi thumbnail video, fitur pencarian, favorite dan sebagainya. Bisa browsing video langsung pada add-on ini tapi yang lebih menarik adalah mengirim url video dari perangkat lain (laptop/gajet). Tersedia ekstensi untuk web browser Mozilla Firefox dan Google Chrome, setelah ekstensi ini dipasang akan tampil “Play in XBMC” di setiap halaman video Youtube.

Flickr Add-on

Karena Flickr itu layanan berbagi foto favorit saya maka disetiap perangkat harus bisa mengakses foto-foto di flickr. Untuk instalasi add-on kurang lebih sama dengan youtube.

XBMC Flickr Add-on

Setelah add-on terpasang, pada menu Konfigurasi flickr jangan diisi user id, langsung menuju menu Photos->Addon->Flickr maka muncul dialog box untuk mengakses http://xbmc.2ndmind.com/auth menggunakan browser komputer lain. Kemudian login Flickr -> authorized application -> muncul kode random. Kembali ke XBMC dan masukkan kode itu. Oke, sekarang bisa mengakses Flickr di XBMC.

Masih banyak add-ons lain seperti Facebook Media dan sebagainya, sayang add-on twitter dan skype belum ada.

Written by Yan Arief

June 28th, 2013 at 1:45 am