Micropython 123

, , Leave a comment

Halo selamat datang kembali di andidinata.com. Pada kesempatan kali ini saya ingin membagikan betapa mudahnya proses development dengan micropython. Micropython adalah Python 3 yang ditulis ulang oleh Damien George, seorang physician dan computer scientist, ke dalam sebuah microcontroller. Microcontroller (MCU) adalah sebuah sistem komputasi yang terbatas dari segi kecepatan dan memori. Kreativitas dari penemu Micropython ini patut diberikan applause karena dia mampu mencari jalan keluar agar Python yang terkenal sebagai bahasa high-level dan membutuhkan memori besar untuk pengoperasiannya, bisa dibenamkan di dalam sebuah chip microcontroller. Sehingga kita yang sudah terbiasa dengan Python, bisa menggunakan teknik dan kebiasaan kita di micropython. Sehingga kita tidak perlu mempelajrai belajar bahasa pemrograman baru untuk mencoba bidang programming microcontroller.

Yang saya maksud dengan Micropython 123 adalah 3 langkah mudah untuk memulai micropython. Micropython bisa dijalankan di NodeMCU atau Wemos D1 mini yang berbasis ESP8266. Kedua board MCU ini bisa didapatkan dengan harga terjangkau di Indonesia, harganya sekitar ~55 – 65 ribuan. Jangan lupa pinjam kabel USB yang biasa dipakai untuk charge dan transfer data smartphone. Kabel ini digunakan untuk menghubungkan MCU ini dengan komputer.

Dalam tutorial ini, saya menggunakan Linux. Linux adalah OS yang paling nyaman untuk urusan development. Kalau kamu belum terbiasa dengan Linux,  saya sarankan untuk membiasakan diri. Mari kita mulai dengan 3 hal mudah untuk memulai Micropython

1. Instalasi Micropython

Masuk ke dalam terminal dan ketikkan pip install esptool . Tool ini yang digunakan untuk memflash chip MCU dengan firmware micropython.

Download firmware micropython terbaru dari website resminya disini http://www.micropython.org/download#esp8266. Setelah download selesai, masuklah ke dalam direktori tempat file firmware disimpan, misalnya direktori Downloads.

Sambungkan MCU dengan Linux dengan menggunakan kabel micro usb dan cari apakah board sudah terhubung melalui serial. Check dengan perintah ls /dev/tty*. Jika kamu menemukan /dev/ttyUSB0 maka artinya board sudah dikenali oleh Linux.

Agar benar-benar kosong, tahap pertama yang kita lakukan adalah menghapus isi dari ESP8266. Ketikkan perintah esptool.py –port /dev/ttyUSB0 erase_flash

Setelah selesai, sekarang saatnya menginstall firmware micropython. Ketikan perintah esptool.py –port /dev/ttyUSB0 –baud 460800 write_flash –flash_size=detect 0 esp8266-20171101-v1.9.3.bin . Perlu diingat bagian yang saya beri warna adalah filename dari firmware.  Sesuaikanlah dengan filename firmware yang telah kamu download.

Sampai tahap ini micropython telah diinstall. Selanjutnya adalah mengakses micropython melalui serial connection. Kamu bisa menggunakan banyak program untuk melakukannya. Saya menggunakan picocom. Jika belum terinstall lakukan installasinya dengan perintah sudo apt-get install picocom

Untuk masuk ke micropython ketikkan picocom -b 115200 /dev/ttyUSB0 . Maka selesailah instalasi dan kamu sudah terhubung dengan micropython. Saat tulisan “Terminal Ready” muncul, tekan ENTER maka micropython prompt >>> akan terlihat.

Disini micropython bertindak sebagai “operating system” dari MCU. Micropython memiliki file system sendiri, jadi kita bisa melihat direktori apa saja yang ada di dalam flash memori dari MCU. Dari prompt ini, kamu bisa langsung berinteraksi sensor atau actuator yang dimiliki (on-board) atau terhubung (external) dengan microcontroller. Ini yang disebut dengan micropython runs on bare metal, artinya micropython dapat dijalankan langsung dari microcontroller.

2. Test Hardware

Secara luas “Hello World” menjadi tradisi saat kita melakukan coding/development untuk pertama kali. Dalam konteks hardware coding (=physical computing), blinking led adalah tradisi. Oleh karena itu, mari kita berinteraksi langsung dengan actuator on-board berupa led yang ada di modul ESP8266. On-board led terhubung dengan GPIO2. I/O Pin adalah jendela MCU untuk “sensing” dan “actuating” dengan sekitarnya. I/O Pin diakses melalui library machine.

Ketikkan perintah ini langsung di micropython shell baris per baris

from machine import Pin
led=Pin(2, Pin.OUT)
led.value(0)
led.value(1)

Seketika on-board led akan bereaksi dengan perintah yang kita tuliskan. Ini adalah kelebihan Python yang tetap ditemukan di micropython, yaitu interpreted. Tidak ada proses compiling yang memakan waktu. You see what you tell MCU to do, instantly. Ini adalah kekuatan dari micropython karena proses development dan debugging berjalan dengan sangat cepat sehingga dapat mereduksi dan membuat penggunaan waktu dan biaya (resources) lebih efisien.

3. Install Adafruit Ampy

Untuk berinteraksi dengan micropython lebih mudah lagi, saya sarankan untuk menginstall sebuah tool yang dikembangkan oleh Adafruit Industries. Dengan Ampy (=adafruit micropython) kita dapat melakukan file exchange dengan MCU dengan mudah. Bahkan kita bisa melakukan testing script dan print serial outputnya. Dengan Ampy, proses development akan menjadi lebih efisien.

Untuk instalasi ketikkan perintah pip install adafruit-ampy

Salah satu fungsi paling berguna adalah kita dapat melakukan testing dengan cara menjalankan script tersebut di MCU tanpa harus mengcopykannya. Contohnya adalah sudo ampy -b 115200 -p /dev/ttyUSB0 run pedo.py. Script bernama pedo.py masih ada di linux tapi dengan perintah tersebut saya bisa melihat hasil dari script jika dijalankan di MCU.

Sekian tulisan singkat yang menggambarkan betapa mudahnya micropython untuk mengcontrol MCU. Ini yang membuat saya termotivasi untuk mengeksplore micropython lebih jauh lagi.

Terima kasih sudah membaca. Mohon dukungannya untuk like dan share tulisan ini dan semoga bermanfaat. Sampai berjumpa ditulisan berikutnya.

 

Source:

“http://docs.micropython.org/en/latest/esp8266/”

Facebook Comments
 

Leave a Reply