Оглавление:

Начало работы с MicroPython на ESP8266: 10 шагов (с изображениями)
Начало работы с MicroPython на ESP8266: 10 шагов (с изображениями)

Видео: Начало работы с MicroPython на ESP8266: 10 шагов (с изображениями)

Видео: Начало работы с MicroPython на ESP8266: 10 шагов (с изображениями)
Видео: Урок 1. MicroPython Windows. Установка и настройка IDE. 2024, Ноябрь
Anonim
Начало работы с MicroPython на ESP8266
Начало работы с MicroPython на ESP8266

Вам нужен другой способ программирования плат на базе ESP8266, а не обычный метод с использованием Arduino IDE вместе с языком программирования C / C ++?

В этом руководстве мы узнаем, кто настраивает плату ESP8266 и управляет ею с помощью MicroPython.

ВРЕМЯ СТРОИТЕЛЬСТВА: 60 МИНУТ СЛОЖНО: РЕЙТИНГ: Легко

Шаг 1. Что такое MicroPython?

MicorPython - один из многих языков программирования, которые мы можем использовать для программирования модуля ESP8266. Это компактная и быстрая версия языка программирования Python 3, имеющая ряд преимуществ перед традиционными языками программирования, такими как C и C ++.

MicroPython разработан для максимальной совместимости с обычным Python. Он имеет полный компилятор Python и среду выполнения, а также предоставляет интерактивную подсказку, известную как REPL (цикл чтения-оценки-печати).

MicorPython разработан для поддержки нескольких различных типов микроконтроллеров. Но в этом руководстве я собираюсь работать только с одной моделью: платой на базе ESP8266 (NodeMCU). Обратите внимание, что есть несколько разных плат, которые вы можете купить с одним и тем же чипом.

Чтение и ресурсы:

MicroPython

NodeMCU

Шаг 2: требования

Требования
Требования
Требования
Требования
Требования
Требования
Требования
Требования

Чтобы иметь возможность следовать этому руководству, вам просто нужно иметь базовый опыт программирования на Python. Вам не нужно иметь никаких предварительных знаний о микроконтроллерах, электронике или даже MicroPython.

Вам также понадобится компьютер под управлением Windows, Mac или Linux со свободным USB-портом, так как вы подключите к компьютеру микроконтроллер для его программирования.

Требуемые детали:

1 x NodeMCU (или другая плата на базе ESP8266)

1 х красный светодиод 5 мм

1 резистор 220 Ом 1/4 Вт

Поворотный потенциометр 10 кОм - 1 шт.

1 х макет

1 кабель USB - MicroUSB

Провода перемычки.

Шаг 3. Почему именно плата на базе ESP8266?

Почему плата на базе ESP8266?
Почему плата на базе ESP8266?

Один из способов получить максимальную отдачу от ESP8266 - использовать MicroPython. Кроме того, модуль ESP8266 - одна из лучших платформ, на которой можно узнать, как использовать MicroPython. Это связано с тем, что ESP8266 предоставляет простые функции управления контактами GPIO, а также беспроводную функциональность, что позволяет тестировать все аспекты языка программирования MicroPython.

Чип ESP8266 популярен в индустрии разработки с открытым исходным кодом. Существует множество плат для разработки от разных производителей, которые используют микросхему ESP8266. MicroPython был разработан для предоставления универсального порта, который может работать на большинстве этих плат с минимально возможными ограничениями. Порт основан на плате Adafruit Feather HUZZAH. При использовании других плат ESP8266 обязательно проверьте их схемы и таблицы данных, чтобы вы могли определить различия между ними и платой Adafruit Feather HUZZAH. Таким образом, вы можете учесть различия в своем коде.

Чтение и ресурсы:

ESP8266

Перо адафрута HUZZAH

Шаг 4: Настройка вашего компьютера

Настройка вашего компьютера
Настройка вашего компьютера
Настройка вашего компьютера
Настройка вашего компьютера
Настройка вашего компьютера
Настройка вашего компьютера
Настройка вашего компьютера
Настройка вашего компьютера

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

Готовиться

Все, что вам нужно от этого шага до шага 6, - это ваш ESP8266 и USB-кабель. Подключите плату ESP8266 к компьютеру.

Как это сделать…

ШАГ1: Установите драйверы устройств

Если у вас компьютер Linux, то вам не нужно устанавливать какие-либо драйверы устройств, чтобы драйверы для микроконтроллера распознавались, но если у вас Mac или Windows-машина, необходим драйвер, позволяющий компьютеру распознавать микроконтроллер. как последовательное устройство.

www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers.

ШАГ 2: Установите Python

Инструменты, которые вы собираетесь использовать для связи с ESP8266, написаны на Python, поэтому вам необходимо установить Python на свой компьютер.

Если ваша операционная система не предоставляет предварительно упакованный Python, вы можете перейти на https://python.org, чтобы загрузить официальную сборку для любой из поддерживаемых операционных систем.

ШАГ 3: Установите esptool и rshell

Установите два пакета, которые помогут вам управлять своей платой с помощью pip. Для этого откройте терминал и запустите

pip install esptool rshell

ШАГ 4: Загрузите MicroPython

Загрузите последнюю версию микропрограммы MicroPython.bin по следующей ссылке:

На момент написания этой статьи текущая версия - 1.11, а файл прошивки называется esp8266-20190529-v1.11.bin.

К тому времени, когда вы это сделаете, вы можете найти более новую версию.

Шаг 5. Прошивка MicroPython с помощью Esptool.py

Прошивка MicroPython с помощью Esptool.py
Прошивка MicroPython с помощью Esptool.py
Прошивка MicroPython с помощью Esptool.py
Прошивка MicroPython с помощью Esptool.py

Перед прошивкой новой прошивки на плату рекомендуется стереть все предыдущие данные. Это нужно делать всегда, чтобы новая прошивка запускалась из чистого состояния.

Перейдите туда, где вы разместили.bin файл. Используйте esptool.py, чтобы стереть вспышку.

Для Linux:

esptool.py --port / dev / ttyUSB0 erase_flash

Для Windows:

esptool.py --port COM3 erase_flash

Возможно, вам придется изменить последовательный порт в вашей команде на последовательный порт, к которому подключена ваша плата ESP8266. Если вы не знаете номер последовательного порта вашего ESP8266, вы можете проверить его в Arduino IDE. Просто откройте среду IDE и щелкните "Инструменты" | Порты. Вы должны увидеть в списке последовательный порт вашей платы ESP8266. Замените последовательный порт в команде (/ dev / ttyUSB0) последовательным портом вашей платы.

Теперь, когда плата полностью стерта, вы можете прошить только что загруженную сборку MicroPython. Это также можно сделать с помощью команды esptool.py:

esptool.py --port / dev / ttyUSB0 --baud 460800 write_flash 0 esp8266-20190529-v1.11.bin

Эта команда собирается записать содержимое файла.bin MicroPython на плату по адресу 0.

Убедитесь, что вы изменили имя.bin-файла микропрограммы в команде (esp82688-2019-080529-v1.11.bin) на имя загруженной микропрограммы.

После успешной установки прошивки на вашу плату ESP8266 вы можете получить доступ к REPL на вашей плате через проводное соединение (последовательный порт UART) или через Wi-Fi.

Шаг 6. Использование MicroPython REPL с Rshell

Использование MicroPython REPL с Rshell
Использование MicroPython REPL с Rshell
Использование MicroPython REPL с Rshell
Использование MicroPython REPL с Rshell

Теперь вы готовы запустить MicroPython на своей плате ESP8266.

Я собираюсь показать вам, как подключиться к командной строке Python, запущенной на вашей плате. Это называется REPL, что означает «Read-Eval-Print-Loop». Это стандартное приглашение Python, которое вы, вероятно, привыкли видеть при работе с обычным интерпретатором Python, но на этот раз оно будет работать на вашей плате, и для взаимодействия с ним вы собираетесь использовать последовательное соединение с вашим компьютером.. Готовый?

Чтобы подключиться к вашей плате и открыть сеанс REPL, введите следующую команду:

rshell --port

Эта команда перенесет вас в командную строку rshell. Смотрите фото выше.

Если вы следуете этому руководству в Windows, обратите внимание, что rshell имеет историю проблем при работе в Windows.

Итак, чтобы исправить этот тип:

rshell -a --port COM3

Из этого приглашения вы можете выполнять задачи управления, связанные с вашей платой микроконтроллера, а также запускать Python REPL, который вы можете использовать для взаимодействия с платой в реальном времени. Для этого просто введите следующую команду:

ответ

Чтобы убедиться, что все работает, введите простое предложение Python:

print ("Привет, мир")

Шаг 7: Управление контактами с помощью MicroPython

Управление контактами с помощью MicroPython
Управление контактами с помощью MicroPython
Управление контактами с помощью MicroPython
Управление контактами с помощью MicroPython

На этом этапе мы узнаем, как управлять контактами ESP8266 с помощью MicroPython. Для этого мы разработаем настройку, в которой мы будем переключать состояние светодиода, подключенного к выводу GPIO платы ESP8266. Это поможет вам понять, как управлять цифровыми выходами с помощью MicoPython.

