MicroPython, gömülü sistemler üzerinde çalışan Python3 diliyle aynı sözdizimine sahip açık kaynak kodlu bir python uyarlamasıdır. Özellikle gömülü sistemlerde C/C++ egemenliğinin, öğrenme ve geliştirme sürecini yavaşlatması nedeniyle popülerleşmeye başlamış bir konudur. Bunun dışında en bariz dezavantajı ise performans olduğunu söylemek kesinlikle geçerlidir.
MicroPython, derleme yerine yorumlama ile çalıştığı için performans anlamında yapılacak işe göre çok daha düşük sonuçlar verebilir. Bu nedenle prototip için kesinlikle kullanılmalı ama ürünleşme sürecinde C/C++ ile geliştirme yapılmasını önermekteyim.
MicroPython destekleyen cihazlar
MicroPython kullanan cihazlara baktığımızda aşağıdaki gibi seçenekler olmakla birlikte en popüleri Raspberry Pi Pico olarak görebiliriz:
- Raspberry Pi Pico
- micro:bit
- pyboard
- WiPy
- ESP8266
- ESP32
- Teensy
- LEGO Technic Large Hub
- Wemos D1 Mini
MicroPython çalıştırma öncesi
MicroPython kullanan cihazların üzerine bir MicroPython komutu çalıştırmanın 2 farklı yolu bulunmakta. Bunlardan ilki karşı tarafa dosyayı atmadan hafıza üzerinde çalıştırmak. Diğeri ise geliştirilen kodun kalıcı hafızaya atılıp otomatik bir şekilde güç kapatılıp açıldığında bile çalışmasını sağlamaktadır.
Kart üzerinde USB arabirimi bulunduğunda veya TTL'den USB'ye çeviren bir aparat ile bilgisayarınız ile kartınızın USB ile bağlantı kurması gerekmektedir.
Varsayılan olarak kartınızda MicroPython firmware olduğunu varsayarak USB kablosunu takmadan önce aşağıdaki komut ile sisteme takılan USB'lerin bulunması için interaktif modda açılması sağlanır. Bunu yaparken yetkili bir kullanıcı ile yapmanız gerekir.
sudo dmesg -w
Bu komut sonrasında ttyXXXY şeklinde bir aygıtın eklendiği görüntülenmesi gerekmektedir. Bu aygıt görüntülendikten sonra artık sisteminize bağlanabileceğiniz anlamı taşımaktadır.
MicroPython çalıştırmak
Cihazınız bilgisayarına bağlandıktan sonra komut satırı üzerinden ampy veya Thoony isminde arayüz uygulaması ile yazılımlarınızı cihazınıza gönderebilirsiniz.
Thoony kullanarak yazılım gönderme ve çalıştırma konusunda çok fazla kaynak olduğu için tekrar etmeyeceğim.
ampy
ampy paketi python3 pip paketi olarak bulunabilmektedir. Bunun için python3-pip3 paketinin yüklü olduğu varsayılarak aşağıdaki komut ile kurulumu gerçekleştirilir.
pip3 install adafruit-ampy
Kurulum sonrasında cihaz içerisindeki dosyaları görmek için aşağıdaki komut kullanılır.
ampy --port /dev/ttyXXXY ls
Herhangi bir python kodunuzu "main.py" isminde veya "herhangi.py" gibi herhangi bir isimde olacak şekilde, cihaza yüklemeden, sadece çalıştırmak için aşağıdaki komut kullanılır.
ampy --port /dev/ttyXXXY run main.py
ampy --port /dev/ttyXXXY run herhangi.py
Bu şekilde gönderilen uygulamalar, cihazınızla güç kesildikten sonra tekrarda yapılmaz.
Fakat eğer cihazınızın içerisine dosyayı göndermek ve hep çalıştırmak isterseniz aşağıdaki komut ile açıldığında varsayılan olarak başlamasını sağlayabilirsiniz:
ampy --port /dev/ttyXXXY put main.py
Bu komut ile main.py içeriği cihaza gönderilir ve her başlangıçta tekrar başlar. Herhangi bir dosyayı gönderip, tetiklendiğinde çalıştırmak isterseniz de farklı isimlerde dosyalar gönderebilirsiniz. Fakat varsayılanda çalışmayacağını unutmayalım.
ampy --port /dev/ttyXXXY put herhangi.py
Ayrıca attığınız dosyalardan herhangi birisini silmek isterseniz aşağıdaki komut ile silebilirsiniz.
ampy --port /dev/ttyXXXY rm herhangi.py
ampy --port /dev/ttyXXXY rm main.py
Top comments (2)
Nice post! With the latest version of MicroPython, there's a tool called
mpremote
which can do similar tasks to ampy but it is maintained and part of the MicroPython release. In the next release, there will be another new tool calledmip
for installing packages to the board, too!Many thanks for the contribution. I didn't know about the related applications and I am very glad to learn. I'm looking forward to the mip for package system.