Pull to refresh

Comments 76

Долго решался попробовать эту чуду-юду (Статей благо тонны) И вот пришла намедни ESP 01, убил ночь в попытках прошить ее хоть во что-нибудь. Все тщетно. Командой AT+GMR с завода стояла прошивка «SM56 HDAudio Rel. 6.12.23 DF» — гугол по такому запросу выдает пару сайтов на марсианском языке. Чем и как только не пытался шить, результаты разные, но все отрицательные — после прошивки достучаться до контроллера ничем не удается. Я в тоске, я в печали.
После прошивки на отличные версии обычно меняется битрейт. Чаще всего становится 115200, но попробуйте все подряд.
Похоже на то, что вы взаимодействуете не с тем устройством. Когда ESP-01 отвечает в UART на нём должен мигать синий светодиод.
Как же не с тем? Мигает вовсю во время прошивки и пару раз во время включения. А дальше — ни гу-гу
А какой программой прошиваете?
Вот эта прошивка точно рабочая, после прошивки скорость 9600.
Взял NodeMCU, прошилось, правда ESPlorer все равно ругается, мол что за прошивка ему не ведомо. Однако, удалось запустить точку доступа, и даже переименовать ее и запаролить. Вобщем, прогресс есть, но, полагаю, продукт «сыроват»
Всем спасибо)
Пару раз — это хорошо. Значит, просто надо крутить битрейт. В зависимости от прошивки он обычно либо 115200, либо 9600.
Ну у вас хоть вообще работает, я свою уже два дня запустить не могу, пробывал через ардуину и через usb-to-serial переходник. Питание горит, когда ch_pd подключаю к 3в3, то коротко мигает(синим) и всё, а если потом через терминал, что-то посылаю, то терминал зависает.

Собственно мой вопрос, насколько часто эти штуки бывают неработающими?

Просто сейчас не ясно, то ли я что-то не так сделал, то ли и правда сломанна. И стоит ли новую заказать или всё таки дальше копать.
конденсатор на питание 100-220 мкФ попробуйте… у меня так вообще она при запуске спалила собственный светодиод, но потом заработала…
ch_pd можно «навсегда» сажать на +
помимо него не забыть GPIO0 и GPIO15 на землю. GPIO15, через 10кОм, «навсегда». GPIO0 — для прошивки

Питания от 3.3В usb-serial не хватит точно (симптомы как раз похожи), от ардуины возможны варианты — смотря чем там делаются 3.3В (AMS1117-3.3 даёт до 0.8А, а всякие MCP1700-3.3 из, например, olinuxino — только 0.25, что мало для старта)

У меня один из ESP-07 при перво прошивке ещё и GPIO2 на + в итоге хотел. Видимо, глюк был…

ЗЫ: Ещё неплохо взять нормальный usb-ttl (_НЕ_ PL2303) и, выставив скорость порта 74480, посмотреть лог загрузки… Дальше вдумчиво «курить» esp8266.ru ))
offtopic Выслал вчера автору инвайт.
А в профиле
Зарегистрирован:
14 ноября 2013 в 15:53 по приглашению пользователя Rumlin.

Это как? Статья тогда была написана или что? /offtopic
дату и текст нужно рассматривать отдельно — дата это когда пользователь создан, очевидно этот момент сломан после введения read-only учеток
UFO just landed and posted this here
Абсолютно рандомно в обе стороны. Я как и raid ниже, склоняюсь к погрешности, но как решить пока ещё не задумывался.
Скорее всего таймер получает импульсы не от стабильного кварца, а от RC-генератора. Возможно без костылей в виде внешнего генератора импульса каждые 10 минут никак.
Пока я не выяснил, с чем связано, но 10 минут плавают ±30 секунд.

Может просто погрешность тактирования?
UFO just landed and posted this here
30 секунд — это 5%. Вроде не очень много
Спасибо за полезную информацию. Было бы интересно узнать все-же поточнее ток в режиме сна, раз об этом статья. Менять батарейки раз в месяц (пальчиковые AA/AAA) или раз в несколько месяцев — большая разница. Проверить тестер можно измерением тока протекающий от источника с извесным напряжением через резистор известного номинала. Точность проверки будет возможно не выше 10% но по крайней мере не в 2 раза ошибка.
Ну раз в месяц это маловероятно. Попробую в рабочие дни разжиться тестером получше и дополню данные.
К сожалению не могу дать более точного ответа. Позаимствовал советский стрелочный микроамперметр (0-100мкА) и Mastech MY63. Ни с тем ни с другим, модуль не включается. Мастеч показывает 125мА, светодиод питания (я его ещё не сковыривал) не загорается, данные не отправляются. Если с мастечем ещё можно предположить, что сопротивление его велико, то со стрелочным микроамперметром все совсем не ясно.
Мультиметр DT9208A показывает 63мА. К сети не подключена.
После разрыва в месте измерения конденсатор стоит.
По поводу стабильности тактовой частоты… Поделюсь собственным опытом.
Приобрел я на всем известной китайской торговой площадке 5 модулей ESP-07.
Распаял первый модуль на монтажке согласно общим рекомендациям.
Питание заводится с отдельного стабилизатора на 3.3 В. По питанию стоит 100 мкФ электролитический конденсатор и непосредственно у ног питания модуля — керамический.
CH_PD через 4.7 кОм подтянут к питанию, GPIO15 посажен на землю.

Включаю, цепляюсь через PL2303, а оно мне в терминал мусор сыпет. То есть эхо-ответ работает. В теории, код того символа что я набираю на клавиатуре приходит на порт RXD ESP8266, и ровно такой же код я должен получить на порту TXD ровно до момента завершения команды (на AT-прошивке CR+LF). Я потыкался осциллографом в RXD и TXD и понял что импульсы у кода в эхе слегка короче плюс короткие паразитные выбросы. Как итог — я вижу мусор. Потом была куча потуг понять почему уплывает частота. Пытался отмывать модуль и плату от канифоли и занимался прочей ересью.
Кто-то ещё с таким сталкивался? Можно ли с этим как-то бороться?

В итоге всё заработало нормально со вторым модулем.
я там выше писал, что у меня модуль не заводится. После советов там-же я подключил через отдельный блок питания с макс. 2А — заработало(вижу на телефоне сеть и могу подключиться), но тоже какой-то мусор идёт(синий сигнал горит практически без перерыва) и не вижу ответы из терминала.
Подключил через компьютерный блок питания (до этого был через импульсный подключен). Мусор не вижу, но и модуль нифига не работает.

Кстати у меня вариант esp8266-01 и на всех картинках которые я видел нету GPIO15, есть только GPIO 2 и GPIO 0. Где находится GPIO15?
Где находится GPIO15?

GPIO15 aka MTDO на ESP-01 намертво посажен на землю. Это ножка №13 микросхем esp8089/esp8266ex.
esp8266.ru/esp8266-esp-01-hacked
Дополнительно вы получаете 4 GPIO: GPIO14, GPIO12, GPIO13 и GPIO15. Аккуратно выпаиваете 4 двухрядных пина из модуля и заменяете их на 7 двухрядных, предварительно удалив пятую пару пинов.

image
Кстати, GPIO15-то этим способом не получить: ножка заведена на землю под чипом, единственная возможность её освободить — отпаяв чип и перерезав дорожку под ним.
Есть 4 штуки ESP8266-01 аккурат как на первой картинке из поста. Недели три назад с одним из них игрался и смог реализовать отправку данных с домашней метеостанции на свой сервер с занесением данных в БД MySQL. ПОтом благополучно запорол (хз как) Arduino Nano на которой вся эта станция работала и игры с ней пришлось отложить. На днях пришли новые Nano, плюс появилось время и начал переделывать станцию (ещё и BMP180 пришли, так что пришлось модернизировать и теперь в ней трудятся DS18B20, DHT11, BMP180 и LCD Nokia 5110). И всё бы хорошо, всё получилось. Кроме работы с ESP8266. Точнее, ни один из имеющихся на руках модулей не хочет сейчас даже тестовые примеры из библиотеки показывать. Буквально пару раз из примерно 15 попыток в мониторе порта пришёл ответ на первую команду инициализации модуля (если правильно её понял), но дальше дело не пошло. Причём, в первый раз, когда всё получилось, модуль шикарно работал, питаясь от 3.3V Nano, а сейчас не работает ни от ардуиновского питания, ни от отдельного источника 3,3 В.

