Подключение к плате Raspberry Pi Pico Wi-Fi модуля ESP8266-01


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

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

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

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

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

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

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

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

На представленной схеме провод красного цвета соединяет контакт VCC модуля ESP-01 с контактом 3.3V (контакт № 36) платы Raspberry Pi Pico. Провод коричневого цвета подключает контакт CH_EN (Channel Enable – задействование канала) модуля ESP-01 к контакту 3.3V платы. Контакт передачи модуля ESP-01 подключен к контакту приема канала UART0 (контакт № 2) платы Raspberry Pi Pico с помощью провода желтого цвета на схеме. Контакт приема модуля ESP-01 подключен к контакту передачи канала UART0 (контакт № 1) платы с помощью провода оранжевого цвета. Соединение проводов земли (ground) модуля и платы показано проводами черного цвета.

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

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

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

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

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

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

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

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

После того как процесс подключения к сети WiFi будет завершен и соединение будет установлено мы начнем выполнение операций HTTP Get/Post.

Чтобы завершить операции Get/Post нам необходимо вызвать функции esp01.doHttpGet() и esp01.doHttpPost(). В функцию esp01.doHttpGet() нам необходимо передать URL адрес хоста, в качестве него мы будем использовать адрес User-Agent[Optional, default “RPi-Pico”]. В качестве номера порта (port number) мы будем использовать [optional, default “80”].

В функцию esp01.doHttpPost() нам также необходимо передать URL адрес хоста, в качестве него мы будем использовать адрес User-Agent[Optional, default “RPi-Pico”], тип контента у нас будет [ex. application/json, text/plain etc], а номер порта [optional, default “80”].

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

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

После того как схема проекта будет готов можно приступить к тестированию его работы. Мы будем проверять работу проекта с помощью выводимых на экран данных отладки. Как вы можете на рисунке ниже, среда Thonny IDE последовательно выводит на экран все выводимые нами из программы данные.

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

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

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

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

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

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

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