Blog / IoT

MicroPython සිංහලෙන්

ප්‍රබල භාෂාවක් වන Python මගින් ESP32 program කරගමු

 · 2 min read

File:Micropython-logo.svg - Wikipedia

Arduino වලින් පිරිච්ච ලෝකෙක තරමක වෙනස් මාතෘකාවක් අපි මේ කතා කරන්නේ. Arduino, C ++ වලින් ගොඩනැගුණු free programming software එකක්. Arduino code එක ප්‍රමාණයෙන් කුඩාවෙන්නත් ඉතා වේගයෙන් execute වෙන්නත් බලපාන ප්‍රධාන සාධකයක් තමයි, compiled language එකක් වීම. Python අයිති වෙන්නේ scripted language එකක් හැටියට. ESP32 වගේ chips නිසා අපිට දැන් python දැන් microcontroller level එකටත් භාවිත කිරීමේ හැකියාව ලැබිලා තියෙනවා.


ESP32 එක computer එකට connect කරලා device manager එකේ පහල ආකාරයට පෙන්නනවා ඇති කියලා මම බලාපොරොත්තු වෙනවා.



අපි මුලින්ම python ESP32 එකට flash කරගමු. මේකට අපිට අවශ්‍ය වෙනවා arduino වගේම තවත් software එකක්. මේකේ නම Thonny (https://thonny.org/), මම මේ blog post එක ලියන වෙලාවේ Thonny version එක 4.1.7. Thonny install කරලා open කලාම මේ වගේ interface එකක් දකින්න පුළුවන් වෙයි. Thonny වලින්ම තමයි අපි ESP32 එකට code upload කරගන්නෙත්.



Menu එකෙන් Tools >> Options වලට යන්න. එතන පහල තියෙන "Install or update Micropython" කියන ලින්ක් එක open කරන්න.



පහත ආකාරයට settings select කරලා "Install" button එක click කරන්න. විනාඩ් කිහිපයක් යයි, පහල දකුණු පැත්තෙන් progress එක පෙන්නයි, ඉවර උනාම ඒ dialog දෙකම close කරන්න. අපි python, micropython වෙනස මෙවෙලාවේ කතා කරන්නේ නැ.



දැන් ඕගොල්ලන්ට Shell කියන තැන python prompt එක පහල විදියට පෙන්නන්න ඕනේ. ESP32 එකේ python version එකත් දකින්න ලැබෙයි.



අපි දැන් onboard LED එක ON/OFF කරලා බලමු. මෙතනදී අපිට බලාගන්න පුළුවන් Compiled හා Scripted language එකක පැහැදී වෙනසක්.



Prompt එකේ මේ commands, line එකෙන් line එක copy/paste කරලා execute කරන්න.


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


LED එක ON වෙන්න ඕනේ.

දැන් LED එක OFF කරන්න ඕනේ නම් ඊළඟ command එක execute කරන්න.


led.value(0)


අපි code එක පැහැදිලි කරගමු. පළමුව අපි කරන්නේ GPIO නැත්තම් Pin control, library එක memory එකට load කරගන්නවා. ඊට පස්සේ අපි "led" කියන object එකක් හදාගන්නවා GPIO number (2) එකෙන් හා ක්‍රියාකලයුතු direction (Output) එක ESP32 එකට දැන්වීමෙන්. අන්තිමට අපි "led" එකට value එකක් ලබාදෙනවා.


අපිට compile කරලා upload කරන්න අවශ්‍ය උනේ නැ, real-time code එක execute උනා.

මේක තමයි ESP32 හරහා python වලට ආරම්භය.


Python වල ජනප්‍රියතාවය නිසා arduino වලත් දැන් micropython වලින් coding කරන්න දෙනවා (https://docs.arduino.cc/micropython/)