Obsah:

MicroPython na doske senzorov komplexných umení: 3 kroky
MicroPython na doske senzorov komplexných umení: 3 kroky

Video: MicroPython na doske senzorov komplexných umení: 3 kroky

Video: MicroPython na doske senzorov komplexných umení: 3 kroky
Video: ESP32, Micropython, что где и как. 2024, November
Anonim
MicroPython na doske senzorov komplexných umení
MicroPython na doske senzorov komplexných umení
MicroPython na doske senzorov komplexných umení
MicroPython na doske senzorov komplexných umení

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

Práca s MicroPython
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: