Raspberry Pi Untuk Apa?

Kalau ada yang bertanya apa yang bisa dilakukan oleh Raspberry Pi? Untuk apa saja? Maka jawabnya akan banyak sekali. Raspberry Pi yang sering juga disebut sebagai SBC (single-board computer) itu seperti layaknya sebuah komputer, dia bisa melakukan banyak hal. Ditambah lagi fleksibilitas koneksinya yang seperti Arduino, menjadikannya bisa ditambahi piranti apa saja.

Mau dijadikan robot bisa, dijadikan drone bisa, dijadikan pengendali smarthome bisa, dijadikan server bisa, dijadikan face detection/recognition bisa, dan banyak lagi. Silakan google saja dengan keyword “Raspberry Pi projects”, maka akan ketemu banyak hal yang bisa dibuat dengan Raspberry Pi.

Kembali ke laptop… Kemarin ada teman jual Raspberry Pi 3B dengan harga murah. Langsung saja saya beli. Padahal saya sudah punya beberapa Raspi dan belum tahu mau dipakai apalagi. Makanya 2 paragraf di atas itu sejatinya pertanyaan buat saya sendiri, Raspi-nya mau dipakai apa lagi? Hahaha…

DWO_0261

Ini adalah beberapa Raspberry Pi yang saya miliki beserta peruntukannya:

  1. Raspberry Pi Original Model B. Ini Raspi pertama saya. Saat ini nganggur. Sudah saya tambahin LCD TFT dengan antar muka SPI.
  2. Raspberry Pi 3 Model B. Saya gunakan sebagai server IoT dengan alamat di http://zero-iot.com. Saat ini masih digunakan untuk penggunaan pribadi.
  3. Raspberry Pi Zero W. Digunakan sebagai sensor suhu dan kelembaban. Dalam waktu tidak lama akan meluncur ke teman yang memesannya.
  4. Raspberry Pi Zero W + DVB TV uHAT. Digunakan untuk server TVHeadEnd. Lihat posting saya sebelumnya di “Membeli DVB TV uHAT untuk Raspberry Pi” dan “Setup DVB TV uHAT di Raspberry Pi.”
  5. Raspberry Pi 3 Model B. Saya gunakan sebagai player untuk streaming dari TVHeadEnd sekaligus untuk kerja ringan mengelola server-server. Memang seringkali saya harus mengelola server di malam hari, terutama berkenaan dengan backup, replikasi dan setup yang seringkali butuh waktu lama. Jadi ketika proses saya tinggal tidur sambil berharap esok paginya proses telah selesai tanpa error.
  6. Raspberry Pi 3 Model B. Ini yang baru saya beli dari teman. Memang belum tahu kegunaannya untuk apa. Nanti cari ide dulu. Yang pasti sih saat ini saya jadikan cadangan. Oh iya, saya ada LCD HDMI khusus untuk Raspberry Pi. Tempo hari saya coba tapi karena terlalu kecil, cuma 3.5″, jadinya malah menyiksa mata karena kekecilan, hahaha…

Perkara SBC, sebenarnya saya juga punya CubieBoard versi 2 dan CHIP. Keduanya bagus kok. Tapi untuk fleksibilitas dan dukungan jelas Raspberry Pi lebih bisa diandalkan. Apalagi CHIP sudah tamat riwayatnya.

Selain Raspberry Pi yang sudah saya miliki, sebenarnya saya juga ingin mencoba Raspberry Pi 3 Model A+ dan OrangePi Zero. Tapi nanti sajalah kalau memang sudah ada rencana mau digunakan untuk apa. Mengenai OrangePi Zero sebenarnya bisa jadi alternatif lebih murah dibanding Raspi Zero W yang saat ini saya gunakan sebagai sensor IoT.

Saya tahu bahwa saya menggunakan Raspberry Pi bukan untuk hal-hal yang luar biasa. Pengen sih bisa menggunakannya untuk hal-hal yang luar biasa seperti untuk drone, robot, image/audio processor, smart home, video surveillance atau hal heboh lainnya. Tapi ya lagi-lagi masih terkendala budget dan waktu, hahaha…

Ada 10 Alasan Saya Menyukai CHIP dan 1 Alasan Untuk Membencinya

Ketika C.H.I.P kampanye di Kicstarter pada Mei 2015, menurut saya itu sebuah SBC yang sangat keren. Walau pun tidak lebih hebat dari Raspberry Pi, tapi dia lebih kecil dan siap dioprek. Jadi saya pun memantau perkembangan kampanyenya di Kickstarter. Barulah pada bulan Februari 2016 saya memesannya. Walau pun kemudian baru menerimanya November 2016. Lama banget ya?

Namun begitu, bagi saya CHIP ini sangat menyenangkan. Saya punya 10 alasan untuk menyukai CHIP ini, yaitu:

  1. Kecil. Pada tahun 2015 belum banyak SBC yang punya form factor sekecil ini. Bahkan saat itu Rasberry Pi Zero belum lahir (Raspi Zero baru launching bulan Nov 2015).
  2. Header Female. Tidak seperti keluarga Raspberry Pi dan para penirunya, CHIP datang dengan header female. Bagi pengoprek Arduino tentu sangat senang mendapati header seperti ini, karena tinggal colok kabel jumper. Shield untuk CHIP akan menancap sangat kokoh, berbeda dengan HAT/pHAT di Raspi yang harus dibaut.
  3. Tulisan di header. Di header CHIP ada label nama pin. Kalau Arduino label tertulis di board, kalau CHIP tertulis di header-nya langsung. Sedangkan keluarga Raspberry Pi tidak ada tulisannya sama sekali.
  4. Punya pin lengkap. Lihat saja header-nya yang sampai 2 deret. Sebagian bahkan didedikasikan untuk koneksi ke LCD. Pin i2c bahkan punya 2 set. Tidak ketinggalan 1 buah pin analog. Masih kurang? CHIP memiliki IO expander yang menambahkan 8 pin digital tambahan yang bahkan punya fitur interrupt/edge. Oh iya, speaker juga disediakan pin-nya. Lengkap ya?
  5. Punya controller battery. Menurut saya ini keren banget. Artinya CHIP siap ditenagai baterai. Kontroler ini cukup lengkap fiturnya, dari deteksi keberadaan baterai, tegangan baterai, pemakaian arus, arus pengisian dan suhu sistem. Walau pun sudah ada proteksi pengisian, kita bisa membuat program untuk proteksi sendiri. Pengisian baterai bisa dilakukan dengan menyambungkan CHIP ke charger via port Micro USB.
  6. Sudah ada Wifi + Bluetooth. Dengan bentuknya yang kecil, CHIP sudah dibekali Wifi versi b/g/n & Bluetooth 4.0. Bahkan Raspberry Pi Zero versi awal yang datang belakangan tidak memiliki Wifi & Bluetooth build-in. Barulah kemudian versi revisinya Raspi Zero sudah menambahkan Wifi & Bluetooth.
  7. Sudah punya storage build-in dan OS. Pada versi awal besarnya storage 4 GB. Sedangkan produksi berikutnya menggunakan NAND Flash Toshiba sebesar 8 GB. Hiks… saya dapat yang 4 GB.
  8. Flasher berbasis web. Kalau OS di CHIP rusak, atau jika Anda ingin mengganti OS-nya, maka CHIP menyediakan flasher OS berbasis web. Cara nge-flash-nya juga gampang, sudah ada petunjuk yang jelas. (CHIP Flasher).
  9. Murah $9. Untuk mendapatkannya, Anda cukup merogoh kocek $9. Jika dibandingkan Arduino, tentu jadinya sangat murah kalau dilihat dari price to performace ratio.
  10. Tersedia aksesoris resmi. Sebut saja adapter VGA, adapter HDMI, Pico-8, dll. Kalau mau, Anda bisa membeli board & display untuk membuat PocketCHIP sendiri.

Baca selebihnya »

The Eyes with CHIP

The Eyes was inspired from an Arduino Project by Paco SG. This is a similar program with CHIP and CHIPOLED Shield. I made the eyes can be controlled with buttons.

The inspiration comes from: Paco SG > Arduino Projects.

Here is my own version of code:

#!/usr/bin/python

import os
import sys
import CHIP_IO.GPIO as GPIO
import time
import threading

from luma.core.interface.serial import i2c
from luma.core.render import canvas
from luma.oled.device import ssd1306

serial = i2c(port=1, address=0x3C)
device = ssd1306(serial, rotate=0)

_kanan = "XIO-P7"
_kiri  = "XIO-P4"
_atas  = "XIO-P5"
_bawah = "XIO-P6"
_mati  = "XIO-P3"

