IoT Programming

Steve Jobs pernah berkata, “Untuk setiap penggemar hardware, ada 10 orang yang suka ngulik software. Software hobbyists”. Tidak persis benar, tetapi kira-kira begitulah kata-katanya. Itulah sebabnya dia (dan Steve Wozniak) membuat komputer Apple ][. Sebelumnya kalau mau ngoprek software, harus ngoprek kit komputer. Harus tahu hardware. Padahal ada orang yang tidak memiliki latar belakang hardware, tapi ingin ngoprek komputer.

Salah satu kesulitan ngoprek hardware adalah menyambung-nyambungkan komponen. Bahkan untuk sekedar menyambungkan LED juga tidak mudah. Padahal “hello world” di dunia hardware itu adalah blinking LED.

Jika menyambungkan 1 LED saja sudah susah, apalagi menyambungkan 6 LED (atau lebih). Itulah sebabnya jarang yang membuat tutorial untuk menyalakan LED lebih dari 1 buah.

Salah satu solusi yang kami tawarkan adalah  membuat LED board yang cocok dengan board yang umum ada di lapangan. Sebagai contoh, ini adalah tampilan ProcodeCG LED (6 buah LED) yang disambungkan dengan NodeMCU. Bersih kan? Tidak perlu ada kabel-kabel.

p_20170306_092518-nodemcu-procodecg-0001

Sekarang kita dapat membuat kode Knight Rider LED tanpa perlu pusing dengan kabel-kabelnya. Jadi orang yang gemar software tetapi tidak memiliki latar belakang hardware dapat juga ikut ngoprek IoT (Internet of Things).

[Nanti video dan kode untuk menyalakan LED tersebut akan saya unggah ke YouTube. Sekarang akses internet lagi lemot.]

Selamat ngoprek.

Ngoprek IoT

Sudah seminggu ini (atau mungkin lebih?) saya ngoprek Internet of Things (IoT). Apa sih IoT itu? Pada dasarnya ini adalah perangkat keras (hardware) dalam ukuran kecil yang dapat diprogram untuk mengambil data (misal data temperatur) dan meneruskannya ke internet. Teknologi elektronika dan komputer berkembang dengan pesat sehingga perangkat dapat menjadi lebih kecil dan murah. Demikian pula kecepatan akses internet menjadi lebih cepat dan juga lebih murah. Kedua hal inilah yang menyebabkan populernya IoT.

p_20170220_075632-kopi-iot-01
NodeMCU boards

Latar belakang saya memang elektronika, sehingga seharusnya tidak banyak kesulitan dalam ngoprek IoT ini. Kenyataannya ada hal-hal yang sangat spesifik sehingga harus saya oprek dulu sebelum bisa jalan. Tadi malam saya ngoprek sampai jam 2 pagi (eh, 2 malam?). he he he.

Saya memiliki banyak development boards. Begitu ada yang baru, beli atau minta. (Yang terakhir itu yang menarik, minta. he he he.) Terus dioprek. Hasilnya saya masukkan ke YouTube dan kodenya saya simpan di Github supaya dapat dimanfaatkan orang lain. Ayo ngoprek IoT juga.

Ketika Koding Menguasai

Semalam, pukul 1 malam (atau tepatnya pukul 1 pagi) saya terbangun. Teringat sebuah ide koding (pemrograman) LED yang saya buat beberapa waktu yang lalu. [Lihat tulisan saya tentang ini.] Saya ingin membuat sebuah kode lagi. Langsung saja saya tidak bisa tidur lagi.

Ada dua pilihan. Tetap memaksakan diri untuk tidur kembali (dengan risiko kehilangan ide dan juga tidur mungkin tidak nyenyak) atau bangun dan membuat kode, koding. Saya ambil pilihan yang terakhir. Langsung ambil laptop.

Sambil koding saya nyalakan TV. Eh, film yang sedang main adalah film horor. ha ha ha. Hmm … sudah malas saya mengubah channelnya untuk memilih film yang lain. Pikiran sedang fokus ke kode. Maka saya biarkan saja film horor itu tetap on. hiii. Koding berlanjut. Ternyata semangat koding mengalahkan seramnya film horor. Baru kali ini saya tahu. ha ha ha.

Setelah sekitar setengah jaman koding, beres. Ide terimplementasi. Untungnya tidak terlalu banyak masalah di kodenya. Saya upload kode ke akun sementara saya untuk kemudian besok saya upload ke github. Baru bisa tidur kembali. Nyenyak.

Ngoprek IoT

Kata IoT – Internet of Things – sedang ngetop sekarang. Dimana-mana saya melihat kata ini sebagai bagian dari seminar, kompetisi, startup, dan seterusnya. Pokoknya seru saja. Nah, sayapun tidak mau ketinggalan.

Saya mencoba menggunakan Arduino UNO dan board buatan DycodeX untuk kode IoT ini. (Sebetulnya saya punya banyak board lainnya, tapi itu untuk cerita terpisah.) Selain board ini saya juga menggunakan LED board buatan ProcodeCG. Berikut ini adalah beberapa video yang saya buat untuk menunjukkan demo / contoh kode dengan board-board di atas.

Dalam dunia hardware, IoT, salah satu cara memulai atau mencoba adalah membuat demo “blinking LED”. Kalau di dunia software, ini adalah “Hello World” versi hardware. Biasanya sih blinking LED-nya hanya satu LED. Kali ini saya mencoba menggunakan beberapa LED biar lebih seru.

Video di bawah ini menunjukkan demo Knight Rider, yaitu LED yang bergerak dari kiri ke kanan dan sebaliknya. Nama ini diambil dari film seri Knight Rider (jaman dahulu dan versi barunya). Dalam film tersebut ada mobil cerdas yang bernama KITT. Kalau dia aktif, maka ada LED yang bergerak-gerak seperti ini.

Dalam video di bawah ini, saya membuat Knight Rider LED juga tetapi dengan menggunakan board Arduino UNO.

Video di bawah adalah demo untuk membuat LED seperti meter yang ada di radio (equalizer). Board yang digunakan adalah DycodeX ESpectro.

Oh ya, kode-kode untuk demo di atas dapat dilihat dan diunduh dari koleksi saya di github.com yaitu di: https://github.com/rahard/BRiot-stuff. Selamat ngoprek.

Handphone (bekas) Sebagai IoT?

Akhir-akhir ini topik Internet of Things (IoT) sedang naik daun. Berbagai acara saya lihat membahas topik ini. Apa itu IoT? Sederhananya adalah perangkat keras (hardware) kecil yang memiliki berbagai sensor (plus actuator) dan dapat dihubungkan dengan internet. Dengan IoT yang dipasangkan dengan kulkas, misalnya, kita dapat mengetahui status dari kulkas; hidup atau mati, berapa temperaturnya, dan suatu saat isi kulkasnya apa saja. he he he.

IoT itu bentuknya bermacam-macam, bisa dalam bentuk board Arduino sampai ke Raspberry Pi. Itu yang terkenal. Ada lagi yang mulai naik daun, $9 chip dari getchip. Saya sendiri punya beberapa benda ini. Yang ada di meja saya saat ini adalah Intel Galileo. Sore nanti saya dapat board dari Gizwits (webnya dalam bahasa China).

DSC_4519 0001

Setelah saya pikir-pikir, kenapa IoT tidak menggunakan handphone saja? Saat ini banyak handphone bekas yang sudah tidak terpakai karena dianggap kadaluwarsa. Di meja saya saja ada tiga handphone yang sudah tidak saya pakai lagi karena hanya bisa dipakai telepon dan SMS saja. hi hi hi. (Eh, yang satunya sudah smartphone tapi lambatnya luar biasa. Maklum hp lama.) Mereka menungu untuk dioprek.

DSC_4520 0001
Handphone bekas vs IoT board

Handphone memiliki kemampuan komputasi yang tidak kalah. Prosesornya bagus. Bahkan kalau dibandingkan dengan beberapa IoT devices saat ini, handphone komputasinya lebih bagus. Yang menjadi masalah hanya harga saja kan? Lah ini kan handphonenya sudah bekas.

Masalah utama adalah desain dari handphone ini sangat tertutup. Dia memang tidak didesain untuk dioprek. Jadi tidak ada bagian yang bisa dihubungkan dengan kabel ke sensor, misalnya. Input hanya bisa melalui USB (kalau ada) atau melalui port yang propriatary. Cara mengaksesnya pun rahasia. Jadi prinsipnya dia punya potensi untuk dioprek, hanya saja susah mengopreknya karena tidak terbuka.

Mungkin manufaktur hardware handphone bisa melihat ini sebagai celah untuk jualan produk yang sudah kadaluwarsa? Pabrik yang tadinya buat handphone, sekarang buat IoT. Jadi bisa muter lagi.

Sementara itu para hobbyist bisa mulai ngoprek. Gimana?

Orang Hardware Bandung

Hari Senin lalu (tanggal 21 Desember 2015), secara spontan diadakan kumpul-kumpul orang-orang Bandung yang tertarik dengan hardware (perangkat keras). Kalau istilah yang keren sekarang adalah IoT (Internet of Things). Acara ini merupakan bagian dari Procodecg CodeMeetUp() yang biasa dilakukan setiap hari Senin siang.

Saya kumpulkan orang-orang hardware dari generasi lama (generasi saya) dan generasi baru. Tujuannya adalah agar saling mengenal dan melakukan mentoring atau transfer pengalaman dari yang tua ke yang muda. Contoh yang senior-senior antara lain Yana Raharja, Jeffrey Samosir, Ihsan Haryadi, Trio Adiono. Sampai saat ini mereka masih melakukan pengembangan produk hardware.

IMG_0021 hw

Dalam foto di atas, Yana sedang menjelaskan bagaimana memasarkan produk hardware. Jangan teknis, tetapi manfaat apa yang diperoleh dari produk tersebut.

Yang muda-muda lebih banyak lagi; Cybreed, Dycode, Labtek Indie, dan lain-lain. Mereka sudah dan baru memulai mengembangkan produk-produk. Ke depannya, merekalah yang mejadi ujung tombak pengembangan produk-produk hardware.

IMG_0019 hw

Dulu ada masanya saya merasa ilmu Elektro (Elektronika) akan mati. Maka perlu ditutup jurusan Teknik Elektro di berbagai universitas di dunia. Lebih banyak orang yang senang mengembangkan software, karena modalnya lebih murah. Tinggal pakai komputer. Kalau bereksperimen dengan hardware harus beli komponen. Kalau salah, ya harus beli komponen lagi. Adanya demam IoT membuat masa depan harware cerah kembali.

Pertemuan kali ini baru untuk saling mengenal. Akan ada pertemuan-pertemuan lagi. Siap-siap hadir ya.