Memantau Temperatur Secara Daring

Beberapa hari yang lalu katanya Bandung dingin. Pagi hari temperaturnya bisa mencapai 15C. Wah. Yang bener? Akhirnya saya iseng dan memasang sensor temperatur (DHT-22) yang saya hubungkan ke perangkat IoT (ESP 8266). Data dari sensor ini dapat diakses secara daring (online), meskipun masih internal di jaringan LAN kami. Videonya ada di sini.

Hasil dari pembacaan sensor kemudian saya plot dalam bentuk grafik. Hasilnya kok ada yang aneh. Ada lonjakkan pada jam tertentu. Apa ya? Lihat pada bagian kiri di grafik berikut ini. Ada bagian yang meloncat.

suhu

Akhirnya tadi pagi, saya tongkrongi pas jam segitu. Apa yang terjadi? Eh, ternyata sensor terkena sinar matahari secara langsung. Ha ha ha. Pantas saja ada lonjakan data. Maka sensor saya pindahkan, tapi masih di bawah atap. Hasilnya tidak ada lonjakan lagi, tapi temperatur Bandung masih terlihat tinggi.

photo6127252777890589447

Sekalian saya pindahkan ke tempat yang lebih adem saja. Di sini saja. Mari kita amati perubahannya. Secara cepat saya amati, bedanya 1 derajat Celcius. Beda jarak 1 meter sudah beda hasilnya. Masalahnya adalah lebih ke arah di bawah atap yang berbeda. Saya akan amati lebih lanjut.

Solid: Memisahkan Data dari Aplikasi

Siapa yang sudah pernah dengar nama “Tim Berners-Lee”? Kalau Anda belum tahu, silahkan Google dahulu. Ya, dia adalah “penemu” – kalau dapat disebut penemu karena sebetulnya lebih cocok disebut “pengembang” – dari World Wide Web (WWW). Saya mengenal beliau sejak pertama kali WWW dikembangkan karena kebetulan. Kebetulan saya “terpaksa” menggunakan workstation NeXT dan kebetulan juga Tim Berners- Lee menggunakan NeXT workstation ketika mengembangkan WWW. (Mestinya saya cerita tentang hal ini ya? Panjang. Jadi saya tunda ya.)

Baru-baru ini Tim Berners-Lee mengusung sebuah ide baru yang disebut Solid. Apa itu Solid? Terpaksa saya membaca sana sini karena informasinya masih sangat minim. Solid adalah sebuah konsep (platform?) untuk mengembangkan aplikasi dengan memisahkan data dari aplikasi. Mengapa pemisahan ini penting?

Saat ini ketika kita menggunakan sebuah aplikasi (misalnya aplikasi untuk handphone Android kita), maka aplikasi tersebut membutuhkan informasi mengenai Anda sebagai penggunanya. Aplikasi tersebut akan meminta identitas Anda, nama, alamat email, dan seterusnya. Bahkan untuk aplikasi yang bersifat transaksional, aplikasi tersebut akan meminta nomor rekening Anda.

Ketika Anda memasang aplikasi yang lain lagi, maka proses di atas terulang kembali. Anda harus memasukkan data Anda lagi, lagi, dan lagi. Akibatnya adalah ada banyak data Anda yang tercecer dimana-mana. Di setiap aplikasi ada data Anda. Anda tidak tahu data apa saja yang disimpan di sana. Yang mengerikan lagi adalah kalau data Anda itu berada di berbagai penyedia layanan tersebut. Pokoknya kita sudah tidak dapat mengendalikan data (pribadi) kita lagi. Solid mencoba memecahkan masalah tersebut.

Pada Solid, data kita ditempatkan pada sebuah Pod (namanya itu). Aplikasi yang membutuhkan data kita akan mengakses Pod tersebut. Kita dapat memilah-milah mana yang akan kita berikan akses (atau kita cabut aksesnya). Data akan berada di satu tempat. Memudahkan kita untuk mengelolanya.

Nah, bagaimana cara mengembangkan aplikasi yang berbasis Solid ini? Itu saya juga belum tahu. Ha ha ha. Mari kita belajar bersama.

Lomba Pemrograman (IoT)

