
Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-23 15:05


Jedným z najúžasnejších aspektov mikrokontroléra ESP32 je jeho schopnosť spustiť MicroPython. To je možné vykonať dvoma spôsobmi: spustením úplných programov Python alebo interaktívne prostredníctvom konzolovej aplikácie. Tento návod ukazuje, ako používať MicroPython oboma spôsobmi pomocou dosky senzorov Complex Arts. Najprv spustíme ukážkovú aplikáciu, ktorá zhromažďuje údaje akcelerometra z BNO_085 IMU, potom použijeme sériový program na interaktívne programovanie v Pythone.
Úroveň: Tento tutoriál predpokladá určité znalosti jazyka Python a toho, že Python je nainštalovaný. Predpokladá tiež znalosť základných príkazov terminálu.
Nástroje: Jediné nástroje, ktoré budeme potrebovať, budú doska snímačov, terminálový program a program pre sériovú konzolu. Na počítačoch Mac môžete jednoducho použiť terminál. Na počítači so systémom Windows si musíte stiahnuť a nainštalovať terminálový program. Pre sériovú konzolu. Tmel je vždy dobrá voľba.
Krok 1: Získanie firmvéru a knižníc
Na začiatok si budeme musieť stiahnuť vlastný firmvér poskytovaný spoločnosťou Complex Arts a potom ho nahrať na dosku senzorov. Firmvér nájdete tu:
Stiahnite si súbor firmware.bin a umiestnite ho do priečinka, ktorý si vyberiete. Nakoniec budete potrebovať aj ukážkový program Complex Arts, takže to môžete urobiť aj teraz; choďte na: https://github.com/ComplexArts/SensorBoardPython a git clone alebo si stiahnite miesto, ktoré si vyberiete.
Akonáhle budete mať súbory, budeme potrebovať niekoľko balíkov na prepojenie s ESP32. Prvý balík, ktorý budeme potrebovať, je esptool.py. Ak ho chcete nainštalovať, jednoducho zadajte
pip install esptool
v termináli.
Akonáhle je esptool nainštalovaný, môžeme čip vymazať a znova blikať. Ak to chcete urobiť, zadajte
esptool.py --chip esp32 --port COM4 erase_flash
pre port zadajte sériový port, ktorý sa zhoduje s doskou snímača. Na počítači Mac by to vyzeralo niečo ako --port /dev /ttyUSB0
Akonáhle to bude hotové, čip zašifrujeme pomocou:
esptool.py --chip esp32 --port COM4 --baud 460800 write_flash -z 0x1000 firmware.bin
Opäť zodpovedajúcim spôsobom zmeňte port.
Krok 2: Práca s MicroPython

