Servis Hattı
Python baskın programlama dili haline geldikçe, MicroPython gömülü sistemler alanında, özellikle Raspberry PI Vakfı tarafından yeni piyasaya sürülen popüler ESP32 ve RP2040 mikro denetleyici tabanlı Pico modülünde giderek daha popüler hale geldi.
Bir satır kod yazamayan bir bannon olarak çoğu zaman kendimi çok sınırlı hissettim ve bir programlama dili öğrenmek için iyi bir zaman bulmaya yemin ettim. 7 günlük Ulusal Gün tatilinde kendimi MicroPython'a adadım ve kendi tasarladığım Pico extension öğrenme kartında board üzerindeki çevre birimlerin tüm fonksiyonlarını gerçekleştirdim:
-
Süslü aydınlatma - monokrom, RGB üç renk, her türlü kombinasyon, düğmeler ve sensörler ile de kontrol edilebilir
-
OLED ekranı metinleri, görüntüleri ve dalga formlarını görüntüler
-
Ses sinyali OLED ekranında toplanır ve görüntülenir; böylece harika bir dalga biçimi görüntüsü elde edilir
-
Tahtadaki zil sesiyle "Ben ve Ülkem" çalınıyor
-
Rastgele dalga biçimleri oluşturmak için başka birinin kodunu taşımak (dalga biçimlerini değiştirmek, frekansı değiştirmek, büyüklüğü değiştirmek vb.)
7 günlük "keşif" sırasında beni en çok ETKİLEYEN şey, MicroPython'daki gömülü sistemlere başlamanın ne kadar kolay olduğuydu - zengin açık kaynak kaynakları, video kursları, metin vakaları vb. gibi çeşitli referans biçimleri.
MicroPython gerçekten harika bir programlama dilidir - nesne yönelimli, esnek, basit, zarif!
Kişisel öğrenimim başkalarının paylaşımından (açık kaynak) faydalanır ve bilgiyi aktarmanın en iyi yolu öğrendiklerimi ve öğrendiklerimi paylaşmaktır. Bu nedenle, bir ay içinde resmi olarak piyasaya sürülecek olan Pico'ya dayalı bir Micro Python gömülü programlama eğitimi başlatmayı planlıyorum. Elbette, İlk aşamada, Pico öğrenme tahtasını kendi başınıza tasarlamanıza yol açacak 15 canlı PCB tasarımı kursu olacak. Sonuçta, Pico çekirdek kartına dayanan ücretsiz baskı panosu ve ücretsiz nakliyenin uygun ortamında, herkes gelecekte çeşitli ilginç uygulamalar yapmak için PCB tasarlayabilir. Bir PCB'nin nasıl tasarlanacağını öğrenmek gömülü sistem mühendisleri için de bir avantaj olabilir.
Bundan sonra bu dersle ilgili bir dizi teknik makalemiz olacak. Bugün ilki:
1. MicroPython Nedir?
MicroPython, küçük bir yerleşik geliştirme panosunda çalışan, küçük, açık kaynaklı bir Python programlama dili yorumlayıcısıdır. MicroPython ile, C veya C++ (programlama için Arduino) gibi karmaşık temel dilleri kullanmak zorunda kalmadan donanımı kontrol etmek için temiz, basit Python kodu yazabilirsiniz.

MicroPython Logosu
Python programlama dilinin basitliği, MicroPython'u programlama ve donanıma yeni başlayanlar için ideal bir seçim haline getirir. MicroPython tam özelliklidir ve çoğu Python sözdizimini destekler, bu nedenle deneyimli Python ustaları bile MicroPython'u tanıdık ve eğlenceli bulacaktır.
MicroPython'un kullanımının kolay olmasının yanı sıra onu diğer gömülü sistemlerden ayıran bazı benzersiz özellikleri vardır:
İnteraktif yorumlayıcı kullanın: REPL (Okuma-Değerlendirme-Değerlendirme-Yazdırma Yazdırma-Döngü Döngüsü) - bu, bir panoya bağlanmanıza ve derleme veya yükleme yapmadan kodu yürütmesine olanak tanır - hızlı öğrenme ve donanımla deneme yapmak için mükemmeldir!
Zengin Yazılım Kitaplıkları - Normal Python programlama dili gibi, MicroPython da birçok görevi desteklemek için yerleşik çok sayıda kitaplığa sahiptir. Örneğin, MicroPython'un yerleşik kitaplıkları aracılığıyla, JSON verilerini Web hizmetlerinden ayrıştırmak, normal ifadeler kullanarak metin aramak ve hatta ağ soketi programlaması yapmak kolaydır.
Genişletilebilirlik - İleri düzey kullanıcılar için MicroPython, düşük seviyeli C/C++ işlevleriyle genişletilebilir, böylece gerektiğinde etkileyici yüksek seviyeli MicroPython kodunu daha hızlı düşük seviyeli kodla karıştırabilirsiniz.
MicroPython, Python 3 dilinin bir çeşididir. Bu, 2013 yılında PyBoard adında microPython özellikli bir donanım geliştirme kurulu geliştirmek için kitlesel fonlama ekibiyle birlikte çalışan Cambridge Üniversitesi'nden Ph.D. Darrien P. George'un buluşudur. MicroPython1.0, Python konferansında sunulmuştur ( Dr. George ayrıca MicroPython ve Pyboard'u desteklemek için Micro Python.org web sitesini (www.micropython.org) kurdu.

Resmi MicroPython.Org Logosu
MicroPython.Org PyBoard, STM32 denetleyicisini temel alır.
2. MicroPython ne yapabilir?
MicroPython, gömülü sistem kontrol programlarını hızlı ve verimli bir şekilde oluşturmak için tasarlanmıştır. Gömülü sistemler basitçe mühendislik ihtiyaçlarını karşılamak için mikrodenetleyicilerin kullanımını gerektiren herhangi bir proje olarak tanımlanabilir. Tipik gömülü sistemler, mikrokontrolörlerle arayüz oluşturmak için genellikle sensörler ve bazen elektromekanik aktüatörler kullanır. Kolay etkileşim için insan-makine arayüz cihazlarına bağlanabilirler ancak bağımsız çalışma veya buluta uzaktan erişim için daha otomatiktirler.
Tıpkı Arduino kartları gibi MicroPython da donanımı ve bağlı cihazları kontrol edebilir; GPIO pininin yanıp sönen ışıklarını kontrol edebilir, anahtarları okuyabilir ve daha fazlasını yapabilirsiniz; Sunucuyu ve LED'i çalıştırabilen PWM sinyalini çalıştırabilir; Analog sensörler, analogdan dijitale dönüştürücü aracılığıyla okunabilir ve okunabilir. I2C veya SPI cihazlarıyla iletişim kurmak da kolaydır. Hatta bazı kartlarda ağ ve Wi-Fi desteği bile bulabilirsiniz. MicroPython'un NeoPixels ve LED şeritleri, minyatür OLED ekranlar vb. gibi diğer donanımları kontrol etmek için kütüphaneleri bile vardır. Kısacası MicroPython pek çok şey yapabilir!
MicroPython'un sınırlamaları nelerdir?
MicroPython'un çok az sınırlaması vardır ve Arduino'nun yapabileceği hemen hemen her şey MicroPython kartları aracılığıyla yapılabilir. Bununla birlikte, MicroPython kodunun o kadar hızlı olmadığını ve benzer Arduino veya diğer C/C++ tabanlı düşük seviyeli kodlardan daha fazla bellek gerektirebileceğini unutmamak önemlidir; ancak hız ve bellek farklılıkları yeterince büyük olmadığından bu genellikle önemli değildir. çoğu uygulamayı etkiler. Zaman veya performans açısından kritik olan kodların MicroPython'da çalışmayabileceğini unutmayın. Örneğin, MicroPython'da bazı yüksek hızlı seri iletişim protokollerini uygulamak için yazılımı tamamen IO pinlerini sürmek için kullanmak en iyi fikir olmayabilir. Bununla birlikte, MicroPython ile düşük seviyeli C/C++ kodunu karıştırmanın yolları vardır, böylece her iki dünyanın da en iyisine sahip olabiliriz - ana mantık temiz ve anlaşılması kolay MicroPython kodudur, performans açısından kritik kısımlar ise MicroPython koduyla yazılmıştır. daha hızlı düşük seviyeli kod.
MicroPython dili, temel Python 3 dilinin çoğunu uygular, ancak MicroPython, Python 3 standart kütüphanesinin tamamını uygulamaz. Python'un kapsamlı bir standart kütüphaneye sahip olduğu biliniyor, ancak bu kadar büyük bir kütüphaneyi yalnızca kilobaytlık belleğe sahip küçük bir karta sıkıştırmaya çalışmak imkansızdır. Bunun yerine MicroPython, Python standart kütüphanesinin bazı küçük versiyonlarını uygulayarak mükemmel bir geliştirme deneyimi sağlar.
Yasal Uyarı: Bu makale "elektronik orman"dan yeniden basılmıştır, bu makale yalnızca yazarın kişisel görüşlerini temsil eder, Sakwei'nin ve sektörün görüşlerini temsil etmez, yalnızca çoğaltılır ve paylaşılır, fikri mülkiyet haklarının korunmasını destekler, lütfen orijinal kaynağı belirtin ve yazar, ihlal varsa silmek için lütfen bizimle iletişime geçin.




粤公网安备44030002007346号