Съдържание:

MicroPython на сензорната платка за сложни изкуства: 3 стъпки
MicroPython на сензорната платка за сложни изкуства: 3 стъпки

Видео: MicroPython на сензорната платка за сложни изкуства: 3 стъпки

Видео: MicroPython на сензорната платка за сложни изкуства: 3 стъпки
Видео: Урок№1. Первые шаги в асинхронном программировании на языке microPython на микроконтроллере ESP8266 2024, Ноември
Anonim
MicroPython на сензорната дъска за сложни изкуства
MicroPython на сензорната дъска за сложни изкуства
MicroPython на сензорната дъска за сложни изкуства
MicroPython на сензорната дъска за сложни изкуства

Един от най -удивителните аспекти на микроконтролера ESP32 е способността му да изпълнява MicroPython. Това може да стане по два начина: стартиране на пълни програми на Python или интерактивно чрез конзолно приложение. Този Instructable ще демонстрира как да използвате MicroPython и по двата начина с помощта на Complex Arts Sensor Board. Първо ще стартираме примерно приложение, което събира данни за акселерометър от BNO_085 IMU, след това ще използваме серийна програма за интерактивно програмиране в Python.

Ниво: Този урок предполага известно познаване на Python и че Python е инсталиран. Той също така предполага познаване на основните терминални команди.

Инструменти: Единствените инструменти, от които се нуждаем, ще бъдат сензорната платка, терминална програма и програма за серийна конзола. На Mac можете просто да използвате терминал. На машина с Windows ще трябва да изтеглите и инсталирате терминална програма. За серийната конзола. Шпакловката винаги е добър избор.

Стъпка 1: Вземете фърмуера и библиотеките

За да започнете, ще трябва да изтеглите персонализирания фърмуер, предоставен от Complex Arts, и след това да го прехвърлите на сензорната платка. Фърмуерът може да бъде намерен тук:

Изтеглете файла firmware.bin и го поставете в избраната от вас папка. В крайна сметка ще ви е необходима и примерната програма Complex Arts, така че бихте могли да го направите и сега; отидете на: https://github.com/ComplexArts/SensorBoardPython и git clone или изтеглете до избраното от вас място.

След като получите файловете, ще ни трябват няколко пакета за свързване с ESP32. Първият пакет, от който се нуждаем, е esptool.py. За да го инсталирате, просто напишете

pip install esptool

в терминала.

След като esptool е инсталиран, можем да изтрием, след което да флашнем отново чипа. За да направите това, въведете

esptool.py --chip esp32 -порт COM4 erase_flash

за порта, въведете серийния порт, който съвпада с сензорната платка. На Mac това би изглеждало нещо като --port /dev /ttyUSB0

След като това бъде направено, ние ще светнем чипа с:

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

Отново променете съответно порта.

Стъпка 2: Работа с MicroPython

Работа с MicroPython
Работа с MicroPython

Ако проверим серийния изход на сензорната платка на този етап, ще видим Python REPL (цикълът read-eval-print: >>>) За да направим това, ще ни трябва серийна конзолна програма. Putty е добър вариант, тъй като предоставя опции за SSH и telnet, но и проста серийна комуникация, както ще правим тук. putty.org. След като го инсталирате, отворете го и изберете „Сериен“под „Тип връзка:“Ще трябва да въведете същото име на сериен порт, което сте въвели за esptool по -горе, след това скорост на предаване от 115200 за скоростта. Продължете напред и кликнете върху „Отваряне“. И има Python!

Сега ще искаме да качим и изпълним нашия примерен код. За да направите това, отидете в папката, където по -рано сте запазили примерите на SensorBoardPython. Ще се нуждаем от страхотния ампи пакет на Adafruit. Можете да го инсталирате с:

pip install adafruit-ampy = 0.6.3

След като го имате, използвайте ampy, за да качите примера на акселерометъра на дъската:

ampy -p COM4 постави accelerometer.py

(промяна на пристанището съответно, разбира се). Сега нулирайте дъската си с бутона за нулиране. На този етап ще се върнем към Putty и в подканата >>> въведете

акселерометър за внос

Виола! Вече използвате кода accelerometer.py на сензорната платка! Кодът ще работи в продължение на 20 секунди, след което ще спре. Забележете, че докато кодът на акселерометъра работи, синият светодиод на платката мига. За тези, които са по -запознати с Python, ще забележите, че това се прави без нишки и без забавяне (). Това се дължи на използването на библиотеката на Python asyncio, която предоставя чудесни методи за едновременно изпълнение на задачи и е изключително полезна на вградени платформи като ESP32. Ако не сте запознати с него, струва си да проверите; тук има страхотен урок: https://github.com/peterhinch/micropython-async/b… (но имайте предвид, че е малко опияняващ).

Стъпка 3: MicroPython над сериен

Обратно към задачата! Когато кодът на акселерометъра спре, отново ще видите Python >>>. Сега можем да програмираме интерактивно, като използваме сензорната платка като наш интерпретатор на Python. За да направите това, въведете

>> x = 10

>> y = 11

>> x + y

21

Въпреки че това е най -основният от примерите, лесно можем да започнем да създаваме по -сложен код, използвайки библиотеките Complex Arts като отправна точка. Това ви позволява да извършвате позиционни измервания и движение в движение, с контрол в реално време. С GPIO щифтовете, налични на сензорната платка, можете лесно да свържете сервомотори, светлини, сензори, двигатели или произволни физически устройства, като ги използвате интерактивно или чрез програма на Python. Забавлявай се!

За повече информация вижте тези други ресурси:

complexarts.net/home/

complexarts.net/docs/bno085/

Препоръчано: