+86 755-83044319

Perspektivy

/
/

Snadný úvod do vestavěných systémů (1) - Co je MicroPython?

čas vydání:2022-03-08Zdroj autora:SlkorProcházet:5174

Jak se Python stal dominantním programovacím jazykem, stal se MicroPython stále populárnější v prostoru vestavěných systémů, zejména v populárním ESP32 a modulu Pico založeném na mikrokontroléru RP2040, který právě vydala nadace Raspberry PI Foundation.

Jako bannon, který neuměl napsat řádek kódu, jsem se po většinu času cítil velmi omezený a slíbil jsem, že si najdu vhodný čas na to, abych se naučil programovací jazyk. Během 7denního státního svátku jsem se věnoval MicroPythonu a realizoval jsem všechny funkce periferií na desce na mnou navržené výukové desce Pico extension:

  • Efektní osvětlení - monochromatické, RGB tři barvy, všemožné kombinace, lze ovládat i tlačítky a senzory

  • OLED obrazovka zobrazuje text, obrázky a křivky

  • Zvukový signál je shromažďován a zobrazován na obrazovce OLED – díky čemuž se zobrazuje skvělý průběh

  • Hra „Já a moje země“ s bzučákem na hrací ploše

  • Portování kódu někoho jiného za účelem generování libovolných průběhů - změna průběhů, změna frekvence, změna velikosti atd.



Co na mě během 7denního „průzkumu“ udělalo největší dojem, bylo to, jak snadné bylo začít s vestavěnými systémy v MicroPythonu – bohaté zdroje s otevřeným zdrojovým kódem, různé formy odkazů, jako jsou video kurzy, textové případy atd.

MicroPython je opravdu skvělý programovací jazyk – objektově orientovaný, flexibilní, jednoduchý, elegantní!

Moje osobní učení těží ze sdílení ostatními (open source) a nejlepší způsob, jak předávat znalosti, je sdílet to, co jsem se naučil a co jsem se naučil. Proto plánuji spustit výukový program embedded programování v Micro Pythonu založený na Pico, který bude oficiálně spuštěn za měsíc. Samozřejmě, V rané fázi proběhne 15 živých kurzů návrhu PCB, které vás dovedou k tomu, abyste si sami navrhli výukovou tabuli Pico. Koneckonců, v pohodlném prostředí bezplatné tiskové desky a bezplatné dopravy, založené na základní desce Pico, může každý navrhnout PCB pro různé zajímavé aplikace v budoucnu. Naučit se navrhovat PCB může být také výhodou pro inženýry vestavěných systémů.

Od této chvíle bude k tomuto kurzu vycházet řada technických článků. Dnes je první:

1. Co je MicroPython

MicroPython je malý open source interpret programovacího jazyka Python, který běží na malé vestavěné vývojové desce. S MicroPython můžete psát čistý, jednoduchý Python kód pro ovládání hardwaru, aniž byste museli používat složité základní jazyky, jako je C nebo C++ (Arduino pro programování).


Logo MicroPython

Jednoduchost programovacího jazyka Python dělá z MicroPythonu ideální volbu pro začátečníky v programování a hardwaru. MicroPython je velmi plnohodnotný a podporuje většinu syntaxe Pythonu, takže i zkušeným veteránům Pythonu bude používání MicroPythonu známé a zábavné.

Kromě snadného použití má MicroPython některé jedinečné funkce, které jej odlišují od ostatních vestavěných systémů:

Použijte interaktivní tlumočník: REPL (Čtení Čtení - Vyhodnocování - Vyhodnocování - Tisk Tisk - Smyčka) - to vám umožní připojit se k desce a nechat ji spustit kód bez kompilace nebo nahrávání - ideální pro rychlé učení a experimentování s hardwarem!

Bohaté softwarové knihovny – Stejně jako běžný programovací jazyk Python má MicroPython vestavěné velké množství knihoven pro podporu mnoha úloh. Například prostřednictvím vestavěných knihoven MicroPythonu je snadné analyzovat data JSON z webových služeb, vyhledávat text pomocí regulárních výrazů a dokonce programovat síťový soket.

