MicroPython Arduino tahvlitega: täielik praktiline juhend

Viimane uuendus: 05/17/2026
  • MicroPython töötab paljudel tänapäevastel Arduino-klassi plaatidel (ESP32, RP2040, STM32, Renesas RA), kuid mitte realistlikult klassikalistel AVR-põhistel Uno seadmetel.
  • MicroPython GitHubi ja serveri ametlik püsivara, pordid ja igapäevased versioonid lihtsustavad ühilduvate Arduino ja NodeMCU plaatide vilkumist.
  • Rikkalik MicroPythoni paketi register pakub testitud draivereid anduritele, kuvaritele, IO-laiendite ja Arduino-spetsiifilistele moodulitele nagu Modulinos ja Nicla Sense Env.
  • MicroPythoni ja Arduino riistvara kombineerimine võimaldab kiiret REPL-põhist prototüüpimist ning pilveintegratsiooni Arduino IoT Cloud Pythoni kliendi kaudu.

Micropython ja Arduino plaat

Kui tunned end juba tavalise Pythoni kasutamisega mugavalt ja oled just sattunud MicroPythoni otsa, siis pole sa üksi.Paljud arendajad teevad täpselt sama avastuse, kui hakkavad nokitsema mikrokontrolleritega nagu Arduino, ESP32 või Raspberry Pi Pico. Esmapilgul tundub süntaks peaaegu identne CPythoniga, kuid äkki on olemas uued moodulid, riistvaraspetsiifilised klassid ja erinev viis koodi vilkumiseks ja käivitamiseks plaatidel.

See juhend koondab parimate ingliskeelsete ressursside põhiteabe MicroPythoni ja Arduino kohta ning segab selle praktilise ja reaalse kontekstiga.Näete, kus asub ametlik MicroPythoni kood, millised Arduino-ühilduvad plaadid saavad MicroPythonit tegelikult käitada, millised draiverid ja teegid on saadaval ning kuidas alustada, kui teil on Arduino-stiilis plaat, näiteks ESP-põhine NodeMCU, Nano ESP32, Nano RP2040 Connect või Portenta.

Mis on MicroPython ja kuidas see on seotud Arduinoga?

MicroPython on Pythoni keele lihtsustatud implementatsioon, mis on loodud töötama otse mikrokontrolleritel.Täisväärtuslikul töölaua operatsioonisüsteemil töötamise asemel töötab MicroPython pisikestel kiipidel, millel on piiratud muutmälu ja välkmälu, andes teile Pythoni käsurea otse seadmes. Keele tuum jääb CPythoniga väga sarnaseks, seega teie olemasolevad Pythoni teadmised kanduvad suures osas üle, kuid saate lisamooduleid, näiteks masin, võrk or uos suhelda tihvtide, andurite, siinide ja salvestusruumiga.

Suhe Arduinoga on enamasti seotud riistvara ja API-dega, mitte traditsioonilise Arduino „C++ sketchide” keskkonnaga.MicroPython sihib spetsiifilisi plaate ja kiipe (porte), näiteks ESP32, ESP8266, RP2040, nRF51/nRF52, STM32, SAMD, Renesas RAja nii edasi. Paljud tänapäevased Arduino kaubamärgiga plaadid on ehitatud täpselt nendele mikrokontrolleritele, mis teeb need MicroPythoniga ühilduvaks.

Klassikalisel Arduino Unol, mis põhineb ATmega328P 8-bitisel AVR-il, puudub ametlik MicroPythoni port.See on välkmälu ja muutmälu osas lihtsalt liiga piiratud ning MicroPythoni virtuaalmasin pole nii väikese kiibi jaoks loodud. Seetõttu näete kogukonnas küsimusi nagu „Kuidas käivitada MicroPython Arduino Unol?“, millele lühike ja aus vastus on: tavaliselt ei saa seda teha ja kui saategi, on see äärmiselt piiratud ja ametlikult mittetoetatud.

Arduino ja MicroPython kohtuvad tegelikult uuematel „Arduino” plaatidel, mis kasutavad piisavate ressurssidega 32-bitiseid mikrokontrollereid.Lauad, näiteks Arduino Nano ESP32, Arduino Nano RP2040 ühendus, Arduino Nano 33 BLE Sense, Arduino Giga, Võimsus H7, Portenta C33, Nicla Vision, Nicla Sense Env ja Opta WiFi paiknevad selliste kiipide peal nagu ESP32, RP2040, STM32H7, Renesas RA6M5 ja sarnased perekonnad. Nendel mikrokontrolleritel on ametlikud või aktiivselt arendatud MicroPythoni pordid.

MicroPythoni ametlik lähtekood, versioonid ja toetatud pordid

MicroPythoni arendatakse avalikult, kasutades versioonikontrolliks Giti, ja kanooniline repositoorium asub GitHubis aadressil github.com/micropython/micropython.See hoidla sisaldab täielikku interpreteri lähtekoodi, põhiteegid ja erinevate mikrokontrolleriperekondade porte. Kui teil on kunagi vaja sisemust kontrollida või oma püsivara kujutist luua, on see õige koht, kuhu minna.

Projekt pakub uusima stabiilse versiooni täielikku lähtekoodi allalaaditavate arhiividena.Need väljalasked koondavad interpreteri, teegid ja pordid ühte hetktõmmisesse, mille saate ise kompileerida. Inimestele, kes soovivad elada veelgi lähemal perimeetrile, on olemas GitHubi repositooriumi igapäevased hetktõmmised saadaval MicroPythoni serverist. Need hetktõmmised tavaliselt ei sisalda Giti alammooduleid, kuid jälgivad arenduse praegust olekut, mis on kasulik uute funktsioonide testimisel või paranduste esitamisel.

Lisaks lähtekoodile pakub MicroPython automaatselt loodud püsivara kujutisi laiale valikule plaatidele ja arhitektuuridele.Need püsivarad genereeritakse iga päev erinevate portide jaoks, sealhulgas:

  • alif
  • cc3200
  • esp32 (variantidega nagu esp32c2, esp32c3, esp32c5, esp32c6, esp32p4, esp32s2, esp32s3)
  • esp8266
  • mimxrt (i.MX RT)
  • nrf (nRF51, nRF52, nRF91)
  • renesas-ra (RA4M1, RA4W1, RA6M1, RA6M2, RA6M5 jne)
  • rp2 (RP2040, RP2350)
  • samd (SAMD21, SAMD51)
  • stm32 (STM32F0, F4, F411, F7, G0, G4, H5, H7, L0, L1, L4, U5, WB, WL)

Need igapäevased versioonid on tavaliselt rühmitatud ja filtreeritavad funktsioonide, tarnija ja mikrokontrolleri järgi, nii et saate kiiresti leida püsivara pildi, mis sobib teie plaadiga.Funktsioonifiltrite hulka kuuluvad sellised võimalused nagu Audio Codec, MAIS, Akulaadimine, CAN, kaamera, DAC, Ekraan, Kahetuumaline, Keskkonnaandur, Ethernet, Väline välk, Väline RAM, Sulg, IMU, JST‑PH/JST‑SH, Lora, Mikrofon, PoE, RGB LED, SD-kaart, Turvaline element, USB/USB-C, WiFi, microSDja mikroBUSSamuti on olemas müüjate filter, mille abil saate näiteks tulemusi kitsendada Arduino kaubamärgiga plaadid.

Mitmed Arduino plaadid on otseselt loetletud või kaudselt hõlmatud nende mikrokontrollerite kauduMicroPythoni versioonidega seotud Arduino nimede hulgast leiad:

  • Giga
  • Arduino Nano 33 BLE Sense
  • Arduino Nano ESP32
  • Arduino Nano RP2040 ühendus
  • Arduino Nicla Vision
  • Arduino Nicla Sense keskkond (teenindatakse konkreetse raamatukogu kaudu)
  • Arduino Opta WiFi
  • Arduino Portenta C33
  • Arduino Portenta H7 (sageli viidatud kui envie_m7 variant)

