Не удается загрузить скетч в ESP-01

Доброго времени суток уважаемые форумчане.

Пытаюсь соединить ардуино нано с ESP-01 по схеме с сайта:

Но ничего не получается. Прошивка проходит хорошо, а подключения к Wi-Fi не происходит. Выходит сообщение:
1:41:39.717 → [659] Connecting to ufanet 341
11:41:40.749 → [1673] ESP is not responding

Скетч из видео на Ютубе. ESP модуль вообще не подает признаков жизни, светодиод моргает только с момент подключения юсб-кабеля в порт ноутбука.
Подскажите пожалуйста что проверить? В каком направлении искать причину?

Я так полагаю - предлагаете нам “грандиозный видосик” посмотреть и по кускам видео перепечатать скетч вручную?

Прошу прощение. Не подумал.

// Uncomment this line to enable prints and save space
#define BLYNK_DEBUG

#define BLYNK_TEMPLATE_ID "....."
#define BLYNK_TEMPLATE_NAME "....."
#define BLYNK_AUTH_TOKEN "....."
#define BLYNK_PRINT Serial

#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>

char ssid[] = "ufanet 341"; // Your WiFi network name
char pass[] = "201020112012"; // Your WiFi network password

#include <SoftwareSerial.h>
SoftwareSerial EspSerial(2, 3); // RX, TX

#define ESP8266_BAUD 57600

ESP8266 wifi(&EspSerial);

void setup()
{
// Initialize serial communication
Serial.begin(57600);
delay(10);

// Set ESP8266 baud rate
EspSerial.begin(ESP8266_BAUD);
delay(10);

// Connect to Blynk
Blynk.begin(BLYNK_AUTH_TOKEN, wifi, ssid, pass);
}

void loop()
{
Blynk.run();
}

Может для начала посмотреть примеры из ESP8266WiFi ?
там есть WiFiEcho, WiFiClient, WiFiAccessPoint…
Там же есть и Blink для ESP8266
Без шилда.

1 лайк

Мне нужно именно совместная работа nano и ESP-01. Как я понял скетч из видео именно для этого предназначен.
А то что вы предлагаете - это чисто для работы с ESP-01.

Может я чего не понял в вопросе
“модуль не подает признаков жизни, как проверить?” -
Ответ: проверить признаки жизни - протестировать на примерах.
В догонку: если нужен просто обмен между Nano и ESP-01
это просто обмен по Serial, как между обычными ардуинками
а) читаем порт, анализируем, отвечаем
б) посылаем, ждем ответ…

… Я не буду рассказывать как это делать, пока не будет конкретного вопроса.
Но направление такое :))

Не совсем так. При подключении через программатор ESP-01 отвечает на АТ команды, мне удалось уменьшить скорость передачи до 57600, так же как в видео. Поэтому сама платка ESP живая и работает, на неё скетч заливается. Но при совместной работе с нано не подключается к сети и светодиод не подает признаков жизни.

А какой?

Как я понял - в #3 приведен код только для Nano.

Ну, это же код для работы нано с ESP-01.

И? Развивай мысль, я пока так и не понимаю - какой код в есп «заливается» (как ты выше сам написал)?

В ESP заливал скетчь из примеров ESP8266WiFi. Например, сканер сети:

/*
    This sketch demonstrates how to scan WiFi networks.
    The API is almost the same as with the WiFi Shield library,
    the most obvious difference being the different file you need to include:
*/

#include <ESP8266WiFi.h>

void setup() {
  Serial.begin(115200);
  Serial.println(F("\nESP8266 WiFi scan example"));

  // Set WiFi to station mode
  WiFi.mode(WIFI_STA);

  // Disconnect from an AP if it was previously connected
  WiFi.disconnect();
  delay(100);
}

