Питон (Python) на ESP8266

В последнее время интенсивно изучаю язык программирования Python (звучит как «пайтон», назван по имени создателя и ничего общего не имеет с известным земноводным). Привлекла довольно «хулиганская» структура и синтаксис, точнее  некое отсутствие таковых, необычный подход к объектно-ориентированному программированию и обилие готовых библиотек.
Не буду подробно описывать сам язык, кому интересно — информации в сети огромное множество.
Мне, вдруг как-то, показалось, что Python, это один из тех языков, на которых достаточно удобно писать код под устройства IoT.
И решил я установить его в качестве некой псевдо-операционной системы на уже известный по прежним публикациям девайс ESP8266-12E. К сожалению, не нашел достаточно внятного описания на русском языке, потому, надеюсь, этот пост будет вам полезен.
Будет много картинок.
Оригинальный Python портировать на ESP8266-12E невозможно по причине небольшого объема памяти, а вот его младший собрат
MicroPython для этого идеально подошел. Тем более, что есть сборки под вышеописанный девайс.

Итак качаем бинарный образ MicroPython https://micropython.org/download#esp8266

Главное обращаем внимание на объем памяти вашего ESP8266. Мне подошел «Стабилити» образ, если у вас памяти меньше — качайте урезанные.

Скачиваем (для своей системы) прошивальщик https://github.com/nodemcu/nodemcu-flasher

Соединяем ESP8266 с вашим компьютером, определяем номер COM-порта, и запускаем Flasher. Выбрали свой порт.

Ставим битрейт.

Выбираем файл.

Процесс пошел.  Маки замазал на всякий случай — у вас будут свои 🙂

Если ошибок в процессе не появится, то запускаем ESPLoader. О нем подробно уже писал здесь — http://smart-el.ru/?p=149

Выбираем COM-порт и битрейт, во вкладке Settings выбираем MicroPython.

Нажимаем на кнопку «Reset» ESP8266 и если наблюдаем такую картину, то все прошло успешно (для проверки наберем help() см. внизу картинки желтым):

Поздравляю, вы поставили Питошу на ESP8266-E12.

Язык Python тем интересен, что на нем можно писать прямо в консоли. Писать можно прямо в нижней строке, где вы писали help. Давайте решим пример (у меня включено Эхо, поэтому все из вводного буфера повторяется).

А теперь Хелло Верд для любого эмбэддера — поморгаем светодиодом. Если вы используете отладочную плату, то в примере будет мигать светодиод на борту, если нет — подключите к выводу через гасящий резистор 100-200 Ом. Команды вводим последовательно.

Мы подключили библиотеку machine. Создали объект pin, и методами on\off включаем\выключаем светодиод.

У меня пока все. Комментируем…

Посмотрите так же...

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *