Bingung Memilih Platform

Seorang teman meminta didesainkan sebuah sistem antrian. Masalahnya, sekarang platform yang tersedia banyak. Ini yang membuat kita jadi bingung menentukan mau pakai platform apa dan apakah platform tersebut efisien dari segi biaya?

Contohnya ya sistem antrian ini, opsinya bisa pakai PC biasa yang mahal; pakai Raspberry Pi yang lebih murah; pakai dongle Android yang praktis; atau murni mendesain elektronikanya? Masalahnya adalah harus pas antara biaya, kemudahan dan kehandalan. Seperti sebuah segitiga, ketiga faktor tadi ada di setiap sudut segitiga. Ketika kita mengedepankan kehandalan dan kemudahan, maka biaya akan jadi mahal. Atau ketika ketika memilih murah tapi handal, biasanya untuk mengembangkannya jadi sangat sulit. Namun memilih platform yang mudah dengan biaya murah biasanya kurang handal.

     Biaya --- Handal
       \         /
        \       /
         \     /
          Mudah

Tapi sebenarnya ada solusi lebih baik, yaitu mencampurkannya. Ada beberapa bagian menggunakan Raspberry Pi, bagian lain Dongle Android, dan yang membutuhkan komputasi dan penyimpanan besar bisa menggunakan PC biasa. Oh iya, sebagian lagi pakai Wemos D1 Mini.

Begitulah kira-kira.

Iklan

Demo Prototype Nurse Call System

Seorang teman main game Clash of Kings suatu saat menghubungi saya. Dia bertanya apakah saya bisa membuatkan desain Nurse Call System? Setelah menggali lebih dalam tentang requirement-nya, saya pun menjawab bisa (baca: Proyek dengan Raspberry Pi). Saya pun mengajukan usul sebaiknya menggunakan Raspberry Pi.

Desain elektronikanya tidak terlalu sulit karena hanya terdiri dari beberapa tombol, LED dan beberapa komponen pasif. Yang lebih menyita waktu adalah bagian software-nya. Karena ada beberapa bagian software yang dibuat dengan Python dan PHP. Kalau mau disebut lebih lengkap bahasa yang terlibat adalah: Python, PHP, SQL, JavaScript, CSS. Banyak kan? Hehehe…

Tempo hari saya sudah mendemokan workflow dari Nurse Call System ini lengkap dengan modul tombol yang dikendalikan oleh Raspberry Pi. Kali ini saya membuat video di Youtube untuk mendemokan workflow tersebut. Tapi di video ini saya tidak menggunakan modul tombol Raspberry Pi. Saya mensimulasikan secara software saja. Maklum saya belum membuat casing tombol yang baik (dan bagus). Berikut videonya:

Semoga video tersebut bisa sedikit menjelaskan alur dari Nurse Call System.

Proyek Dengan Raspberry Pi

Setelah 4 tahun memiliki Raspberry Pi rasanya saya hanya mengopreknya sekali hanya untuk menjadikannya radio internet. Setelah itu saya menyimpannya kembali ke dalam box-nya di laci.

Namun kemudian ada teman yang meminta bantuan untuk mendesainkan sebuah sistem dengan Arduino. Karena sistem tersebut saya nilai kompleks, maka saya menyarankan menggunakan Raspberry Pi. Awalnya teman rada ragu menggunakan Raspberry Pi. Selain lebih mahal, pengoperasian & pemrograman Raspberry Pi lebih ruwet dari pada Arduino. Namun saya berhasil meyakinkan kalau menggunakan Raspberry Pi justru lebih praktis dengan banyak kelebihan fitur yang bisa ditawarkan ke client. Dan saya berjanji minggu depan sudah menyelesaikan POC (proof of concept) desain saya.

raspberry_pi_2016
Headless Raspberry Pi

Setelah itu barulah saya ngebut belajar IO Raspberry Pi dan pemrograman Python. Syukurlah tidak sulit. Tutorial juga banyak tersedia di internet. Bahkan mengirimkan data ke server bisa dilakukan dengan mudah. Untuk koneksi ke server saya membeli dongle Wi-Fi dari Mi yang low power.

Sedikit solder-solder komponen pasif, LED dan switch jadilah sebuah unit demo sederhana. Pada hari H saya mendemokannya pada teman saya dan mereka antusias sekali dengan desain tersebut.

Yang lucu adalah karena demo dilakukan di sebuah mall yang tempo hari sempat dapat ancaman bom (gubrak). Jadi saya pun mengemas Raspberry Pi dan pernik-perniknya di sebuah kotak makan kecil dan menyelipkannya di kantong depan tas notebook. Coba saja seandainya saya membawanya dengan kotak mika transparan seperti yang biasa saya lakukan, pasti akan mengundang kehebohan tersendiri saat diperiksa satpam. Hehehe…