Готовиться

Для выполнения этого ШАГА вам потребуются следующие вещи:

1 х NodeMCU

1 х красный светодиод 5 мм

1 резистор 220 Ом

1 х макет

Провода перемычки

Сборка

Начните с установки светодиода на макетную плату. Подключите один конец резистора 220 Ом к положительному полюсу светодиода (положительный полюс светодиода обычно является более высоким из двух). Подключите другой конец резистора к контакту D1 платы ESP8266. Затем подключите отрицательную ногу светодиода к контакту GND платы ESP8266. Подключение показано на схеме выше.

После завершения настройки подключите плату ESP8266 к компьютеру через USB-кабель.

Как это сделать…

Введите в REPL следующий код:

# мигает светодиод каждую 1 секунду

def blink (pin = 5, time = 1) # функция мигания по умолчанию pin = 5, time = 1s import machine # модуль машины содержит конфигурации контактов и режимы с момента времени import sleep # импорт сна для некоторой задержки LED = machine. Pin (led_pin, machine. PIN. OUT) # настроить светодиод как OUTPUT, пока True: # работать вечно LED.value (1) # установить светодиод в HIGH sleep (time) # подождать 1 секунду по умолчанию LED.value (0) # установить светодиод to LOW sleep (time) # по умолчанию ждать 1 секунду

Введите blink () в сеансе RPEL, чтобы проверить этот код. Светодиод, подключенный к GPIO5, будет мигать каждую 1 секунду.

Вы можете изменить пин-код и / или время, позвонив:

мигать (контакт =, время =)

Нажмите ctrl + c, чтобы выйти из работающего кода.

Вы можете использовать MicroPython для чтения ввода от подключенного к ESP8266. Перейдите к следующему шагу, чтобы узнать, как это сделать.

Проверьте видео, если застряли.

Шаг 8: Погасание светодиода

Погасание светодиода
Погасание светодиода
Погасание светодиода
Погасание светодиода

На этом этапе мы узнаем, как регулировать яркость светодиода с помощью поворотного потенциометра. Мы будем использовать технику, называемую широтно-импульсной модуляцией (PWM), она позволяет уменьшить яркость светодиода с помощью до 256 настроек.

Примечание: все выводы ESP8266 могут использоваться как выводы ШИМ, кроме GPIO16 (D0).

Готовиться:

Для выполнения этого ШАГА вам потребуются следующие вещи:

1 х NodeMCU

1 х красный светодиод 5 мм

Поворотный потенциометр 50 кОм - 1 шт.

1 х макет

Провода перемычки

Сборка

Подключение осуществляется так, как показано на схеме выше: После завершения настройки подключите плату ESP8266 к компьютеру с помощью кабеля USB.

Как это сделать…

Введите в REPL следующий код:

# Гаснет светодиод каждые 0,5 при считывании данных с потенциометра

импортировать машину из времени import sleep led_pin = 5 # вывод светодиода POT = machine. ADC (0) # вывод ADC0 LED = machine. Pin (led_pin) # создать объект светодиода LED_pwm = machine. PWM (LED, freq = 500) # создать LED_pwm объект и установите частоту на 500 Гц, в то время как True: LED_pwm.duty (POT.read ()) # получить значение из Pot и установить его на рабочий цикл sleep (0.5) # wait 0.5

Это изменит яркость светодиода, подключенного к GPIO 5, путем изменения значения потенциометра.

Нажмите ctrl + c, чтобы выйти из работающего кода.

Проверьте видео, если застряли.

Шаг 9: Куда дальше?

До сих пор мы видели, как настроить и запустить MicroPython на платах на базе ESP8266. мы узнали, как управлять контактами для мигания светодиода, а затем добавили потенциометр для управления яркостью светодиода с использованием метода широтно-импульсной модуляции.

Теперь мы можем считывать данные с датчика и отправлять их в облако, мы также можем создать HTTP-сервер, на котором вы можете распечатать наши данные на простой веб-странице и т. Д.

Это дает нам представление об Интернете вещей (IoT).

Шаг 10: Заключение

Вот и все! Идите вперед и покорите мир MicroPython.

если у вас есть какие-либо вопросы, конечно, вы можете оставить комментарий.

Чтобы узнать больше о моих работах, посетите мой канал на YouTube:

myYouTube

myGitHub

myLinkedin

Спасибо, что прочитали эту инструкцию ^^, и хорошего дня.

Увидимся.

Ахмед Нуира.

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