Собственно, вопрос: имея под рукой несколько таких модулей, десяток Arduino UNO и парочку Arduino Nano можно ли что-то сделать с ESP8266-01, чтобы эти малявки нормально стали работать и отправлять данные на мой сайт?
Понимаю, что не совсем по теме влез, но буду признателен за помощь, т.к. сам только начинаю всё это изучать и ещё многого не понимаю, а очень хочется!
> Собственно, вопрос: имея под рукой несколько таких модулей, десяток Arduino UNO и парочку Arduino Nano можно ли что-то сделать с ESP8266-01, чтобы эти малявки нормально стали работать и отправлять данные на мой сайт?

Вопрос без информации. Конечно, можно. Надо только не забывать, что питание у них 3.3 вольта только.
Если пользоваться через AT команды, то проблем не должно быть — поставил IO15 на землю, а остальное на +3.3v через 10k, выставил правильный baud rate и вперёд.
А вообще, можно и кастомную прошивку сделать, что бы без Arduino, но это не критично если Arduino ближе.
Простите, писал коммент ночью и голова уже плохо соображала.
Подключаю модуль по инструкции. Только код беру не из этой ссылки, а из библиотеки, на которую ссылку выше давал. Собственно, вот такой у меня сейчас код погодной станции. Работает всё, кроме части с ESP8266.

Без Ардуино не хочу. Во всяком случае, дома не хочу. Всё рядом и пара лишних проводов не напрягает, а стоят эти модули примерно как Нано. Чем цеплять 3 модуля к датчикам, лучше 1 модуль прицепить к Ардуинке и всё.
Я так не и понял в чём ошибка и что именно и, главное, как не работает.
Через 3.3v серийный порт работает? С этого есть смысл начать. Если работает, то просто проверить, что tx/rx правильно стоят или просто поменять местами. Главное, что бы всё общение было на уровне 3.3 вольта.
Вот сейчас ещё раз подключил к Ардуино УНО один только EPS8266-01 (VCC и CH_PD подключены к 3,3В ардуинки). Загрузил пример из библиотеки под названием webserver. На модуле в самом начале несколько раз моргал синий светодиод. В мониторе порта пишется вот такое:
AT+RST
AT+CWMODE=1
AT+RST
AT+CWJAP=«МОЯ СЕТЬ»,«ПАРОЛЬ»
AT+CIFSR
AT+CIFSR
AT+CIPMUX=1
AT+CIPSERVER=1,80
AT+CIPSEND=0,0
AT+CIPCLOSE=0

В настройках роутера вижу, что появился новый dhcp-клиент у wi-fi. В браузере набираю 192.168.2.4 (такой адрес получает модуль) — «Время ожидания ответа от сервера 192.168.2.4 истекло.» или «Во время загрузки страницы соединение с сервером было сброшено.»
При этом на модуле не горит ничего, кроме красного светодиода. На Ардуино почти непрерывно горит светодиод TX.

А ещё бывает такое: после команды AT+RST в мониторе порта вообще полная тишина и ничего не происходит со сборкой, даже после нажатия сброса. Попробовал другой модуль подключить — картина та же самая.
Общение с ESP вроде идёт правильно. Хорошо.
Я никогда не пробовал встроенный сервер, а обычно использовал свой, поэтому тут не могу ничего сказать. Разве что могу посоветовать обновить прошивку на самую последнюю и убедиться, что пример библиотеки поддерживает последнюю прошивку.

А эти AT команды можно вручную напрямую в ESP отослать и проверить что каждая отвечает.
Спасибо, попробую обновить прошивку и дальше поиграться с модулем.
Мне кажется в корне неверным использование esp8266 с Arduino. ESP8266 сами имеют вагон и тележку возможностей. Используя те же -01 и по одному датчику к каждому устройству — имеем WiFi-датчики температуры\влажности\давления (В ещё WiFi-дисплей можно :) ). Да, графики в web им строить тяжело (но можно: на форумах один мистер рисовал SVG графики температуры), но все, что Вы делаете Arduino, можно сделать и самим ESP, тем самым упрощая всю систему и экономя на компонентах.
В моей станции используется 3 датчика (но тут я ещё думаю и, возможно, добавлю датчиков температуры потом). При том, что стоят ESP8266 примерно как Ардуино Нано, цеплять к каждому датчику по модулю будет минимум в 2 раза дороже, чем использовать 1 модуль, подключённый к Ардуино. И моя станция не только отправляет данные на сайт, но и выводит их на экран.

Когда буду делать подобную систему на даче, вот там придётся датчики в теплице пытаться подключить к такому модулю напрямую, чтобы не заморачиваться с проводами. Но это будет попозже :)

Короче, стану умным и богатым — обязательно буду к каждому датчику лепить ESP8266 без Ардуинки. Пока — не могу :(
Вполне нормально использовать с другим контроллером. Особенно когда под тот контроллер больше всего есть в плане кода-библиотек и прочего. Не говоря о том, что опыт написания под один контроллер может быть больше, чем под ESP. Ведь Wiring со своими библиотеками будет для многих проще, чем C в компклекте с полузакрытым ESP SDK.
Пробовал сделать автономный датчик на кроне duracell + стаб для 3.3В. По задумке датчик должен был отправлять данные, спать 20сек и тд. Батарейки хватило на 9 часов. При отправке данных напряжение на батарейке падало примерно на 1В, пока модуль спал восстанавливалось. Так что жрет он много.
PS прошивка nodemcu
Линейный стаб сам кушает много. Милиамперметр надо включить сразу после батареи посмотреть сколько берет стаб с и без нагрузки.
По сравнению с модулем не много, на сколько я понимаю AMS1117 потребляет в районе 5мА
Для Кроны 5 мА расход большой.
ИМХО используйте аккумулятор NOKIA BL-5C через диод — китайцы везде так делают.
Старые справочники говорят, что емкость «Кроны-ВЦ» составляет 0.6 Ампер-часов при работе на нагрузку в 900 Ом, т.е. при токе 10 мА.

habrahabr.ru/post/178223
Проблема в том, что хотелось именно простая автономность — села батарейка — заменил, аккум прийдеться заряжать, хотя учитывая что NOKIA BL-5C стоит как эта крона, можно купить несколько и менять по кругу. Спасибо за совет, попробую)
А сколько ему нужно для счастья, не могу представить, что действительно 2А.
У меня работает одна штука на двух АА-Батерейках и экономном StepUp на Max1724. Собственное потребление у него 1,5µА (!). Батарейки использует до последнего. Правда всего 150мА максимум. Нужно поискать, есть ли более мощный и не менее экономичный собрат.

МАХ172х
Key Features

Up to 90% Efficiency
No External Diode or FETs Needed
1.5µA Quiescent Supply Current
0.1µA Logic-Controlled Shutdown
±1% Output Voltage Accuracy
Fixed Output Voltage (MAX1724) or Adjustable Output Voltage (MAX1722/MAX1723)
Up to 150mA Output Current
0.8V to 5.5V Input Voltage Range
0.91V Guaranteed Startup (MAX1722/MAX1724)
Internal EMI Suppression (MAX1722/MAX1724)
TSOT Package (0.9mm typ Height)

линейный стабилизатор всё лишнее переводит в тепло. Т.е. понижение 9 до 3 — это 6 вольт. Ток например 10мА. Получается стабилизатор будет в тепло переводить 0,06Вт, при 0,1А — 0,6Вт, последнее высадит батарею за полдня. Это без полезной работы, только тепло.
Ну так Мах1724 не линейный. Так что в тепло он переводит только те минимальные 1,5µА плюс то что падает из-за КПД.
Да, и не надо 9В. Хватит от 1 до 3.
В качестве эксперимента у меня висит датчик DHT22. Спит 10 минут, все как в статье. Питается напрямую от двух пальчиковых батареек из FixPrice. За неделю напряжение на батарейках пока не упало. Лучше делать на пальчиковых, чем на кронах — дешевле и доступней. И нет лишнего расхода на стабилизатор.
А кто-нибудь пробовал питать esp8266 от cr3032 (вероятно в комбинации с конденсатором и/или ионистором)?

Если допустим мне надо раз в 10 секунд отсылать один udp-пакет? То есть esp должен быть постоянно подключен к Access Point, секунду в таком режиме спать, затем просыпаться и отправлять один udp-пакетик.

По идее посылка одного udp штука быстрая — доли секунды, и того, что накопилось в конденсаторе/ионисторе вполне может хватить чтобы обеспечить нужный ток во время передачи.
Пробовал, не успевает даже к точке подключиться, только мигнуть светодиодом)
С ионистором+конденсатором?

