Proses Belajar Di Dunia IoT Bagi Seorang Web Developer dan iOS Developer

March 16, 2015 |
Technology 3 Comments

IoT (Internet of Thing) adalah buzzword yang akhir-akhir ini sering muncul di industri teknologi. Pada dasarnya IoT itu hanyalah bagaimana membuat benda-benda di sekitar kita yang sebenarnya biasa saja, seperti pot bunga, akuarium, kotak pensil, microwave, dsb menjadi terkoneksi dengan internet melalui bantuan chip elektronik. Untuk bermain-main dengan IoT dibutuhkan kemampuan pemrograman dan mengerti sedikit dasar tentang komponen elektronika.

Saya akan berbagi sedikit tentang cara saya mempelajari hardware dan elektronika dalam 2 tahun belakangan dan sampai saat ini hanya menjadi sebuah hobi di akhir pekan. Latar belakang saya adalah seorang web programmer dan iOS programmer. Pengetahuan saya seputar hardware dan elektronika sangat terbatas. Saya sempat belajar dasar-dasar elektronika sewaktu duduk di bangku SMP saat mengikuti ekstra kurikuler elektro.

Arduino Uno R3. Microcontroller Pertama Saya.

Saya memulai belajar memprogram hardware dengan resource terbatas pertama kali sekitar 2 tahun lalu. Saat itu saya membaca beberapa artikel tentang Arduino, sebuah microcontroller yang katanya sangat mudah untuk diprogram. Maka saya pun memesannya seharga Rp190.000. Saat itu saya juga memesan sebuah breadboard, beberapa kabel untuk jumper, dan sepasang lampu LED.

ArduinoUno_R3_Front_450px

Perlu saya akui mempelajari Arduino tidak semudah yang dibayangkan untuk pertama kalinya. Saya harus mempelajari beberapa istilah yang tidak pernah saya dengar sebelumnya di dunia web development, seperti baud rate, digital pin, analog pin, Tx/Rx, serial port, dll. Saya juga harus mempelajari Arduino IDE (Integrated Development Environment) dan bahasa pemrograman Processing. Akhirnya dengan sedikit perjuangan saya berhasil membuat proyek pertama saya. Waktu itu saya hanya sekedar membuat lampu LED berkedip-kedip. Arduino IDE membuat proses development menjadi mudah, mulai dari saat menulis kode sampai mengupload kode ke dalam chip yang ada di Arduino.

Saat ini, jika seorang web programmer mau mempelajari pemrograman dengan menggunakan microcontroller Arduino akan terasa jauh lebih mudah. Karena Arduino sudah bisa diprogram menggunakan JavaScript (bahasa pemrograman yang setiap hari digunakan di dunia web) menggunakan NodeJS dan paket Johnny-Five.

Raspberry Pi. Komputer Kecil yang Murah dan Hanya Seukuran Kartu Kredit.

Setelah melakukan beberapa proyek iseng menggunakan Arduino, saya kemudian membaca tentang Raspberry Pi sebuah komputer kecil dengan sistem operasi Linux; seukuran kartu kredit; dan hanya berharga USD 35. Raspberry Pi sebenarnya jauh lebih mudah dibanding Arduino untuk diprogram, apalagi jika bahasa pemrograman yang dikuasai hanya bahasa-bahasa yang berhubungan dengan web. Pada dasarnya Raspberry Pi sama seperti komputer biasa yang bisa diprogram menggunakan bahasa pemrograman apapun, hanya saja prosesor yang dipakai berbasis ARM bukan x86, dan jumlah RAM yang lebih terbatas.

RaspberryPi

Bersama Raspberry Pi ini saya jadi paham tentang penggunaan GPIO (General Purpose Input Output), untuk mengontrol benda-benda seperti lampu LED, motor servo, dinamo, bahkan mengontrol microcontroller seperti Arduino. Saya pun pertama kalinya belajar membuat cross-compiler toolchain untuk membuat program yang ditulis dengan menggunakan bahasa pemrograman C di OS X untuk dijalankan di Raspberry Pi. Kenapa perlu cross-compiler? Karena Macbook saya menggunakan prosesor dengan arsitektur x86 dan Raspberry Pi menggunakan prosesor berarsitektur ARM, jadi program yang ditulis menggunakan bahasa C atau C++ tidak akan serta merta menjadi kompatibel. Tapi jika kita memutuskan memprogram Raspberry Pi dengan menggunakan bahasa-bahasa pemrograman web, kita tidak perlu terlalu kuatir dengan isu kompatibilitas.