Kuna püsivara kujutised luuakse pordi ja plaadi kohta, on esimene samm alati tuvastada täpne mikrokontroller ja variant, mida teie Arduino plaat kasutab.Näiteks Arduino Nano ESP32 kaardistab selle esp32 porti, samas kui Nano RP2040 Connect kasutab rp2 sadamasse. Portenta H7 kuulub selle alla stm32 tippklassi tooteperekond ja Portenta C33 toetub sellele renesas-ra port. Nende sobitamine tagab õige MicroPythoni binaarfaili vilkumise.

Kas MicroPython töötab kõigil Arduino plaatidel?

See on üks levinumaid küsimusi inimestelt, kes avastavad MicroPythoni pärast Arduino ökosüsteemiga töötamist.Lühike versioon on: MicroPython ei toeta kõiki Arduino plaate, kuid see toetab paljusid uuemaid, mis kasutavad 32-bitiseid mikrokontrollereid, millel on piisavalt mälu ja välkmälu.

Plaadid, kus MicroPython pole realistlikult võimalik, on vanakooli AVR Arduinod nagu Uno, Nano (klassikaline), Mega või Leonardo.Need emaplaadid tuginevad piiratud ressurssidega 8-bitistele AVR-mikrokontrolleritele. Kuigi kogukonnas on olnud eksperimentaalseid porte ja üliminimaalseid hargnemisi, keskendub ametlik MicroPythoni projekt võimekamatele 32-bitistele arhitektuuridele, seega ei tohiks Uno jaoks oodata lihvitud ja ametlikult hooldatud MicroPythoni püsivara.

Seevastu NodeMCU ja sarnased ESP8266/ESP32 arendusplaadid sobivad suurepäraselt MicroPythoniga ja neid toetatakse aktiivselt.NodeMCU kasutab tavaliselt ESP8266 or ESP32 kiip, millel mõlemal on stabiilsed ja populaarsed MicroPythoni pordid. MicroPythoni vilkumine NodeMCU-le annab teile väga kasutajasõbraliku viisi WiFi-toega IoT arenduseks Pythoni süntaksiga Arduino C++ dialekti asemel.

Arduino kaubamärgiga riistvara puhul keskenduge mudelitele, mis taaskasutavad samu mikrokontrollereid kui tavalised MicroPythoni plaadid.See hõlmab laia perekonda:

  • Arduino Nano ESP32 — ESP32-põhine; kasutab esp32 porti.
  • Arduino Nano RP2040 ühendus — põhineb Raspberry Pi RP2040-l; kasutab rp2 porti.
  • Arduino Nano 33 BLE Sense — Nordic nRF52; toetatud nrf-pordi kaudu.
  • Arduino Giga — tipptasemel STM32H7 mikrokontroller; kaetud stm32 pordi kaudu.
  • Arduino Portenta H7 — Kahetuumaline STM32H7; toetab stm32.
  • Arduino Portenta C33 — Renesas RA mikrokontroller; ühendatud Renesas-RA pordiga.
  • Arduino Nicla Vision ja seotud Nicla plaadid – ehitatud toetatud mikrokontrollerite ümber ja adresseeritud spetsiaalsete MicroPython draiveritega.
  • Arduino Opta WiFi — tööstusele orienteeritud, kuid ehitatud toetatud STM32 osadele.

Kui hoiad Arduino Unot ja NodeMCU-d kõrvuti, on ainult NodeMCU MicroPythoni jaoks esmaklassiline kandidaat.Uno puhul on pragmaatilisem kas jääda Arduino C++ juurde või minna üle moodsale, MicroPython-sõbralikule plaadile, mis sobib endiselt hästi Arduino ökosüsteemi, näiteks Nano ESP32 või Nano RP2040 Connect.

Kas vajad uut IDE-d või lisatööriistu MicroPythoni jaoks?

MicroPythoni arendus tundub teistsugune kui Arduino visandite kompileerimine, aga sul pole tingimata vaja uut raskekaalulist IDE-dKuna MicroPython käitab tahvlil interpreterit, töötatakse tavaliselt kompileeritud .hex- või .bin-visandite asemel lihttekstiga .py-failide ja jadavormingus REPL-iga.

Olulised nõuded on viis püsivara tahvlile vilkumiseks ja tööriist Pythoni failide üleslaadimiseks ja REPL-iga suhtlemiseks.Vilkumiseks kasutatakse tavaliselt tootja tööriistu või käsurea utiliite, näiteks esptool.py (ESP8266/ESP32 puhul) või kasutate plaadi alglaaduri tuge (UF2 RP2040 jaoks, DFU STM32 jaoks jne). Paljud MicroPythoni veebilehed ja dokumendid annavad teile iga pordi kohta konkreetsed vilkumise juhised.

Redigeerimiseks ja failiedastuseks saate jätkata oma lemmikkoodiredaktori kasutamist ja lisada lihtsalt MicroPythoniga ühilduva abilise.. Levinud valikud hõlmavad järgmist:

  • Thonny — lihtne Pythoni IDE sisseehitatud MicroPythoni toe, jadapordi REPL ja failihaldusega.
  • Mu redaktor — algajatele sobiv redaktor, mis räägib MicroPythoni ja CircuitPythoni.
  • VS kood laiendustega — saate kasutada tavalist Pythoni tuge koos lisandmoodulitega, mis haldavad MicroPythoni üleslaadimist/REPL-i.
  • ampy / rshell / mpremote — käsurea tööriistad skriptide üleslaadimiseks, failide loetlemiseks ja seadme REPL-iga suhtlemiseks.

Mõnel Arduino kaubamärgiga plaadil on ka integreerimisteed, mis võimaldavad teil Arduino maailmaga kursis püsida, kirjutades samal ajal MicroPythoni koodi.Teatud tööriistad ja teegid võimaldavad teil struktureeri oma MicroPythoni programme Arduino stiilis seadistamine () ja silmus ()ja paljastage tuttavad funktsioonid, näiteks digitalWrite or analooglugemine kulisside taga. See võimaldab pikaajalistel Arduino kasutajatel end kodusemalt tunda, isegi kui aluseks olev käituskeskkond on MicroPython.

Praktikas tähendab MicroPythonile üleminek tavaliselt klassikalise Arduino IDE kasutamise lõpetamist nende projektide jaoks ja üleminekut Pythonile orienteeritud töövoogudele.Siiski jääb teie vaimne mudel „plaat + tihvtid + teegid + näited” samaks ja pärast päeva või kahte nokitsemist tundub MicroPythoni redaktori + REPL-i kombinatsioon väga loomulik.

Alustamine: Arduino Unost ja NodeMCUst MicroPythonini

Kui teie eesmärk on käivitada MicroPython Arduino Unol, põrkate tõenäoliselt vastu kõva seina.Interpretaator on Uno ATmega328P jaoks lihtsalt liiga suur ja ametlik projekt ei paku hooldatud porti. Võib-olla leiate eksperimentaalseid kahvleid või väga lihtsustatud derivaate, kuid need ei käitu nagu tavaline MicroPythoni keskkond ja paljud teegid ei mahu sinna. Enamiku inimeste jaoks on pragmaatiline samm aktsepteerida, et Uno on „klassikaline Arduino C++” plaat, ja valida MicroPythoni katseteks mõni muu seade.

NodeMCU-ga (ESP8266 või ESP32 variant) saate aga MicroPythonini jõudmiseks kasutada otsekohest teed.Täpsed sammud erinevad kiipide lõikes veidi, kuid üldine voog on järgmine:

  • 1. Laadige alla sobiv MicroPythoni püsivara Oma esp8266 või esp32 pordi jaoks MicroPythoni allalaadimiste lehelt või igapäevaste ehitustööde serverist. Veendu, et ehitustöö vastab sinu välkmälu suurusele ja plaadiperele.
  • 2. Kustuta ja vilguta tahvel kasutamine esptool.py (või sellega võrdväärne) fail arvutist. See kustutab olemasoleva püsivara (sageli NodeMCU Lua või Arduino visandid) ja installib selle asemele MicroPythoni.
  • 3. Ühendage jadapordi terminal või REPL-tööriist (nagu Thonny, Mu, mpremote või üldine jadapordi konsool) õige baudikiirusega. Peaksite nägema tuttavat >>> Pythoni viip, kui kõik läks hästi.
  • 4. Skriptide loomine ja üleslaadimine nimetatud boot.py ja main.pyvõi mis tahes muud moodulid, mida soovite importida. Need käivituvad automaatselt või on interaktiivseks importimiseks saadaval.

Sama muster kehtib paljude Arduino kaubamärgiga MicroPython-sõbralike plaatide kohta, kusjuures ainus tegelik erinevus seisneb täpses vilkumise tööriistas ja alglaaduri käitumises.Näiteks RP2040-põhine Arduino kasutab UF2 alglaadurit (lohistage .uf2 fail), samas kui Portenta H7 tugineb STM32 alglaadimismehhanismidele või tootja utiliitidele. Pärast vilkumist näeb Pythoni pool välja väga sarnane: masin.PIN GPIO jaoks masin.I2C andurite jaoks ja nii edasi.

Arduino ökosüsteemi lisamugavuseks on MicroPythoni abiraamatukogu, mis võimaldab teil kirjutada koodi visandilaadses stiilis.See teek pakub Arduino-laadseid API-sid ja isegi MicroPythoni implementatsiooni seadistamine () ja silmus ()Näiteks võid kirjutada midagi kontseptuaalselt sarnast Arduino visandile, aga sisuliselt töötab see MicroPythoni käituskeskkonnas, kasutades Pythoni süntaksit ja semantikat. See muudab ülemineku sujuvamaks inimestele, kellel on aastaid Arduino harjumusi.

MicroPythoni paketid ja teegid Arduino-ühilduvatele plaatidele

Üks MicroPythoni tugevamaid külgi Arduino-klassi plaatidel on riistvaradraiverite ja abiraamatukogude kasvav ökosüsteem.MicroPythoni kogukond haldab MicroPythoni paketi register mis loetleb korduvkasutatavad moodulid, mida saab installida või kopeerida toetatud plaatidele, sealhulgas paljud, millel on Arduino toodetel selgesõnaline kinnitus.

Selle indeksi kaastöö juhised kirjeldavad, kuidas esitada uusi pakette, neid korralikult dokumenteerida ja neile asjakohaseid tunnuseid lisada.See tagab, et anduri või kuvari otsimisel leiate kiiresti draiveri, mis teadaolevalt töötab konkreetsete mikrokontrolleri portide või isegi konkreetsete Arduino plaatidega.

Saadaval olevate teekide hulgas on mõned spetsiaalselt Arduino riistvarale pühendatud, teised aga üldised draiverid, mis juhtumisi töötavad suurepäraselt Arduino kaubamärgiga plaatidel.Näiteks on olemas MicroPythoni teek Arduino Modulinode juhtimiseks, mis on modulaarsed lisandmoodulid, mis integreeruvad tihedalt Arduino riistvaraga. Teine tähelepanuväärne pakett on MicroPythoni teek Arduino Nicla Sense Env jaoks, keskendudes selle tahvli keskkonnatundlikkuse võimetele.

