Оглавление:

MicroPython на сенсорной плате Complex Arts: 3 шага
MicroPython на сенсорной плате Complex Arts: 3 шага

Видео: MicroPython на сенсорной плате Complex Arts: 3 шага

Видео: MicroPython на сенсорной плате Complex Arts: 3 шага
Видео: Amazing arduino project 2024, Ноябрь
Anonim
MicroPython на сенсорной плате Complex Arts
MicroPython на сенсорной плате Complex Arts
MicroPython на сенсорной плате Complex Arts
MicroPython на сенсорной плате Complex Arts

Одним из самых удивительных аспектов микроконтроллера ESP32 является его способность запускать MicroPython. Это можно сделать двумя способами: запустить полные программы Python или интерактивно через консольное приложение. Это руководство продемонстрирует, как использовать MicroPython в обоих направлениях с помощью платы датчиков Complex Arts. Сначала мы запустим пример приложения, которое собирает данные акселерометра от IMU BNO_085, а затем воспользуемся последовательной программой для интерактивного программирования на Python.

Уровень: это руководство предполагает некоторые знания Python и что Python установлен. Это также предполагает знание основных команд терминала.

Инструменты. Единственные инструменты, которые нам понадобятся, это Sensor Board, программа терминала и программа последовательной консоли. На 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 --port 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 (цикл чтения-оценки-печати: >>>). Для этого нам понадобится программа последовательной консоли. Putty - хороший вариант, поскольку он предоставляет опции для SSH и telnet, а также обеспечивает простую последовательную связь, как мы будем делать здесь. putty.org. После того, как вы его установили, откройте его и выберите «Последовательный» в разделе «Тип подключения». Вам нужно будет ввести то же имя последовательного порта, которое вы ввели для esptool выше, а затем скорость передачи 115200 бод для скорости. Идите вперед и нажмите «Открыть». А есть Python!

Теперь нам нужно загрузить и запустить наш пример кода. Для этого перейдите в папку, в которую вы ранее сохранили примеры SensorBoardPython. Нам понадобится потрясающий пакет AMP от Adafruit. Вы можете установить это с помощью:

pip install adafruit-ampy = 0.6.3

Получив его, используйте ampy для загрузки примера акселерометра на плату:

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

(меняя порт соответственно, конечно). Теперь сбросьте вашу доску с помощью кнопки сброса. На этом этапе мы вернемся к Putty и в командной строке >>> введите

импортный акселерометр

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

Шаг 3: MicroPython через последовательный порт

Вернемся к задаче! Когда код акселерометра остановится, вы снова увидите Python >>>. Теперь мы можем программировать в интерактивном режиме, используя Sensor Board в качестве интерпретатора Python. Для этого введите

>> х = 10

>> y = 11

>> х + у

21

Хотя это самый простой из примеров, мы можем легко начать создавать более сложный код, используя библиотеки Complex Arts в качестве отправной точки. Это позволяет вам выполнять измерения положения и движения «на лету» с контролем в реальном времени. С контактами GPIO, доступными на плате датчиков, вы можете легко подключать сервоприводы, фонари, датчики, двигатели или любое количество физических устройств, используя их либо в интерактивном режиме, либо через программу Python. Повеселись!

Для получения дополнительной информации ознакомьтесь с другими ресурсами:

complexarts.net/home/

complexarts.net/docs/bno085/

Рекомендуемые: