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

Не работает модуль esp8266

boka17

New member
Спасибо! Оказалось проблема в адаптере... Как все просто)
странно, что только в даптере дело...... Кстати, нужен USB to TTL !!! а не USB to COM - это разные вещи.
У меня точно такой-же модуль , версии 01, не прошивался, пока я не запаял на GND вывод 13 ноги чипа - это GPIO15. Далее, по ногам чипа соответсвенно идут GPIO2 и GPIo0 - они выведены на штырьки, а GPIO15 не выведен никуда на этом модуле, висит в воздухе -а это логическая 1 .
Остальное по инструкции - CH_PD на +3,3 GPIO0 на землю - делаем ресеть и заливка пошла, например прогой ESP8266Flasher.exe
Жалко, что-ли, китайцам было дорожку сразу кинуть , так как аккуратно подпаяться к этому чипу трудно. Запаянную на землю 13 ногу чипа можно оставить на всегда.
ESP8266-01_GND.jpg
 
Последнее редактирование:

pvvx

Активный участник сообщества
странно, что только в даптере дело...... Кстати, нужен USB to TTL !!! а не USB to COM - это разные вещи.
У меня точно такой-же модуль , версии 01, не прошивался, пока я не запаял на GND вывод 13 ноги чипа - это GPIO15. Далее, по ногам чипа соответсвенно идут GPIO2 и GPIo0 - они выведены на штырьки, а GPIO15 не выведен никуда на этом модуле, висит в воздухе -а это логическая 1 .
Остальное по инструкции - CH_PD на +3,3 GPIO0 на землю - делаем ресеть и заливка пошла, например прогой ESP8266Flasher.exe
Жалко, что-ли, китайцам было дорожку сразу кинуть , так как аккуратно подпаяться к этому чипу трудно. Запаянную на землю 13 ногу чипа можно оставить на всегда.
GPIO16 надо соединить с RESET. Иначе модуль никогда не вернется из deep_sleep без сброса питания.
GPIO15 - это выход RTS у UART0. Если вы его запаяли на gnd, то не используйте прошивок Web-сервера и других.
Внутренняя подтяжка к VCC GPIO15 включается когда стартует BIOS ROM, при инициализации программы SDK она отключается и вывод переключается в режим выхода. Требуется соединение его с GND через резистор не более 10кОм.
Все ножки, у которых подписано I/O подключать напрямую к gnd или питанию не рекомендуется. Список тут:
https://github.com/esp8266/esp8266-wiki/wiki/Pin-definition
 
Последнее редактирование:

boka17

New member
Все ножки, у которых подписано I/O подключать напрямую к gnd или питанию не рекомендуется. Список тут:
https://github.com/esp8266/esp8266-wiki/wiki/Pin-definition
спасибо за ссылки.
Мне удалось залить новую прошивку в 01 версию платы только тогда, когда поставил пины по этой таблице (нашел на этом сайте)
esp8266-gpio_sel.jpg
Ну, а то, что пины имеют много других назначений - это понятно. Для режима "поиграться" этого пока достаточно.
В чем будет проблема " ...Если вы его запаяли на gnd, то не используйте прошивок Web-сервера и других." ?
Это имеется ввиду режим, когда за ESP стоит другая плата (допустим Arduino) и обмен с ней идет через UART?
RTS нужен для обмена большими потоками информации, а так....
Например, вот этот "градусник" прекрасно работает .... но, через какое-то время отваливается от сети, хотя refresh для браузера стоит 5 секунд,
команда print(wifi.sta.getip()) через ESPlorer дает nil и только рестарт все оживляет.

require('ds18b20')
port = 80
-- ESP-01 GPIO Mapping
gpio0, gpio2 = 3, 4

ds18b20.setup(gpio2)

srv=net.createServer(net.TCP)
srv:listen(port,
function(conn)
conn:send("HTTP/1.1 200 OK\nContent-Type: text/html\nRefresh: 5\n\n" ..
"<!DOCTYPE HTML>" ..
"<html><body>" ..
"<b>ESP8266</b></br>" ..
"Temperature : " .. ds18b20.read() .. "<br>" ..
"Node ChipID : " .. node.chipid() .. "<br>" ..
"Node MAC : " .. wifi.sta.getmac() .. "<br>" ..
"Node Heap : " .. node.heap() .. "<br>" ..
"Timer Ticks : " .. tmr.now() .. "<br>" ..
"</html></body>")
conn:eek:n("sent",function(conn) conn:close() end)
end
)
 