Samuti on olemas silmapaistev abimees, mis teeb koodi kirjutamise lihtsaks Arduino-stiilis mustrite (nt setup/loop) ja tuttavate API-de abil, jäädes samal ajal MicroPythoni keskkonda.See pakett ületab tõhusalt kontseptuaalse lõhe „Arduino visandite” ja Pythoni moodulite vahel, võimaldades kasutajatel säilitada lihasmälu, näiteks helistada. digitalWrite samal ajal tegelikult MicroPythoni käitusaega ja REPL-i ära kasutades.

Lisaks Arduino-maitselistele teekidele sisaldab ökosüsteem pikka nimekirja andurite, kuvarite, salvestusruumide ja utiliitide draiveritest, mis toetavad MicroPythonit tavalistel mikrokontrolleritel ja plaatidel.Paljusid neist on testitud sellistel tahvlitel nagu arduino:esp32:nano_nora, Erinevad esp32s3 seadmed ja tipptasemel mbed_portenta variandid. Verifitseerimismärkustes on sageli täpsustatud MicroPythoni versioon ja kasutatud plaadi ID, seega teate, et teek ei ole teoreetiline.

Märkimisväärsed MicroPythoni draiverid ja utiliidid, mida saate kasutada

MicroPythoni paketi register sisaldab rikkalikku draiverite kogu, mis hõlmab keskkonnasensoreid, kuvarikontrollereid, IO-laiendeid, salvestusruumi, sideprotokolle ja palju muud.Kui ehitate projekte ühilduvatel Arduino tahvlitel, on suur tõenäosus, et teie soovitud riistvara jaoks on olemas kasutusvalmis draiver.

Keskkonna- ja gaasisensorid on hästi esindatud. Leiad MicroPythoni draiveri selle jaoks BME280 andur (sageli viidatakse sellele Pycomi seadmete sihtmärgina) ja teine BME680 läbimurre, suhtlemine üle I²CNeed draiverid haldavad temperatuuri, niiskuse, rõhu ja gaasi näitu, võimaldades teil ühendada sellise plaadi nagu Nano ESP32 või Nano RP2040. Ühendage keskkonnaanduritega vaid mõne Pythoni rea abil.

Ekraani juhtimine on sama hästi kaetudSelle jaoks on olemas Pythoni draiverid. Holtek HT16K33 kontroller, mis annab jõudu sellistele seadmetele nagu Adafruit 0.8-tolline 8×16 LED Matrix FeatherWing või teatud Raspberry Pi Pico ekraanid. Need draiverid toetavad mõlemat vooluringi python ja mikropüüton I²C kaudu, mis muudab need mitmekülgseks ja korduvkasutatavaks erinevates ökosüsteemides. Samuti saate MicroPythoni draiverid kuvarikontrolleritele, näiteks SH1106 ja SH1107, mida kasutatakse erinevates OLED-paneelides ja pakendites HD44780I²C kaudu juhitavad ‑põhised tähemärk-LCD-ekraanid (mudelid 1602 ja 2004).

Analoog-digitaalmuundamiseks ja IO laiendamiseks on saadaval mitu vastupidavat paketti.Selle jaoks on olemas MicroPythoni draiver. ADS1x15 ADC-de seeria, mida kasutatakse laialdaselt kõrgema eraldusvõimega analoogsisendite lisamiseks. Teine teek toetab MCP23017 16-bitine I/O-laiendusmoodul I2C-liidesega, mis võimaldab teil oluliselt suurendada Arduino-klassi plaadi digitaalsete kontaktide arvu, mida kõiki saab juhtida MicroPythonist.

Erinevad LED-draiveripaketid hõlmavad visuaalset tagasisidet ja kuvasid. Leiad MicroPythoni teeki selle jaoks MAX7219 8×8 LED-maatriksdraiver, mis kasutab SPI-d ja kaadripuhvrit, samuti draiver neljakordsed 7-segmendilised LED-ekraanid põhinevad TM1637 kiip. Samuti on olemas raamatukogu 10-segmendilised LED-ribadiagrammid kasutades MY9221 draiver ja eraldi MicroPython moodulid adresseeritavate LED-ide jaoks, näiteks WS2812B ja SK6812 (sageli tuntud kui neopikslid) Raspberry Pi Picol. Need kõik sobivad hästi kokku Arduino kaubamärgiga plaatidega, millel on samad MCU perekonnad.

