MicroPython çalışan cihazlarda Python kodu çalıştırma

aliorhun

Ali Orhun Akkirman

Posted on December 31, 2022

MicroPython çalışan cihazlarda Python kodu çalıştırma

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

Image description

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


Enter fullscreen mode Exit fullscreen mode

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


Enter fullscreen mode Exit fullscreen mode

Kurulum sonrasında cihaz içerisindeki dosyaları görmek için aşağıdaki komut kullanılır.



ampy --port /dev/ttyXXXY ls


Enter fullscreen mode Exit fullscreen mode

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


Enter fullscreen mode Exit fullscreen mode

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


Enter fullscreen mode Exit fullscreen mode

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


Enter fullscreen mode Exit fullscreen mode

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


Enter fullscreen mode Exit fullscreen mode
💖 💪 🙅 🚩
aliorhun
Ali Orhun Akkirman

Posted on December 31, 2022

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related