- MicroPython toimii monilla moderneilla Arduino-luokan piirilevyillä (ESP32, RP2040, STM32, Renesas RA), mutta ei realistisesti klassisilla AVR-pohjaisilla Uno-laitteilla.
- MicroPython GitHubin ja palvelimen virallinen laiteohjelmisto, portit ja päivittäiset koontiversiot yksinkertaistavat yhteensopivien Arduino- ja NodeMCU-korttien flashaamisen.
- Laaja MicroPython-pakettihakemisto tarjoaa testattuja ajureita antureille, näytöille, IO-laajentimille ja Arduino-kohtaisille moduuleille, kuten Modulinos ja Nicla Sense Env.
- MicroPython- ja Arduino-laitteistojen yhdistäminen mahdollistaa nopean, REPL-pohjaisen prototyyppien luomisen sekä pilviintegraation Arduino IoT Cloud Python -asiakasohjelman kautta.
Jos olet jo tottunut "tavalliseen" Pythoniin ja olet juuri törmännyt MicroPythoniin, et ole yksin.Monet kehittäjät tekevät täsmälleen saman löydön alkaessaan näprätä mikrokontrollereita, kuten Arduinoa, ESP32:ta tai Raspberry Pi Picoa. Ensi silmäyksellä syntaksi näyttää lähes identtiseltä CPythonin kanssa, mutta yhtäkkiä mukana on uusia moduuleja, laitteistokohtaisia luokkia ja erilainen tapa flashata ja suorittaa koodia korteilla.
Tämä opas kokoaa yhteen tärkeimmät tiedot parhaista englanninkielisistä MicroPythonia ja Arduinoa käsittelevistä resursseista ja yhdistää ne käytännönläheiseen, tosielämän kontekstiin.Näet, missä virallinen MicroPython-koodi sijaitsee, mitkä Arduino-yhteensopivat piirilevyt voivat itse asiassa ajaa MicroPythonia, millaisia ajureita ja kirjastoja on saatavilla ja miten pääset alkuun, jos sinulla on Arduino-tyylinen piirilevy, kuten ESP-pohjainen NodeMCU, Nano ESP32, Nano RP2040 Connect tai Portenta.
Mikä on MicroPython ja miten se liittyy Arduinoon?
MicroPython on Python-kielen lean-toteutus, joka on suunniteltu toimimaan suoraan mikrokontrollereilla.Sen sijaan, että MicroPython toimisi täydellä työpöytäkäyttöjärjestelmällä, se toimii pienillä siruilla, joissa on rajoitetusti RAM- ja flash-muistia, jolloin saat Python-kehotteen suoraan laitteella. Kieliydin pysyy hyvin lähellä CPythonia, joten olemassa oleva Python-osaamisesi säilyy suurelta osin, mutta saat lisämoduuleja, kuten kone, verkko or meille kommunikoida nastojen, antureiden, väylien ja tallennustilan kanssa.
Suhde Arduinoon liittyy enimmäkseen laitteistoon ja API-rajapintoihin, ei perinteiseen Arduinon "C++ sketchs" -ympäristöön.MicroPython kohdistuu tiettyihin piirilevyihin ja siruihin (portteihin), kuten ESP32, ESP8266, RP2040, nRF51/nRF52, STM32, SAMD, Renesas RAja niin edelleen. Monet nykyaikaiset Arduino-merkkiset piirilevyt on rakennettu juuri näiden mikro-ohjainten päälle, minkä vuoksi ne ovat yhteensopivia MicroPythonin kanssa.
Klassinen Arduino Uno, joka perustuu ATmega328P 8-bittiseen AVR:ään, ei sisällä virallista MicroPython-porttia.Se on yksinkertaisesti liian rajoitettu flash- ja RAM-muistin suhteen, eikä MicroPython-virtuaalikonetta ole suunniteltu niin pienelle sirulle. Siksi näet yhteisössä kysymyksiä, kuten "Miten ajaa MicroPythonia Arduino Unolla?", ja lyhyt ja rehellinen vastaus on: et yleensä pysty siihen, ja jos jotenkin pystytkin, se on erittäin rajoitettua eikä sitä virallisesti tueta.
Arduino ja MicroPython kohtaavat todellisuudessa uudemmissa ”Arduino”-levyissä, jotka käyttävät riittävästi resursseja sisältäviä 32-bittisiä mikrokontrollereita.Laudat, kuten Arduino Nano ESP32, Arduino Nano RP2040 -liitäntä, Arduino Nano 33 BLE Sense, Arduino Giga, Teho H7, Portenta C33, Nicla Vision, Nicla Sense Env ja Opta WiFi sijaitsevat sellaisten sirujen päällä kuin ESP32, RP2040, STM32H7, Renesas RA6M5 ja vastaavien tuoteperheiden. Näillä mikrokontrollereilla on viralliset tai aktiivisesti kehitetyt MicroPython-portit.
Virallinen MicroPython-lähdekoodi, koontiversiot ja tuetut porttaukset
MicroPython kehitetään avoimesti käyttäen Git-versionhallintaa, ja sen kanoninen repositorio sijaitsee GitHubissa osoitteessa github.com/micropython/micropython.Tuo arkisto sisältää täyden tulkin lähdekoodin, ydinkirjastot ja portit eri mikrokontrolleriperheille. Jos sinun joskus täytyy tarkistaa sisäosat tai rakentaa oma laiteohjelmisto, se on oikea paikka sinulle.
Projekti tarjoaa uusimman vakaan version täyden lähdekoodijakelun ladattavina arkistoina.Nämä julkaisut yhdistävät tulkin, kirjastot ja portit yhteen tilannevedokseen, jonka voit kääntää itse. Niille, jotka haluavat asua vielä lähempänä reunaa, on olemassa päivittäiset tilannekuvat GitHub-arkistosta saatavilla MicroPython-palvelimelta. Nämä tilannevedokset eivät yleensä sisällä Git-alimoduuleja, mutta seuraavat kehityksen nykytilaa, mikä on hyödyllistä, jos testaat uusia ominaisuuksia tai lähetät korjauksia.
Lähdekoodin lisäksi MicroPython tarjoaa automaattisesti rakennettuja laiteohjelmistokuvia monille eri piirilevyille ja arkkitehtuureille.Nämä laiteohjelmistot luodaan päivittäin eri porteille, mukaan lukien:
- Alif
- cc3200
- esp32 (muunnelmilla kuten 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)
Nämä päivittäiset koontiversiot on yleensä ryhmitelty ja suodatettavissa ominaisuuksien, toimittajan ja mikrokontrollerin mukaan, joten löydät nopeasti korttiasi vastaavan laiteohjelmiston kuvan.Ominaisuussuodattimiin kuuluvat ominaisuudet, kuten Audio Codec, BLE, Akun lataus, CAN, Kamera, DAC, näyttö, Kaksiydin, Ympäristöanturi, Ethernet, Ulkoinen salama, Ulkoinen RAM-muisti, Sulka, IMU, JST-PH/JST-SH, Lora, Mikrofoni, PoE, RGB-LED, Sd-kortti, Suojattu elementti, USB/USB-C, WiFi, microSDja mikroBUSKäytettävissä on myös toimittajasuodatin, jolla voit esimerkiksi rajata tuloksia seuraaviin tuotteisiin/palveluihin: Arduino-merkkiset piirilevyt.
Useat Arduino-levyt on lueteltu nimenomaisesti tai epäsuorasti niiden MCU:iden kauttaMicroPython-versioihin liittyvien Arduino-nimien joukosta löydät:
- giga
- Arduino Nano 33 BLE Sense
- Arduino Nano ESP32
- Arduino Nano RP2040 -liitäntä
- Arduino Nicla Vision
- Arduino Nicla Sense -ympäristö (tarjoillaan tietyn kirjaston kautta)
- Arduino Opta WiFi
- Arduino Portenta C33
- Arduino Portenta H7 (usein viitataan nimellä envie_m7-variantti)
Koska laiteohjelmistokuvat rakennetaan portti- ja korttikohtaisesti, ensimmäinen vaihe on aina tunnistaa Arduino-korttisi käyttämä tarkka mikrokontrolleri ja sen variantti.Esimerkiksi Arduino Nano ESP32 yhdistää esp32 porttia, kun taas Nano RP2040 Connect käyttää rp2 portti. Portenta H7 kuuluu sen alle stm32 huippuluokan tuoteperhe, ja Portenta C33 nojaa renesas-ra portti. Näiden yhteensovittaminen varmistaa, että flashaat oikean MicroPython-binäärin.
Toimiiko MicroPython kaikilla Arduino-levyillä?
Tämä on yksi yleisimmistä kysymyksistä ihmisiltä, jotka löytävät MicroPythonin työskenneltyään Arduino-ekosysteemin kanssa.Lyhyt versio on: MicroPython ei tue kaikkia Arduino-levyjä, mutta se tukee monia uudempia, jotka käyttävät 32-bittisiä mikroprosessoreita, joissa on riittävästi muistia ja flash-muistia.
Levyt, joilla MicroPython ei ole realistisesti mahdollinen vaihtoehto, ovat vanhan liiton AVR Arduinot, kuten Uno, Nano (klassikko), Mega tai Leonardo.Nämä emolevyt käyttävät 8-bittisiä AVR-mikrokontrollereita, joilla on rajalliset resurssit. Vaikka yhteisössä on ollut kokeellisia portteja ja erittäin minimalistisia haarukoita, virallinen MicroPython-projekti keskittyy tehokkaampiin 32-bittisiin arkkitehtuureihin, joten Unolle ei kannata odottaa hiottua, virallisesti ylläpidettyä MicroPython-laiteohjelmistoa.
Sitä vastoin NodeMCU ja vastaavat ESP8266/ESP32-kehityskortit sopivat erinomaisesti MicroPythonille ja niitä tuetaan aktiivisesti.NodeMCU käyttää tyypillisesti ESP8266 or ESP32 siru, joissa molemmissa on vakaat ja suositut MicroPython-portit. MicroPythonin flash-asennus NodeMCU:hun tarjoaa erittäin käyttäjäystävällisen tavan tehdä WiFi-pohjaista IoT-kehitystä Python-syntaksilla Arduino C++ -murteen sijaan.
Arduino-merkkisten laitteiden osalta keskity malleihin, jotka käyttävät samoja mikrokontrollereita kuin valtavirran MicroPython-kortit.Tämä sisältää laajan ryhmän:
- Arduino Nano ESP32 — ESP32-pohjainen; käyttää esp32-porttia.
- Arduino Nano RP2040 -liitäntä — perustuu Raspberry Pi RP2040:een; käyttää rp2-porttia.
- Arduino Nano 33 BLE Sense — Nordic nRF52; tuettu nrf-portin kautta.
- Arduino Giga — huippuluokan STM32H7-mikrokontrolleri; suojattu stm32-portin kautta.
- Arduino Portenta H7 — STM32H7 kaksiytiminen; tuettu stm32:n kautta.
- Arduino Portenta C33 — Renesas RA -mikrokontrolleri; kytketty Renesas-RA-porttiin.
- Arduino Nicla Vision ja siihen liittyvät Nicla-kortit – jotka on rakennettu tuettujen mikro-ohjainten ympärille ja joita ohjataan erityisillä MicroPython-ajureilla.
- Arduino Opta WiFi — teollisuuskäyttöön suunnattu, mutta rakennettu tuettujen STM32-osien päälle.
Jos pidät Arduino Unoa ja NodeMCU:ta vierekkäin, vain NodeMCU on todella ensiluokkainen ehdokas MicroPythonille.Unon kanssa on käytännöllisempää joko pysyä Arduino C++:ssa tai päivittää moderniin, MicroPython-ystävälliseen piirilevyyn, joka sopii edelleen hyvin Arduino-ekosysteemiin, kuten Nano ESP32 tai Nano RP2040 Connect.
Tarvitsetko uuden IDE:n tai lisätyökaluja MicroPythonille?
MicroPython-kehitys tuntuu erilaiselta kuin Arduino-luonnosten kääntäminen, mutta et välttämättä tarvitse uutta raskasta IDE:täKoska MicroPython suorittaa tulkkia piirilevyllä, yleensä työskennellään selkokielisten .py-tiedostojen ja sarjamuotoisen REPL-tiedoston kanssa käännettyjen .hex- tai .bin-luonnosten sijaan.
Olennaisia vaatimuksia ovat tapa flashata laiteohjelmisto kortille ja työkalu Python-tiedostojen lataamiseen ja REPL:n kanssa kommunikointiin.Flashaamiseen käytetään yleensä valmistajan työkaluja tai komentorivityökaluja, kuten esptool.py (ESP8266/ESP32:lle) tai käytät levyn käynnistyslataimen tukea (UF2 RP2040:lle, DFU STM32:lle jne.). Monet MicroPython-verkkosivut ja dokumentit antavat konkreettisia flash-ohjeita porttikohtaisesti.
Muokkauksessa ja tiedostojen siirrossa voit jatkaa suosikkikoodieditorisi käyttöä ja lisätä vain MicroPython-yhteensopivan apuohjelman.. Yleisiä vaihtoehtoja ovat:
- Thonny — yksinkertainen Python IDE, jossa on sisäänrakennettu MicroPython-tuki, sarjaporttilukitus ja tiedostonhallinta.
- Mu-editori — aloittelijaystävällinen editori, joka puhuu MicroPythonia ja CircuitPythonia.
- VS-koodi laajennuksilla — voit käyttää tavallista Python-tukea yhdessä lisäosien kanssa, jotka käsittelevät MicroPython-latauksen/REPL:n.
- ampy / rshell / mpremote — komentorivityökalut komentosarjojen lataamiseen, tiedostojen listaamiseen ja laitteen REPL-tiedoston kanssa vuorovaikutukseen.
Joillakin Arduino-merkkisillä piirilevyillä on myös integrointipolkuja, joiden avulla pysyt lähellä Arduino-maailmaa ja kirjoitat silti MicroPython-koodia.Tietyt työkalut ja kirjastot mahdollistavat jäsentää MicroPython-ohjelmasi Arduino-tyyliin perustaa() ja silmukka ()ja paljastaa tuttuja toimintoja, kuten digitalWrite or analoginenLue kulissien takana. Tämä antaa pitkäaikaisille Arduino-käyttäjille mahdollisuuden tuntea olonsa kotoisammaksi, vaikka pohjana oleva suoritusympäristö on MicroPython.
Käytännössä MicroPythoniin siirtyminen tarkoittaa yleensä sitä, että lopetat klassisen Arduino IDE:n käytön kyseisissä projekteissa ja siirryt Python-pohjaiseen työnkulkuun.Siitä huolimatta ajatusmallisi ”levy + nastat + kirjastot + esimerkit” pysyy ennallaan, ja päivän tai parin näpräilyn jälkeen MicroPython-editorin ja REPL:n yhdistelmä tuntuu erittäin luonnolliselta.
Aloittaminen: Arduino Unosta ja NodeMCU:sta MicroPythoniin
Jos tavoitteenasi on ajaa MicroPythonia Arduino Unolla, tulet todennäköisesti törmäämään kovaan seinään.Tulkki on yksinkertaisesti liian suuri Unon ATmega328P:lle, eikä virallinen projekti tarjoa ylläpidettyä porttia. Saatat löytää kokeellisia haarukoita tai erittäin riisuttuja johdannaisia, mutta ne eivät toimi kuten normaali MicroPython-ympäristö, eivätkä monet kirjastot sovi niihin. Useimmille ihmisille pragmaattinen ratkaisu on hyväksyä, että Uno on "klassinen Arduino C++" -kortti ja valita toinen laite MicroPython-kokeiluja varten.
NodeMCU:lla (ESP8266- tai ESP32-variantti) voit kuitenkin seurata suoraviivaista reittiä MicroPythoniin.Tarkat vaiheet vaihtelevat hieman sirusta riippuen, mutta yleinen työnkulku on:
- 1. Lataa sopiva MicroPython-laiteohjelmisto esp8266- tai esp32-porttiasi varten MicroPythonin lataussivulta tai päivittäisten koontiversioiden palvelimelta. Varmista, että koontiversio vastaa flash-muistisi kokoa ja emolevyperhettä.
- 2. Pyyhi ja flashaa taulu käyttämällä esptool.py (tai vastaava) tietokoneeltasi. Tämä pyyhkii olemassa olevan laiteohjelmiston (usein NodeMCU Lua- tai Arduino-luonnokset) ja asentaa MicroPythonin tilalle.
- 3. Kytke sarjaliitäntä tai REPL-työkalu (kuten Thonny, Mu, mpremote tai yleinen sarjaporttikonsoli) oikealla baudinopeudella. Sinun pitäisi nähdä tuttu >>> Python-kehote, jos kaikki meni hyvin.
- 4. Luo ja lataa skriptejä nimeltään boot.py ja main.pytai mitä tahansa muita moduuleja, jotka haluat tuoda. Nämä suoritetaan automaattisesti tai ne ovat saatavilla interaktiivista tuontia varten.
Sama kaava pätee moniin Arduino-merkkisiin MicroPython-yhteensopiviin kortteihin, ainoana todellisena erona flash-työkalujen ja käynnistyslataimen toiminnan tarkkuudessa.Esimerkiksi RP2040-pohjainen Arduino käyttää UF2-käynnistyslataajaa (vedä ja pudota .uf2-tiedosto), kun taas Portenta H7 käyttää STM32-käynnistysmekanismeja tai valmistajan apuohjelmia. Flashaamisen jälkeen Pythonin puoli näyttää hyvin samankaltaiselta: kone.Pin GPIO:lle kone.I2C antureille ja niin edelleen.
Arduino-ekosysteemissä on lisämukavuutta MicroPython-apukirjasto, jonka avulla voit kirjoittaa koodia luonnosmaiseen tyyliin.Tämä kirjasto tarjoaa Arduino-tyyppisiä API-rajapintoja ja jopa MicroPython-toteutuksen perustaa() ja silmukka ()Voit esimerkiksi kirjoittaa jotain käsitteellisesti samankaltaista kuin Arduino-luonnos, mutta pohjimmiltaan se toimii MicroPython-ajoympäristössä, jossa käytetään Python-syntaksia ja -semantiikkaa. Tämä tekee siirtymisestä sujuvampaa niille, joilla on vuosien kokemus Arduinosta.
MicroPython-paketit ja -kirjastot Arduino-yhteensopiville piirilevyille
Yksi MicroPythonin vahvuuksista Arduino-luokan korteilla on kasvava laitteistoajureiden ja apukirjastojen ekosysteemi.MicroPython-yhteisö ylläpitää MicroPython-pakettien indeksi joka listaa uudelleenkäytettäviä moduuleja, jotka voidaan asentaa tai kopioida tuetuille korteille, mukaan lukien monet, joilla on eksplisiittinen vahvistus Arduino-tuotteissa.
Tämän hakemiston laatimisohjeet kuvaavat uusien pakettien lähettämistä, niiden asianmukaista dokumentointia ja niihin asiaankuuluvien ominaisuuksien merkitsemistä.Tämä varmistaa, että etsiessäsi anturia tai näyttöä löydät nopeasti ajurin, jonka tiedetään toimivan tiettyjen mikrokontrolleriporttien tai jopa tiettyjen Arduino-levyjen kanssa.
Saatavilla olevista kirjastoista osa on omistettu erityisesti Arduino-laitteistolle, kun taas toiset ovat geneerisiä ajureita, jotka sattuvat vain toimimaan moitteettomasti Arduino-merkkisillä korteilla.Esimerkiksi on olemassa MicroPython-kirjasto Arduino Modulinojen ohjaamiseen, jotka ovat modulaarisia lisäosia, jotka integroituvat tiiviisti Arduino-laitteistoon. Toinen merkittävä paketti on MicroPython-kirjasto Arduino Nicla Sense Env:lle, keskittyen kyseisen levyn ympäristön tunnistusominaisuuksiin.
Mukana on myös erinomainen apuohjelma, jonka avulla koodin kirjoittaminen on helppoa Arduino-tyylisten mallien, kuten setup/loop, ja tuttujen API-rajapintojen avulla MicroPythonissa pysyen.Tämä paketti kuroa tehokkaasti umpeen käsitteellistä kuilua "Arduino-luonnosten" ja Python-moduulien välillä, antaen käyttäjille mahdollisuuden säilyttää lihasmuistin, kuten soittaa digitalWrite samalla hyödyntäen MicroPythonin suoritusympäristöä ja REPL:ää.
Arduino-maisten kirjastojen lisäksi ekosysteemi sisältää pitkän listan anturi-, näyttö-, tallennus- ja apuohjelma-ajureita, jotka tukevat MicroPythonia yleisillä mikrokontrollereilla ja emolevyillä.Monet näistä on testattu esimerkiksi seuraavilla levyillä: arduino:esp32:nano_nora, Eri esp32s3 laitteet ja huippuluokan mbed_portenta variantteja. Vahvistushuomautuksissa usein eritellään käytetty MicroPython-versio ja piirilevyn tunniste, joten tiedät, ettei kirjasto ole teoreettinen.
Merkittäviä MicroPython-ajureita ja -apuohjelmia, joita voit käyttää
MicroPython-pakettihakemisto sisältää laajan kokoelman ajureita, jotka kattavat ympäristöanturit, näyttöohjaimet, I/O-laajennukset, tallennustilan, tietoliikenneprotokollat ja paljon muuta.Jos rakennat projekteja yhteensopiville Arduino-levyille, on erittäin todennäköistä, että haluamallesi laitteistolle on olemassa käyttövalmis ajuri.
Ympäristö- ja kaasuanturit ovat hyvin edustettuinaLöydät MicroPython-ajurin . BME280 anturi (usein viitataan Pycom-laitteisiin kohteena) ja toinen BME680 läpimurto, kommunikointi yli I²CNämä ajurit käsittelevät lämpötila-, kosteus-, paine- ja kaasulukemia, jolloin voit kytkeä esimerkiksi Nano ESP32- tai Nano RP2040 -kortin. Yhdistä ympäristöantureihin vain muutamalla rivillä Python-koodia.
Näytön ohjaus on yhtä hyvin katettu. On olemassa Python-ajureita . Holtek HT16K33 ohjain, joka käyttää laitteita, kuten Adafruit 0.8 tuuman 8×16 LED Matrix FeatherWingiä tai tiettyjä Raspberry Pi Pico -näyttöjä. Nämä ajurit tukevat sekä PiiriPython ja micropython I²C:n kautta, mikä tekee niistä monipuolisia ja uudelleenkäytettäviä eri ekosysteemeissä. Saatavilla on myös MicroPython-ajureita näytönohjaimille, kuten SH1106 ja SH1107, jota käytetään erilaisissa OLED-paneeleissa sekä paketeissa HD44780I²C:n kautta ohjattavat ‑pohjaiset merkki-LCD-näytöt (mallit 1602 ja 2004).
Analogia-digitaalimuunnokseen ja I/O-laajennukseen on saatavilla useita vankkoja paketteja. Sille on olemassa MicroPython-ajuri. ADS1x15 ADC-sarjaa, jota käytetään laajalti korkeamman resoluution analogisten tulojen lisäämiseen. Toinen kirjasto tukee MCP23017 16-bittinen I/O-laajennuskortti I2C-liitännällä, jonka avulla voit lisätä merkittävästi Arduino-luokan piirilevysi digitaalisten nastojen määrää, ja kaikkea ohjataan MicroPythonilla.
Useat LED-ajuripaketit kattavat visuaalisen palautteen ja näytötLöydät MicroPython-kirjaston . MAX7219 8×8 LED-matriisiohjain, joka käyttää SPI:tä ja kehyspuskuria, sekä ohjain neljän 7-segmenttisen LED-näytön perustuu TM1637 siru. Siellä on myös kirjasto 10-segmenttiset LED-palkkikaaviot käyttäen MY9221 ajuri ja erilliset MicroPython-moduulit osoitteellisille LEDeille, kuten WS2812B ja SK6812 (usein yleisesti tunnettu nimellä neopixels) Raspberry Pi Picossa. Nämä kaikki sopivat hyvin yhteen Arduino-merkkisten piirilevyjen kanssa, joilla on samat MCU-perheet.
Reaaliaikakellojen ja tiedonkeruun käyttötapauksia tuetaan erillisten moduulien kautta.Yksi kuljettaja kohdistaa kohteekseen DS3231 RTC yhdistettynä AT24C32 EEPROMiin, joten tarkan ajan pitäminen ja kokoonpanon tai pienten lokien tallentaminen virrankatkaisujen välillä on helppoa. Yhdessä tiettyihin portteihin saatavilla olevien SDCard- ja microSD-ominaisuuksien kanssa voit koota tehokkaita tiedonkeruujärjestelmiä käyttämällä vain MicroPython-skriptejä.
Kosketukseton lämpötilan mittaus ja kapasitiivinen tulo toimivat myös suoraviivaisesti kohdennettujen elementtien ansiosta.. Sitä varten on MicroPython-kirjasto. Melexis MLX90614 IR-lämpötila-anturi, joka mahdollistaa lämpötilan etämittauksen, ja toinen MPR121 kapasitiivinen kosketusnäppäimistö ja breakout-kortit, jotka ovat hyödyllisiä kosketuspohjaisissa käyttöliittymissä. Molemmat integroituvat saumattomasti I²C:n kautta ja niitä voidaan käyttää Arduino-yhteensopivien MicroPython-korttien kanssa.
Biometriselle ja ääniin liittyvälle laitteistolle on olemassa erikoistuneet MicroPython-portit.Paketti on olemassa tälle tuotteelle. MAX30102 anturi, suosittu pulssioksimetri-/sykemittarimoduuli, jota alun perin tuki SparkFunin ajuri ja joka on nyt mukautettu MicroPythoniin. Äänentoistomoduuleja kattaa MicroPython-toteutus DFPlayer-ohjauksesta UART:n yli, mikä tekee MP3-toistosta mahdollista ilman raskasta koodia.
Ajoitus-, liike- ja syöttölaitteille on omat vankat toteutuksensaMicroPython-ajuri sovellukselle pyörivät kooderit käyttää GPIO-keskeytyksiä ja värinänvaimennusta antaakseen tarkkoja ja häiriöttömiä lukemia korteilla, kuten Pyboard, Raspberry Pi Pico, ESP8266 ja ESP32. Raspberry Pi Picon servo-ohjaus on toteutettu ajureilla, jotka käyttävät PDM (pulssitiheysmodulaatio) tai yksinkertaisempia PWM-pohjaisia kääreitä, ja on olemassa pieniä apuluokkia, jotka keskittyvät 9g-servojen ohjaaminen MicroPythonilta.
Infrapunatiedonsiirtoa hoitaa pari estämätöntä ohjainta vastaanottimille ja blastereilleToinen kirjasto keskittyy infrapunakaukosäädinkoodien vastaanottamiseen, kun taas toinen käsittelee infrapunalähetyksiä "blaster"-sovelluksiin. Molemmat on suunniteltu estoettomaan toimintaan, joten ne toimivat mukavasti muiden MicroPython-tehtävien rinnalla.
Lämpötulostusta ja näyttötulostusta varten on saatavilla Adafruitin Python-lämpötulostinkirjaston MicroPython-portti.Tämän paketin avulla voit ohjata lämpökuittitulostimia korteilta, kuten ESP32 tai RP2040, jälleen käyttäen MicroPythonia ohjausympäristönä.
Laitteisto-ohjainten lisäksi on olemassa apuohjelmia, jotka tekevät Arduino-pohjaisista IoT-projekteista paljon yksinkertaisempiaYksi erottuvista ominaisuuksista on Python-asiakasohjelma Arduino IoT Cloudille joka toimii sekä CPythonissa että MicroPythonissa. Tämä GitHubissa Arduino-organisaation alaisuudessa sijaitseva ja Mozilla Public License 2.0 -lisenssillä lisensoitu paketti mahdollistaa MicroPython-laitteiden yhteyden muodostamisen Arduino IoT Cloudiin telemetriaa, kojelaudan käyttöä ja etäohjausta varten. Se on varmistettu arduino:mbed_portenta:envie_m7 MicroPython-alustaa käyttäen, mikä osoittaa, että huippuluokan Arduino-kortit voivat integroitua saumattomasti Arduinon pilvipalveluihin Python-ajonaikaisesta ympäristöstä.
Jotkin näyttö- ja syöttökirjastot on alun perin suunniteltu MicroPythonin Pycom-tyylisen rakenteen ympärille, mutta ne sopivat silti hyvin monille Arduino-luokan korteille.Esimerkiksi Pycomille on räätälöity I2C LCD -merkkinäyttöliittymäpaketti ja MicroPython-portti. ucPack kirjasto, joita molempia voidaan usein käyttää uudelleen tai mukauttaa muihin MicroPython-portteihin, kun alla oleva väylä- ja pinnikonfiguraatio täsmäävät.
Miksi MicroPython Arduino-luokan laitteistolla on tutkimisen arvoinen
Kun yhdistät MicroPythonin dynaamisen ja korkean tason tuntuman valtavaan Arduino-yhteensopivien laitteiden valikoimaan, saat erittäin joustavan prototyyppialustan.Sen sijaan, että jatkuvasti kääntäisit luonnoksia uudelleen, voit iteroida interaktiivisesti: avata REPL:n, työntää nastoja, lukea antureita, säätää logiikkaa ja nähdä välitöntä palautetta. Pelkästään se voi vähentää huomattavasti harrastusprojektien, nopeiden demojen tai jopa ammattimaisten prototyyppien kehitysaikaa.
MicroPython-pakettien ekosysteemi, jossa on eksplisiittinen tuki ja varmennus Arduino-levyillä, tarkoittaa, että sinun ei tarvitse aloittaa tyhjästä raa'illa rekistereillä tai monimutkaisilla C-ajureilla.Kirjastot antureille, kuten BME280/BME680, HT16K33-, SH1106- tai HD44780-pohjaisille näytöille, IO-laajentimille, kuten MCP23017, ja infrastruktuuriosille, kuten ModBus TCP/RTU -asiakkaille ja -isännille, auttavat sinua seisomaan yhteisön harteilla.
Samaan aikaan Arduino-universumi tarjoaa pilviintegraatioita ja hyvin suunniteltuja piirilevysuunnitteluja.Omistettu Arduino IoT Cloud Python -asiakasohjelma on hyvä esimerkki siitä, miten nämä kaksi ekosysteemiä leikkaavat toisiaan: voit kirjoittaa MicroPython-koodia Portenta-luokan piirilevylle ja silti hyödyntää Arduinon kojelaudan ja IoT-työkaluja. Huippuluokan piirilevyt, kuten Giga tai Portenta H7, tuovat kaksiytimiset mikrokontrollerit, Ethernetin, Wi-Fi:n, BLE:n, USB-C:n ja paljon muuta saman katon alle, ja kaikkia näitä voidaan käyttää MicroPython-laiteohjelmistosta.
On toki kompromissejaJotkin matalan tason ajoituskriittiset sovellukset saattavat silti olla parempia kirjoittaa C/C++:lla klassisina Arduino-luonnoksina, ja erittäin resurssirajoitteiset piirilevyt, kuten alkuperäinen Uno, eivät yksinkertaisesti sovellu MicroPythonille. Mutta suurelle osalle projekteista, joihin liittyy antureita, näyttöjä, liitettävyyttä ja kohtalaisia reaaliaikaisia vaatimuksia, MicroPython yhteensopivalla Arduino-laitteistolla on nopea, helposti lähestyttävä ja yllättävän tehokas yhdistelmä.
Jokaiselle, joka on siirtynyt tavallisesta Pythonista MicroPythoniin moderneilla Arduino-luokan korteilla, kuten ESP32-pohjaisilla Nanos-, RP2040 Connect- tai Portenta-laitteilla, tarjoaa sujuvan pääsyn sulautettuun kehitykseen samalla, kun voit hyödyntää kielitaitoasi, monipuolista pakettihakemistoa ja hyödyntää vankkaa, hyvin dokumentoitua laitteistoa, joka teki Arduinosta niin suositun alun perin..