void loop() {
  String ssid;
  int32_t rssi;
  uint8_t encryptionType;
  uint8_t *bssid;
  int32_t channel;
  bool hidden;
  int scanResult;

  Serial.println(F("Starting WiFi scan..."));

  scanResult = WiFi.scanNetworks(/*async=*/false, /*hidden=*/true);

  if (scanResult == 0) {
    Serial.println(F("No networks found"));
  } else if (scanResult > 0) {
    Serial.printf(PSTR("%d networks found:\n"), scanResult);

    // Print unsorted scan results
    for (int8_t i = 0; i < scanResult; i++) {
      WiFi.getNetworkInfo(i, ssid, encryptionType, rssi, bssid, channel, hidden);

      // get extra info
      const bss_info *bssInfo = WiFi.getScanInfoByIndex(i);
      String phyMode;
      const char *wps = "";
      if (bssInfo) {
        phyMode.reserve(12);
        phyMode = F("802.11");
        String slash;
        if (bssInfo->phy_11b) {
          phyMode += 'b';
          slash = '/';
        }
        if (bssInfo->phy_11g) {
          phyMode += slash + 'g';
          slash = '/';
        }
        if (bssInfo->phy_11n) {
          phyMode += slash + 'n';
        }
        if (bssInfo->wps) {
          wps = PSTR("WPS");
        }
      }
      Serial.printf(PSTR("  %02d: [CH %02d] [%02X:%02X:%02X:%02X:%02X:%02X] %ddBm %c %c %-11s %3S %s\n"), i, channel, bssid[0], bssid[1], bssid[2], bssid[3], bssid[4], bssid[5], rssi, (encryptionType == ENC_TYPE_NONE) ? ' ' : '*', hidden ? 'H' : 'V', phyMode.c_str(), wps, ssid.c_str());
      yield();
    }
  } else {
    Serial.printf(PSTR("WiFi scan error %d"), scanResult);
  }

  // Wait a bit before scanning again
  delay(5000);
}

Вот что выдает монитор порта:
13:18:25.285 → Starting WiFi scan…
13:18:27.466 → 5 networks found:
13:18:27.466 → 00: [CH 01] [D4:DA:21:50:BA:82] -90dBm * V 802.11b/g/n WPS Svetlaya25
13:18:27.466 → 01: [CH 03] [B4:B0:24:4F:15:2D] -65dBm * V 802.11b/g/n WPS ufanet 341
13:18:27.466 → 02: [CH 08] [E4:18:6B:58:CD:14] -87dBm * V 802.11b/g/n WPS Ufanet-20
13:18:27.466 → 03: [CH 10] [28:28:5D:D8:AF:80] -88dBm * V 802.11b/g/n WPS Ufanet_10
13:18:27.466 → 04: [CH 01] [DA:DA:21:50:BA:82] -91dBm H 802.11b/g/n

т.е. ESP-01 рабочая.

Но это когда я заливаю скетч напрямую в ESP. Когда же я пытаюсь в связке с нано заливаю скетч, все проходит штатно, без ошибок. Но при этом не происходит подключения к сети WiFi, выходит сообщение, что ESP не отвечает (ESP is not responding).

Так ты затер прошивку с АТ-командами, которая и нужна в данном случает (и стоит по умолчанию на esp8266). :smiley:

Восстанавливай прошивку с АТ-командами. :

А как это сделать?

Ну ты и ленивая попа )))

Вот, например, описано как:

Сам найдёшь что именно читать?

Сомневаюсь…

Начинай с этого:

Программа для прошивки

Для обновлении прошивки необходимо скачать программу для прошивки и саму прошивку. Программа для прошивки ESP8266 будем использовать Flash Download Tools с официального сайта Espressif Systems. Ссылка на страницу загрузки на официальном сайте: ESP8266EX Resources | Espressif Systems. Необходимо перейти в раздел “Tools”.

Спасибо! )))

Перепрошил ESP-01.
Теперь прошиваю скетч из #3 но теперь прошивка выдает ошибку:
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x9e
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x66
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x98
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xe6
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x98
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xe6
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x18
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x78
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xe6

avrdude done. Thank you.

Failed uploading: uploading error: exit status 1

Точно? Не ардуино,а именно есп прошивал?
Если да, то ничего никуда загружать уже не нужно - ведь ты ранее загрузил код из #3 в ардуину. Подключайте есп к ардуино и вперед,

Точно ESP.

Тоже самое в мониторе порта:
[542] Connecting to ufanet 341
[1552] ESP is not responding

Прочти статью, что я выше давал, с самого начала.
Там описано как можно без ардуины проверить работоспособность есп…

Проверка текущей версии

Для отправки AT команд и просмотра ответов необходимо использовать любую программу монитора последовательного порта. Очень хорошо подходит терминальная программа из Arduino IDE. В программе необходимо установить режим отправки команд с завершающим символом перевода строки и возвратом каретки. Скорость работы модуля по умолчанию 115200 бит/сек. Для работы модуля в штатном режиме контакт CPIO0 должен быть отключен.

Проверить текущую версию прошивки можно выполнив AT команду: AT+GMR. Пример ответа модуля:

AT+GMR

AT version:0.40.0.0(Aug 8 2015 14:45:58)
SDK version:1.3.0
Ai-Thinker Technology Co.,Ltd.
Build:1.3.0.2 Sep 11 2015 11:48:04
OK