Internet of Things (IoT) sedang ramai dibicarakan. Salah satu pemanfaatan yang paling mudah dilakukan dengan IoT adalah untuk memantau temperatur, kelembaban, dan hal-hal yang terkait dengan lingkungan (cuaca? weather).

Di Bandung, kami sudah memasang beberapa (banyal) sensor yang terkait dengan cuaca ini. Weather sensors. Target awalnya adalah tersedia 150 sensor yang tersebar di kota Bandung. Data dari sensor-sensor tersebut kami kumpulkan dalam sebuah basis data. Nah, sekarang data tersebut kami buka.

Kami mengajak semua untuk mengembangkan aplikasi terkait dengan data cuaca tersebut dalam sebuah lomba. HackBDGWeather. Hackathon ini sekarang sudah dibuka dan kami menunggu proposal-proposal (ide-ide) dari Anda sekali. Silahkan kunjungi situs webnya di

https://hackathon.cbn.id


Ayo ramaikan. Kami tunggu proposalnya ya. Ditunggu sampai tanggal 15 Januari 2019.

Mengapa Bahasa Python?

Saya ingin belajar bahasa pemrograman. Bahasa apa yang sebaiknya saya pelajari?

Pertanyaan ini merupakan salah satu pertanyaan yang sering (dan berulang) ditanyakan. Jawabannya bergantung kepada waktu. Jawaban beberapa tahun yang lalu akan berbeda dengan jawaban sekarang. Ini disebabkan oleh pesatnya perkembangan komputer dan bahasa pemrograman.

Jawaban atas pertanyaan ini pada saat sekarang adalah bahasa Python. Mengapa Python?

  1. Mudah. Definisi “mudah” ini tentu saja harus diperjelas lagi. Dia lebih mudah dipelajari daripada bahasa pemrograman lainnya, sehingga Python digunakan oleh orang dari berbagai bidang – tidak hanya orang yang berlatar belakang teknologi informasi saja. Saya melihat banyak penggunaan Python di bidang sains. Bahasa Python juga merupakan sebuah bahasa yang interpreted, yaitu tidak perlu dirakit (compile) dahulu seperti bahasa pemrograman C misalnya. Ini membuat siklus koding menjadi lebih sederhana.
  2. Tersedia di berbagai sistem operasi. Python tersedia untuk sistem operasi Linux, Mac OS X, Windows, dan seterusnya. Tidak semua bahasa pemrograman tersedia dengan baik untuk berbagai sistem operasi. Artinya siapapun dapat menggunakan Python./
  3. Tersedia banyak pustaka (library). Menurut saya ini aspek yang paling penting dari mengapa belajar bahasa Python. Pustaka (library, module) ini membuat pemrograman kita menjadi lebih mudah karena sudah ada orang lain yang mengembangkan alat bantunya. Untuk melakukan statistik, sudah ada pustakanya. Grafik? Ada juga. Untuk bidang-bidang yang khususpun seperti Artificial Intelligence dan Machine Learning juga sudah ada modulnya. Apapun, nampaknya sudah ada. Ini yang membuat bahasa Python sangat menarik dibandingkan bahasa pemrograman lainnya.

Oh ya. Versi video dari penjelasan ini ada di YouTube. Saya sedang memulai channel Padepokan Budi Rahardjo ini di sana. Silahkan dicek (dan juga dikomentari ya – kalau perlu subscribe juga).

Python dan Perl

