Apa itu Nodemcu. Semenjak konsep smart city diperkenalkan, Internet of Things (IoT) menjadi salah satu infrastrukur utama untuk mendukungnya. Era di mana setiap objek yang dilengkapi oleh perangkat pintar dapat mengumpulkan data dan berkomunikasi melalui internet. Ada banyak produk papan sirkuit Internet of Things (IoT) mulai dari yang murah hingga mahal.
Pada artikel ini kita akan membahas apa itu nodemcu, papan sirkuit IoT yang murah dan bisa didapatkan dengan mudah. Selain itu perangkat yang akan di bahas ini dapat kita modifikasi dan di program sesuai dengan keinginan kita. Perangkat-perangkat ini sangat lazim digunakan bagi siapa saja yang baru memulai untuk mempelajari teknologi yang sedang trending ini. Oleh karena itu, mari kita bahas salah satu papan sirkuit IoT ini, yaitu NodeMCU.
Espressif System, perusahaan semi-konduktor asal Shanghai, mengeluarkan mikrokontroller yang berkemampuan wifi dengan berukuran mini, yaitu ESP8266 dengan harga yang sangat murah. Perangkat ini dapat memonitor dan mengontrol perangkat dari seluruh belahan dunia. Dengan demikian, ESP8266 ini sangat sempurna untuk segala macam proyek IoT.
Contoh IoT papan sirkuit ini dilengkapi modul ESP-12E yang memiliki chip ESP8266 beroperasi pada frekuensi 80-160MHz dan dapat di atur serta mendukung RTOS (Realtime Operating System).
Nodemcu ini dilengkapi oleh 128kB RAM dan 4MB flash memory (untuk memprogram dan menyimpan data). Kapasitas tersebut cukup untuk menyimpan string yang banyak untuk kebutuhan halaman web, JSON/XML data, dan apapun yang dapat dikirimkan oleh perangkat IoT yang ada pada saat ini.
ESP8266 terintegrasi dengan 802.11b/g/n HT40 Wi-Fi transceiver, sehingga tidak hanya dapat tersambung ke jaringan WiFi dan berinteraksi dengan internet, namun dapat juga dijadikan sebagai penyedia jaringan di mana device lain dapat terkoneksi dengannya secara langsung.
ESP8266 memiliki tegangan operational antara 3 – 3.6V, papan ini dilengkapi oleh LDO (voltage regulator) yang membuatnya steady pada 3.3V. Perangkat ini dapat memberikan power supply hingga 600mA yang lebih dari cukup ketika ESP8266 menarik arus 80mA pada kondisi mentransmisikan RF. Output dari regulator ini diberi label 3V3 pada papan Nodemcu tersebut. Pin ini dapat mensuplai power pada komponen eksternal seperti sensor ataupun peripheral lainnya.
Sumber power untuk ESP8266 NodeMCU didapatkan melalui port Micro USB. Seperti yang telah kita ketahui bahwa power yang dihasilkan USB adalah 5V. Sehingga, jika kita membutuhkan sumber tegangan 5V untuk komponen external, kita dapat menggunakan pin VIN pada board NodeMCU ini.
Nodemcu memiliki total 17 pin GPIO. Pin ini dapat digunakan untuk kebutuhan peripheral, termasuk:
ESP8266 memiliki fitur pin multiplexing. Artinya pada satu GPIO Pin dapat berfungsi sebagai PWM/UART/SPI.
Nodemcu memiliki dua tombol. Satu tombol di tandai dengan RST terletak pada pojok kiri atas yang berfungsi sebagai tombol reset. Tombol lainnya yaitu FLASH, yang berada pada bagian bawah kiri, berguna untuk tombol download ketika hendak meng-upgrade firmware.
Papan sirkuit ini memiliki indicator LED yang dapat di program oleh pengguna dan terkoneksi pada pin D0.
Papan sirkuit NodeMCU ini memiliki CP2102 USB-to-UART Bridge Controller dari Silicon Labs, yang berfungsi untuk mengkonversi signal dari USB ke serial, sehingga komputer yang kita gunakan dapat memprogram dan berkomunikasi dengan chip ESP8266.
ESP8266 NodeMCU ini memiliki total 30 pin yang dapat digunakan. Koneksi dari setiap pin tersebut dapat di lihat pada gambar di bawah ini:
Power Pin. Terdapat empat pin sumber power, satu VIN dan tiga pin 3.3V. VIN dapat digunakan secara langsung sebagai power supply ESP8266 dan peripheral, jika Anda memiliki sumber tegangan 5V yang stabil. Pin 3.3V adalah output dari papan sirkuit voltage regulator. Pin tersebut dapat digunakan untuk menyuplai power kepada komponen eksternal.
GND. Adalah pin ground dari papan sirkuit NodeMCU
I2C Pin. Digunakan untuk menyambungkan jenis sensor dan peripheral yang membutuhkan koneksi I2C pada project Anda. I2C ini dapat mensupport Maser dan Slave. Fungsi dari interface I2C dapat digunakan secara programatik dan memiliki frekuensi clock maksimum 100kHz. Perlu diperhatikan bahwa frekuensi clock pada I2C ini harus lebih tinggi dari frekuensi clock paling rendah dari perangkat slave.
GPIO Pin. ESP8266 NodeMCU memiliki 17 pin GPIO yang dapat digunakan untuk fungsi yang berbeda-beda seperti I2C, I2S, UART, PWM, IR Remote kontrol, LED dan tombol secara programmatic. Setiap digital GPIO dapat dikonfigurasikan untuk internal pull-up dan pull-down, atau di set pada impedansi tinggi. Ketika setup sebagai input, pin ini pun dapat di atur menjadi edge-trigger atau level-trigger untuk menginterupsi CPU.
Channel ADC. Nodemcu terembedded dengan 10-bit SAR ADC. Dengan demikian dapan digunakan menjadi dua fungsi ADC viz. Yaitu, untuk mengecek tegangan power supply pin VDD3P3 dan input voltage pada pin TOUT. Namun, fungsi tersebut tidak dapat di implementasikan secara bersamaan.
Pin UART. ESP8266 NodeMCU memiliki 2 interface UART, yaitu UART0 dan UART1 yang memiliki komunikasi asynchronous (RS232 dan RS485), dan dapat berkomunikasi hingga 4.5MBps. UART0(TXD0, RXD0, RST0 dan CTS0) dapat digunakan untuk berkomunikasi. Pin ini dapat mensupport fluid control. Namun, UARTX1 (pin TXD1) hanya memiliki fitur mentransmit signal, biasa digunakan untuk mencetak log.
SPI Pins. ESP8266 memiliki dua fitur SPI (SPI dan HSPI) pada mode slave dan master. Pin SPI ini dapat mensuppurt beberapa fitur umum, diantaranya:
SDIO Pins. ESP8266 memiliki fitur Secure Digital Input/Output Interface (SDIO) yang digunakan secara langsung untuk interfacing SD Card. Pin ini mensupport 4-bit 25 MHz SDIO v1.1 dan 4-bit 50 MHz SDIO v2.0.
PWM Pins. Papan sirkuit ini memiliki 4 channel Pulse Width Modulation (PWM). Output PWM ini dapat di implementasikan secara programatik dan mengontrol motor digital serta LED. Frekuensi PWM berada pada rentang yang dapat di atur dari 100Hz hingga 1kHz.
Control Pin. Digunakan untuk mengontrol ESP8266. Pin ini memiliki Chip Enable pin (EN), Reset pin (RST) dan WAKE pin.
Ada beberapa platform yang dapat digunakan untuk memprogram ESP8266. Anda dapat menggunakan Espruino atau Mongoose OS ataupun menggunakan SDK yang disarankan oleh Espressif pada list platform ini yang tertulis pada halaman Wikipedia.
Kabar baiknya, komunitas ESP8266 membuat addons sehingga dapat menggunakan Arduino IDE. Jika Anda baru memulai mencoba menggunakan perangkat ini, sangat di sarankan menggunakan platform tersebut. Anda dapat membacanya secara lengkap pada artikel cara setup ESP8266 pada Arduino IDE.
ESP8266 add-on untuk Arduino ini berdasarkan kerja keras Ivan Grokhotkov dan anggota komunitas ESP lainnya. Untuk melihatnya lebih detail apa itu nodemcu add-os, Anda dapat mengunjungi github repository ESP8266 Arduino.
Anda telah mengetahui garis besar mengenai papan sirkuit ESP8266 NodeMCU pada artikel ini yang berjudul “ Apa itu nodeMCU “. Secara prinsip Anda telah memahami cara kerja dan fungsi dari perangkat ini. Namun, itu saja belum cukup, Anda harus terus mengasah dengan mempraktekan cara penggunaanya secara langsung dengan proyek-proyek menarik menggunakan papan sirkuit tersebut dari pada hanya mengetahui apa itu nodemcu.
Anda dapat mengukuti beberapa contoh implementasi penggunaannya pada:
Mengukur temperature dan kelembaban dengan NodeMCU
Sistem Pengelolaan Sampah Berbasis IoT