Szójegyzék¶
- baremetal¶
Operációs rendszer (teljes értékű) nélküli rendszer, például egy MCU alapú rendszer. Egy baremetal rendszeren futtatva a MicroPython gyakorlatilag egy kis operációs rendszerként működik, futtatja a felhasználói programokat és parancsértelmezőt (REPL) biztosít.
- buffer protocol¶
Bármely Python objektum, amely automatikusan bájtokká alakítható, mint például a
bytes,bytearray,memoryviewésstrobjektumok, amelyek mind megvalósítják a „buffer protocol”-t.- board¶
Ez jellemzően egy nyomtatott áramköri lapra (PCB) utal, amely egy mikrokontrollert és kiegészítő komponenseket tartalmaz. A MicroPython firmware-t jellemzően kártyánként biztosítják, mivel a firmware mind MCU-specifikus funkciókat, mind kártyaszintű funkciókat (például illesztőprogramokat vagy lábneveket) tartalmaz.
- bytecode¶
A Python program kompakt reprezentációja, amelyet a Python forráskód lefordításával állítanak elő. Ezt hajtja végre ténylegesen a VM. A bytecode jellemzően automatikusan generálódik futásidőben, és a felhasználó számára láthatatlan. Vedd figyelembe, hogy bár a CPython és a MicroPython is bytecode-ot használ, a formátum eltérő. A forráskódot előre is lefordíthatod offline a cross-compiler használatával.
- callee-owned tuple¶
Ez egy MicroPython-specifikus konstrukció, amelyben hatékonysági okokból egyes beépített függvények vagy metódusok ugyanazt az alapul szolgáló tuple objektumot újrahasználhatják az adatok visszaadására. Ezzel elkerülhető, hogy minden híváshoz új tuple-t kelljen lefoglalni, és csökken a heap töredezettsége. A programok nem tarthatnak hivatkozásokat a callee-owned tuple-ökre, hanem csak ki kell nyerniük belőlük az adatokat (vagy másolatot kell készíteniük).
- CircuitPython¶
A MicroPython egy változata, amelyet az Adafruit Industries fejlesztett.
- CPython¶
A CPython a Python programozási nyelv referenciaimplementációja, és a legismertebb is. Ugyanakkor csak egy a sok implementáció közül (beleértve a Jythont, IronPythont, PyPy-t és a MicroPythont). Bár a MicroPython implementációja jelentősen eltér a CPythontól, igyekszik a lehető legnagyobb kompatibilitást fenntartani.
- cross-compiler¶
mpy-crossnéven is ismert. Ez az eszköz a PC-n fut, és egy MicroPython kódot tartalmazó .py file-t egy MicroPython bytecode-ot tartalmazó .mpy file-vá alakít. Ez azt jelenti, hogy gyorsabban töltődik be (a kártyának nem kell lefordítania a kódot), és kevesebb helyet foglal a flash memórián (a bytecode helytakarékosabb).- driver¶
Egy MicroPython könyvtár, amely egy adott komponens, például egy érzékelő vagy kijelző támogatását valósítja meg.
- FFI¶
A Foreign Function Interface rövidítése. Egy mechanizmus, amelyet a MicroPython Unix port használ az operációs rendszer funkcióinak eléréséhez. Ez nem érhető el a baremetal portokon.
- filesystem¶
A legtöbb MicroPython port és kártya egy flash memóriában tárolt fájlrendszert biztosít, amely a felhasználói kód számára a szabványos Python fájl API-kon, például az
open()-en keresztül érhető el. Néhány kártya ezt a belső fájlrendszert USB tömegtárolón keresztül a gazda számára is elérhetővé teszi.- frozen module¶
Egy Python modul, amelyet keresztfordítottak és a firmware-képbe csomagoltak. Ez csökkenti a RAM-igényt, mivel a kód közvetlenül a flash memóriából fut.
- Garbage Collector¶
Egy háttérfolyamat, amely a Pythonban (és a MicroPythonban) fut, hogy visszanyerje a heap-en lévő nem használt memóriát.
- GPIO¶
Általános célú be-/kimenet (general-purpose input/output). A legegyszerűbb eszköz az elektromos jelek (közismert nevén „lábak”) vezérlésére egy mikrokontrolleren. A GPIO jellemzően lehetővé teszi, hogy a lábak bemenetek vagy kimenetek legyenek, valamint hogy beállítsák vagy lekérdezzék a digitális értéküket (logikai „0” vagy „1”). A MicroPython a GPIO-hozzáférést a
machine.Pinésmachine.Signalosztályokkal absztrahálja.- GPIO port¶
Egy csoport GPIO láb, amely általában ezeknek a láboknak a hardveres tulajdonságain alapul (pl. ugyanazzal a regiszterrel vezérelhetők).
- heap¶
A RAM egy olyan területe, ahol a MicroPython a dinamikus adatokat tárolja. Ezt automatikusan a Garbage Collector kezeli. A különböző MCU-k és kártyák rendkívül eltérő mennyiségű RAM-mal rendelkeznek a heap számára, így ez befolyásolja, hogy a programod mennyire lehet összetett.
- interned string¶
Egy optimalizáció, amelyet a MicroPython használ a stringekkel végzett munka hatékonyságának javítására. Egy interned stringre annak (egyedi) azonosítója alapján hivatkozik, nem pedig a címe alapján, így gyorsan összehasonlítható pusztán az azonosítója alapján. Ez azt is jelenti, hogy az azonos stringek deduplikálhatók a memóriában. A string interning szinte mindig láthatatlan a felhasználó számára.
- MCU¶
Mikrokontroller. A mikrokontrollerek általában jóval kevesebb erőforrással rendelkeznek, mint egy asztali gép, laptop vagy telefon, de kisebbek, olcsóbbak és sokkal kevesebb energiát igényelnek. A MicroPython úgy lett megtervezve, hogy elég kicsi és optimalizált legyen ahhoz, hogy egy átlagos modern mikrokontrolleren fusson.
- micropython-lib¶
A MicroPython (általában) egyetlen futtatható/bináris fájlként kerül terjesztésre, mindössze néhány beépített modullal. Nincs a CPython szabványos könyvtárához hasonlítható kiterjedt szabványos könyvtár. Ehelyett létezik egy kapcsolódó, de különálló projekt, a micropython-lib, amely a CPython szabványos könyvtárából számos modul implementációját biztosítja.
Néhány modul tiszta Pythonban van megvalósítva, és bármely porton fut; az OpenMV firmware ezek egy válogatását (érzékelő-illesztőprogramok, hálózatkezelés és segédprogramok) közvetlenül a firmware-képbe fagyasztja, hogy bármi telepítése nélkül importálhatók legyenek. A micropython-lib modulok egy kisebb része FFI-t használ, és csak a MicroPython Unix port-on működik; ezek nem érhetők el az OpenMV Cameken.
A CPython szabványos könyvtárával ellentétben azok a micropython-lib modulok, amelyek nincsenek befagyasztva, egyenként kerülnek telepítésre - vagy a fájlrendszerre másolva, vagy a hálózati képességekkel rendelkező kártyákon a mip használatával.
- MicroPython port¶
A MicroPython különböző kártyákat, RTOS-eket és OS-eket támogat, és viszonylag könnyen adaptálható új rendszerekhez. Egy adott rendszer támogatásával rendelkező MicroPythont az adott rendszerre szóló „port”-nak nevezzük. A különböző portok funkcionalitása nagyban eltérhet. Ez a dokumentáció a különböző portokon elérhető általános API-k („MicroPython core”) referenciájaként szolgál. Vedd figyelembe, hogy egyes portok továbbra is kihagyhatnak néhány itt leírt API-t (pl. erőforráskorlátok miatt). Az ilyen eltéréseket, valamint a MicroPython magfunkcionalitásán túli, portspecifikus bővítményeket a különálló, portspecifikus dokumentáció írja le.
- MicroPython Unix port¶
A unix port az egyik fő MicroPython port. POSIX-kompatibilis operációs rendszereken, például Linuxon, MacOS-en, FreeBSD-n, Solarison stb. való futtatásra szolgál. Emellett a Windows port alapjául is szolgál. A Unix port nagyon hasznos a MicroPython nyelv és a géptől független funkciók gyors fejlesztéséhez és teszteléséhez. A CPython
pythonfuttatható fájljához hasonló módon is működhet.- mip¶
A MicroPython csomagtelepítője (mip - „mip installs packages”). MicroPython csomagokat telepít akár a micropython-lib-ből, a GitHubról vagy tetszőleges URL-ekről. A mip a hálózati képességekkel rendelkező kártyákon eszközön belül használható, valamint belsőleg olyan eszközök által is, mint az mpremote.
A
miphasználatáról további információkért lásd: Csomagkezelés.- mpremote¶
Egy eszköz a MicroPython eszközzel való interakcióhoz. Lásd: MicroPython távoli vezérlés: mpremote.
- .mpy file¶
A cross-compiler kimenete. Egy .py file lefordított formája, amely Python forráskód helyett MicroPython bytecode-ot tartalmaz.
- native¶
Általában „natív kódra” utal, azaz a célmikrokontroller gépi kódjára (ARM Thumb a Cortex-M alapú OpenMV Cameken). A
@micropython.nativedekorátor alkalmazható egy MicroPython függvényre, hogy az adott függvényhez bytecode helyett natív kódot generáljon, ami valószínűleg gyorsabb lesz, de több RAM-ot használ.- port¶
Általában a MicroPython port rövidítése, de utalhat a GPIO port-ra is.
- .py file¶
Egy Python forráskódot tartalmazó fájl.
- pyboard.py¶
Egy mára meghaladott, gazda oldali eszköz a MicroPython kártyával való interakcióhoz — szkriptek futtatásához és a fájlrendszer eléréséhez a nyers REPL-en keresztül. Lásd a helyettesítőjét, az mpremote-ot.
- REPL¶
A „Read, Eval, Print, Loop” rövidítése. Ez az interaktív Python prompt, amely hasznos a hibakereséshez vagy rövid kódrészletek teszteléséhez. Az OpenMV Camek a REPL-t USB-n keresztül (USB CDC soros eszközként) elérhetővé teszik egy gazda PC számára.
- small integer¶
A MicroPython úgy optimalizálja az egész számok belső reprezentációját, hogy a „kis” értékek ne foglaljanak helyet a heap-en, és a velük végzett számítások ne igényeljenek heap-lefoglalást. A legtöbb 32 bites porton ez a
-2**30 <= x < 2**30intervallumba eső értékeknek felel meg, de ezt implementációs részletnek kell tekinteni, és nem szabad rá hagyatkozni.- stream¶
„File-szerű objektum” néven is ismert. Egy Python objektum, amely szekvenciális olvasási-írási hozzáférést biztosít az alapul szolgáló adatokhoz. Egy stream objektum egy megfelelő interfészt valósít meg, amely olyan metódusokból áll, mint a
read(),write(),readinto(),seek(),flush(),close()stb. A stream egy fontos fogalom a MicroPythonban; sok I/O objektum megvalósítja a stream interfészt, így következetesen és felcserélhetően használhatók különböző kontextusokban. A MicroPython streamekről további információkért lásd aziomodult.- UART¶
A „Universal Asynchronous Receiver/Transmitter” rövidítése. Ez egy periféria, amely egy lábpáron (TX és RX) keresztül küld adatokat. Sok kártya tartalmaz egy módot arra, hogy legalább az egyik UART-ot soros portként elérhetővé tegye egy gazda PC számára USB-n keresztül.
- upip¶
A MicroPython egy mára elavult csomagkezelője, amelyet a CPython pip-je ihletett, de annál jóval kisebb és csökkentett funkcionalitású. Lásd a helyettesítőjét, a mip-et.
- webrepl¶
Egy módszer egy eszköz REPL-jéhez való csatlakozáshoz (és fájlok átviteléhez) az interneten keresztül egy böngészőből. Lásd: https://micropython.org/webrepl