Rozšiřitelnost – Pro pokročilé uživatele lze MicroPython rozšířit o nízkoúrovňové funkce C/C++, takže v případě potřeby můžete kombinovat expresivní vysokoúrovňový kód MicroPythonu s rychlejším nízkoúrovňovým kódem.

MicroPython je varianta jazyka Python 3. Je duchovním dítětem Darriena P. George, Ph.D., z University of Cambridge, který v roce 2013 spolupracoval s týmem crowdfundingu na vývoji hardwarové vývojové desky s podporou microPythonu s názvem PyBoard. MicroPython1.0 byl představen na konferenci Python ( PyCon) v roce 2014. Dr. George také založil web Micro Python.org (www.micropython.org) na podporu MicroPython a Pyboard.


Oficiální logo MicroPython.Org

MicroPython.Org PyBoard, založený na řadiči STM32.


2. Co umí MicroPython?

MicroPython je navržen tak, aby rychle a efektivně vytvářel programy pro řízení vestavěných systémů. Vestavěné systémy lze jednoduše definovat jako jakýkoli projekt, který vyžaduje použití mikrokontrolérů pro splnění technických potřeb. Typické vestavěné systémy obvykle používají senzory a někdy elektromechanické akční členy k propojení s mikrokontroléry. Mohou být připojeny k zařízením rozhraní člověk-stroj pro snadnou interakci, ale jsou více automatizované, pro samostatný provoz nebo vzdálený přístup ke cloudu.

Stejně jako desky Arduino může MicroPython ovládat hardware a připojená zařízení - můžete ovládat blikající světla GPIO, číst přepínače a další; Může řídit signál PWM, který může řídit server a LED; Analogové senzory lze číst a číst pomocí analogově-digitálního převodníku. Snadná je také komunikace se zařízeními I2C nebo SPI. Na některých deskách dokonce najdete podporu sítě a WiFi. MicroPython má dokonce knihovny pro ovládání dalšího hardwaru, jako jsou NeoPixely a LED pásky, miniaturní OLED displeje a tak dále. MicroPython zkrátka umí spoustu věcí!

Jaká jsou omezení MicroPythonu?

MicroPython má jen velmi málo omezení a téměř vše, co může Arduino dělat, lze provést prostřednictvím desek MicroPython. Je však důležité poznamenat, že kód MicroPythonu není tak rychlý a může vyžadovat více paměti než podobné Arduino nebo jiný nízkoúrovňový kód založený na C/C++, i když na tom obvykle nezáleží, protože rozdíly v rychlosti a paměti nejsou dostatečně velké, aby ovlivnit většinu aplikací. Uvědomte si, že kód, který je kritický pro čas nebo výkon, nemusí v MicroPythonu fungovat. Například použití softwaru výhradně k řízení IO pinů pro implementaci některých vysokorychlostních sériových komunikačních protokolů v MicroPythonu nemusí být nejlepší nápad. Existují však způsoby, jak smíchat kód MicroPythonu a nízkoúrovňového kódu C/C++, abychom mohli mít to nejlepší z obou světů – hlavní logikou je čistý a snadno srozumitelný kód MicroPythonu, zatímco části kritické pro výkon jsou napsány v rychlejší nízkoúrovňový kód.

Jazyk MicroPython implementuje většinu základního jazyka Python 3, ale MicroPython neimplementuje celou standardní knihovnu Python 3. Python je známý tím, že má rozsáhlou standardní knihovnu, ale pokusit se komprimovat tak velkou knihovnu na malou desku s pouhými kilobajty paměti je nemožné. Místo toho MicroPython implementuje některé menší verze standardní knihovny Python, což poskytuje skvělý vývojový zážitek.


Upozornění: Tento článek je přetištěn z "elektronického lesa", tento článek představuje pouze osobní názory autora, nereprezentuje názory Sakwei a průmyslu, pouze reprodukován a sdílen, podporuje ochranu práv duševního vlastnictví, uveďte prosím původní zdroj a autora, pokud dojde k porušení, kontaktujte nás, abychom je smazali.



Servisní horká linka

+86 0755-83044319

Hallův snímač

Získejte informace o produktu

WeChat

WeChat