First impression ESP8266

, , Leave a comment

NodeMCU is an open source IoT platform. It includes firmware which runs on the ESP8266 Wi-Fi SoC from Espressif Systems, and hardware which is based on the ESP-12 module. The term “NodeMCU” by default refers to the firmware rather than the dev kits. The firmware uses the Lua scripting language.

 

Begitu ulasan singkat dari artikel yang ditulis di wikipedia. Saya mendengar ESP8266 NodeMCU ini pertama kali dari blog saudara yang ada di Chiang Mai, Thailand (link)  yang membahas panjang lebar dan detil. Ketertarikan ini karena harganya yang murah, kecil dan dapat mengerjakan satu atau beberapa hal sederhana.

Jujur, saya lebih comfortable dengan Raspberry Pi, dan ingin rasanya punya Raspberry Pi Zero dalam jumlah yang banyak (psst… ada yg mau ke UK/US? nitip dong). Tapi apa boleh buat, harus cari alternatif karena susahnya mencari, harus beli dari UK/US dan maksimal 1 unit lagi, Ongkirnya bisa berlipat-lipat dari harga barangnya. Jadi alternatifnya adalah ESP8266 NodeMCU ini.

ESP8266 NodeMCU (photo www.seeed.com)

Secara bentuk saya suka, karena kecil, mungkin 3/4 coklat kitkat panjangnya. Sudah ada bulit-in wifi, ada GPIO, bisa I2C, bisa SPI, menurut saya itu sudah cukup. Harga sendiri juga murah, satu unit 55 ribu saja, tambah ongkir ya jadi 64 ribu. Tidak begitu masalah. Kelebihannya, ESP8266 Node MCU juga bisa diprogram dengan Arduino IDE, LUA dan Micropython. Bagi yang familiar dengan Arduino, tentu ini tidak menjadi masalah, tapi bagi saya ini masalah karena saya tidak belajar dari Arduino (C++). So, masih perlu tahu basic-basic Arduino. Kalau ingin menggunakan Arduino IDE, pastikan saja librarynya sudah tested untuk ESP8266.

Tentang Micropython
Preferensi saya masih menggunakan micropython untuk menjalankan ESP8266, selain karena saya punya pengetahuan Python, namun juga karena kita bisa melakukan live coding. Tidak perlu compile untuk lihat hasilnya, begitu perintah diberikan, hasil bisa langsung diliat di ESP8266. 

Micropython untuk ESP8266 sendiri masih dalam tahap kickstarter, dan terus berkembang jadi wajar jika beberapa modul CPython belum bisa ditemukan di Micropython. Micropython sendiri ditulis ulang oleh pembuatnya (Damien George) untuk dapat menjalankan Python di microcontroller yang memiliki keterbatasan memory. Tidak semua fitur CPython  (versi Desktop, versi yang sama digunakan oleh Raspberry Pi) bisa dilakukan saat ini, namun pembuatnya berupaya untuk dapat mewujudkannya. Bisa jadi dalam beberapa waktu kedepan, micropython akan juga bisa menjalankan multithreading dan memiliki modul untuk mengenerate random number. Ini adalah dua modul yang saya nantikan, karena diperlukan untuk membuat game lebih menarik.

Kelebihan berikutnya adalah, apa yang kita tulis sebelumnya dengan CPython bisa dijalankan di Micropython, tentu saja jika modulnya ada. Hanya butuh sedikit penyesuaian dalam menggunakan modul. Misalnya untuk menyalakan led GPIO nomor 12 di Raspbery Pi, kita menggunakan:

import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)

GPIO.setup(12, GPIO.OUT)

GPIO.output(12, GPIO.HIGH)

 

sedangkan di Micropython:

import machine

led=machine.Pin(12, machine.Pin.OUT)

led.high()

Sehingga hal ini dapat menghemat banyak waktu daripada menulis ulang kode script yang kita sudah kita buat sebelumnya.

Kesimpulan

Menurut saya, bagi pemula seperti saya, kombinasi antara ESP8266 NodeMCU dan Micropython sangat mempercepat proses belajar secara sederhana dan cepat. Jadi kalau kamu ingin mulai belajar elektronika dan komputasi fisik, ESP8266 Node MCU bisa menjadi alternatif yang bagus.

Saat ini saya baru memiliki 3 unit. Satu unit running dengan relay board untuk on/off lampu via app (Blynk). Unit kedua saya namakan little gadget, sebuah device ukuran 5×7 cm dengan led matrix dengan beberapa fungsi misalnya jam digital, tally counter, countdown timer, game (pong, snake, flappy bird) dan contoh animasi). Unit ketiga rencananya untuk otomasi alat pakan ikan.

The Little Gadget

Tertarik untuk punya hobby baru atau belajar skill baru di 2017?

Facebook Comments
 

Leave a Reply