Reaalajas kellade ja andmete logimise kasutusjuhtumeid toetatakse spetsiaalsete moodulite kaudu.Üks juht sihib DS3231 RTC koos AT24C32 EEPROM-iga, muutes täpse aja pidamise ja konfiguratsiooni või väikeste logide salvestamise erinevate toitetsüklite vahel lihtsaks. Koos SD-kaardi ja microSD-funktsioonidega, mis on saadaval kindlates portides, saate luua tõsiseid andmelogimise seadistusi, kasutades ainult MicroPythoni skripte.

Kontaktivaba temperatuuri tuvastamine ja mahtuvuslik sisend on samuti lihtsasti teostatavad tänu fokuseeritud draiveritele.Selle jaoks on olemas MicroPythoni teek. Melexis MLX90614 IR-temperatuuriandur, mis võimaldab temperatuuri kaugmõõtmist, ja teine MPR121 mahtuvuslik puutetundlik klaviatuur ja ühendusplaadid, mis on kasulikud puutetundlike kasutajaliideste jaoks. Mõlemad integreeruvad sujuvalt I²C kaudu ja neid saab kasutada Arduino-ühilduvate MicroPythoni plaatidega.

Biomeetrilise ja heliga seotud riistvara jaoks leiate spetsiaalsed MicroPythoni pordid.Selle jaoks on olemas pakett. MAX30102 andur, populaarne pulssoksümeetri/südame löögisageduse moodul, mida algselt toetas SparkFuni draiver ja mis on nüüd kohandatud MicroPythonile. Heli taasesitusmoodulid on kaetud MicroPythoni implementatsioon DFPlayeri juhtimiseks UART-i kaudu, muutes MP3-de taasesituse kättesaadavaks ilma raske koodita.

Ajastus-, liikumis- ja sisendseadmetel on oma robustsed implementatsioonidMicroPythoni draiver pöörlevad kodeerijad kasutab GPIO katkestusi ja põrkekompensatsiooni, et anda täpseid ja värelemata näite sellistel plaatidel nagu Pyboard, Raspberry Pi Pico, ESP8266 ja ESP32. Raspberry Pi Pico servojuhtimine toimub draiverite kaudu, mis kasutavad PDM (impulsi tiheduse modulatsioon) või lihtsamad PWM-põhised ümbrised ning on olemas ka väikesed abiklassid, mis keskenduvad 9g servomootorite juhtimine MicroPythonilt.

Infrapunaühendust haldab vastuvõtjate ja blasterite jaoks mõeldud paar mitteblokeerivat draiverit.Üks teek keskendub IR-kaugjuhtimiskoodide vastuvõtmisele, teine ​​aga tegeleb IR-edastusega „blaster“-rakenduste jaoks. Mõlemad on loodud blokeerimiseta tööks, et need saaksid mugavalt töötada koos teiste MicroPythoni ülesannetega.

Termoprintimiseks ja kuvaväljundiks on saadaval Adafruiti Pythoni termoprinteri teegi MicroPythoni port.See pakett võimaldab teil juhtida termokviitungiprintereid sellistelt plaatidelt nagu ESP32 või RP2040, kasutades taas MicroPythonit juhtimiskeskkonnana.

Lisaks riistvaradraiveritele on olemas utiliidid, mis muudavad Arduino-põhised IoT-projektid palju lihtsamaks.Üks silmapaistev on a Pythoni klient Arduino IoT pilve jaoks mis töötab nii CPythonis kui ka MicroPythonis. See pakett, mis on majutatud GitHubis Arduino organisatsiooni all ja litsentseeritud Mozilla avaliku litsentsi 2.0 alusel, võimaldab MicroPythoni seadmetel ühenduda Arduino IoT pilvega telemeetria, armatuurlaudade ja kaugjuhtimise jaoks. See on kontrollitud arduino:mbed_portenta:envie_m7 MicroPythonil töötav platvorm, mis näitab, et tipptasemel Arduino plaadid saavad Pythoni käituskeskkonnast sujuvalt integreeruda Arduino pilveteenustesse.

