• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь ESP8266 01 или как довести себя до суицида

Oleganaft

New member
Здравствуйте. У меня есть великолепный вайфай модуль ESP8266 -01 с 8 выводами. Также, у меня есть Arduino UNO. Я пытаюсь подключить модуль к ардуино, и подключаясь со смартфона к модулю, управлять выводами ардуинки, на которых будут замки, светодиоды и тд. Модуль я питаю от розетки, через блок питания 5 вольт. Эти 5 вольт идут на преобразователь ams1117 для понижения до 3,3 вольта. Далее, я эти 3,3 вольта подключаю к выводу VCC модуля вайфай. Вывод GND модуля соединяю с 0 на преобразователе. Вывод CH_PD модуля я подключаю к опять таки к 3,3 вольтам, для включения модуля. Вывод TX модуля я подключил к выводу RX ардуины. А вывод TX ардуины я подключил через делитель напряжения к выводу RX модуля. Земля делителя идет в GND ардуинки. Оставшиеся 3 вывода я не трогал. Далее, я воткнул долбаную ардуину в комп. Запустил Arduino IDE и, выбрав плату и порт, открыл Монитор порта. Отправил команду AT ииииии.... ничего! абсолютно. Менял скорости Serial, создавал программно uart через скетч для назначения UART выводов на 10 и 11 пины. Ничего. Как жить дальше и как решать данную проблему??? кто нибудь сталкивался?? 3 день сижу. А да, модуль появляется в списке доступных точек при поиске вайфай на смартфоне. Подключаться к нему можно, но смысла нет.
 

Юрий Ботов

Moderator
Команда форума
И снизошло на меня просветление: похоже ты хочешь использовать ардуинку просто как USB-to-serial. Если это действительно так, залей в ардуинку абсолютно пустой скетч (главное чтобы он Serial не иницировал), и подключи rx esp к rx ардуины и tx esp к tx ардуины.
 

fandy

Member
Судя по тексту вопроса, скетч в Ардуино товарищ заливает. Но подключение esp8266 к TX и RX Arduino Uno вызывает глубокое недоумение, так как там уже висит встроенный в Uno преобразователь USB-UART.
Так что для экспериментов перевесьте esp на свободные ноги (те же 10 и 11 про которые Вы пишите). И поднимите на этих ногах программный UART (библиотека Software Serial судя по всему Вам тоже известна).
Я лично работаю со связкой esp с Arduino pro mini. Правда с 3-Вольтовой, так что нет проблем с преобразованием уровней. Зато большие проблемы с Software Serial. В итоге у меня esp подключено именно к RX и TX, слава богу на pro mini ничего лишнего там нет, а во время программирования Ардуинки можно тупо вынуть esp из панельки.
 

Oleganaft

New member
И снизошло на меня просветление: похоже ты хочешь использовать ардуинку просто как USB-to-serial. Если это действительно так, залей в ардуинку абсолютно пустой скетч (главное чтобы он Serial не иницировал), и подключи rx esp к rx ардуины и tx esp к tx ардуины.
Я пробовал подключить RX к RX TX к TX и использовать ардуину просто как usb -uart между модулем и компом (если я правильно понял) для общения компа с модулем. На АТ команды в этом случае модуль аналогично не отвечает. Но я это делал просто чтобы проверить сам модуль, живой или нет. Мне надо чтобы модуль просто раздавал вайфай сигнал и перенаправлял подключенные к нему устройства на страницу с кнопками. В зависимости от нажатой кнопки отправлял сигнал на ардуинку, где будет уже работать сама ардуинка. Для этого я делал все что было написано в 1 посте. Ни в первом варианте, ни во втором ответа OK на AT не было.
 

Oleganaft

New member
Судя по тексту вопроса, скетч в Ардуино товарищ заливает. Но подключение esp8266 к TX и RX Arduino Uno вызывает глубокое недоумение, так как там уже висит встроенный в Uno преобразователь USB-UART.
Так что для экспериментов перевесьте esp на свободные ноги (те же 10 и 11 про которые Вы пишите). И поднимите на этих ногах программный UART (библиотека Software Serial судя по всему Вам тоже известна).
Я лично работаю со связкой esp с Arduino pro mini. Правда с 3-Вольтовой, так что нет проблем с преобразованием уровней. Зато большие проблемы с Software Serial. В итоге у меня esp подключено именно к RX и TX, слава богу на pro mini ничего лишнего там нет, а во время программирования Ардуинки можно тупо вынуть esp из панельки.


