Нет ответа от ESP8266 на простейшую команду АТ

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем Mihay, 5 июл 2016.

  1. Mihay

    Mihay Гик

    Здравствуйте

    Купил Wi-Fiмодуль ESP8266 (судя по фотографиям модель похожа на ESP-01). В товарном чеке не было описано, что за модель. Это МИНУС Амперке. Надеюсь в будущем учтут.

    Подключил все как полагается. GPIO_0 и GPIO_2 пока не использую. Питание подвел через регулятор напряжения и подаю 3.3 в. TXи RXчерез делитель напряжения (с 5 в до 3.3.в) соединил с пинами Ардуино. CH_PD– через 10 КОм соединил с питанием. Сделал все как пишется в Интернете. Горит красный индикатор питания. Синий индикатор мигает один раз при включении. Все как должно быть.

    Но при отправлении простой команды AT– в ответ тишина. Перебрал все разумные скорости портов – также тишина. Единственное что я вижу, что в момент отправления команды на мгновение загорается синий индикатор. Значит, команда отсылается.

    Вот простейший код, который я использую, пытаясь привести в чувство модуль.
    Код (C++):

    #include <SoftwareSerial.h> //Подключаем библиотеку работы с Последовательным портом
    SoftwareSerial mySerial(6, 5);
    #define SPEED 115200 // ПЕБЕБРАЛ ВСЕ РАЗУМНЫЕ СКОРОСТИ
    void setup()
    {
    Serial.begin(SPEED);
    //Serial.setTimeout(500);

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

    Serial.println("Start working!!!");
    }

    void loop() // run over and over
    {
    if (mySerial.available()){
      Serial.println(mySerial.readString());
    }

    String txt_in="";

    if (Serial.available()) {
      txt_in=Serial.readString();
      Serial.println(txt_in);
      mySerial.println(txt_in);

    }
    }
    Кто знает в чем проблема?

    P.S. Точка доступа Wi-Fi появляется!!
     
    Последнее редактирование: 5 июл 2016
  2. obuhanoe

    obuhanoe Гик

    Добрый день!
    1. Если у вас есть TTL UART - соберите схему TTL UART - ESP8266-01, в программе CoolTerm добейтесь Успешного ответа на команду AT, после этого измените скорость на 9600
    Код (C++):
    AT+CIOBAUD=9600
    2.Какая у вас модель Arduino?
    Вместо SoftwareSerial лучше использовать аппаратный UART (Mega2560 это пины TX1,RX1,TX2,RX2 и т.д.)

    Возможно неверно собрали схему, покажите ее.
     
  3. Mihay

    Mihay Гик

    Вдруг чего- то заработало (причину я так и не понял), причем на скорости 115200. Последовав вашему мудрому совету я изменил эту скорость на 9600.
    Вопрос: при команде перезагрузки AT+RST выдаётся следующая информация:

    AT+RST

    busy p...

    OK
    bBЦ†PR…ХКЙҐSNКЙҐSNВIЌл"B„n"j€BДµяо1YRRCBCR@RBRShBRBRCBCRBRARCBARRbRbRj[Чc”[ПJ”•к)ґеFBRCBCRRBRCBCRBRBRCBCHRRbRh[ЧSђSПJ”Rh[Чc”ЗJ”RЗJ”RbRh[Чc”[ПJ”Rh[ЧcR[R[[R[R[P[[P[R`R[—R[ЗRRR[[R[RABB”;SBC[CBRBCBBBRCCBCBRCCBCBbRR[RhBЖSCRBCB@CRBCB#CRBShЕRBRRhЧRhЧRhЧRЧП[P[RhЧRhЧRhЧRЧПRЧЗRЧR[ПR[ЗR[R[BbRЧR‚RЉRЉЉЉЉЉЉТч
    Ai-Thinker Technology Co.,Ltd.

    ready

    Что за абакадабра между ОК и Ai-Thinker Technology Co.,Ltd.??????
     
  4. obuhanoe

    obuhanoe Гик

    Если не ошибаюсь - китайский символы.
    На другие команды отзывается? Соединили через делитель напряжения или через TTL UART?
     
  5. Mihay

    Mihay Гик

    Я соединил там все правильно, используя делитель напряжения к плате Ардуино через SoftwareSerial mySerial(6, 5); TTL UART - у меня нет.
    Буду смотреть на отклики с других команд.
    У меня мистическое явление. При перезагрузки ПК - ESP-модуль перестает работать и синий индикатор постоянно горит. Меняю местами TX и RX. Индикатор гаснет. Прошиваю скетч на ардуино. Затем обратно в правильное положение ставлю TX и RX. И вуаля.... ESP-модуль работает! Что за бред???? Уже несколько раз так ради эксперимента проделываю - одно и тоже. После перезагрузки ПК сначала требует поменять пины местами, загрузить по новой скетч и вернуть пины на место. Вам то может и смешно, а я балдею. По другому модуль никак не хочет работать. Кстати это относиться к моему самому первому посту, там надо было только пины местами поменять.
     
  6. obuhanoe

    obuhanoe Гик

    какая модель ?
    Может попробовать аппаратный UART, вместо SoftwareSerial?
    ну и скетч
    Код (C++):
    const int COM_BAUD = 9600;
    void setup() {
      Serial2.begin(COM_BAUD);
      Serial.begin(COM_BAUD);
      Serial.println("Setup done");
      Serial.println("+++++++++++++++++");
      Serial2.println("AT");
      delay(500);
      while(Serial2.available())
           Serial.print((char)Serial2.read());
     
    }
    void loop()
    {

    }
     
     
  7. Mihay

    Mihay Гик

    Arduino Uno

    Если такая мистика будет происходить и завтра, то придется переходить на аппаратный УАРТ.
    Вопросы:
    AT+GRM - заводские настройки ответ:

    busy p...

    ERROR

    Что заводские настройки сбились?

    busy p... - ответ на многие команды - что это????
     
  8. cpsskipper

    cpsskipper Нуб

    При ошибке Busy помогает отключение питания ESP.
    Software Serial скорость 115200 не держит. По умолчанию в последних прошивках ESP модуль как раз на этой скорости и стартует. Решение: Стартовать Software Serial на 115200? переводить модуль на скорость 9600, перестартовать SoftwareSerial на 9600.
    Пример:
    wifi.begin(115200);
    wifi.println("AT+CIOBAUD=9600,8,1,0,0");
    delay(200);
    wifi.begin(9600);

    Лучший вариант решения- использовать аппаратный порт, конечно если он свободен...
     
  9. obuhanoe

    obuhanoe Гик

    Как приходит питание на ESP8266, случаем не с UNO?
    Нужно внешнее питание и по току до 0,3-0,4А - модуль сильно прожорлив.
     
  10. cpsskipper

    cpsskipper Нуб

    3.3В от Uno не выдержат ESP. Нужно либо брать 5В Uno и понижать до 3.3 (Проверено - работает стабильно) либо подавать внешнее питание (правильное решение :) ).
    Кстати, интересная особенность: При недостатке питания ESP может нормально реагировать на команды AT, AT+RST и.т.д Но к точке доступа подключается через раз. В общем если есть хоть какая-то нестабильность работы стоит сразу проверять питание.
     
  11. Mihay

    Mihay Гик

    Питание подвел через регулятор напряжения c 5 в. Вроде там как раз этого тока хватает. Тем более у меня есть внешний блок питания подключаемый к Ардуино. Вроде все делал по инструкции из интернета. Или вы предлагаете по другому организовать питание?

    я так и не понял про
    busy p...

    что это и чем его едят?
     
  12. cpsskipper

    cpsskipper Нуб

    Busy p - это, как говорят, давний баг прошивки ESP. Я так понял к этому относятся все необработанные ошибки. Как я и говорил при его появлении стоит отключать питание от ESP.
    Еще совет: TX и RX подключите напрямую. У меня через делитель работало не стабильно.
     
  13. ИгорьК

    ИгорьК Гуру

    Не поделитесь ссылкой на обоснование этого тезиса?
    Я, в свою очередь, поделюсь ссылкой на параметры чипа. Посмотрите, пожалуйста, страницу 13.
    Посмотрите, также, страницу 8, где увидите следующее: Operating Current Average value: 80mA
    Также делюсь опытом: модуль вместе с датчиком ds8b20 отлично работает, будучи присоединенным к PL2303 от ее преобразователя напряжения.
     
    Последнее редактирование: 5 июл 2016
  14. ИгорьК

    ИгорьК Гуру

    ...в особенности если интересно, спалите модуль или нет. Рулетка (русская).
     
  15. cpsskipper

    cpsskipper Нуб

    ESP при таком подключении уже месяц работает 24/7. Передает данные на веб сервер каждые 5 минут.
     
  16. ИгорьК

    ИгорьК Гуру

    Купили? Покупайте устройство PL2303. Это первый совет для тех, кто приобрел этот модуль.

    Все разборки с ним, его перепрошивку (с какой бы системой Вы ни работали) будет легче и проще осуществлять через терминал или программу ESPlorer.

    Сто раз слышал таки аргументы. Они просто неопровержимы. Как и секс без презерватива: уже месяц и ни одного ЗППП.

    Скажите, следует ли из Вашего утверждения следующее: производители дебилы и в даташите впустую указывают предел 3.6 вольт? (страница 8)
     
    Последнее редактирование: 5 июл 2016
  17. cpsskipper

    cpsskipper Нуб

    Такие как Вы никогда бы не придумали анальный секс ибо он не описан в инструкции ))
    Я не сторонник разводить пустой треп на форумах, поэтому спорить с Вами не буду, не надо провоцировать.
    У топикстартера не очевидная проблема - я предложил варианты, которые мне, в свое время, помогли.
    Выбирая между правильно подключенной и не работающей ESP, валяющейся в столе, и возможностью заставить ее работать с риском спалить я выбираю последнее.
    Если у Вас есть конкретные предложения, кроме использования PL2303 (бесспорно хорошая штука, если есть под рукой) - предлагайте.
    И да, я тоже сначала подавал 3.3В на TX и RX, как завещали в даташите и тоже была ошибка busy...
     
  18. ИгорьК

    ИгорьК Гуру

    Я не сторонник давать начинающим вредные советы, особенно те, что могут повредить их железо.
    Со своим Вы можете делать все что хотите.

    В данной теме ТС уже получил уже две "полезные информации":
    - о прожорливости модуля и
    - работе с пятивольтовым железом.

    Мой скромный вклад в помощь ему заключается развеять эти заблуждения.
     
    Последнее редактирование: 5 июл 2016
  19. ИгорьК

    ИгорьК Гуру

    Чет не логично.

    Согласен. Вы блестящий инженер.
     
    Последнее редактирование: 5 июл 2016
    ANV нравится это.
  20. obuhanoe

    obuhanoe Гик

    немного ошибся
    http://esp8266.ru/esp8266-podkluchenie-obnovlenie-proshivki/