pvvx

Активный участник сообщества
Ну, а то, что пины имеют много других назначений - это понятно. Для режима "поиграться" этого пока достаточно.
В чем будет проблема " ...Если вы его запаяли на gnd, то не используйте прошивок Web-сервера и других." ?
К примеру, в Lua можно назначить GPIO15 для использования как выход, хоть в I2C. Следовательно будет "подгорание" выхода. В моей прошивке он тоже используется как выход (не "открытый коллектор"). SDK его ставит на вывод, но вам повезло что не "1". Во время прошивки он тоже выход (тут могу ошибиться - смотрел давно и не записал, т.к. совсем не важно - может быть выходом и всё).
RTS нужен для обмена большими потоками информации, а так....
В режиме TCP2COM он указывает что нет соединения и данные, хоть байт, отправлять некуда.
 
Последнее редактирование:

boka17

New member
Понятно!
Надо будет через резистор его (GPIO15) на ноль посадить - во избежание неприятностей.......
А вообще, получается, что версия платки ESP8266- 01 совсем неудобная для всяческих экспериментов - много ног не выведено, надо паять самостоятельно, а места нет - надо лепить на макетку....

Ещё, у меня такой вопрос возник (2pvvx) точнее, нужен совет или мнение , по поводу применения ESP8266 - NodeMCU или AT-команды....?
Хочу сделать банальный таймер на 8 каналов 220в через рэле, RTC на DS1307+Arduino, управление (настройка) через WiFi - по сути один раз выставить часы и ON-OFF таймеров через WEB, WiFi домашней сети.
Зачем WiFi сюда лепить ? Просто делать экран с кнопками на таймере не хочется - он (экран) нужен один раз (ну, контроль иногда), будет просто светится.... а так, зашел с телефона, все цивильно....
Короче говоря - этот таймер я уже сделал, но на другом модуле WiFi на базе чипа
TLG10UA03. Принципиальное отличие последнего - наличие режима "моста" UART - TCP/IP.
Такого режима у ESP8266 нет и "просто заменить" модуль WiFi не получится - надо все переделывать.
У меня Ардуинка разбирает GET запрос, делает простую страничку, читает таймер RTC и "дрыгает ногами" по расписанию на релюшки....
Вот и думаю - на что заложится с модулем ESP8266 ? Какую "ветку эволюции" прошивок выбрать NodeMCU или AT-команды ?
Поделие чисто "для себя, для души" - особых требований нет, как по времени на изучение\создание так и по функционалу и полету фантазии.
АТ команды выглядят "по спартански" - все аскетично и минималистично , программировать ESP не надо совсем, вся логика будет жить снаружи, в ардуинке.....
С другой стороны - NodeMCU - более "солидно" что-ли :) Команды, макросы.... все как на "большом самолете"....
Правда питон - совсем не знакомый зверёк (повод познакомится), но и размер памяти у ESP удручает - её откровенно мало.
Значит, неизбежен внешний "мозг" - та же ардуинка.... Выходит масло-масляное - то, что не поместится в ESP надо будет делать снаружи (банально - ног не хватает), тогда зачем заморачиваться с программированием ESP - сразу все делать снаружи, ESP просто как транспорт использовать...... Опять-же, прошивки ещё сыроватые.....
Понимаю, что вопрос "философский" - хочется услышать ещё мнение.
 

pvvx

Активный участник сообщества
boka17 - тут на вкус и цвет... я не использую AT или Lua, т.к. могу написать всё сам и так мне интереснее... Но всё ещё "сырое" - это правда.
 

z3dd

New member
Ребят, не вижу собщений по esp-12, там схема включения такая же? У меня программатор на pl2303 и он 100% рабочий (проверял замыканием rx & tx). Выдает VCC +5/3.3 но на RX/TX скорей всего 5В т.к. джампер некуда поставить как на других программаторах.
Далее подключаю так:
Питание+землю модуля - диод моргает один раз.
Далее подключаю через делители 110к+200к RX & TX, пробовал и с мелкими делителями и даже напрямую.
После этого завожу питание на CH_PD через 10к (пробовал напрямую) диод на модуле разово моргает.

