2.6 Single Board Computer
Sesuai namanya, single board microcomputer adalah komputer dalam sebuah board. Artinya apapun yang bisa dilakukan oleh komputer bisa dilakukan
oleh SBC. SBC saat ini memiliki memori yang besar 128 MB-2 GB, bahkan sebagian sudah lebih, memiliki external storage SD CardUSB disk, dan
memiliki prosessor dalam dengan kecepatan ratusan megahertz sampai gigahertz, sebagian bahkan sudah quad core. Sebuah SBC biasanya memiliki sebuah sistem
operasi biasanya Linux, FreeBSD, atau OS open source lain, dan kita bisa menjalankan program dalam bahasa apapun di situ misalnya: C, Python, bahkan
Lisp atau prolog [12]. Meskipun biasanya punya sistem operasi, kita bisa saja memprogramnya tanpa sistem operasi. Kemampuan komputasi sebuah SBC
biasanya sangat besar, bisa memproses audio, foto dan bahkan video misalnya mengenali wajah dalam video. Ini adalah contoh hal-hal yang tidak bisa
dilakukan oleh microcontroller walaupun dalam batas tertentu microcontroller bisa memproses data yang cukup rumit. Jika SBC ini kemampuannya sama
dengan PC menjadi sebuah pertanyaan kenapa tidak memakai PC saja yang sudah jelas kemampuannya. SBC ini memiliki penggunaan daya yang sangat rendah 5
watt dibanding dengan PC desktop biasanya 70 watt, sedangkan HTPC 30 watt, dengan pengunaan daya yang sangat kecil, maka kita bisa memakai baterai
sebagai sumber power nya. Ukuran SBC juga sangat kecil dan ringan misalnya bisa diterbangkan dengan balon udara.
Perbedaan lain SBC dengan PC biasa adalah : ada pin-pin GPIO General Purpose Input Output
yang bisa dihubungkan dengan device “apapun” ada batasan kecepatan, jadi sebenarnya tidak 100 apapun. PC lama memiliki port
serial, parallel, game port, dan sebagainya yang bisa dihubungkan dengan banyak
hardware eksternal, tapi PC baru biasanya hanya memiliki konektor tampilan,
ethernet , dan USB. Dalam banyak kasus USB ini terlalu rumit dan
memiliki latensi
yang terlalu tinggi untuk berkomunikasi dengan device eksternal [12]. Ketika menggunakan sistem operasi biasa non-realtime di SBC, perilaku
sistem terkadang tidak bisa diprediksi dalam masalah timing, misalnya: sistemnya terlalu lama dalam menyalakan LED sejak tombolnya ditekan dan ternyata
sistemnya sedang sibuk karena ada proses lain yang dikerjakan. Ketika mulai mengalami masalah seperti ini, saatnya untuk mulai menggunakan real-time
operating system untuk SBC. Sebagai catatan : hampir semua SBC saat ini
menggunakan prosessor ARM, tapi ada juga yang memakai Intel, dan sedikit sekali yang memakai MIPS. Sebuah SBC memiliki banyak komponen, dan
diproduksi secara khusus. Oleh karena itu diperlukan hardware dan keahlian untuk membuat sebuah SBC. Chip yang digunakan umumnya menggunakan
packaging BGA Ball Grid Array yang tidak bisa disolder dengan solder biasa.
Dalam banyak kasus, kita tidak perlu tahu mengenai proses produksi ini, tapi ketika kita sudah menyelesaikan sebuah prototipe dan ingin merilis produk,
komponen-komponen ekstra yang tidak dipakai akan menambah biaya dan penggunaan daya. Ini sebabnya mengapa beberapa SBC memiliki beberapa versi,
misalnya Raspberry Pi memiliki dua versi : dengan dan tanpa ethernet card yang harganya berbeda 10 USD. Raspberry Pi yang memiliki 2 port USB untuk
keyboard dan mouse dan juga memiliki port HDMI untuk dapat dikoneksikan
dengan monitor. Monitor saat ini masih banyak menggunakan port VGA lain halnya dengan Raspberry Pi. Raspberry Pi menggunakan port HDMI yang telah
dikonversikan ke DVI untuk digunakan sebagai output dalam bentuk visual Raspberry Pi juga dapat dikombinasikan dengan alat lainnya seperti
mikrokontroller. Dengan sebuah Raspberry Pi seseorang dapat membuat proses computing
yang hampir tidak terpikirkan menjadi mungkin terwujud. Salah satunya adalah penelitian Pi In The Sky yang dapat mangambil gambar permukaan
bumi dari luar angkasa. Mempelajari single board computer berarti kita sedang mempelajari
embedded system dengan metode belajar yang lebih mudah. Belajar embedded
system merupakan cara yang baik untuk lebih mengenal arsitektur komputer. Pada
PCTabletSmartphone, ada begitu banyak “layer” yang mempersulit pemahaman kita tentang hardware, tapi dengan mempelajari embedded system kita bisa
langsung berinteraksi dengan hardware, bahkan tanpa menggunakan sistem operasi sama sekali. Sebenarnya tidak hanya single board computer yang
digunakan sebagai jalur untuk belajar embedded system, ada satu lagi jalur alternatif untuk belajar embedded system dengan mudah dan praktis tanpa
menggunakan sistem operasi sama sekali yaitu single board microcontroller dan beberapa versi yang sering kita temui dipasaran, seperti : Arduino, Parallax
Propeller, LaunchPad MSP430, dan sebagainya. Sedangkan versi lain dari single board computer
yang ada dipasaran selain Raspberry Pi seperti yang dijelaskan sebelumnya, yaitu : BeagleBoard, BeagleBone Black, Cubie Board, RadXa dan
lain sebagainya [12].
2.7 Computer Vision