Рубрики
Проекты на ESP8266

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

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

Модуль 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 представлена на следующем рисунке.

Красный провод на представленной схеме используется для соединения контакта 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

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

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

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

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