Mungkin lain kali saya akan menuliskan lebih detail tentang proyek tersebut saat semuanya sudah jadi.

Memanfaatkan Tethering Android Untuk Berbagi Media

Saat ini daku memiliki beberapa piranti, yaitu BlackBerry, Smartphone Android, Tablet PC, Notebook, dan Dongle TV Android. Masing-masing punya fungsinya sendiri-sendiri walau pun secara fungsional mereka memiliki fitur yang sama. Maksudnya, semuanya bisa menampilkan foto/video, berkomunikasi, dll. Hanya saja, kadang-kadang kita perlu melihat foto atau memainkan film yang tersimpan di satu piranti di piranti lain, atau yang didownload dari notebook/tablet PC.

Saat ini daku banyak mengambil foto/video dari BlackBerry Z10 dan tentu lebih nyaman menikmatinya dari TV LED 32″ dengan bantuan Dongle TV Android. Asyik kan? Apalagi jika kita menikmatinya bersama teman atau keluarga.

Sungguh tidak praktis jika daku harus mengirim foto-foto tersebut ke Dongle TV Android. Kebetulan Dongle TV Android-ku tidak memiliki koneksi Bluetooth. Lagi pula menyalin file media yang begitu besar ke piranti lain malah memboroskan kapasitas penyimpanan. Mengirim via email atau menyimpan foto-foto tersebut di cloud? Malah jadi tambah boros bandwidth.

Untunglah daku bisa memanfaatkan fitur tethering hotspot di Android yang bisa mengkoneksikan sampai 5 piranti dalam jaringan lokal selain fungsi utama tethering sebagai pembagi koneksi internet. Daku memanfaatkan Smartphone dari Smartfren, yaitu Smartfren Andromax-i sebagai hotspot dan mengkoneksikan piranti yang lain ke hotspot ini. Untuk sharing cukup mudah karena notebook sudah terinstall Samba. Sedangkan antara piranti Android bisa memanfaatkan aplikasi File Expert yang memiliki fitur berbagi content via FTP, Wifi, DNLA, dll. Saya lebih senang menggunakan fitur FTP yang memampukan piranti Android sebagai FTP Server. Kalau mau keren bisa memanfaatkan fitur DNLA untuk memainkan video di piranti lain. Kebetulan BlackBerry Z10 telah mendukung fitur ini.

Dengan memanfaatkan fitur tethering & hotspot dari Android ini berarti daku bisa menghemat dari pembelian piranti WiFi Hotspot yang walau pun sekarang sudah cukup murah namun membuat perbendaharaan pirantiku semakin banyak. Males kan kalau kemana-mana harus menenteng banyak piranti? Lagi pula daku sedang berhemat, hehehe…

Dengan cari ini daku bisa mengintip isi masing-masing piranti dari piranti lain via berbagi content jaringan ini. Ke depannya daku ingin membangkitkan Raspberry Pi yang lama teronggok tak berdaya. Daku ingin memanfaatkan Raspberry Pi sebagai SAN/NAS (storage area network/network attached storage) yang akan menyimpan semua file media (foto, video, dll) dan siap dimainkan dari semua pirantiku yang terhubung ke hotspot. Kebetulan daku telah menyediakan sebuah harddisk external 1 TB. Untuk Raspberry Pi telah pula daku siapkan Dongle Wifi USB. Sedangkan Raspberry Pi-nya sendiri akan dikonfigurasi headless alias tanpa monitor, keyboard dan mouse. Begitu nyala langsung berfungsi sebagai SAN.

Rasanya sudah gatal ingin segera mewujudkannya. Tapi ah, liburan dulu…

UDOO

Menarik sekali membaca berita di What to do with the UDOO? dari Makezine. Saya pun berkunjung ke situs kickstarter yang bertujuan mengumpulkan dana bagi proyek-proyek inovatif.

UDOO adalah sebuah mini-PC berbasis prosesor ARM yang dapat menjalankan Sisop Android atau pun Linux. Istimewanya adalah karena UDOO telah memiliki board kompatibel Arduino yang menyatu.

{Video dipinjam dari Youtube}

Bayangkan sebuah Raspberry Pi yang digabung dengan Arduino Due. Menjadikan UDOO piranti pembelajaran yang sangat hebat. Jangan lupa, UDOO memiliki spesifikasi 4× lebih powerful dari pada Raspberry Pi. Dan Arduino Due merupakan versi Arduino terbaru yang pertama menggunakan prosesor ARM yang menjanjikan kemungkinan lebih besar dari pada Arduino versi sebelumnya yang menggunakan ATMega.

{Gambar dipinjam dari Kickstarter UDOO}

Tujuan dari UDOO adalah:

  1. Mengembangkan produk inovatif di pasar yg sedang berkembang
  2. Memberikan visi baru dalam kerangka pembelajaran: idenya adalah untuk melatih generasi baru insinyur, perancang dan pengembang software yang terlatih di teknologi digital: physical computing, seni multimedia, seni interaktif, dll
  3. Mendorong dunia DIY (do it yourself, kerjakan/buat sendiri)
  4. Menawarkan platform embedded yang berbiaya rendah untuk seni interaktif dengan piranti yang powerful: Processing, OpenCV, PureData, openFramework
  5. Menyediakan piranti yang hebat untuk perancangan yang cepat bagi perusahaan2

Detail spesifikasi dari UDOO bisa dilihat di: “UDOO: Android Linux Arduino in a tiny single-board computer” (Kickstarter). Waktu pengumpulan dana per hari ini masih tersisa 55 hari. Namun UDOO telah mengumpulkan dana melebihi dari yang dibutuhkannya untuk memulai produksi. Hebat!

Raspberry Pi or Beaglebone or pcDuino

Setelah beberapa saat ngoprek Arduino, baik board jadi mau pun embedded, kini saya mulai memikirkan penggunaan Microcontroller berbasis PC. Maksud saya, kita bisa membuat controller berbasis PC mini yang kini banyak tersedia. Berbasis PC di sini berarti board memiliki sistem operasi dan bisa berdiri sendiri tanpa perlu bantuan PC lain. Karena memiliki sistem operasi, kita bisa memprogram langsung di PC mini dan menginstall banyak aplikasi penunjang. Benar-benar solusi yang mandiri.

Yang saya tahu saat ini ada 3 macam PC mini yang bisa kita gunakan sebagai controller, yaitu: Raspberry Pi, BeagleBone dan pcDuino.

Kalau saya mengesampingkan Arduino Due yang sudah berbasis prosesor ARM, itu karena sifatnya masih murni microcontroller, yang artinya masih membutuhkan PC lain untuk memprogramnya dan di boardnya sendiri tidak bisa terinstall sistem operasi.

Raspberry Pi

Saat dirilis ke publik, saya sangat tertarik dengannya. Sebagai sebuah mini PC, ukuran board-nya cuma sekartu kredit. Sangat mungil dibanding dengan motherboard PC yang selama ini saya kenal.

Jadi saya pun segera berburu importir untuk mendapatkannya. Syukurlah saya bisa membelinya walau jatuhnya lebih mahal dari pada harga resminya yang semestinya cuma $25 sampai $35. Saat ini Raspberry Pi sudah masuk ke versi 2 dengan penambahan RAM menjadi 512 MB.

Keunggulan dari Raspberry Pi dibandingkan Arduino adalah karena dia memiliki tenaga proses lebih kuat. Dia memiliki clock prosesor standard 700 MHz dan masih bisa di-overclock sampai 900 MHz. Demikian juga jumlah pin GPIO yang melimpah.

Raspberry Pi secara umum bisa diinstal sistem operasi Raspbian Wheezy yang sudah memiliki beberapa aplikasi standard plus Python untuk pemrograman. Selain difungsikan sebagai PC lengkap dengan monitor/TV, keyboard, mouse, sound system dan network; dia bisa digunakan sebagai headless tanpa terkoneksi dengan device lain sehingga bisa bekerja mandiri. Jika dikonfigurasi sebagai headless, dia bisa dikendalikan oleh PC lain via network dengan utility ssh.

Kekurangan dari Raspberry Pi adalah karena dia tidak memiliki RTC (real time clock) sehingga tidak bisa menyimpan tanggal-jam secara mandiri. Tapi ketika terhubung dengan internet, dia akan mensinkronkan tanggal-jam dengan server. Diketahui bahwa tidak adanya RTC ini adalah demi memurahkan harga Raspberry Pi sesuai dengan visinya untuk menjadi sarana belajar di dunia pendidikan.

Situs resmi: www.raspberrypi.org

BeagleBone

Ini juga keren. Merupakan turunan dari BeagleBoard yang lebih dulu sukses. Dengan ukuran sekartu kredit, BeagleBone menjadi pesaing ketat Raspberry Pi.

