Подготовка к программированию ESP8266 на micropython

Автор: admin от 31-12-2017, 13:35, посмотрело: 60

Micropython — это реализация Python 3, написанная на C, которая оптимизирована для микроконтроллеров. ESP8266 — самая простая плата с WiFi модулем. Их комбинация — это мощность, скорость и простота написания. Поскольку это мой первый опыт работы с micropython (и с ch340g-ch34g-ch34x-mac-os-x-driver

Прошивка


Теперь необходимо залить micropython прошивку на ваш ESP8266. Процесс подробно и качественно описан в документации micropython для ESP8266, поэтому я только кратко освещу основные пункты.

Скачиваем прошивку здесь. Рекомендую последний stable билд.
Устанавливаем esptool:

pip install esptool

Pip — это система управления пакетами для python. Если у вас нет pip или python в целом — сначала необходимо установить их.

Далее очищаем флеш-память устройства:

esptool.py --port /dev/ttyUSB0 erase_flash

И прошиваем:

esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_size=detect 0 esp8266-20170108-v1.8.7.bin

Порт /dev/ttyUSB0 нужно заменить на свой. Для MacOS можно просто подставить /dev/$(ls /dev | grep cu.wchusbserial) и нужный порт будет определён автоматически.
Например:

esptool.py --port /dev/$(ls /dev | grep cu.wchusbserial) erase_flash

Обратите внимание, я использую baud rate 115200 как стандартный для esp.

REPL


Отлично, теперь наш мк оснащен micropython’ом, а это означает, что к нему можно подключиться и выполнять команды в REPL (Read Evaluate Print Loop). По факту, это аналог командной строки интерпретатора классического Python. Подключиться можно через сериал порт или через WiFi. Подробная информация о использовании доступна здесь, я же снабжу её несколькими комментариями.

Для MacOS удобно использовать picocom:

picocom /dev/$(ls /dev | grep cu.wchusbserial) -b115200

После выполнения команды, консоль перейдет в интерактивный режим.
Для выхода используйте Control-A, затем Control-X (не отжимая Control).
Автор утилиты активно отвечает на issues на гитхабе, для кого-то это может отыграть важную роль. Также, начиная с версии 3, добавлен неинтерактивный режим, что позволяет использовать picocom в написании своих скриптов.

Также можно использовать screen:

screen /dev/$(ls /dev | grep cu.wchusbserial) 115200

Для выхода: Control-A, Control-

Перед переходом к программированию, рекомендую полностью пройти туториал, на это уйдет всего несколько часов, а польза будет ощутимой.

IDE


С REPL поигрались, диодом помигали, TCP сокеты использовали. Что дальше? Необходим быстрый способ доставки нашего кода на esp. Не будем же мы всё писать через REPL. На ум сразу же приходит IDE. Так я скачал ESPlorer 0.2.0-rc6. Поддержка micropython находится в активной разработке и, как я понял, была добавлена совсем недавно, в rc3. После некоторого времени, проведённого в этой IDE, я столкнулся с целым рядом багов, которые не дают нормально записывать файлы в flash и выполнять код. Я написал issue на гитхаб и отложил ESPlorer до лучших времен. Для Windows есть несколько альтернатив: espcut, EsPy.

Код я решил писать в Sublime — тут всё просто и понятно. А как его доставлять на мк?
К счастью, существут замечастельная утилита ampy и она делает как раз то, что нам нужно — позволяет пересылать файлы через serial connection. Также она позволяет выполнять файлы и создавать/удалять папки.

Для удобства использования, я написал простой скрипт, который является оберткой для ampy.
Он умеет делать всего две вещи:


  • Если вызван с параметром -f, то передает в МК все питоновские файлы, которые находятся в той же папке, в которой лежит скрипт.

  • Если вызван с параметром -p, то все последующие аргументы передаются непосредственно в ampy (избавляет от необходимости постоянно указывать порт в ampy).


  • Скрипт доступен на гитхабе. Поместите его в папку, где лежит ваш код.
    Чтобы посмотреть хелп — просто вызовите скрипт без аргументов.

    ESP8266 в основном используется для несложных задач, поэтому этих простых инструментов будет вполне достаточно.

    Итоги


    Итого, мы прошили нашу esp8266, настроили необходимое ПО для общения с МК и обеспечили себе быструю и удобную разработку с помощью ampy и ampyw, что даёт нам независимость от IDE. Теперь всё, что требуется от вас — писать код и создавать девайс своей мечты!

    Источник: Хабрахабр

    Категория: Админитстрирование » Системное администрирование

    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

    Добавление комментария

    Имя:*
    E-Mail:
    Комментарий:
    Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
    Введите два слова, показанных на изображении: *