Senin lalu melanjutkan memberikan training soal Data Science dengan menggunakan Python. Salah satu tugas yang harus kami lakukan adalah membersihkan data yang diperoleh dari proses dump aplikasi links ke akun twitter. (links -dump http://twitter.com/rahard)

Awalnya saya memulai koding dengan menggunakan bahasa Python, tapi di tengah jalan macet karena saya lupa cara-cara melakukan regular expression (regex) di Python. Misalnya lompati (skip) baris yang memiliki pola penulisan “* sesuatu”. Atau melompati baris yang hanya berisi spasi saja. Sebetulnya saya bisa sih, tetapi harus baca dokumentasinya dulu. Padahal ini lagi live coding. ha ha ha. Harus cepat. Akhirnya yang saya lakukan adalah saya koding awal dengan menggunakan bahasa Perl. ha ha ha.

Di kepala saya memang logika pemrograman diimplementasikan dengan menggunakan bahasa Perl. Jadi kalau mau mengerjakan sebuah kodingan, yang terpikir adalah kodenya dalam bahasa Perl.

Kembali ke kasus tadi. Dalam waktu singkat, kodingan Perl sudah menunjukkan apa yang saya mau (meskipun masih harus dilanjutkan lagi karena ada banyak exception yang harus dilakukan). Poin yang ingin saya sampaikan di kelas ada bahwa untuk melakukan pembersihan terhadap data dapat dilakukan dengan menggunakan skrip. Cara ini efektif meskipun caranya adalah quick and dirty. Namanya juga hacking. Itulah sebabnya dalam deskripsi tentang data science (yang diusulkan oleh Drew Conway), salah satu komponennya adalah “hacking skills“.

Kembali ke kasus (lagi), saya punya pekerjaan rumah untuk membuat versi Python dari kode Perl saya. Hadoh.

 

Source Code Versioning & Security

Dalam kuliah “Software Security” yang saya ajarkan minggu lalu, kami berdiskusi mengenai topik “source code versioning” dan “security“. Apa kaitannya keduanya? Adakah kaitannya?

Source code versioning adalah sebuah kegiatan dalam pengembangan perangkat lunak. Pada awalnya pengembangan perangkat lunak dilakukan secara serampangan. Tidak ada metodologi. Pokoknya asal jadi saja. Salah satu masalah yang muncul adalah ketidakjelasan versi yang digunakan. Misal, di sistem produksi ada masalah dengan perangkat lunaknya. Dia menggunakan versi 1.1. Sementara itu di bagian pengembangan, perangkat lunaknya sudah sampai ke versi 1.7. Agak sulit menentukan masalah karena ada perbedaan versi. Masalah lain juga dapat terjadi ketika terjadi upgrade. Misal, perangkat lunak dari versi 1.1 diperbaharui menjadi versi 1.3 kemudian diperbaharui lagi ke versi 1.7. Ternyata ada masalah di versi 1.7, maka perangkat lunak harus dikembalikan ke versi sebelumnya. Tanpa menggunakan versioning, ini akan sulit dilakukan.

Saat ini ada banyak sistem source code versioning ini. Yang paling terkenal saat ini adalah Git.

Mari kita sekarang membahas topik utamanya; hubungan antara code versioning ini dengan security. Dalam diskusi yang kami lakukan, kami belum menemukan hubungan atau alasan yang dapat diterima dengan mudah bahwa code versioning itu mendukung security. Yang kami temukan adalah alur seperti ini:

Pengembangan perangkat lunak sangat disarankan (harus?) menggunakan code versioning. Karena code versioning ini digunakan, maka hal-hal yang terkait dengan itu harus aman (secure). Kendali-kendali keamanan apa saja yang sudah diterapkan?

Itu yang baru dapat kami utarakan.

Mengajar(i) Data Science

Kemarin (Senin) adalah sesi kedua dari acara “Data Science with Python”, yang kami adakan di Bandung Digital Valey (BDV). Pada acara ini kami mengajari penggunaan Python untuk Data Science.

Apa itu Data Science? Masih belum ada jawaban yang dianggap sebagai definisi formal dari “data science”. Definisi yang paling “dekat” dan yang paling banyak digunakan adalah penjelasan dari Drew Conway. Pada intinya Data Science adalah gabungan dari kemampuan komputasi (hacking skill), matematika (statistik), dan pemahaman atas masalah yang akan diteliti (domain problem).

Pada pertemuan pertama, Senin sebelumnya, kami melakukan persiapan-persiapan dahulu yaitu memasang Python beserta modul-modul (library) terkait. Ternyata ini tidak mudah karena ada banyak versi dan konfigurasi. Python sendiri ada versi 2 dan 3. Kali ini kami fokus ke versi 3 (meskipun saya pribadi masih banyak mengunakan versi 2). Sistem operasi yang digunakan peserta juga bervariasi; Mac OS X, Linux, dan Windows. Masing-masing juga konfigurasinya beda-beda. Jadi intinya adalah … pusing.

Selain tools, kami mulai menggunakan tools tersebut untuk melakukan sedikit operasi statistik, yaitu linear regression. Ini kemudian menjadi pekerjaan rumah karena waktunya yang tidak cukup.

Nah, kemarin topik ini dilanjutkan. Setelah membahas PR tentang linear regression, kami kemudian maju lagi ke topik baru. Kali ini yang kami lakukan adalah memproses data log dari web server dan mengambil data yang ada dalam request kepada web server tersebut. Data ini harus diproses (parsing) dan kemudian akhirnya dimasukkan ke Pandas, sebuah kumpulan tools Python untuk pemrosesan data.

Cerita teknisnya menyusul ya.

Mencari Developer Software

Beberapa waktu yang lalu saya menghadiri acara Bekraf yang diorganisir oleh Dicoding di Bandung. Acara ini mengumpulkan developer software (pengembang aplikasi) di kota Bandung dan diberikan berbagai pengetahuan (seminar, training). Berikut ini adalah contoh foto yang hadir. Banyak! Lebih dari 1000 orang!

DSC_0217_0001

Namun yang menjadi masalah adalah ketika saya mencari developer, ternyata kesulitan. Sebetulnya mereka ada dimana? Ini adalah sebuah paradoks; katanya banyak SDM yang mencari pekerjaan tetapi ada banyak perusahaan yang kesulitan mencari SDM.

Saya mendapat permintaan untuk programmer dan support (untuk berbagai jenis software baik yang sudah kadaluwarsa maupun yang masih baru). Akhir-akhir ini malahan dapat permintaan tiap minggu! Nah, apakah perlu saya tanggapi permintaan-permintaan ini dengan lebih serius? Dahulu kami memang pernah memiliki perusahaan outsourcing seperti yang dimaksudkan, tetapi sekarang para pengembangnya sudah tersebar. (Ada yang pindah ke luar kota, mengambil kuliah di luar negeri, menjadi freelancer, membuat perusahaan sendiri, atau menjadi bagian dari perusahaan kami lainnya.) Nah, perlukah kami membuat kembali perusahaan ini?

Potensi Aplikasi Mobile di Indonesia

Banyaknya pengguna handphone di Indonesia merupakan kesempatan untuk mengembangkan aplikasi-aplikasi mobile. Namun jika kita lihat, kesempatan ini belum dimanfaatkan oleh pengembang aplikasi mobile di Indonesia. Coba kita lihat daftar aplikasi yang paling populer.

  1. Daftar aplikasi terpopuler di Indonesia dari Google Playstore
  2. Daftar aplikasi terpopuler di Indonesia dari Apple Store

Dari daftar tersebut dapat kita lihat bahwa aplikasi mobile yang populer kebanyakan (hampir semua malahan) tidak dikembangkan oleh pengembang dari Indonesia. Walah.

Jika kita teliti lebih lanjut, aplikasi-aplikasi yang populer dari pengembang Indonesia biasanya terkait dengan bisnis pemilik aplikasi tersebut. Sebagai contoh, aplikasi Tokopedia merupakan pendukung dari market place Tokopedia. Demikian pula dengan Bukalapak, Go-jek, MyTelkomsel, dan seterusnya. Tidak ada aplikasi yang berdiri sendiri sebagai aplikasi.

Hal yang menarik lainnya adalah pasar aplikasi mobile di luar negeri didominasi oleh Games. Di Indonesia, meskipun sudah banyak yang berusaha, pasar ini malah belum barhasil dikuasai.

Hasil berbincang-bincang dengan berbagai pengembang aplikasi mobile, kebanyakan mereka mengembangkan aplikasi sesuai dengan kebutuhan klien. Misal ada klien yang berupa sebuah perusahaan yang minta dibuatkan aplikasi, maka aplikasinya ya memang khas untuk perusahaan tersebut, bukan untuk umum.

Jadi bagaimana masa depan pengembang aplikasi mobile di Indonesia?

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.

Terlalu Awal

Salah satu “topi” yang saya pakai adalah sebagai “serial technopreneur“. Maksudnya saya sering membuat usaha (seperti bernomor seri, he he he) dalam dunia teknologi (kata techno dalam technopreneur itu). Ada banyak kegagalan yang telah saya lalui. Salah satunya adalah terlalu awal atau terlalu cepat dalam membuat sebuah usaha atau produk tertentu. Too early.

Tadi bongkar-bongkar rak buku dan menemukan beberapa buku. Salah satunya adalah buku yang ditampilkan di bagian kiri foto berikut. “Palm OS Programming“. For dummies pula. ha ha ha.

15800372_10154167340586526_8166599908409203346_o

Dahulu ada masanya sebuah produk yang disebut PDA, Personal Digital Assistant. Bentuknya sebesar handphone sekarang. Isinya adalah berbagai aplikasi, yang sekarang sudah digantikan oleh berbagai apps di handphone seperti kalender, notes, agenda, dan seterusnya. Perlu diingat pada jaman itu handphone hanya bisa telepon dan SMS.  Aplikasi hanya ada yang bawaan dari pabrikan.

Salah satu PDA yang paling populer pada jamannya adalah Palm Pilot. Sistem operasi yang digunakannya adalah Palm OS. Selain PDA Palm Pilot ada juga produk yang kompatibel, misalnya Handspring Visor. Saya punya yang Handspring Visor itu.

Pada waktu itu (dan sebetulnya sebelum Palm Pilot ngetop), saya membuat proposal untuk sebuah usaha – kalau sekarang nama kerennya adalah Start-Up – yang mengembangkan aplikasi untuk handphone. Tentu saja proposal saya tidak dipahami orang banyak dan mungkin ditertawakan.

Bagaimana mungkin mengembangkan aplikasi dengan memori yang terbatas? Memori handphone pada saat itu hanya Kilobytes ukurannya. Padahal saya sudah belajar pemrograman dengan memori yang terbatas. Itu jaman “komputer” Sinclair dan Apple ][ yang memorinya hanya Kilobytes. Programming menggunakan bahasa apa? Ya bahasa assembly atau bahkan machine code. Tidak masalah. Saya belajar pemrograman juga dari bahasa itu. Jadi sesungguhnya tidak ada masalah teknis.

Singkatnya, tidak ada yang tertarik untuk ikutan membuat perusahaan itu. Gagal. Sekarang, mobile apps developers sudah sangat banyak sekali.

Nah, ini adalah pengalaman buruk bahwa terlalu awal / terlalu cepat / too early dalam mengembangkan ide atau produk bukanlah hal yang baik. Namun, saya masih tetap seperti itu. Sampai sekarang. Terlalu banyak ide produk saya yang terlalu “maju” untuk jamannya. ha ha ha. Biarlah. Itulah saya.

Mengajarkan Debugging?

Bagaimana ya cara mengajarkan “debugging” (mencari sumber masalah dalam koding, sistem)?

Seringkali kita memberikan tutorial atau tugas tentang satu hal (kode pemrograman misalnya). Kemudian siswa mengikuti tutorial tersebut. Ketika ada masalah, tidak jalan, maka siswa kesulitan mencari sumber masalahnya. Ketika melapor, yang dilaporkan juga tugas tidak jalan. Nah ini membingungkan karena ada banyak hal yang membuat sebuah kode / sistem tidak jalan.

Hal yang sama juga terjadi dalam pengembangan sebuah sistem. Ketika ada masalah maka kita harus mencari sumber masalahnya dan memperbaikinya. Debugging.

Kemampuan debugging ini ternyata tidak dimiliki oleh semua orang. Namun semestinya bisa diajarkan. Bagaimana ya cara mengajarkannya yang baik?

Salah satu ide adalah dengan membuat soal yang memiliki kesalahan, kemudian siswa diminta untuk mencari kesalahan tersebut dan memperbaikinya. Semakin sering melakukan hal ini (mencari kesalahan dan memperbaikinya), mudah-mudahan meningkatkan kemampuan untuk debuggingnya.

Hal lain juga yang perlu diajarkan adalah bagaimana membagi-bagi sistem. Divide and conqueror. Ini bisa jadi topik terpisah.

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.