Как подключить ESP8266 с помощью адаптера ESP-01 к Arduino Uno?

Я новичок в программировании Arduino и хотел узнать, как подключить универсальный модуль WiFi ESP8266 к Arduino Uno с помощью адаптера ESP-01, показанного на рисунке ниже.

Я попытался сделать это самостоятельно, подключив контакты Vcc, GND, Tx и Rx адаптера к контактам 5V, GND, Tx и Rx Arduino Uno соответственно, но при попытке загрузить скетч возникла следующая ошибка:

предупреждение espcomm_sync не удалось

ошибка espcomm_open не удалась

ошибка espcomm_upload_mem не удалась

Насколько мне известно, в Интернете нет руководства, подробно объясняющего вышеупомянутый адаптер и его взаимодействие с модулем Wi-Fi. Было бы очень полезно, если бы кто-нибудь помог мне в процессе преобразования моего Arduino в сервер.

Адаптер ESP-01

, 👍3


2 ответа


4

Рекомендуемое руководство

Вы не сможете прошить модуль esp-01 с помощью этого адаптера, если только не найдете способ подключить io 0 к земле в этой настройке

У меня есть такой тип адаптера с приклеенным esp8266. Я не могу рекомендовать этот тип плат адаптера. Проще использовать плату разработки типа Wemos или NodeMCU с встроенным USB-адаптером. И они дешевые.

Адаптер имеет разъем esp-01 2x6 J2, но контакты io 0 и io 2 не были подключены в моей версии. Я подключил io 0 к разъему JP2, чтобы иметь возможность прошить модуль. На картинке вы видите перемычку в виде скрепки, соединяющую GPIO0 с землей.

,

-1

...подключение контактов Vcc, GND, Tx и Rx адаптера к 5 В, GND, Tx и Rx Arduino Uno соответственно...

Как минимум одна проблема — это последовательные соединения. Rx и Tx должны быть соединены кросс-соединением с любыми контактами Arduino, которые вы подключаете к ESP. Используя встроенный UART Arduino, контакты Arduino № 0 и 1 не могут работать для загрузки (на любую из плат), поскольку эти контакты используются для связи с вашим ПК.

Если вы пытаетесь загрузить на Arduino, попробуйте удалить плату адаптера ESP во время загрузки. Даже при этом связь во время выполнения от Arduino к ESP (конечно, при подключенном обратно) может столкнуться с помехами от микросхемы 16U2 Arduino (последовательный <-> USB-процессор), которая жестко подключена к этим контактам. И если это сработает во время выполнения, вам придется отказаться от последовательной связи с/на ваш ПК, который использует те же контакты.

Альтернативой является использование библиотеки SoftwareSerial в вашем коде, что позволит вам выбрать два других контакта Arduino в качестве второго «программного UART» для связи с ESP. Этот маршрут имеет свои сложности начальной настройки — сначала вам придется изменить скорость передачи данных по умолчанию вашего ESP на 9600, что примерно соответствует максимуму, который SoftwareSerial может надежно принимать. См. мой пост о том, как это сделать. Чтобы реализовать это, вам понадобится короткий скетч, который непрерывно проверяет терминал Arduino на наличие доступного символа и отправляет любой в ESP, а также проверяет SoftwareSerial и отправляет на терминал Arduino.

,