Obsah:

MicroPython na desce senzorů komplexních umění: 3 kroky
MicroPython na desce senzorů komplexních umění: 3 kroky

Video: MicroPython na desce senzorů komplexních umění: 3 kroky

Video: MicroPython na desce senzorů komplexních umění: 3 kroky
Video: Thing Monk 2014 (Tkalci na webu / Vánoční besídka) 2024, Listopad
Anonim
MicroPython na desce senzorů komplexních umění
MicroPython na desce senzorů komplexních umění
MicroPython na desce senzorů komplexních umění
MicroPython na desce senzorů komplexních umění

Jedním z nejúžasnějších aspektů mikrokontroléru ESP32 je jeho schopnost spouštět MicroPython. To lze provést dvěma způsoby: spuštěním úplných programů Pythonu nebo interaktivně prostřednictvím konzolové aplikace. Tento Instructable předvede, jak používat MicroPython oboustranně pomocí Complex Arts Sensor Board. Nejprve spustíme ukázkovou aplikaci, která shromažďuje data akcelerometru z BNO_085 IMU, poté použijeme sériový program k interaktivnímu programování v Pythonu.

Úroveň: Tento tutoriál předpokládá určité znalosti Pythonu a to, že je Python nainstalován. Předpokládá také znalost základních příkazů terminálu.

Nástroje: Jediné nástroje, které budeme potřebovat, budou Sensor Board, terminálový program a program sériové konzoly. Na počítači Mac můžete jednoduše použít terminál. Na počítači se systémem Windows budete muset stáhnout a nainstalovat terminálový program. Pro sériovou konzoli. Tmel je vždy dobrá volba.

Krok 1: Získání firmwaru a knihoven

Abychom mohli začít, musíme si stáhnout vlastní firmware poskytovaný společností Complex Arts a poté jej zaslat flash na desku senzoru. Firmware najdete zde:

Stáhněte si soubor firmware.bin a umístěte jej do vámi zvolené složky. Budete také nakonec potřebovat ukázkový program Complex Arts, takže to můžete také udělat nyní; přejděte na: https://github.com/ComplexArts/SensorBoardPython a git clone nebo si stáhněte na vámi zvolené místo.

Jakmile budete mít soubory, budeme potřebovat několik balíčků pro propojení s ESP32. První balíček, který budeme potřebovat, je esptool.py. Chcete -li jej nainstalovat, jednoduše zadejte

pip install esptool

v terminálu.

Jakmile je esptool nainstalován, můžeme čip vymazat a znovu bliknout. Chcete -li to provést, zadejte

esptool.py --chip esp32 --port COM4 erase_flash

pro port zadejte sériový port, který se shoduje s deskou senzoru. Na počítači Mac by to vypadalo něco jako --port /dev /ttyUSB0

Jakmile to bude hotové, načteme čip pomocí:

esptool.py --chip esp32 --port COM4 --baud 460800 write_flash -z 0x1000 firmware.bin

Opět odpovídajícím způsobem změňte port.

Krok 2: Práce s MicroPythonem

Práce s MicroPythonem
Práce s MicroPythonem

Pokud v tomto bodě zkontrolujeme sériový výstup desky senzoru, uvidíme Python REPL (smyčka read-eval-print: >>>) K tomu budeme potřebovat program pro sériovou konzoli. Putty je dobrá volba, protože poskytuje možnosti pro SSH a telnet, ale také jednoduchou sériovou komunikaci, jak zde budeme postupovat. putty.org. Jakmile to nainstalujete, otevřete jej a v části „Typ připojení:“vyberte „Sériové“: Budete muset zadat stejný název sériového portu, jaký jste zadali pro výše uvedený esptool, a poté přenosovou rychlost 115200 pro Rychlost. Pokračujte a klikněte na „Otevřít“. A je tu Python!

Nyní budeme chtít nahrát a spustit náš ukázkový kód. Chcete -li to provést, přejděte do složky, kam jste dříve uložili příklady SensorBoardPython. Budeme potřebovat úžasný balíček amaf Adafruit. Můžete jej nainstalovat pomocí:

pip install adafruit-ampy = 0.6.3

Jakmile to máte, použijte ampy k nahrání příkladu akcelerometru na desku:

ampy -p COM4 dal accelerometer.py

(samozřejmě podle toho změnit port). Nyní resetujte desku tlačítkem reset. V tuto chvíli se vrátíme k tmelu a na výzvu >>> zadejte

importní akcelerometr

Viola! Nyní na desce senzorů spouštíte kód accelerometer.py! Kód poběží 20 sekund, poté se zastaví. Všimněte si, že zatímco kód akcelerometru běží, modrá LED na desce bliká. Pro ty, kteří jsou s Pythonem obeznámenější, si všimnete, že se to děje bez vytváření vláken a bez prodlení (). Důvodem je použití asynciové knihovny Pythonu, která poskytuje skvělé metody pro souběžné spouštění úloh a je velmi užitečná na vestavěných platformách, jako je ESP32. Pokud se v tom nevyznáte, vyplatí se to vyzkoušet; zde je skvělý návod: https://github.com/peterhinch/micropython-async/b… (ale pozor, je to trochu opojné).

Krok 3: MicroPython Over Serial

Zpět k aktuálnímu úkolu! Když se kód akcelerometru zastaví, znovu uvidíte Python >>>. Nyní můžeme interaktivně programovat pomocí Sensor Board jako našeho tlumočníka Pythonu. Chcete -li to provést, zadejte

>> x = 10

>> y = 11

>> x + y

21

I když se jedná o nejzákladnější příklady, můžeme snadno začít vytvářet složitější kód pomocí knihoven Complex Arts jako výchozího bodu. To vám umožní provádět poziční měření a pohyb za běhu s ovládáním v reálném čase. S piny GPIO dostupnými na desce senzorů můžete snadno připojit serva, světla, senzory, motory nebo libovolný počet fyzických zařízení, a to buď interaktivně, nebo prostřednictvím programu Python. Bavte se!

Další informace najdete v těchto dalších zdrojích:

complexarts.net/home/

complexarts.net/docs/bno085/

Doporučuje: