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

Нужна помощь не находит точки доступа

Evmi

New member
Помогите новичку, взял первую плату nodeMCU v3 hw-628.
Написал скетч в ардуино иде, выбрал плату nodemcu v1, параметр шить всё, скетч заливаю, смотрю сериал порт, подключение к моей вайфай не происходит. (иде и библиотеки последних версий)
Шью скетч из примера со сканером доступных сетей. Ни одну не видит, хотя их полно.
С множественных попытках перешивать пару раз сеть поднялась, и обнаружение тоже пару раз работало. Но после резета кнопкой опять не находит.
Питание подавал и от юсб и через vin, разницы нет.
Потыкал мультиметром, стабилизатор питания на ams1117 выдает всё как положено.
То есть шьется она норм, если вешать датчики, всё работает, кроме вайфая.
Подскажите куда смотреть, что делать
 

enjoynering

Well-known member
попробуйте один раз выполнить ESP.eraseConfig();
больше не надо иначе на флешке дырку протрете.

скорее всего вы не пользуетесь WiFi.persistent(false); там где надо и постоянно, даже когда это не требуется, сохраняете SDK конфиг в последние 4 сектора на флеше. вот она и не выдержала.
 
Последнее редактирование:

Evmi

New member
опробуйте один раз выполнить ESP.eraseConfig();
попробовал, нет эффекта.
Тем более в ардуино иде же в настройках есть пункт куда шить: только скетч, скетч +вайфай, всё. Разве при выборе опции "всё" не стирается ли всё :)
причем пробовал пример сектча с софтовой точкой доступа, она поднимается и видится ноутом. Магия блин
 

Evmi

New member
@enjoynering а что такое "заводская прошивка"? я не знаю какая версия там была. И почему ее нужно шить именно этой утилитой? Например, в nodemcu flasher также есть возможность прошить обратно nodemcu какой-то версии (кажись 0,95), там это встроенная функция и образ идет с прошивальщиком, и я это уже делал накануне. Безрезультатно, это не помогло.
Не совсем понятно откуда брать образ, о котором вы говорите, какие настройки выставлять в предложенном прошивальщике, на каких вкладках. Опишите задачу для меня поподробнее и имеет ли это смысл, если я уже совершал возможно те действия, которые вы имеете ввиду, только другой утилитой. Спасибо.
 

enjoynering

Well-known member
тут на форуме уже два раза отвечали на ситуацию как у вас. поищите. там все написанно.
 

Evmi

New member
Спасибо, что ответили подробно, как просил. Сразу стало всё ясно, как день. Прежде чем обратиться на форум я несколько дней искал ответ самостоятельно. Я пришел на этот форум, тк тут были похожие темы, но они не дали понимания проблемы и алгоритма решения. Или возможный алгоритм не работает в моем случае. И на других ресурсах я тоже искал. Вариантов по обсуждаемой проблеме куча, но для меня от этого не легче. Подчеркните нужное :)
1) выбросить китайское г и купить пачку такого же нового, авось одна плата заведется
2) увеличить задержки для возможности корректно работать wifi
3)уменьшить задержки для возможности корректно работать wifi
4)чип кривой, плата кривая, адаптация под ардуино иде кривая, скетч кривой, руки кривые , поэтому нужно подбирать что и после чего шить, у каждого работает на разных версиях по, библиотек и тд
5) перешить область памяти где записаны настройки вайфай с помощью мифической прошивки непонятной версии, которую непонятно откуда брать.
6) перед запуском выключать модуль WIFI.mode(WIFI_OFF) и таким образом сбрасывать настройки вайфай
7) что-то не так с мощностью вайфай, но из ардуино иде это не настраивается
8) нехватает питания, падает вайфай, запитать плату от другого источника

я пробовал вариант с прошивкой nodemcu 0,95 а так же прошивкой с этого форума "файл для стирания существующей прошивки 4мб", что хоть как-то соотвествует вашему совету, однако остальные варианты я тоже попробовал, кроме 1
 

Evmi

New member
там где надо и постоянно, даже когда это не требуется, сохраняете SDK конфиг в последние 4 сектора на флеше. вот она и не выдержала.
только увидел эту правку. А как я это делаю, про сдк конфиг? Я ведь не управляю процессом что и куда пишется. Я могу только указать: лить скетч, скетч+настройки вайфай, лить всё, если это делать в ардуино иде. Во флешере мне вообще доступна только кнопка "залить прошивку" и начальный адрес памяти с которого шить и как она там шьется неизвестно. Я не понимаю как мне осмыслить ваш совет, исходя из своего опыта и применить его.
 

