[MicroPython] С чего начать?
Если вы не знаете Python
Суть MicroPython в том, чтоб быстро разрабатывать устройства обладая знаниями Python. Отсюда вывод, знать Python на базовом уровне нужно, без этого никак. Советую курсы или группу по Python
Если Python вы знаете
Для начала надо найти устройство, железку под которую вы будете писать. Ведь вся суть наших плясок - получить работающий девайс с вашим кодом в физическом исполнении.
Дальше я соберу несколько вариантов с ссылками на Али.
Во всех девайсах есть Wifi, так что на этот счёт можно не беспокоиться.
После списка девайсов будет краткая информация по самому MicroPython.
Девайсы M5Stack
M5Stack девайсы можно назвать словосочетанием "Дорого и круто". Стоят они и правда не мало, но обычно хорошо продуманы, имеют внутри себя много аппаратных устройств типа экранов, индикаторов, кнопок и тд. Обычно к каждому девайсу есть целая россыпь модулей расширений, от плат под пайку до GPS молулей и клавиатур.
M5Stack Fire
Девайс имеет на борту:
- Контроллер ESP32 с PSRAM 4 мегабайт, Wi-Fi, dual mode Bluetooth
- Слот для MicroSD до 16 гигабайт
- LCD экран 320х240, яркий и цветной
- 3 кнопки
- Спикер динамик
- Акселерометр + гироскоп
- 10 программируемых RGB светодиодов по контуру (5 слева + 5 справа), очень яркие.
- Li-Pol аккумулятор с контроллером заряда (доступен программно по i2c)
- Порты расширений для модулей, которые можно заказать у m5Stack или спаять самому.
- Магнитная площадка сзади, позволяющая легко перемещать девайс и ставить его на зарядку. (док в комплекте уже есть)
На мой скромный взгляд, это лучший девайс. Законченный вид, куча памяти, аккумулятор.
Купить можно за 3700 рублей + доставка
M5Stack Gray
Почти как Fire, но меньше памяти, без светодиодов, и без магнитной док станции.
Девайс имеет на борту:
- Контроллер ESP32, Wi-Fi, dual mode Bluetooth
- Слот для MicroSD до 16 гигабайт
- LCD экран 320х240, яркий и цветной
- 3 кнопки
- Спикер динамик
- Акселерометр + гироскоп
- Li-Pol аккумулятор с контроллером заряда (доступен программно по i2c)
- Порты расширений для модулей, которые можно заказать у m5Stack или спаять самому.
Купить можно за 2500 рублей + доставка
M5StickC
Совсем малыш размером с палец, но с экраном и богатым внутренним миром.
Имеет множество модулей расширения, смотрите в официальном магазине (сверху ссылка)
Девайс имеет на борту:
- Контроллер ESP32-Pico, Wi-Fi, dual mode Bluetooth
- LCD экран 80х160, яркий и цветной
- 2 кнопки
- IR передатчик
- Микрофон
- Акселерометр + гироскоп
- Li-Pol аккумулятор с контроллером заряда (доступен программно по i2c)
- Порты расширений для модулей, которые можно заказать у m5Stack или спаять самому.
Купить можно за 900 рублей + доставка.
M5Stack Atom
Самый маленький из м5. Без батареи.
Девайс имеет на борту:
- Контроллер ESP32-Pico, Wi-Fi, dual mode Bluetooth
- Диодный экран 5х5, яркий и цветной
- 1 кнопка под светодиодами
- IR передатчик
- Акселерометр + гироскоп
- Порты расширений для модулей, которые можно заказать у m5Stack или спаять самому.
Купить можно за 660 рублей + доставка
TTGO
Девайсы TTGO это по китайски, много, и дешево. При этом они не плохо продуманы и вполне подойдут для начального уровня. Забудьте про красивые корпуса, их тут делать придётся самому. А так же забудьте про модули расширения. Всё своими руками.
Я покажу только малую часть их девайсов, открывайте магазин и смотрите сами всё что интересно.
TTGO T4 1.3
Плата с довольно большим экраном. Можно сделать автономной в виду входа под аккумулятор и встроенной разводки для его заряда. Корпуса нет, но я находил под 3д печать и печатал сам.
Дешево и сердито.
Девайс имеет на борту:
- Контроллер ESP32, Wi-Fi, dual mode Bluetooth + SPRAM 8M
- Слот для MicroSD до 16 гигабайт
- LCD экран 240x320, яркий и цветной
- 3 кнопки
- Контроллер заряда LiPo аккумулятора (доступен программно по i2c)
- Порты расширений для модулей, которые можно спаять самому.
Купить можно за 1200 рублей + доставка
TTGO T-Watch 2020
Для тех, кто хочет замутить свои часы, с блекджеком и ...
Сразу предупреждаю, девайс продуман не плохо, но над энергосбережением надо подумать серьёзно, так как постоянно горящий экран и запущенный WIFI будет кушать батарею.
Девайс имеет на борту:
- Контроллер ESP32, Wi-Fi, dual mode Bluetooth + PSRAM 8M
- LCD экран, яркий и цветной
- Сенсор над экраном (да, ещё и сенсорные)
- 1 кнопка
- IR трансмиттер
- Аккумулятор + Контроллер заряда LiPo аккумулятора (доступен программно по i2c)
- Акселерометр
- Вибромотор
- Звуковой процессор + Динамик
- Встроенный модуль Часов реального времени (RTC)
Очень вкусную девайсину можно купить за 1900 рублей + доставка
TTGO T1
Для тех, кому не нужны экраны и навороты, кто хочет прикручивать нужное ему оборудование сам.
Девайс имеет на борту:
- Контроллер ESP32, Wi-Fi, dual mode Bluetooth + PSRAM 8M
- Слот под MicroSD до 16 Гигабайт
- Контроллер заряда LiPo аккумулятора (доступен программно по i2c)
Можно купить за 370 рублей + доставка
MicroPython
Все железки выше можно кодить на С++ и на MicroPython. Некоторые, типа M5Stack можно даже в графической среде UI Flow.
Но мы тут собрались ради Микропитона, так что речь пойдёт о нём.
Микропитонов основных два (на самом деле больше). Ванильный и от Лобо.
Ванильный - это тот, который качается с официального https://micropython.org/ (кстати на нём не самая плохая документация и довольно активный форум на английском языке)
От Лобо, это тот, который с Гитахаба пользователя loboris. Микропитон на стероидах. Этот Лоборис обладает регулярными поставками разных дымных смесей и накрутил в свой микропитон столько всего, что разбегаются глаза. Именно этот микропитон я и советую использовать для всех девайсов с LCD экранами. Но учтите, перед прошивкой, скорее всего, придётся собрать свою версию, включив в неё то, что нужно именно вам для девайса.
Кратко о работе и устройстве прошивки MicroPython
MicroPython представляет из себя прошивку, написанную на C++. Внутри имеется интерпретатор Python версии 3.5 с обрезанным функционалом. (Подробнее о вырезанном в доке официального сайта) А так же специальные драйвера для работы устройств и файловой системы.
Микропайтон создаёт под себя файловую систему, в которую вы можете закидывать ваши .py
и иные файлы (через USB, FTP или через WEBREPL). Обычно места под это дело 4 мегабайта - место под прошивку. Но некоторые производители расширяют место до 8 или 16 мегабайт. Как правило, это достаточно. Но всё расширяется картами памяти.
После запуска и загрузки ядра Микропайтона, он ищет в памяти файл boot.py
и исполняет его. Этот же файл исполняется после пробуждения контроллера из сна.
После успешного исполнения запускается файл main.py
Внутри этих файлов, как можно предположить, уже ваша логика написанная на пайтоне.
Можно подключить девайс по USB порту, подключится на найденный COM порт и мы попадём в интерактивный интерпретатор, в котором можно поиграться с пайтоном на железке.
Пример из офф. документации:
import network wlan = network.WLAN(network.STAIF) # create station interface wlan.active(True) # activate the interface wlan.scan() # scan for access points wlan.isconnected() # check if the station is connected to an AP wlan.connect('essid', 'password') # connect to an AP wlan.config('mac') # get the interface's MAC address wlan.ifconfig() # get the interface's IP/netmask/gw/DNS addresses ap = network.WLAN(network.APIF) # create access-point interface ap.config(essid='ESP-AP') # set the ESSID of the access point ap.config(max_clients=10) # set how many clients can connect to the network ap.active(True) # activate the interface
Как видите, всё максимально просто.
Теперь покупайте нужные вам девайсы и давайте экспериментировать вместе на нашем канале по MicroPython
Ваш Вадик.