Прошивка esp8266 посредством arduino uno

zukum

New member
Есть esp8266, есть Arduino UNO. Очень хочется залить новую прошивку на esp8266, но обычное соединение через виртуальный ком порт не позволяет осуществить задуманное. АТ команды через ардуино работают. Попытка подключиться посредством XTCOM_UTIL.exe - COM порт находит, но подключение не устанавливаетXTCOM.jpg
схема подключения шилда и ардуино:
Ардуино.jpg И собственно сам код для ардуино:
#include <SoftwareSerial.h>
#define DEBUG true
SoftwareSerial esp8266(2,3); // make RX Arduino line is pin 2, make TX Arduino line is pin 3.
#define SerialDbg Serial
// This means that you need to connect the TX line from the esp to the Arduino's pin 2
// and the RX line from the esp to the Arduino's pin 3

void setup()
{
//Serial.begin(9600);
SerialDbg.begin(9600);
esp8266.begin(9600); // your esp's baud rate might be different
}
void loop()
{
// Передача данных из входящего компорта на исходящий

if (SerialDbg.available()) {
// get the new byte:
char inChar = (char)SerialDbg.read();
esp8266.print(inChar);
// byte inByte = SerialDbg.read();
// esp8266.write(inByte);
}

if (esp8266.available()) {
// get the new byte:
char inChar = (char)esp8266.read();
SerialDbg.print(inChar);
// byte inByte = esp8266.read();
// SerialDbg.write(inByte);

}

}
.

Подскажите, что не так?
 

Dimano

New member
Рекомендую использовать не SoftwareSerial а использовать usb-uart расположенный на Arduino. Для этого соедините на UNO reset с gnd и подключите модуль к tx и rx но не перекрёстно а прямо tx - tx, rx - rx. В некоторых инструкциях говорится что нужно вытаскивать микроконтроллер, но при замыкании ресет с землёй это излишне. И код в Arduino может быть залит любой, он не влияет на работоспособность.
 

boka17

New member
не совсем понятна ключевая мысль - зачем шить ESP через ардуинку?
Нужен простой переходник USB-TTL. Подключаем на ESP от переходника +3.3 (не 5 вольт!) RX->TX, TX->RX и земля.
Берем програмvку ESP8266Flasher.exe - она все остальное позволяет!
Скорость порта для прошивки 115200 - такую скорость не любят софтовые уарты.
И ещё - у меня на одном компьютере (ноутбук HP) ESP не "видится" ни какой программой для прошивки, а переключаю это-же железо (переходник USB-TTL+ESP) на стационарный комп - все работает ОК!
Перечитал ещё раз - совет от Dinamo дельный, если плату ардуинки использовать именно как переходник USB TTL
 

zukum

New member
Спасибо за советы!
По совету Dimano пробовал подключить esp к выводам pin0(RX) и pin1(TX). Ардуино, вернее ESP не отвечает на AT команды, и прошивальщик ее не определяет. На картинке именно моя плата, может она какая-то особая:
My Arduino.jpg

Шью через Ардуинку потому что пока нет простого переходника USB-TTL.
 

zukum

New member
У меня есть еще одна плата Arduino от SainSmart, на ней заработало соединение ESP и ARDUINO через pin0 и pin1. Удалось прошить через XTCOM_UTIL, меня интересовала прошивка с http://homes-smart.ru/index.php/oborudovanie/bez-provodov-wi-fi/62-besprovodnoj-datchik-na-baze-esp8266-dlya-servisa-narodmon-ru, для подключения датчиков температуры и влажности. Спасибо за советы, буду дальше экспериментировать!
 

smerlin

New member
Если хотите использовать Arduino в качестве простого конвертера USB-TTL, не забывайте что выход RESET на ней нужно кинуть на её же землю, чтобы не стартовал контроллер Arduino. Ну и RX и TX модуля включить нужно в RX и TX порта Serial0 на Arduino соответственно (но не наперекрест как привыкли).
 

nikolz

Well-known member
Добрый день,
Вопрос такой.
Хочу прошивать свои программы не перепрошивая не свое (т е базовую прошивку)
Какие есть идеи?
или есть ссылки на документацию о размещении и связывании программ сборщиком (линковщиком)
Всем спасибо
 

nikolz

Well-known member
Спасибо, где бы еще найти описание назначения и структуры областей
  • flash
  • master_device_key 8k
  • irom0text
  • esp init data default
  • конфигурация WiFi (при прошивке заполнен 0xFF, размер 4096 байт)
Для прошивок с обновлением из облака (начиная с AT_v0.18 ):
  • boot 1712 байт
  • flash1 (user1)
  • irom0text1
  • master_device_key 8k
  • flash2 (user2)
  • irom0text2
а так же описание каким образом осуществляется загрузка и исполнение из облака
Спасибо
 

VitalyC

New member
Я совсем начинаюший.
Подсоединился через Arduino UNO порт монитор все прекрасно видит и АТ команды передает.
Но когда я пытаюсь загрузить свой первый скетч esptool выдает длинную ошибку, типа не смог подсоединиться.

Вчем грабли ?
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

----------------------
Arduino 1.6.7
esptool v0.4.8
packages\esp8266\hardware\esp8266\2.1.0
 

Atom

New member
Если хотите использовать Arduino в качестве простого конвертера USB-TTL, не забывайте что выход RESET на ней нужно кинуть на её же землю, чтобы не стартовал контроллер Arduino. Ну и RX и TX модуля включить нужно в RX и TX порта Serial0 на Arduino соответственно (но не наперекрест как привыкли).

Мне одному поглючилось, что TX остался висеть в воздухе? Проверьте свое подключение на ардурине первой.
 

Рубен

New member
видимо, забыли перевести в режим прошивки (GPIO2 на землю).
Я совсем начинаюший.
Подсоединился через Arduino UNO порт монитор все прекрасно видит и АТ команды передает.
Но когда я пытаюсь загрузить свой первый скетч esptool выдает длинную ошибку, типа не смог подсоединиться.

Вчем грабли ?
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

----------------------
Arduino 1.6.7
esptool v0.4.8
packages\esp8266\hardware\esp8266\2.1.0
У меня была подобная проблема, пока не укоротил до минимума провода RX и TX
 

alexpika

New member
1) на ардуино UNO должно быть так:

RESET соединён с землей.
3В идет на ESP в VCC
RX идёт на RX
TX идёт на TX
Кстати Это на Sonoff так прошивалось на ESP12E RX-TX TX-RX прошивалось у меня.
GND идёт на GND


Подключаем питание на ардуино, RESET должен быть уже замкнут на GND
На ESP замкнуто RESET на GND!

Всё прекрасно шьётся.
 
Сверху Снизу