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.

Iklan

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?

Arduino dan LDR

Baru mulai mainan Arduino lagi. Kali ini eksperimen masih seputar penggunaan LDR (Light Dependent Resistor) untuk mendeteksi cahaya kemudian menyalakan LDE. Idenya adalah untuk mendeteksi orang yang lewat, kemudian menyalakan lampu (dalam hal ini diwakili oleh LED). Rangkaian menyusul. Ini video hasilnya.

Videonya kurang bagus. Maklum baru pertama kali dan cahayanya kurang. Tapi setidaknya bisa terlihat kalau LDR tertutup oleh jari / tangan, maka LED akan menyala. Sensitivitas dari LDR bisa diatur. Lamanya LED menyala juga bisa diatur. Bisa dilihat dari kodenya di bawah ini.

int LEDPIN = 6;
int LDRPIN = 0;
int lightVal = 0;

void setup()
{
  pinMode(LEDPIN, OUTPUT);
}

void loop()
{
  lightVal = analogRead(LDRPIN);
  if (lightVal > 900) { // sensitivitas LDR
  digitalWrite(LEDPIN, HIGH); // hidupkan LED
  delay(300); // lamanya LED menyala
  } else {
  digitalWrite(LEDPIN, LOW); // matikan LED
  }
}

Software Merusak Hardware

Xbox anak saya baru kembali dari reparasi. Ini sudah ketiga kalinya Xbox ini masuk ke reparasi secara berturut-turut. Setiap habis dibawa pulang ke rumah, pasang games “Fable II” langsung Xboxnya rusak lagi. Di bawa ke tempat reparasi dan pulang begitu lagi.

Akhirnya di sana minta dibawakan power supplynya dan games yang dipakai di rumah. Setelah dicek di sana, ternyata games yang dipakai juga membuat Xbox lain rusak! Halah!

Software ternyata bisa merusak hardware ya. Hati-hati para programmer di sana. Kalau buat program yang bener dong. Mosok hardware bisa sampai rusak? Kan, serem jadinya.

Ada yang punya cerita yang sama / mirip (software merusak hardware)?