Эта статья начинает курс уроков по программированию микроконтроллеров с помощью языка Micropython. Это сравнительно новый язык программирования, но уже успевший завоевать популярность. Будучи представленным в 2013-м году в качестве проекта на Kikstarter, в 2020 он доступен на довольно внушительном списке плат и включает в себя множество библиотек для работы с различными модулями.
В данный момент - Micropython поддерживается следующими платами:
Кроме этого, у американской компании Adafruit существует собственная сборка Micropython - CircuitPython, но она доступна лишь на её фирменных платах, которые не поставляются в Россию.
В наших уроках будут использоваться платы ESP8266 или ESP32, обратите внимание, что если вы будете использовать другие платы или другие библиотеки - синтаксис может незначительно отличаться от приведённого в статье.
Для работы с Micropython, в частности для его установки на плату, необходима программа esptool. Это модуль, написанный на Python, и с помощью которого можно загружать прошивки на ESP8266 и ESP32. Для установки вам необходим Python.Установочный пакет для него можно и нужно скачать на официальном сайте - python.org. После установки Python на ваш компьютер, в командной строке(или терминале) ввести команду pip install esptool
.
Для проверки что установка прошла успешно нужно ввести в терминале команду esptool.py -h
или, если вы используете Windows - esptool.exe -h
. Вы увидите всю подсказку по данному модулю.
Процесс установки Micropython-a аналогичен установке Espruino: скачать с сайта прошивку и установить её с помощью esptool
, не забыв перед установкой отформатировать плату. При использовании команд - помните, что порт и имя файла прошивки может отличаться.
esptool.py --chip esp32 --port /dev/ttyUSB0 erase_flash
esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 460800 \
write_flash -z 0x1000 esp32-20190125-v1.10.bin
Для разработки с использованием Micropython уже существует достаточно много IDE, однако на мой взгляд самой удобной является Mu. Это IDE, которая позволяет работать не только с ESP32/ESP8266 но и с другими платами, поддерживающими Micropython.
Здесь есть и встроенная REPL, и функционал для загрузки и редактирования файлов, и автокомплит. В настройках IDE необходимо выбрать только тип платы, программа сама найдёт это устройство среди доступных портов.
Поговорим немного о синтаксисе. Если вы уже умеете программировать на Python - то никаких сложностей не возникнет, нужно только обратить своё внимание на модули предназначенные для работы с "железом"
Если вы не знакомы, то не пугайтесь, в процессе чтения примеров вы увидите, что синтаксис прост и понятен. Несколько синтаксических правил для понимания:
import name_of_library
Традиционно, первой программой для микроконтроллеров является программа Blynk - моргание встроенным в практически любую плату светодиодом.
В данном уроке используется плата на основе ESP8266 - WeMod D1 Mini, на ней встроенный светодиод связан с GPIO2.
from machine import Pin
import time
led_pin = Pin(2,Pin.OUT)
while True:
led_pin.on()
time.sleep(1)
led_pin.off()
time.sleep(1)
Для начала, необходимо импортировать библиотеки: from machine import Pin
- самая популярная строка в программах на Micropython, в ней мы подключаем возможность управления пинами, библиотека time
отвечает за работу со временем.
После этого необходимо связать GPIO2 с нашей переменной, и указать режим работы - Pin.OUT
.
Затем в бесконечном цикле включать и выключать, то есть подавать сигнал равный 0 или 1 на наш пин, не забывая делать между этим паузу в одну секунду.
Вот мы и написали нашу первую программу на Micropython. В следующих уроках мы будем подключать различные модули и библиотеки.
Данная статья является собственностью Amperkot.ru. При перепечатке данного материала активная ссылка на первоисточник, не закрытая для индексации поисковыми системами, обязательна.
Комментарии