Cara Mengunggah Firmware ESP8266

From Indonesian Research And Development Center
Jump to: navigation, search

Pendahuluan

Tutorial singkat ini akan membahas cara mengunggah firmware pada modul WiFi ESP8266. Pada prinsipnya, ada beberapa firmware yang sering digunakan untuk modul WiFi ESP8266, berikut ini adalah beberapa di antaranya:

Selain menggunakan firmware di atas, Anda juga dapat langsung menggunakan IDE Arduino untuk membuat program yang kemudian dapat Anda unggah ke modul ESP8266 dengan terlebih dahulu melakukan instalasi ESP8266 Core pada IDE Arduino. Tutorial ini akan menggunakan skrip python bernama esptool.py untuk mengunggah firmware ke modul WiFi ESP8266. Selain itu, modul ESP8266 yang digunakan pada tutorial ini adalah tipe ESP-01 sehingga Anda perlu melakukan penyesuaian jika menggunakan tipe lainnya. Berikut ini adalah beberapa tipe modul WiFi ESP8266:


Esp8266-tipe.jpg


Langkah-langkah

  • Berikut ini adalah pinout modul WiFi ESP8266 tipe ESP-01:


Esp8266-esp01-pinout.png


  • Sebelum mengunggah firmware yang Anda inginkan ke modul WiFi ESP8266, siapkan terlebih dahulu beberapa komponen penunjang berikut ini:
- Adapter USB to Serial, misalnya adapter FTDI yang mendukung tegangan 3.3V.
- Kabel jumper.
  • Berikut ini adalah skema koneksi antara adapter USB to serial dan modul WiFi ESP8266 (pastikan untuk mengatur adapter USB to serial pada tegangan 3.3V karena kesalahan pengaturan tegangan dapat merusak modul WiFi ESP8266):


Esp8266-ftdi.png


  • Untuk lebih jelasnya, berikut ini adalah keterangan koneksi pada rangkaian di atas:
FTDI USB to Serial ESP-01
GND GND
Vcc Vcc
Tx Rx
Rx Tx
Vcc CH_PD
GND GPIO_0
  • Setelah membuat rangkaian di atas, lanjutkan dengan menghubungkan komputer dengan adapter USB to serial. Karena tutorial ini akan menggunakan skrip python esptool.py, maka Anda perlu memastikan dahulu bahwa sistem operasi yang Anda gunakan telah memiliki modul pyserial. Jika belum, maka Anda harus terlebih dahulu melakukan instalasi modul pyserial dengan perintah seperti ini:
% sudo pip install pyserial
  • Lakukan kloning terhadap skrip esptool.py menggunakan git (atau Anda juga dapat mengunduh dalam format zip):
% git clone https://github.com/themadinventor/esptool.git
  • Setelah itu, pindah ke sub direktori esptool:
% cd esptool
  • Unduh firmware yang akan digunakan, misalnya firmware dari NodeMCU:
% wget -q 'https://github.com/nodemcu/nodemcu-firmware/releases/download/0.9.6-dev_20150704/nodemcu_float_0.9.6-dev_20150704.bin'
  • Setelah itu, jalankan skrip esptool dengan menggunakan perintah seperti ini (gunakan serial port sesuai dengan yang terdapat pada sistem operasi yang Anda gunakan):
% ./esptool.py --port=/dev/ttyUSB0 write_flash 0 nodemcu_float_0.9.6-dev_20150704.bin -fs 32m -fm dio -ff 40m
Connecting...
Erasing flash...
Took 1.49s to erase flash block
Wrote 462848 bytes at 0x00000000 in 44.7 seconds (82.7 kbit/s)...

Leaving...
  • Proses di atas akan berlangsung selama beberapa saat, jadi Anda perlu menunggu hingga proses tersebut selesai.
  • Jika Anda ingin menggunakan firmware buatan Espressif sebagai produsen ESP8266, maka Anda dapat mengunduhnya dari situs espressif. Anda perlu memperhatikan bahwa firmware buatan espressif ada 2 jenis, yaitu tipe RTOS dan NonOS. Firmware NonOS adalah firmware yang menggunakan AT command untuk menjalankan fungsi yang terdapat pada modul WiFi ESP8266. Perlu diperhatikan bahwa firmware NonOS mulai versi 1.5.0 membutuhkan memori flash minimal 8Mbit.
  • Untuk firmware versi lama yang sesuai dengan modul WiFi ESP8266 yang masih menggunakan memori flash berukuran 4Mbit (512KB), Anda dapat menggunakan firmware esp_iot_sdk_v1.0.0_15_03_20. Jika ingin menggunakan firmware tersebut (walaupun tidak disarankan), maka Anda dapat mengunduh firmware tersebut menggunakan cara berikut ini:
% wget -q -O esp_iot_sdk_v1.0.0_15_03_20.zip 'http://bbs.espressif.com/download/file.php?id=250'
  • Selanjutnya, ekstrak arsip tersebut:
% unzip -q esp_iot_sdk_v1.0.0_15_03_20.zip
  • Proses mengunggah firmware buatan espressif agak berbeda dengan firmware NodeMCU, karena firmwarenya terdiri atas beberapa bagian. Berikut ini adalah proses mengunggah firmware tersebut menggunakan skrip esptool.py:
% ./esptool.py write_flash \
0x00000 esp_iot_sdk_v1.0.0/bin/boot_v1.2.bin \
0x01000 esp_iot_sdk_v1.0.0/bin/at/user1.512.new.bin \
0x3e000 esp_iot_sdk_v1.0.0/bin/blank.bin \
0x7e000 esp_iot_sdk_v1.0.0/bin/blank.bin
Connecting...
Erasing flash...
Took 0.08s to erase flash block
Wrote 2048 bytes at 0x00000000 in 0.2 seconds (81.3 kbit/s)...
Erasing flash...
Took 1.17s to erase flash block
Wrote 240640 bytes at 0x00001000 in 23.4 seconds (82.3 kbit/s)...
Erasing flash...
Took 0.08s to erase flash block
Wrote 4096 bytes at 0x0003e000 in 0.4 seconds (85.1 kbit/s)...
Erasing flash...
Took 0.08s to erase flash block
Wrote 4096 bytes at 0x0007e000 in 0.4 seconds (85.1 kbit/s)...

Leaving...
  • Setelah proses mengunggah firmware selesai, Anda dapat melepaskan koneksi pada pin CH_PD dan GPIO dan mulai menggunakan modul WiFi ESP8266 tersebut dengan firmware yang baru.


Penutup

Sekian tutorial singkat kali ini, semoga bermanfaat. Terima kasih kepada Tuhan Yang Maha Esa, Maxindo, N3 dan Anda yang telah membaca tutorial ini.


Referensi