Sebagai pesaing langsung Raspberry Pi, spesifikasinya tidak jauh. Prosesornya hanya sedikit lebih gegas dari Raspberry Pi, dengan clock 720 MHz. Prosesornya ARM Cortex-A8 dengan RAM 256 MB. Dia sudah punya akselerator graphic 3D. Sangat menarik karena dia memiliki pin yang melimpah, yaitu 2x 46 pin (wow…). Asyiknya susunan expansion header-nya disusun di sisi kanan dan kiri, mirip Arduino. Sangat memudahkan pembuatan shield. Hal yang agak repot dilakukan di Raspberry Pi.


{ Gambar dipinjam dari sini }

Pada pembelian resmi sudah memasukkan microSD 4GB dengan sistem operasi Angstrom. Juga Cloud9 IDE pada Node.JS dengan pustaka Bonescript. Jadi kita tinggal nyalakan dan pakai. Sayangnya harganya memang setimpal sesuai dengan spesifikasinya, jauh meninggalkan harga Raspberry Pi dengan nilai $89.

Situs resmi: beagleboard.org/bone

pcDuino

Menurut saya, pcDuino merupakan solusi yang menarik. Sebagai miniPC yang lengkap, dia memiliki antarmuka header yang compatible dengan Arduino (dengan bridge shield). Spesifikasinya di atas Raspberry Pi dan BeagleBone, karena dia menggunakan CPU 1GHz ARM Cortex A8, sudah memiliki GPU yang mendukung OpenGL ES2.0, OpenVG 1.1 Mali 400 Core. Jangan pandang sebelah mata RAM-nya yang 1GB, membuat pcDuino benar-benar PC mini yang powerfull.


{ Gambar dipinjam dari sini }

Lebih memukau dengan storage onboard sebesar 2GB. Kalau masih kurang, kita bisa menambahkan SD card dengan kapasitas sampai 32GB. Sistem operasi yang bisa dipakai adalah Linux dan Android. Fitur lengkap bisa ditemukan di sini.

Sebagai sarana koneksi dengan PC lain, dia sudah memiliki port ethernet dan siap bergabung di LAN. Menariknya, kita bisa menggunakan opsi WiFi dongle seharga $14.95 yang bisa langsung ditancap di salah satu port USB-nya. Karena diproduksi oleh produsen yang sama, WiFi dongle ini dijamin kompatibel.

Harganya pcDuino berada di antara Raspberry Pi dan BeagleBone di angka $59.95 (Sparkfun).

Situs resmi: www.pcduino.com

Penutup

Sangat menarik ya? Mini PC ini siap diprogram untuk mengendalikan banyak hal. Jika kita hanya ingin fungsi mini PC tanpa fitur GPIO, sebenarnya banyak bertebaran produknya, terutama yang bersistem operasi Android. Namun lebih menarik mempelajari mini PC dengan GPIO ini, karena dengannya kita bisa melakukan lebih banyak hal dari pada sekedar mini PC biasa.

Komputer Pertama

Ketika menyalakan kembali Raspberry Pi tempo hari, saya lantas teringat komputer pertama yang saya miliki. Setelah beberapa waktu cuma bisa nebeng komputer teman atau ke rental komputer, akhirnya pada awal tahun 90an saya memiliki komputer sendiri.

Kalau dibandingkan dengan Raspberry Pi generasi pertama ini, rupanya komputer saya itu tidak ada apa-apanya. Prosesornya cuma Intel 80386SX 33 MHz (wiki: Intel 80386) (dulu tipe termurah) dengan layar monitor tabung VGA warna 14″. Saya lupa berapa kapasitas RAM dan harddisk-nya. Yang jelas satuannya masih menggunakan Mega Byte, belum Giga Byte, hehehe…

Walau pun begitu, saya menggunakan komputer itu dengan sangat produktif. Dari mengerjakan tugas-tugas kuliah, praktikum, nulis-nulis artikel, belajar pemrograman, memulai usaha, dll. Sebagai catatan, tahun segitu komputer belum banyak yang terhubung ke internet. Perlu nambah ethernet card atau modem dial-up yang harganya termasuk mahal. Belum ada wi-fi.

Coba bandingkan dengan Raspberry Pi generasi pertama saya yang spesifikasinya: CPU ARM 700 MHz, RAM 256 MB, SD Card 8 GB, yang kemudian bisa menggunakan TV LED 32″ dan terhubung ke internet via ethernet build in (atau bisa juga dengan Wi-Fi USB). Lalu kalau kemarin saya mengeluh tidak bisa memanfaatkannya untuk kegiatan produktivitas, nampaknya saya harus malu. Hiks…