Kalibrasi (IoT)

Sekarang banyak orang mengembangkan IoT. Salah satunya adalah untuk mengukur temperatur dan kelembaban. Masalanya, kebanyakan hanya mengambil kode (dari internet) dan kemudian menjalankannya tanpa melakukan kalibrasi. Apakah data yang kita gunakan sudah benar? Apakah kode yang kita gunakan sudah benar? (Dalam kode terdapat konversi dari data yang diterima oleh sensor ke temperatur dan kelembaban.)

Untuk mengetahui hal tersebut, saya membeli sensor hygrometer. Saya beli dua buah. Eh, ternyata keduanya juga tidak akur datanya. Data temperatur nyaris sama (31C), tetapi data kelembaban jauh berbeda (35% dan 41%). Mana yang benar? Saya juga meragukan kebenaran data tersebut karena perasaan saya temperatur saat menulis ini tidak panas. (Ini di Bandung di rumah saya.)

Sensor Hygrometer

Memang saya membeli sensor yang harganya murah. Ini hanya untuk percobaan. Nampaknya saya harus membeli sensor yang lebih akurat (dan lebih mahal).

Bagaimana dengan data dari sensor IoT? Saya menggunakan sensor DHT-22 yang kemudian saya hubungkan dengan perangkat Wemos D1 mini. Data kemudian saya kirimkan ke komputer. Berikut ini perbandingan data dari sensor Hygrometer dan sensor IoT. (Mohon maaf fotonya agak kabur.) Mana yang benar? Temperatur: 30 C (hygrometer), 27,8 (IoT). Kelembaban : 45% (hygrometer), 77,4% (IoT).

Lagi-lagi saya tidak tahu mana yang benar. Nampaknya saya harus membeli alat hygrometer yang lebih akurat untuk mastikan hasilnya.

Tadinya saya ingin membuat grafik seperti ini, memantau temperatur dan kelembaban di rumah saya. (Saya juga memiliki sensor yang lebih akurat.)

Tulisan ini untuk menunjukkan bahwa kita harus melakukan kalibrasi dalam pengukuran yang menggunakan IoT sekalipun. Jangan merasa bahwa kalau data dari IoT sudah pasti benar.

Apa Itu Internet of Things (IoT)?

Belakangan ini mungkin Anda sering mendengar kata IoT – Internet of Things. Apalagi dengan ramainya istilah industri 4.0, semakin banyak orang berbicara tentang bagaimana cara menghubungkan dunia nyata (fisik) dengan dunia siber (cyber). Apa itu IoT?

Ada dua kata dalam Internet of Things, yaitu “Internet” dan “Things”. Kita mulai dari kata keduanya dahulu, “things”. Apa itu “things”?

Terjemahan langsung dari kata “things” adalah “barang” atau “benda”. Dalam istilah ini yang dimaksudkan dengan barang adalah … ya apa saya, barang-barang. Maksud lebih spesifiknya lagi adalah barang yang dapat kita program. Kalau dahulu, barang atau benda yang dapat diprogram adalah komputer. Namun sekarang sudah banyak benda lain yang dapat diprogram. Handphone kita juga dapat diprogram. Microwave di dapur kita juga dapat diprogram. Mesin cuci juga dapat diprogram, meskipun barang-barang yang terakhir saya sebutkan di sini memiliki pemrograman yang terbatas.

Dalam istilah IoT, yang dimaksudkan barang adalah semua barang. Keberadaan komponen mikroprosesor dan mikrokontroler yang semakin kecil dan semakin murah membuat semua benda dapat diprogram.

Kata kedua adalah “internet”. Yang dimaksud dengan “internet” di sini adalah jaringan komputer. Boleh jadi jaringan komputer ini adalah “internet” yang kita kenal sekarang, tetapi boleh juga jaringan internal (misal berbasis Bluetooth).

Benda yang dapat diprogram sudah cukup menarik, tetapi mereka berdiri sendiri. Begitu mereka dapat diakses melalui sebuah jaringan maka benda tersebut dapat mengirimkan data ke tempat lain. Mereka juga dapat dikendalikan (dapat diprogram) dari jarak jauh.

Gabungan kedua kata tersebut – Internet of Things – bermakna benda-benda yang dapat diprogram dan terhubung melalui jaringan.

Contoh-contoh IoT ada banyak. Dalam kehidupan sehari-hari yang sudah sering kita lihat adalah smart watch, jam yang bukan hanya dapat menunjukkan waktu saja tetapi dapat juga memantau kondisi fisik kita; berapa jarak jalan kaki kita, denyut jantung, dan seterusnya. Hasilnya dapat dilaporkan melalui Bluetooth ke handphone dan dapat langsung terlihat di internet. Selain ini masih banyak contoh-contoh lainnya.

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

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)?