enjoynering

Well-known member
А как я это делаю, про сдк конфиг? Я ведь не управляю процессом что и куда пишется. Я могу только указать: лить скетч, скетч+настройки вайфай, лить всё, если это делать в ардуино иде.
можно и нужно управлять иначе на флеше будет дыра

проверяем ssid и password с теми, что записаны в последних 4 секторах, если совпадают соединяемся с точкой доступа беря данные из флеш:
Код:
  if (WiFi.SSID() == staConfig.ssid || WiFi.psk() == staConfig.password) WiFi.begin();  //start station with saved credentials
если ssid и password не совпали, то перезаписываем сектора и соединяемся с новым ssid и password
Код:
 else WiFi.begin(staConfig.ssid.c_str(), staConfig.password.c_str()); //start station with new credentials
и так везде. поясню. хотите на чуть-чуть отключиться от wifi делаем так:
Код:
  WiFi.persistent(false); //disable saving to SDK specific sectors of flash memory
  WiFi.disconnect(false); //disconnect from wifi router to improve new connection stability
  WiFi.persistent(true); //enable saving to SDK specific sectors of flash memory
если просто вызывать:
Код:
  WiFi.disconnect(false); //disconnect from wifi router to improve new connection stability
то опять будет запись во флеш. в общем все функции начинающиеся с WiFi.*(); с 99% вероятностью будут писаться во флеш. поэтому всегда надо проводить проверку на совпадение или отключать запись.
 
Последнее редактирование:

Evmi

New member
@enjoynering, спасибо за разъяснение по данному вопросу, однако это не снимает первоначальную проблему. соединение с точкой доступа не происходит.
Я исправил свой скетч, дополнив его проверками.
включил отладку, получаю следующее
Код:
17:57:21.690 -> scandone
17:57:21.690 -> no mywifi found, reconnect after 1s
17:57:21.690 -> wifi evt: 1
17:57:21.690 -> STA disconnect: 201
17:57:21.736 -> reconnect
17:57:23.330 -> wifi evt: 2
17:57:24.642 -> scandone
17:57:24.642 -> state: 0 -> 2 (b0)
17:57:25.675 -> state: 2 -> 0 (2)
17:57:25.675 -> reconnect
17:57:25.675 -> wifi evt: 1
17:57:25.675 -> STA disconnect: 2
17:57:28.518 -> scandone
17:57:28.518 -> no mywifi found, reconnect after 1s
17:57:28.565 -> wifi evt: 1
17:57:28.565 -> STA disconnect: 201
 

Сергей_Ф

Moderator
Команда форума
в ардуино иде же в настройках есть пункт куда шить: только скетч, скетч +вайфай, всё.
Вы очень эмоционально отвечаете, а сами ничего не говорите. Какая версия АрдуиноИДЕ ? Какой sdk? Какая библиотека esp8266? Какая прошивка стояла изначально?
Скорее всего вам надо прошить файл настроек wifi от sdk 2.0. Однократно.
 
Последнее редактирование:

Evmi

New member
@Сергей_Ф, надо знать хотя бы вектор, что нужно, я бы сказал сразу. Ну эмоционально тут не ответить сложно, когда несколько дней гуглишь, переводишь сообщения с espressif.com, не находишь рецепта, приходишь за помощью, а тебя обратно в поиск. Я же не лентяй какой-то, которому всё готовое подавай, просто новичок, у которого нет базы, от которой можно двигаться в верном направлении, меня это не оправдывает, но характеризует. Я пробовал ардуино и это было просто на первый взгляд, попробовал esp и обломался :) Если мне что-то пишут и я этого не понимаю, я сначала гуглю, а потом уже спрашиваю.
По существу:
  • изначальная версия прошивки неизвестна.
  • ide 1.8.8
  • библиотека есп 2.5 вторая бета, пробовал так же с 2,4
  • по сдк - плата выдает отладочную информацию такую SDK:3.0.0-dev(c0f7b44)/Core:2.5.0-beta2=20499902/lwIP:STABLE-2_1_2_RELEASE/glue:1.0-4-gc434c6f/BearSSL:2398cc6

  1. Правильно ли я понимаю, что у меня сдк3 и мне надо перейти на сдк 2 чтобы прошить файл настроек вайфай от сдк2?
  2. Чтобы узнать адреса, по которым надо шить, нужно найти и изучить документацию к чипу с 32m памяти и адреса для чипа с меньшим количеством памяти будут неверными?
  3. Плата nodeMcu шьет автоматически и ее не надо переводить в режим заливки прошивки, или для заливки сдк кнопка флеш всё же нужна?
  4. Могу ли я следовать вашему совету, опираясь на статьи Обновление прошивки Wi-Fi модуля ESP8266 и Как прошить ESP-01 до улучшенного SDK v2.0.0? И правильно ли я понял, что для версии 32м нужно лить user 1024+1024, судя по ридми в сдк?
  5. Далее для работы в ардуино иде со скетчами ардуино, мне нужно будет загружать их в область памяти чипа, выделенную под эти цели. Т.е. настройки ide выставлять erase flash only sketch, а настройки sketch+wifi и all flash contents не трогать. Я не понимаю какие области памяти переписывает при прошивке ардуино иде с этими настройками и что остается от родной прошивки, поэтому задаю этот вопрос. Буду благодарен, если посоветуете, что почитать по этому поводу.
 