GPIO.setup(_kanan, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(_kiri,  GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(_atas,  GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(_bawah, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(_mati,  GPIO.IN, pull_up_down=GPIO.PUD_UP)

maxtinggi = device.height/2
xtengah = device.width/2
ytengah = device.height/2
delta = 5
pos = 0
besar = True

def kedip():
    with canvas(device) as draw:
      draw.rectangle((0, 30, 60, 34), outline="black", fill="white")
      draw.rectangle((62, 30, 127, 34), outline="black", fill="white")
    time.sleep(0.001)

def kedipin() :
    global pos
    threading.Timer(5, kedipin).start()
    kedip()
    lihat(pos)

def lihat(pos) :
    with canvas(device) as draw:
      tinggi = device.height/2
      lebar = device.width/2
      if pos <= 0 :
        draw.ellipse((xtengah-maxlebar-(pos*delta), ytengah-maxtinggi-(pos*delta), xtengah+(pos*delta), yteng$
        draw.ellipse((xtengah+(pos*delta), ytengah-maxtinggi, xtengah+maxlebar+(pos*delta), ytengah+maxtinggi$
      else :
        draw.ellipse((xtengah-maxlebar+(pos*delta), ytengah-maxtinggi, xtengah+(pos*delta), ytengah+maxtinggi$
        draw.ellipse((xtengah+(pos*delta), ytengah-maxtinggi+(pos*delta), xtengah+maxlebar-(pos*delta), yteng$

      if not besar :
        draw.polygon([(0, 0), (xtengah+(pos*delta), ytengah), (device.width, 0)], outline="black", fill="blac$
      #draw.ellipse((0, 0, lebar, tinggi+tinggi), outline="black", fill="white")
      #draw.ellipse((lebar, 0, lebar*2, tinggi+tinggi), outline="black", fill="white")

lihat(0)
kedipin()

while True:
  if GPIO.input(_kiri) == 0 :
    pos -= 1
    if pos < -3 : pos = 0 lihat(pos) if GPIO.input(_kanan) == 0 : pos += 1 if pos > 3 :
      pos = 0
    lihat(pos)

  if GPIO.input(_bawah) == 0 :
    kedip()
    lihat(pos)

  if GPIO.input(_atas) == 0 :
    besar = not besar
    lihat(pos)

  time.sleep(0.05)

device.clear()
GPIO.cleanup()

This code also available on github: Github / The Eyes with CHIP

Update CHIP OLED Internet Radio : Volume OFF dan Banyak Station

Tulisan ini bukan bukan merupakan cicilan PR tempo hari sih. Ini lebih ke optimasi program internet radio di CHIP. Tadinya saya menggunakan tombol “Shutdown” untuk mematikan dan menyalakan suara radio. Tapi berarti saya tidak bisa menggunakan tombol shutdown ini untuk mematikan CHIP (shutdown). Jadi saya pun berpikir bagaimana caranya mematikan suara radio dan kemudian menampilkan jam tapi tidak menggunakan tombol Shutdown.

View this post on Instagram

Stand by mode #chip #internetradio

A post shared by Emanuel Setio Dewo (@setiodewo) on

Saya pun berpikir selayaknya radio jaman dulu. Radio jaman dulu itu volumenya model putar. Putar ke kiri memelankan suara sedangkan putaran ke kanan membuat suara jadi keras. Ketika diputar ke kiri sampai mentok dan bunyi klik, radio pun mati.

Dan saya pun menirunya! Ketika tombol Down ditekan sampai ke volume 0, maka radio pun dimatikan dan kemudian menampilkan jam. Untuk menyalakannya lagi cukup tekan tombol Up yang akan menyalakan dan mengeraskan volume 1 step. Asyik ya? Sedikit beda, kalau radio jadul diputar, kalau radio saya ini ditekan. Satu masalah terpecahkan.

Baca selebihnya »

PR Untuk CHIP OLED Internet Radio

Kemarin saya sudah berhasil membuat internet radio yang menurut saya keren (menurut saya saja loh ya). Radio sudah berhasil bekerja dengan baik. Namun ada beberapa hal yang perlu saya perbaiki. Tidak begitu penting sih, tapi belum berhasil saya buat. Berikut PR-nya:

  1. Scroll text untuk nama channel. Rupanya harus pakai virtual view port kalau menggunakan library dari Luma.OLED. Belum nemu cara semudah scroll text di LCD 16×2. Kalau bisa scroll kan keren, terutama untuk nama channel yang panjang. Saat ini saya cuma membatasi penamaan channel supaya tidak terlalu panjang. Tapi nama channel yang sudah terlanjur saya tulis panjang jadi terpotong, contohnya: Sonora Classic Rock.
  2. Tombol Shutdown belum berjalan dengan semestinya. Ini rada aneh juga sih karena beberapa cara yang saya tahu dan juga hasil googling di internet belum berhasil membuat CHIP shutdown. Ketika saya tekan tombol shutdown cuma keluar dari aplikasi radio, tetapi tidak membuat CHIP shutdown.
  3. Baterai untuk CHIP. Enaknya adalah CHIP sudah punya controller battery. Kita bisa memonitor status power, pakai baterai atau tidak, status pengisian, tegangan dan arus baterai, arus pengisian dan temperatur CHIP sehingga kita bisa bikin proteksi.
  4. Case/box untuk Internet Radio. Jadi pengen beli printer 3D. Hiks, harus nabung dulu.
  5. Membuat program untuk MP3 player. Jadi ketika CHIP tidak terhubung ke internet bisa memainkan file MP3. Memang sih internal storage CHIP saya cuma 4 GB yang sudah terisi OS dll sehingga tersisa sedikit. Namun enaknya adalah CHIP masih punya colokan USB. Jadi lagu-lagu bisa mengambil dari flashdisk.
  6. Apalagi yaaa? Cari ide dulu deh. Hehehe

Itu dia beberapa PR untuk CHIP radio internet ini. Kalau teman-teman mau bantuin juga boleh kok. Kalau sudah jadi saya dikasih tahu yaaa? Terima kasih.