По идее подключкние к AP это да, долгий процесс, после подключения должно стать легче.
Подключение на удивление быстрое. 2-3 секунды максимум, при хорошем сигнале. Мой датчик укладывается в программу «подключение-считывание\отправка данных-засыпание» в эти самые 2-5 секунд.
Но вот держать модуль подключенным — имхо автономное питание не пройдет. Ну или совсем не надолго.
Ну вот по спеке в подключенном к AP состоянии оно кушает 1mA. Это меня вполне устраивает (если проработает от одной батарейки несколько суток — будет нормально). Основной затык в том, что батарейка cr3032 естественно не сможет в пике (во время передачи) выдать 180mA.
Да, а ток в 180 mA 2-3 секунды подряд — это ж дофига!
Только с парой конденсаторов по 2200. Возможно я не доэкспериментировал с энергосбережением, но после подключения к точке и ничегонеделанья батарейка таяла со скоростью 0.01В/сек. Надо разжится рабочим амперметром, тогда точно будет понятно.
А это не может, что это просто уже конденсаторы ели батарейку заряжаясь?
Не, проверял с подключенными кондерами и без модуля, они ее не ели (после того, как зарядились)
Ну, дак после того как подцепились к AP кондеры скорее всего почти разряжены ведь? Нет? И им после того надо зарядиться.

Вообще, 0.01 V/sec это очень похоже на ток порядка 10-15 mA. Что довольно много особенно если учесть, что они обещают «Standby power consumption of < 1.0mW (DTIM3)».
Конденсаторы то да, но и после их зарядки батарея разряжается. Вы правы, где-то 15мА и должно быть, тк nodemcu по умолчанию (а может и родная прошивка) используют modem sleep. Надо пробовать light sleep.
image
300ма в активном режиме в течение нескольких секунд это дофига, получаем только за счет активного режима среднее потребление в несколько миллиампер. То есть пальчиковых батареек хватит не больше, чем на месяц. Получается, что rf24 или rf12b этот модуль ну никак не конкурент. На них можно легко получить среднее потребление менее 0.2ма.
UFO just landed and posted this here
Если не подключен по питанию модуля конденсатор около 100 мкф, то рекомендую подключить и понаблюдать, может всё на этом и закончится.
UFO just landed and posted this here
UFO just landed and posted this here
Мой потребляет в пике 0,1А (при работе по WiFi), в «покое» — 67мА.
маякни что ты ее потерял

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

Пока не спалил свой сенсор (esp-07, bmp085, dht22, ds12b20, выход через полевик) подачей +12 на GPIO2, проверял наличие сети и, на всякий случай, подключение к mqtt серверу после каждой паузы (не пользую спящий режим, потому как жду команд на telnet/serial/mqtt). Но это из-под «ардуино для 8266».

По «встроенным» логам wifi видно, что если ему не нравится сигнал, то 8266 постоянно реконнектится, но как-то обычно без результата (опять же там есть какой-то флаг на авто-коннект). Меня обычно спасает watchdog — если был глюк с коннектом, то после ребута он чаще всего проходит. Как быть с этим на АТ-прошивке не очень понятно

И показалось, что оно не дружит с некоторыми символами в пароле — типа знаков больше/меньше и, возможно, каких-то спецсимволов. Грешу на 8266, ибо с телефона на тот же микротик нормально заходилось с корявым паролем, а оно тупо отваливалось при попытках соединения
UFO just landed and posted this here
Может быть наоборот вам сделать? Чтобы основной код был реализован на ESP8266, а ардуинка с датчиками была ведомой? Для еспшки уже просто куча примеров программирования есть и хороший народный девкит.
UFO just landed and posted this here
На ардуинке реализуете логику опроса + управления устройствами по UART, кучу интересных if/else/… + нормальный веб-интерфейс — на еспшке, которая с ардуинкой по уапту общается. Нет?
Поддержу.
У есп-шки в «ардуино-варианте» гораздо больше памяти и скорости для всякой логики…
Ну или, опять же, загнать ардуино или вообще с++ прошивку в ЕСП и, по тому же UART-у с ней общаться…

[offtop]: если бы nodemcu заработала, я бы до «ардуино-8266» не скатился :) Так-то у меня все AVR/8051 поделки на голом gcc, а тут было лень разбираться с очередным чипом [/offtop]
UFO just landed and posted this here

А зачем так извращаться - когда давно доступны модули Bluetooth на NRF52xx, работающие месяцами от CR2032 (в режиме LE-адвертайзинга)?

Sign up to leave a comment.

Articles

Change theme settings