Подключение модуля ESP8266 к Raspberry Pi Pico с помощью MicroPython


На данный момент модуль ESP8266-01 (ESP-01) является одним из самых дешевых Wi-Fi модулей, доступных на рынке. В данной статье мы рассмотрим подключение модуля ESP8266 к плате Raspberry Pi Pico с помощью языка программирования MicroPython и библиотеки ESP8266.

Внешний вид проекта подключения модуля ESP8266 к плате Raspberry Pi Pico

Модуль ESP8266-01 поставляется со встроенным программным обеспечением (прошивкой), доступ к которому можно осуществить по последовательному каналу связи (UART) с помощью AT команд. Используя язык Micropython мы можем подключить модуль ESP8266 к плате Raspberry Pi Pico и выполнять операции вида http get/post.

Также на нашем сайте вы можете прочитать серию обучающих статей по плате Raspberry Pi Pico.

Необходимые компоненты

  1. Модуль ESP8266-01 (купить на AliExpress).
  2. Плата Raspberry Pi Pico (купить на AliExpress).
  3. Резистор 1 кОм или 10 кОм (опционально подключенный между контактами 3.3v и EN модуля ESP8266) (купить на AliExpress).
  4. Макетная плата.
  5. Соединительные провода.

Схема проекта

Схема подключения модуля ESP8266 к плате Raspberry Pi Pico представлена на следующем рисунке.

Схема подключения модуля ESP8266 к плате Raspberry Pi Pico

Красный провод на представленной схеме используется для соединения контакта VCC модуля ESP8266 с контактом 3.3V (контакт 36) платы Raspberry Pi Pico. Коричневый провод используется для подключения контакта CH_EN модуля ESP8266 к напряжению 3.3V. Передающий контакт модуля ESP8266 подключен к приемному контакту канала UART0 (контакт 2) платы Raspberry Pi Pico с помощью провода желтого цвета. Приемный контакт модуля ESP8266 подключен к передающему контакту канала UART0 (контакт 1) платы Raspberry Pi Pico с помощью провода оранжевого цвета. Все провода земли (ground) обозначены на схеме проводами черного цвета.

Объяснение программы для Raspberry Pi Pico для подключения модуля ESP8266

Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.

Перед началом работы над программой вам необходимо скачать каталог с обучающими программами для Raspberry Pi Pico с репозитория GitHub или скачать библиотеку MicroPython ESP8266 для выполнения операций HTTP Get/Post.

Для операции HTTP Get мы используем веб-сайт www.httpbin.org/ip чтобы получить IP адрес модуля ESP8266.

Для выполнения операций HTTP Post мы используем веб-сайт www.httpbin.org/post чтобы получать ответ Post с другими типами данных в формате Json. Например:

Теперь можем непосредственно приступить к написанию программы. Вначале подключим (импортируем) необходимые нам библиотеки и создадим объект esp01 с помощью функции ESP8266() – он будет необходим нам для выполнения операций HTTP.

Затем мы будем вызывать функцию esp01.startUP() для проверки соединения между платой RaspberryPi Pico и модулем ESP8266.

После вызова функции esp01.startUP() мы затем будем вызывать функцию esp01.echoING() чтобы остановить AT команду Echo. После этого мы будем вызывать функцию esp01.setCurrentWiFiMode() чтобы установить WiFi режим STA+SoftAP. После настройки WiFi режима мы будем осуществлять попытку подключения к сети WiFi с помощью функции esp01.connectWiFi("ssid","pwd") и ждать пока подключение не произойдет.

После осуществления подключения к сети WiFi мы будем выполнять операции HTTP Get/Post. Для выполнения этих операций нам необходимо будет вызвать функции esp01.doHttpGet() и esp01.doHttpPost(). В функцию esp01.doHttpGet() нам необходимо передать Host-URL, путь к URL, User-Agent[опционально, по умолчанию “RPi-Pico”] и номер порта [опционально, по умолчанию “80”].

В функцию esp01.doHttpPost() нам необходимо передать Host-URL, путь к URL, User-Agent[опционально, по умолчанию “RPi-Pico”], content-type (тип контента) [ ex. application/json, text/plain etc], контент (content) и номер порта [опционально, по умолчанию “80”].

После выполнения каждой операции Get/Post функция возвращает код ошибки с ответом (HTTP Error Code with Response) – их мы будем выводить через порт последовательной связи.

Тестирование работы проекта

После того как аппаратная и программная части проекта будут готовы мы будем использовать экран оболочки Thonny чтобы просматривать принимаемые по последовательному порту данные.

Тестирование работы проекта

Более подробно работу проекта вы можете посмотреть на видео, приведенном в конце статьи.

Исходный код программы на MicroPython

Видео, демонстрирующее работу проекта

Источник статьи

(Проголосуй первым!)
Загрузка...
218 просмотров

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

Ваш адрес email не будет опубликован.