Заливал в УНО этот скетч, ответа на ат не последовало. Менял скорости и Serial и mySerial на все возможные стандартные.

#include <SoftwareSerial.h> //Подключаем библиотеку работы с Последовательным портом
SoftwareSerial mySerial(10, 11); // RX, TX (Создаем виртуальный порт Esp. подключаем на цифровые пины 10 и 11 порты TX, RX от Esp)

void setup()
{// Открываем последовательный порт компьютера, устанавливаем скорость 9600
Serial.begin(9600);
Serial.setTimeout(500);

// set the data rate for the SoftwareSerial port
mySerial.begin(9600); //Открываем последовательный порт Esp, устанавливаем скорость 9600. Внимание!! убедитесь что Esp работает именно на этой скорости!!
mySerial.println("AT"); // Отправляем тестовую команду АТ в созданный порт, если всё работает в ответе должно прийти ОК
}

void loop() // run over and over
{
if (mySerial.available()) //Если есть данные в порте Esp, то передать их в последовательный порт компьютера
Serial.write(mySerial.read());
if (Serial.available()) //Если есть данные в порте компьютера, то передать их в последовательный порт Esp
mySerial.write(Serial.read());

}
 

Юрий Ботов

Moderator
Команда форума
Чем прошита esp8266? Возможно если она только с ali она может быть ВООБЩЕ пустой, хотя это и редко но бывает.
 

=AK=

New member
Я пробовал подключить RX к RX TX к TX и использовать ардуину просто как usb -uart между модулем и компом
Вообще-то Rx подключают к Tx, а Tx, соответственно, к Rx.

Если вам нужно проверить, живой ли модуль, то лучше возьмите нормальный адаптер USB-UART. Все равно он вам понадобится, чтобы прошивку в ESP заливать. Чем извращаться с Ардуиной, используя ее всесто адаптера.

На АТ команды в этом случае модуль аналогично не отвечает.
А бодовая скорость какая? Прошивка с АТ командами на 115200 работает, и уж никак не на 9600.

Но я это делал просто чтобы проверить сам модуль, живой или нет. Мне надо чтобы модуль просто раздавал вайфай сигнал и перенаправлял подключенные к нему устройства на страницу с кнопками. В зависимости от нажатой кнопки отправлял сигнал на ардуинку, где будет уже работать сама ардуинка. Для этого я делал все что было написано в 1 посте. Ни в первом варианте, ни во втором ответа OK на AT не было.
Выкиньте Ардуинку нафиг. ESP8266 сам может работать вместо Ардуинки. Добавляете ESP8266 в среду Arduino IDE при помощи board manager, после этого свои скетчи и заливаете прямо в ESP8266.
Только модуль возьмите, где ног побольше, скажем, ESP-12F. А еще лучше возьмите модуль NodeMCU, у него на борту и регулятор питания 3.3В есть, и преобразователь USB-UART, и ног много выведено.

 
Последнее редактирование:

tretyakov_sa

Moderator
Команда форума
Если используете Arduino:
Питайте esp8266 от 5 вольт arduino через ams1117
1. На arduino reset на gnd.
2. RX - RX TX-TX GND-GND
3. GPIO0 на GND
4. Терминал на скорость 74880
5. сделайте reset esp получите в терминале:
ets Jan 8 2013,rst cause:2, boot mode:(1,6)
Если получили ответ значит связь от esp8266 на uart есть и модуль находится в режиме программирования.
Попробуйте прошить любым скетчем.
Если прошивка прошла значит есть и связь uart-esp8266.
 

enjoynering

Well-known member
по моему у автора не взлетает тк у esp8266 3-х вольтовые уровни, Arduino UNO скорее всего 5-и вольтовая и у ровни там 5-и вольтовые. Arduino UNO просто не видит сообщения
 
Сверху Снизу