Итог всегда один - на AT никакой реакции. TX диод на программаторе моргает а RX нет. Пробовал все доступные скорости, 75000 у меня нет в списке.
Что ещё попробовать? Можно ли как-то пообщаться с платой и поменять скорость на 57600 или 115200 не покупая другой программатор?
Заранее спс.

з.ы: кстати, чтобы пересчитать правильно R1 и R2 в делителе нужно внутреннее сопр, каково оно, кто-нибудь знает? И ещё, видел тут схему понижения с 5 на 3.3 с использованием Шоттки + подтягивающего на 10к, вопрос - почему именно Шоттки? нам же вроде надо наоборот диод с большим падением, или как?
 

pvvx

Активный участник сообщества
Ребят, не вижу собщений по esp-12, там схема включения такая же?
Как где?
Обычная там схема:
Все ноги, кроме ADC и GPIO15 через резисторы в 10..50к на +3.3V. (У меня стоят 47к на нескольких модулях ESP-12 и всё работает)
ADC и GPIO15 через резистор на корпус (gnd). GPIO15 через резистор не более 10к, ADC на корпус через любой - чисто для сброса помех и чтобы стабильно работала функция readvdd3.3.
(XPD_DCDC) GPIO16 желательно соединить с REST. На макетке я их соединил через 470 Ом - возврат из deep_sleep работает.
Для автоматического включения в режим программирования REST через диод на RST RS-TTL модуля, DTR RS-TTL на GPIO0 через резистор 470Ом..2кОм (но не все программы для программирования модулей это понимают и используют - ставьте переключатели).
Если не работает модуль и всё как описано - смотрите его питание.
з.ы: кстати, чтобы пересчитать правильно R1 и R2 в делителе нужно внутреннее сопр, каково оно, кто-нибудь знает? И ещё, видел тут схему понижения с 5 на 3.3 с использованием Шоттки + подтягивающего на 10к, вопрос - почему именно Шоттки? нам же вроде надо наоборот диод с большим падением, или как?
Для разового программирования просто включите в разрыв TX от программатора к RX модуля резистор порядка 2..5кОм, если не знаете 5 или 3.3V идет с программатора...
 
Последнее редактирование:

z3dd

New member
Спасибо за ответы. Не могу на весу все пины развести, придётся делать девборд для неё. Попробовал дополнительно ещё 15й пин заземлять через 4.7к, подключал TX через 3.6к - всё так же глухо. Есть ещё вторая платка но пока наверное пусть полежит.

У меня такой вопрос: если плата не общается на тех скоростях что поддерживает мой программатор, она должна выводить что-то или нет? Чтобы хоть знать куда копать, у некоторых вроде белиберду как минимум передаёт. У меня терминал (CoolTerm) даже не сигналит что через RX к нему что-то идёт, равно как и программатор. Показывают только что отправка (TX) есть.
При каких условиях вообще led на плате должен гореть или моргать?

Ещё забавная вещь: одной рукой держал подключенную к программатору плату, другой никуда не присоединенный проводник пальцем за изолятор. Далее проводящим концом прикасался к шилдику на плате и загорался диод, забавно. То же самое если прикасаться к другим пинам платы. То ли индукция, то ли через руки передаётся, хотя не понимаю как, там точно больше 1МОм.
 

TRO

Member
У меня ни входа ни выхода с платы тоже небыло пока я их не подтянул (к плюсу или минусу - не помню).
 

pvvx

Активный участник сообщества
У меня такой вопрос: если плата не общается на тех скоростях что поддерживает мой программатор, она должна выводить что-то или нет?
При прошивке модуль использует авто-определение скорости. Но оно хорошо схватывает только в диапазоне от 9600 до 512000 baud. Если программа "прошивания" работает, то значит всё в порядке. А так - смотрите свой переходник RS-TTL... На ESP-12 один светодиод и он загорается только при выводе символов из модуля по TX.
 

srn2004

New member
да, на этом модуле GPIO16 трогать не надо.
Попробуйте CH_PD к питанию без резистора.
Если модуль запустится - увидите WiFi точку доступа - значит все ок.
Версию определить можно только в терминале.
Прошу понять и простить за то что пропал надолго.
И так, по порядку.
Для начала решил посмотреть что же такое есть в модуле. Подключил USBUART к модулю и запустил ESP8266 Config. Через пару минут раздумий кофигуратора вроде как подключился.
Но АТ команды не проходят и на ни какие кнопки не реагирует.