Proyek iseng akhir pekan terbaru saya saat ini adalah membuat sistem pemberian makan ikan di dalam akuarium lewat internet. Awalnya saya menggunakan Raspberry Pi untuk mengontrol motor servo yang disambung dengan botol bekas jus buah yang saya posisikan untuk menjadi dispenser untuk pelet ikan. Pemrogramannya pun menggunakan JavaScript saja dan dibantu oleh paket Johnny-Five. Setelah prototipe ini jadi, saatnya perangkat ini dipasang di akuarium, dan masalah pun muncul.

Masalah yang saya hadapi ini bukan masalah teknis, tetapi lebih ke rasa sayang jika perangkat seharga $35 dipasang menjadi instalasi permanen hanya untuk satu fungsi. Padahal saya masih butuh Raspberry Pi saya ini untuk kegiatan lain yang bersifat hiburan. Maka saya harus mencari solusi yang lebih murah. Menggunakan Arduino jelas bukan pilihan murah, karena Arduino seharga Rp190.000 belum memiliki koneksi ke internet, jika hendak disambung ke internet maka kita harus membeli lagi ethernet shield seharga Rp200.000-an atau solusi nirkabel yaitu wifi shield seharga nyaris Rp800.000.

Tiba-tiba saya mendapat solusi dari teman saya, dia menyebutkan ada sebuah chip baru yang berharga hanya $5 atau sekitar Rp65.000 dan sudah ada koneksi wifi di dalamnya.

ESP8266. Chip Murah Meriah Seukuran Koin Rp500.

Chip ini lah solusi termurah untuk menghubungkan benda-benda yang kita inginkan untuk terhubung dengan internet. Saya pun segera memesan 1 untuk percobaan, waktu itu harganya Rp70.000 dan saya pun harus membeli perangkat USB-TTY seharga Rp22.000 agar saya bisa memasukkan program buatan saya ke dalam chip ini dari laptop saya. Dengan harga hanya Rp70.000 saya pun tidak merasa sayang untuk mensolder chip ini secara permanen.

Untuk menggunakan ESP8266, saya hanya bisa memprogramnya dengan menggunakan bahasa C, walaupun di beberapa forum di internet ada yang bisa memprogram ini dengan bahasa Lua, tapi saat saya mencobanya belum bisa stabil. Akhirnya saya tetap memilih untuk menggunakan C. Dengan menggunakan chip ini saya pun jadi belajar bagaimana membuat firmware (program yang dijalankan langsung di atas ROM).

IMG_0334

Saat ini saya sedang menulis ulang kode pemrograman akuarium saya, yang sebelumnya ditulis menggunakan JavaScript dan dijalankan di atas Raspberry Pi menjadi menggunakan C dan dijalankan di atas ESP8266.

Kesimpulan

Untuk web developer yang tertarik untuk belajar membuat solusi IoT, saya sarankan pertama kali untuk mempelajari Raspberry Pi, karena hanya dengan $35 kita sudah mendapat perangkat yang dilengkapi dengan koneksi kabel ethernet, GPIO pin, dan hardware yang tidak terlalu berbeda dengan komputer yang biasa dipakai. Jika Anda ingin yang lebih murah dan hanya membutuhkan fungsi microcontroller (tidak butuh sistem operasi) Anda bisa mencoba Arduino, tapi ingat Arduino secara default tidak punya koneksi ke internet. Jika Anda ingin solusi IoT termurah dan tidak keberatan untuk melakukan pemrograman dengan bahasa C, membeli ESP8266 akan menjadi pilihan yang menarik.

Selamat berkarya!

catatan: artikel ini pertama kali diterbitkan di akun Medium penulis.

3 Comments

3 thoughts on “Proses Belajar Di Dunia IoT Bagi Seorang Web Developer dan iOS Developer

  1. abil fida says:

    nice share gan, saya jadi tertarik mau coba” juga di dunia iot,
    saya baru mau coba jadi masih bingung gan,
    tools apa aja yg dibutuhin untuk memprogram mikrokontroler esp8266 itu? makasih

    1. Bepitulaz says:

      Yang dibutuhkan: pengetahuan tentang bahasa C dan cross-compiler toolchain yang bisa diambil di tautan ini https://github.com/pfalcon/esp-open-sdk

  2. arga yudha says:

    artikel bagus gan, kunjungan baliknya di CARA PERTAMA MENGGUNAKAN ARDUINO UNO ARGA YUDHA

    atau langsung ke website

    http://www.argayudhaadhiprama.com/2016/03/21/cara-pertama-menggunakan-arduino-uno/

Leave a Reply

Your email address will not be published. Required fields are marked *