Evmi

New member
я не совсем понимаю что у меня происходит, я прошиваю сдк 2.0, потом запускаю espconfig, как понимаю там можно отправить через терминал команды АТ чтобы посмотреть всё ли хорошо прошилось. он очень долго стартует основная панель долго неактивна, когда становится доступна, команды не выполняет. На AT через терминал не реагирует, ответы не шлёт. Пробовал шить 1024+1024 и 512+512. в одном случае в терминале был шквал кракозябр. Пробую зайти другим путем.
Прошиваю через ардуино иде скетч, чтобы посмотреть что будет в отладочной информации, а там опять сдк3, хотя казалось бы должно быть сдк2. И как водится вафай не работает.
 

Сергей_Ф

Moderator
Команда форума
@Evmi вам не нужно прошивать sdk. Только один файл настроек wifi. Но сначала разберитесь как работать с esp8266: прошивка, подтяжки, режимы работы, скорость вывода uart. Иначе непонятно что у вас не работает вообще.
 

CodeNameHawk

Moderator
Команда форума
Вас трудно понять, похоже вы все смешиваете в коктейль, наверное из за праздников.
я не совсем понимаю что у меня происходит, я прошиваю сдк 2.0, потом запускаю espconfig, как понимаю там можно отправить через терминал команды АТ
Для того, что бы была реакция на АТ команды залейте АТ прошивку и только.

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

Пробовал шить 1024+1024 и 512+512.
Надо шить только то, что подходит для вашей платы, по ссылке выше описано это сделать.
 

Evmi

New member
Вас трудно понять, похоже вы все смешиваете в коктейль, наверное из за праздников.
Понимаете, моя область знаний, как я писал выше в теме, это ардуино, по есп я прочитал официальный гайд в некотором приближении, тк он на англ и дается не очень, почитал некоторые статьи, доступные на этом и других ресурсах.
И если потом мне что то советуют сделать, я уточняю и мне не отвечают, я пытаюсь гуглить то, что мне говорят и делать в некотором приближении. Последовательно, ровно так, как говорят.
Моя изначальная проблема, что не работает вайфай в режиме клиента. Остальное это лишь следствие советов, которым я пытаюсь следовать. Это вне области моих знаний, вопросы нарастают, ответы не получаю. Следовательно мои действия приобретают более случайный характер и менее осмысленный.

Вот вам некая последовательность по которой я действовал.

не рабоатет или не всегда работает вайфай клиент->попробовать разные примеры из библиотек->погуглить->попробовать в ардуино иде варианты кода из нагугленного->попробовать другое питание платы->попробавать изменить настройки для платы при прошивке через иде-> попробовать изменить плату->попробовать экспортировать скетч в бин и прошить в другой программе->задал вопрос на форуме->возникла доп задача прошить настройки вайфай сдк2->проверка версии сдк через консоль ардуино иде->у меня 3 версия->нужно ли перешивать на 2?->ответа нет, буду шить 2, знаний нет, руководствуюсь нагугленной статьей ->прошиваю по статьям, указанным выше в моих постах->как узнать результат?->терминал с командами АТ или прошить скетч в ардуино и посмотреть вывод служебной информации там -> иду вторым путем, вижу сдк3-> повторяю действия по прошивке сдк->я не знаю какие области памяти перешивает ардуино иде, исключить влияние-> ставлю espconfig->На АТ не реагирует -> пробую перешить еще раз с другим распределением памяти -> проверяю в терминале -> скачиваю прошивку с АТ-> проверяю в терминале-> пробую другой терминал -> пробую еще рад ардуино иде-> версия сдк не поменялась, это странно, не понятно правильной ли я дорогой иду

Надо шить только то, что подходит для вашей платы, по ссылке выше описано это сделать.
А в чем я ошибся? Давайте обосную действия. По ссылке написано руководствоваться документацией. А в ридми к сдк в папке AT сказано, что есть 32m (512+512) и 32m-c1 (1024+1024). Я не знал, что такое c1 и задал вопрос тут, ответа не получил. Начал искать хоть что-то через документацию и насколько я понял, что это лишь возможное распределение памяти и нет специального чипа 32m-c1. Следовательно я сделал вывод, что для моей платы можно использовать любое распределение и попробовал оба.
Для того, что бы была реакция на АТ команды залейте АТ прошивку и только.
я пробовал шить ESP8266_NONOS_SDK-2.1, а потом ESP8266_AT_Bin_V1.7; ESP8266_AT_Bin_V1.6.2;
Так же к еще одной вашей цитате добавлю, что написал, что пользовался терминалом программы espconfig Почему я выбрал эту программу я писал выше.
Так же я пробовал использовать putty с опцией по переоводу строки правильной, согласно мануалу, сейчас не процитирую, но почему-то там командная строка висит постоянно после соединения.
Что касается скорости, я сначала выставил 115200, на AT espconfig не реагировал, попробовал на других скоростях, тоже самое.
 

CodeNameHawk

Moderator
Команда форума
Ваша основная проблема, что вы делаете так, как вы считаете правильно.
что пользовался терминалом программы espconfig
Я посоветовал терминал, который точно работает, ответьте на простой вопрос, ваш терминал при переключении скорости общения с есп будет работать или тихо будет стоять в стороне, как другие терминалы?
Я не вижу, что и куда вы залили, удачи с поисками.
 

Evmi

New member
Во первых спасибо, что пытаетесь помочь.
Ваша основная проблема, что вы делаете так, как вы считаете правильно.
Но давайте не будем додумывать друг за другом кто как считает, это некрасиво и путь к переходу на личности. Я не считаю, что делаю правильно, тк то, что я делаю лежит вне области моих знаний и их априори недостаточно, поэтому я вам и задаю вопросы и прошу о помощи научиться. Если бы я был в этом уверен, то писал бы статьи а ля "Как правильно сажать картошку по моему методу":)
Я посоветовал терминал, который точно работает
Простите, но вы мне не советовали терминал, который точно работает, вы что-то путаете. Вы оставили ссылку на тему, чтобы я перепрошил esp ат прошивкой. О необходимости обратить внимание каким терминалом вы пользуетесь и что это важно, вы мне не говорили, в теме тоже. Контекст вопроса был в прошивке же, о терминале не слова, у вас в теме только скрин с акцентом на результат прошивки и то, что на нем можно разглядеть каким терминалом вы пользуетесь не очевидно для побуждения воспользоваться им же.
Надо шить только то, что подходит для вашей платы, по ссылке выше описано это сделать.
Я еще раз задаю вопрос, где я ошибся в логике по выбору 512 или 1024? Почему вы игнорируете конкретный вопрос, хотя до этого вы писали, что я выбор сделал неподходящий моей плате. Я написал вам как я думал и почему сделал так. Как прикажете тогда учиться?
ваш терминал при переключении скорости общения с есп будет работать или тихо будет стоять в стороне, как другие терминалы?
я не знаю как будет работать любой терминал, установленный на моем компе в этих условиях. Я выбрал putty и espconfig, тк ими пользовались авторы статей, которые я изучал накануне и скачал их заранее, они уже были, логично что я воспользовался тем, что было в первую очередь. В этих терминалах скорость работы задается перед соединением и поэтому я могу предположить, что она не может меняться в рамках одного сеанса.
Я не вижу, что и куда вы залили, удачи с поисками.
Я понял вас в прошлый раз и готов предоставлять скриншоты, но я не предпринимал попыток что-то сделать в настоящее время, пока ожидал от вас ответа на вопрос почему я неверно выбрал файл прошивки, чтобы уже скриншотить процесс с верными файлами.
 

Evmi

New member
@CodeNameHawk
прикладываю скрин прошивки
использовал прошивку, как вы сказали
Выставил адреса в соотвествии с ридми в папке at
автотест определил плату
нажал старт
мне показалось, что в терминал должен выводиться процесс прошивки, я встречал его на скринах в других статьях, у меня такого нет.
прошивка просто так и с предварительным нажатием резета и кнопки флеш никак не отличается.

ps терминал как у вас не нашел.
 

Вложения

Сверху Снизу