Подумав решил прошить модуль. Подключал его следующим образом GND, +3.3, RX->TX, TX->RX, GPIO0->GND, GPIO2 и CH_PD->+3.3 через резисторы 10КОм.
Перед прошивкой модуля сбрасывал его касанием GPIO16 на GND. Скорее вместо обозначения GPIO16 правильнее будет использовать RST.
Для прошивки использовал esp8266_flasher. При прошивке возникла проблема

Пробовал менять скорость по порту , одна и та же ошибка.
Пошерстил инет. Подключил RST на +3,3. Для прошивки использовал XTCOM_UTIL
Методика следуюшая (может кому пригодится)
Запускаем XTCOM_UTIL , далее TOOLS выбираем СОМ порт и скорость. Жмем Connect ждем когда соединится. Не закрываем это окно. Потом API TEST . Там выбириаем пункт 4 Flash Image Download.
Выбираем bin файл и ждем пока загрузит.
Прошивался на 9600, это скорость стояла в настройках СОМ порта.


Модуль теперь виден по WiFi и к нему можно подключится.
В терминале на АТ команды выдает какие то кракозябры.
 

Victor

Administrator
Команда форума
Для тех, у кого возникают проблемы с подключением и/или прошивкой модуля перед тем, как задавать вопросы в этой теме, предлагаю ознакомиться со статьей
ESP8266 — подключение и обновление прошивки
Корифеев форума прошу отписаться в этой теме http://esp8266.ru/forum/threads/podkljuchenie-esp8266.99/
Заранее спасибо!
 

sav13

New member
Подскажите чем шить/настраивать ESP-07
Он подключился на странной скорости 74880 которую только ESP8266 поддерживает
На AT не реагирует.
XTCOMом шиться не желает
 

Victor

Administrator
Команда форума
Подскажите чем шить/настраивать ESP-07
Он подключился на странной скорости 74880 которую только ESP8266 поддерживает
На AT не реагирует.
XTCOMом шиться не желает
ESP-07 с точки зрения загрузки новой прошивки ничем не отличается от ESP-01, дополнительно только требуется подтянуть к земле GPIO15
прочитайте это http://esp8266.ru/esp8266-podkluchenie-obnovlenie-proshivki/
А подключаться к модулю, чтобы отправлять AT команды, надо на скорости 9600, 57600 или 115200 (зависит от версии вашей старой прошивки)
 

smerlin

Member
Подскажите чем шить/настраивать ESP-07
Он подключился на странной скорости 74880 которую только ESP8266 поддерживает
На AT не реагирует.
XTCOMом шиться не желает
Только что "завел" ESP-07 на скорости 9600 через Arduino Mega2560. CH_PD и VCC на выход 3V3 на дуине, GND и GPIO15 на землю. А вот RX -> RX и TX -> TX, но на ардуино замкнул RESET на землю, чтобы она не запускалась и оставалась "прозрачной" для сигналов порта.

AT+GMR
0020000903
compiled @ Dec 15 2014 19:43:31
AITHINKER-20141206

OK
 

dimvia

New member
Помогите с 12 версией. Через esp8266 config все работает.Не могу прошить модуль. Ресет надо подключать? Gpio0 через резистор? Gpio2 куда? Как точка видится ат комманды идут.
При подключении gpio0 на землю как точка не видится, но и не шьется.Gpio15 на земле , ch_pd через резистор на vcc.
 

Victor

Administrator
Команда форума
Помогите с 12 версией. Через esp8266 config все работает.Не могу прошить модуль. Ресет надо подключать? Gpio0 через резистор? Gpio2 куда? Как точка видится ат комманды идут.
При подключении gpio0 на землю как точка не видится, но и не шьется.Gpio15 на земле , ch_pd через резистор на vcc.
ESP8266 — подключение и обновление прошивки
http://esp8266.ru/esp8266-podkluchenie-obnovlenie-proshivki/
там, в основном про ESP-01, но с ESP-12 точно так же, только еще GPIO15 на землю через резистор не более 10k
 
Сверху Снизу