Mõned kuvamis- ja sisendteegid on algselt loodud MicroPythoni Pycomi stiilis, kuid sobivad siiski hästi paljudele Arduino-klassi plaatidele.Näiteks on olemas Pycomile kohandatud I2C LCD-märgiekraani liidesepakett ja MicroPythoni port. ucPack teek, mida mõlemat saab sageli taaskasutada või kohandada teiste MicroPythoni portide jaoks, kui aluseks olev siini ja pinni konfiguratsioon sobib.

Miks tasub uurida MicroPythonit Arduino-klassi riistvaral

Kui kombineerida MicroPythoni dünaamiline ja kõrgetasemeline tunnetus tohutu hulga Arduino-ühilduva riistvaraga, saadakse väga paindlik prototüüpimisplatvorm.Visandite pideva uuesti kompileerimise asemel saate interaktiivselt itereerida: avada REPL-i, torgata tihvte, lugeda andureid, kohandada loogikat ja näha kohest tagasisidet. Ainuüksi see võib hobiprojektide, kiirete demode või isegi professionaalsete prototüüpide arendusaega märkimisväärselt vähendada.

MicroPythoni pakettide ökosüsteem koos selgesõnalise toe ja verifitseerimisega Arduino plaatidel tähendab, et harva tuleb nullist alustada toorregistrite või keerukate C-draiveritega.Andurite (nt BME280/BME680), HT16K33, SH1106 või HD44780 toitega kuvarite, IO-laiendite (nt MCP23017) ja infrastruktuurielementide (nt ModBus TCP/RTU klientide ja hostide) teegid aitavad teil kogukonna õlgadel seista.

Samal ajal pakub Arduino universum pilveintegratsioone ja hästi konstrueeritud plaadidisaini.. Pühendatud Arduino IoT pilve Pythoni klient on hea näide sellest, kuidas kaks ökosüsteemi omavahel seostuvad: saate kirjutada MicroPythoni koodi Portenta-klassi plaadile, kasutades samal ajal ära Arduino armatuurlaudu ja IoT-tööriistu. Tipptasemel plaadid nagu Giga või Portenta H7 koondavad kahetuumalised mikrokontrollerid, Etherneti, WiFi, BLE, USB-C ja palju muud ühe katuse alla, mida kõiki saab juhtida MicroPythoni püsivarast.

Muidugi on kompromisseMõned madala taseme ajastuskriitilised rakendused võivad olla siiski paremini kirjutatud C/C++ keeles klassikaliste Arduino visanditena ja väga ressursipiiranguga plaadid nagu originaal Uno lihtsalt ei sobi MicroPythoniga töötamiseks. Kuid suure hulga projektide jaoks, mis hõlmavad andureid, ekraane, ühenduvust ja mõõdukaid reaalajas nõudmisi, on MicroPython ühilduval Arduino riistvaral kiire, ligipääsetav ja üllatavalt võimas kombinatsioon.

Kõigile, kes on tulnud tavalisest Pythonist, pakub üleminek MicroPythonile moodsatel Arduino-klassi plaatidel, nagu ESP32-põhised Nanos, RP2040 Connect või Portenta seadmed, sujuvat sisenemist manussüsteemide arendusse, taaskasutades samal ajal oma keeleoskusi, kasutades ära rikkalikku pakettide indeksit ja ära robustset, hästi dokumenteeritud riistvara, mis tegi Arduino nii populaarseks..

kohalikud tehisintellekti agendid esp32-s
Seotud artikkel:
Kohalikud tehisintellekti agendid ESP32-l: raamistikud, häälassistendid ja reaalsed projektid
Seonduvad postitused: