Cara Install MicroPython pada Modul ESP8266 & ESP32

Oct. 17, 2020, 2:21 a.m.   afifai  


sample image

MicroPython

Bahasa Python merupakan bahasa pemrograman multipurpose yang populer beberapa tahun terakhir, hal ini dikarenakan Python merupakan salah satu Bahasa yang unggul dalam bidang yang sedang hype belakangan ini, yaitu Big-Data, Data Science dan sejenisnya.

MicroPython

Dengan sifatnya yang high-level, Bahasa Python ini menjadi sangat mudah digunakan dan dipelajari, namun ini juga yang menjadikan Bahasa Python menjadi bahasa pemrograman yang lambat

What makes Python fast is what makes Python slow (Jake Vanderplas)

Dengan constrain tersebut, pernahkah Kita bertanya, "Apakah bahasa Python dapat digunakan untuk embedded devices ?". Saya dapat menjawab "Ya", karena ada firmware Bahasa Python yang dibuat untuk kasus ini, yaitu MicroPython.

Damien George pembuat Micro Python membuat varian Python tersebut dengan menulis ulang dari nol menggunakan bahasa C dengan mengimplementasikan sintaks gramatikal Python, mencakup parser, compiler, virtual machine, runtime system, garbage collector, dan support library agar dapat berjalan pada mikroprosessor.

Modul Microcontroller

Berawal dari pertanyaan, mengapa Kami memilih modul berbasis ESP8266 dan ESP32 ?

Sebenarnya ada beberapa jenis papan micro-controller yang dapat di install firmware MicroPython (selengkapnya bisa dilihat di website MicroPython), namun karena modul berbasis ESP8266 dan ESP32 merupakan dua modul yang cukup banyak dicari di Indonesia dengan harga terjangkau. Anda bisa cek di market-place kesayangan Anda.

ESP32 vs ESP8266

Kedua modul ini dilengkapi dengan GPIO, dengan fitur protokol seperti SPI, I2C, UART, dan banyak lagi. Dan hal yang menarik dari kedua modul ini adalah mereka telah dilengkapi dengan wi-fi, sehingga modul ini bisa terkoneksi dengan Internet dan tentunya menjadi nyawa untuk sebuah IoT (Internet of Things) device(s).

SPESIFIKASI MODUL ESP8266 DAN MODUL ESP32

ESP32 merupakan penerus dari modul ESP8266. Pada ESP32 terdapat core CPU serta Wi-Fi yang lebih cepat, GPIO yang lebih banyak, serta sudah mendukung Bluetooth 4.2 dengan daya yang kecil.

Harga dari kedua modul ini variatif, untuk ESP8266 ada beberapa jenis board, misal AMICA, Lolin dll. (Tergantung dari pembuatnya) berkisar diantara Rp30.000 s.d. Rp 300.000, sedangkan ESP32 (salah satunya adalah LumpyBoard, board asli buatan Indonesia) berkisar antara Rp 80.000 s.d. Rp 500.000

Berikut merupakan tabel perbandingan spesifikasi dari kedua modul tersebut :

ESP8266 ESP32
MCU Xtensa Single-core 32-bit L106 Xtensa Dual-Core 32-bit LX6 with 600 DMIPS
Wi-Fi 802.11 b/g/n tipe HT20 802.11 b/g/n tipe HT40
Bluetooth Tidak Ada tipe 4.2 dan BLE
Typical Frequency 80 MHz 160 MHz
SRAM Tidak ada Ada
GPIO 17 36
Total SPI-UART-I2C-I2S 2-2-1-2 4-2-2-2
Resolusi ADC 10 bit 12 bit
Suhu operasional Kerja -40ºC to 125ºC -40ºC to 125ºC
Sensor di dalam module Tidak ada touch sensor, temperature sensor, hall effect sensor

Instalasi MicroPython

Pada pembahasan kali ini, Kami menggunakan sistem operasi Windows 10 Professional 64 Bit. Apabila Anda menggunakan sistem operasi lain, Anda bisa sesuaikan karena caranya cukup mirip.

Sebelum menginstall MicroPython, pastikan Anda sudah menginstall Python di komputer Anda. Anda juga harus memastikan bahwa Anda bisa mengakses pip pada terminal / command prompt.

Pertama Anda perlu mengistall esptool dengan cara :

pip install esptool

esptool digunakan untuk mem-flash maupun menghapus firmware pada modul ESP8266 maupun ESP32

Selanjutnya, Kita install library ampy dari AdaFruit. Library ini memudahkan Kita untuk upload, remove, modify, maupun menjalankan script dari Komputer Kita langsung ke modul ESP8266 maupun ESP32. caranya dengan mengetik :

pip install adafruit-ampy

Setelah Kita menginstall kedua library diatas, Kita perlu mendownload firmware MicroPython sesuai dengan modul yang kita miliki. Silahkan kunjungi website MicroPython, klik tab Download lalu pilih modul yang Anda miliki. ESP8266 atau ESP32

Mana firmware yang dipilih ?

Untuk ESP8266, sesuaikan dengan FlashMemory dari papan yang Anda miliki. Misal Anda memiliki papan dengan FlashMemory 4MB, Anda dapat memilih firmware yang 2M or more

Sedangkan untuk ESP32, jika Anda ragu dengan tipe yang Anda miliki, Anda bisa langsung download yang ESP-IDF v3.x

Langkah selanjutnya adalah mencolokkan modul ESP8266 / ESP32 ke PC, lalu buka Device Manager, dan lihat lokasi port dari board Anda.

Port Device Manager

Apabila Anda tidak yakin, Anda bisa melepas device Anda dari PC, lalu lihat port mana yang hilang lalu colokkan kembali. Pada kasus Kami, device terdeteksi pada COM5. Silahkan sesuaikan dengan device Anda.

Selanjutnya, hapus firmware default yang ada di modul, caranya sama antara board ESP8266 maupun ESP32, yaitu dengan membuka command prompt ataupun powershell, lalu ketikkan :

esptool --port COM5 erase_flash

Setelah proses selesai, upload firmware yang telah di download tadi.

Untuk ESP8266 caranya :

esptool --port COM5 write_flash --flash_size=detect -fm dio 0 esp8266-20200911-v1.13.bin

sebagai catatan, disini Kami menggunakan firmware esp8266-20200911-v1.13.bin. Pastikan Anda berada pada direktori tempat file tersebut berada.

Untuk ESP32 :

esptool --chip esp32 --port COM5 write_flash -z 0x1000 esp32-idf3-20200902-v1.13.bin

sebagai catatan, disini Kami menggunakan firmware esp32-idf3-20200902-v1.13.bin.

Cek Instalasi

Untuk masuk ke dalam mode repl dari MicroPython, Anda perlu mendownload dan install software PuTTY .

Apabila Anda sudah install, Anda buka software tersebut, pilih Serial pada connection type, lalu masukkan serial line COM5 (sesuaikan dengan milik Anda) dan masukkan speed 115200 lalu klik open

PuTTY

Apabila muncul seperti console Python pada umumnya, selamat Anda sudah berhasil menginstall MicroPython pada module ESP8266 / ESP32 milik Anda.

Untuk selanjutnya, silahkan ikuti Live Streaming dari Channel NgodingPython dengan klik gambar dibawah :

LIVE STREAMING DIMULAI PADA 17 OKTOBER 2020 PUKUL 19.30 WIB

Video Simulasi Hisab 2


CARI

Afif A.I

Halo, saya Afif.
Semoga platform NgodingPython.com menjadi sarana untuk berbagi lebih luas