Прошивка ESP8266

intervision
Offline
Зарегистрирован: 31.03.2017

Не получается прошить esp8266_01

Процесс и ошибка на скрине ниже

До этого прошивался прошивкой собранной тут: wifi-iot.com

Перед прошивкой был сначала залит бланк, начиная с адреса 0х00000, затем с того же адреса заливалась собранная прошивка. После этого модуль был перезапущен, в списке сетей не появился, было решено перепрошить другой прошивкой но последующие прошивки стали фейлится с результатом выше.

Logik
Offline
Зарегистрирован: 05.08.2014

А скетч где? ;)

Вы вобще знаете что вы в него заливали?

intervision
Offline
Зарегистрирован: 31.03.2017

Есть собраный бинарник прошивки, который и заливался. О каком скетче идет речь?

Изначально возникли подозрения что модуль работает не так, как должен, т.к. не удалось его подключить к arduino nano и подцепить к сети.

Logik
Offline
Зарегистрирован: 05.08.2014

Вот в том и дело, что Вы заливаете неизвестно что. Спрашивайте с автора бинарника, форум вам не поможет, он помогает если человек знает что заливает. Тогда есть что обсуждать и где искать ошибку.

intervision
Offline
Зарегистрирован: 31.03.2017

Залил стандартную прошивку на выполнение AT команд

boot_v1.2+.bin      	0x00000
user1.1024.new.2.bin  	0x01000
esp_init_data_default.bin	0xfc000	(optional)
blank.bin           	0x7e000 & 0xfe000

Использовал вот этот мануал и схему подключения http://remotexy.com/ru/help/esp8266-firmware-update/ только собирал на nano

В качастве проверки исполнения AT команд использовал следующий скетч

#include <SoftwareSerial.h>
SoftwareSerial softSerial(8, 9); // RX, TX

void setup() 
{
  uint32_t baud = 9600;
  Serial.begin(baud);
  softSerial.begin(baud);
  Serial.print("SETUP!! @");
  Serial.println(baud);
}

void loop() 
{
    while(softSerial.available() > 0) 
    {
      char a = softSerial.read();
      if(a == '\0')
        continue;
      if(a != '\r' && a != '\n' && (a < 32))
        continue;
      Serial.print(a);
    }
    
    while(Serial.available() > 0)
    {
      char a = Serial.read();
      Serial.write(a);
      softSerial.write(a);
    }
}

Естественно после прошивки снял RX и TX от ESP с NANO и подключил их к 8 и 9 пинам, соответственно по схеме rx>tx | tx>rx

Но ни на одну команду ESP не реагирует.

По идее, после запуска, должна еще появиться сеть, созданная ESP, но ее тоже нет.

Вообще какая-то мистическая схема, примеров с ней мало, те, что есть какие-то специфические с самописными библиотеками или костылями. Я так понял, просто подключить и использовать ее для отправки POST запросов на сервер не получится без извращений.

В дополнение тогда вопрос, есть ли нормальное рабочее решение, для того, чтобы использовать ESP с любой ардуиной? Чтобы просто подключить модуль, подцепить сеть и пересылать запросы, сгенерированные ардуиной на удаленный сервер?

intervision
Offline
Зарегистрирован: 31.03.2017

Собрал тоже самое в эмуляторе

https://www.tinkercad.com/things/6RNjGdxKBLk

Тоже не работает.

Так все-таки как правильно спаривать этот проклятый ESP с ардуинами и какую прошивку в него заливать, чтобы он банально выполнял те функции, для которых предназначен?

b707
Offline
Зарегистрирован: 26.05.2017

intervision пишет:

Использовал вот этот мануал и схему подключения http://remotexy.com/ru/help/esp8266-firmware-update/ только собирал на nano

Читайте мануал внимательнее - "стандартная скорость подключения ESP - 115200". А вы ставите 9600. Естесственно, он не отвечает.

Софтсериал вообще более 38400 не поддерживает.

Да и в скетче я бы для начала убрал все лишнее, проверки в строках с 18 по 21 и строке 28 - выкиньте.

intervision
Offline
Зарегистрирован: 31.03.2017

Тогда как проверить работу ESP, если по дефолту оно ниже 115200 не работает, а softwareSerial выше 38400 не работает, при этом, если отказаться от Software Serial и повесить ESP на RX и TX ардуины, будет не доступен монитор порта для нее. Замкнутый круг.

b707
Offline
Зарегистрирован: 26.05.2017

intervision пишет:

Тогда как проверить работу ESP, если по дефолту оно ниже 115200 не работает, а softwareSerial выше 38400 не работает, п

Есть как минимум два очевидных решения:

1. Перепрощить ESP прошивкой с дефолтной скоростью UART 9600 или 19200

или

2. Подключить плату с компу через UART адаптер, поддерживающий скорость 115200 и поменять дефолтную скорость AT командой:

AT+UART_DEF=19200,8,1,0,0 (для 19200)

( Судя по форумам, не пытайтесь менять скорость командой AT+IPR=19200, поимеете кучу проблем)

intervision
Offline
Зарегистрирован: 31.03.2017

В общем, я хз что это была за прошивка (интернет уверял, что истинно дефолтная АТ прошивка), но ни на одной скорости что-то внятное получить от нее не удалость. Вообще.

Нашел прошивку Ai_Thinker 1.3.0.2 и с ней все пошло.

Переставил скорость, проверил, что после рестарта параметры сохраняются, просмотрел список сетей, подключился к своей - все прекрасно.

Спасибо за помощь.