Ak v tomto mieste skontrolujeme sériový výstup dosky senzorov, uvidíme Python REPL (slučka read-eval-print: >>>) Na to budeme potrebovať program pre sériovú konzolu. Tmel je dobrá voľba, pretože poskytuje možnosti pre SSH a telnet, ale aj jednoduchú sériovú komunikáciu, ako tu budeme postupovať. putty.org. Akonáhle to nainštalujete, otvorte ho a v časti „Typ pripojenia“vyberte „Sériové“: Budete musieť zadať rovnaký názov sériového portu, aký ste zadali pre vyššie uvedený esptool, a potom prenosovú rýchlosť 115 200 pre rýchlosť. Pokračujte a kliknite na „Otvoriť“. A je tu Python!
Teraz budeme chcieť nahrať a spustiť náš ukážkový kód. Ak to chcete urobiť, prejdite do priečinka, do ktorého ste predtým uložili príklady SensorBoardPython. Budeme potrebovať úžasný ampy balíček od spoločnosti Adafruit. Môžete to nainštalovať pomocou:
pip install adafruit-ampy = 0,6,3
Akonáhle to budete mať, pomocou ampy nahrajte príklad akcelerometra na tabuľu:
ampy -p COM4 dal accelerometer.py
(samozrejme podľa toho zmeniť port). Teraz resetujte dosku pomocou tlačidla reset. V tomto mieste sa vrátime k tmelu a na výzvu >>> napíšte
importný akcelerometer
Viola! Teraz na doske senzorov spustíte kód accelerometer.py! Kód pobeží 20 sekúnd a potom sa zastaví. Všimnite si, že kým je kód akcelerometra spustený, modrá dióda LED na doske bliká. Tí, ktorí poznajú Python, si všimnú, že sa to deje bez vytvárania vlákien a bez oneskorenia (). Je to kvôli použitiu asynciockej knižnice Pythonu, ktorá poskytuje skvelé metódy na súčasné spúšťanie úloh a je veľmi užitočná na vstavaných platformách, ako je ESP32. Ak to nepoznáte, stojí za to si to pozrieť; tu je skvelý návod: https://github.com/peterhinch/micropython-async/b… (ale varujte, je to trochu opojné).
Krok 3: MicroPython nad sériovo
Späť k aktuálnej úlohe! Akonáhle sa kód akcelerometra zastaví, znova uvidíte Python >>>. Teraz môžeme interaktívne programovať pomocou Sensor Board ako nášho tlmočníka Pythonu. Ak to chcete urobiť, zadajte
>> x = 10
>> y = 11
>> x + y
21
Aj keď je to najzákladnejší príklad, môžeme ľahko začať vytvárať zložitejší kód pomocou knižníc Complex Arts ako východiskového bodu. To vám umožní vykonávať polohové merania a pohyb za behu s ovládaním v reálnom čase. S kolíkmi GPIO, ktoré sú k dispozícii na doske senzorov, môžete pohotovo pripojiť serva, svetlá, senzory, motory alebo akékoľvek množstvo fyzických zariadení, a to buď interaktívne, alebo prostredníctvom programu Python. Bavte sa!
Ak chcete získať ďalšie informácie, pozrite sa na tieto ďalšie zdroje:
complexarts.net/home/
complexarts.net/docs/bno085/
Odporúča:
Jednoduché spájkovanie ESP12 na štandardnej doske: 3 kroky

Jednoduché spájkovanie ESP12 na štandardnom PCB: Dobrý deň, čínske ESP12 sú veľmi drzé, ale sú nočnou morou na testovanie na doske alebo na spájkovanie na doske kvôli ich neobvykle 2 mm odstupu medzi nohami. Vytvoril som malý 3D tlačený adaptér a po niekoľkých pokusoch som našiel veľmi ľahké a spoľahlivé riešenie
Odpájanie komplexných komponentov: 4 kroky

Odpájanie komplexných komponentov: Už ste niekedy chceli dostať ten náhodný čip alebo komponent z tej náhodnej dosky s obvodmi, ktorú máte? Iste, to sa dá ľahko dosiahnuť napríklad kondenzátormi alebo diódami LED, ale pokiaľ ide o zložitejšie veci, je to o niečo ťažšie. … A keď sa veci dotknú
Fuzz akustickej gitary na doske: 3 kroky

Fuzz akustickej gitary na doske: Varovanie! Tento projekt bol navrhnutý na použitie s akustickou gitarou, takže si všimnite, že nemusí byť vhodný s elektrickou. O projekte: Tento jednoduchý protoboardový projekt Fuzz pozostáva zo skutočne jednoduchého, ale účinného obvodu. Je určené na pridanie, takže
Elektronika na doske: 3 kroky

Elektronika Breadboard: Elektronika Breadboard je o prototypovaní obvodov, ktoré majú dokázať, že niečo funguje bez toho, aby sme museli naše súčiastky spájkovať na spájkovanú dosku. Breadboard nám umožňuje hrať, učiť sa, demontovať a hrať ďalšie hry
Nastaviteľný zdroj napájania na LCD doske: 4 kroky

Nastaviteľný napájací zdroj LCD Breadboard: Predtým som pre svoje prototypy breadboard používal pevnú regulovanú dosku 3,3 V/5 V. V poslednej dobe som však mal situáciu, keď prototypový obvod spôsobil preťaženie regulátora, čo spôsobilo skratovanie vnútorného 5 V regulátora a