Espeasy: Проблемы с Wi-Fi - история не заканчивается - вернуться к Wi-Fi, не основанному на событиях?

Созданный на 23 апр. 2018  ·  388Комментарии  ·  Источник: letscontrolit/ESPEasy

Как многие из вас заметили за последние несколько недель, было много проблем с Wi-Fi.
Все началось, когда я изменил способ работы Wi-Fi, чтобы он был основан на событиях.

  • Статический IP не работает
  • Загрузочные петли (ESP32)
  • Подключено, но передача данных невозможна (NTP не может подключиться к 0.0.0.0)
  • Ошибок не обнаружено AP
  • Страница настройки загрузки из режима AP не работает (для этого изменено на ядро ​​2.4.0)
  • Ошибки тайм-аута маяка => нет правильного переподключения
  • Различные другие проблемы, связанные с Wi-Fi.

Некоторые из этих ошибок связаны с версией ядра, а обновление до ядра 2.4.0 действительно вызывает множество других проблем.
И еще есть проблема с испорченными настройками, которая также была в тот период. Это не было связано с подключением на основе событий Wi-Fi, но заставило меня искать множество других проблем, которые на самом деле не были проблемами, а просто испорченными настройками.

Итак, на данный момент машина состояний Wi-Fi, которую я написал, слишком сложна из-за множества исправлений, которые не были исправлениями, потому что все не было сломано.
И все же есть другие реальные проблемы, вызванные либо ядром 2.4.0, либо все еще открытыми проблемами Wi-Fi.

Итак, теперь нам нужно выбрать:

  1. Вернитесь к sloooowwww, но стабильный Wi-Fi (все еще некоторые проблемы с MQTT, когда соединение потеряно)
  2. Потратьте еще немного времени, чтобы получить нужный Wi-Fi на основе событий + попробуйте заставить работать ядро ​​2.4.1.
  3. Потратьте еще немного времени, чтобы правильно настроить Wi-Fi на основе событий, но все же вернитесь к ядру 2.3.0
  4. Некоторое промежуточное решение для асинхронного Wi-Fi с ядром 2.3.0

Ядро 2.3.0 действительно дает намного меньше проблем и оставляет больше свободной памяти.
Думаю, это моя любимая база.
Это означает, что для Wi-Fi на основе событий все еще существует некоторая проблема с загрузкой страницы настройки, когда требуется первоначальная конфигурация.

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

Любое другое предложение?

Core related Stabiliy Wifi Fixed Discussion

Самый полезный комментарий

Я не уверен насчет светодиода состояния. Он вызывается из функции MQTTconnect и из некоторых других мест.
Но, может быть, вы могли бы добавить проблему, чтобы можно было выбирать, что отображается с помощью этого светодиода?

И приятно слышать, что проблемы с MQTT, похоже, решаются уменьшенным таймаутом.
Возможно, нам придется сделать его доступным для выбора.

Все 388 Комментарий

Я действительно не могу говорить об этом на уровне программирования, но мне кажется, из того, что я видел, это то, что, за исключением статического IP-адреса, при настройке "нового" устройства Wi-Fi, похоже, работает отлично. Проблем с подключением при "свежих" установках с последними прошивками не наблюдал. Веб-страницы загружаются быстро, и все кажется быстрым и отзывчивым. Когда вы пытаетесь выполнить обновление, кажется, что возникает большая часть этих проблем. Похоже, при обновлении прошивки до новой версии возникла проблема с повреждением.

Я также заметил, что, похоже, многие прошивки, скомпилированные пользователем, имеют проблемы с Wi-Fi. Просто прочитав все эти выпуски, у меня сложилось такое впечатление. Хотя я могу ошибаться. Я не пытаюсь сказать это как факт, а просто как возможность.

Я не могу разговаривать с MQTT, потому что не использую его.

Только мои 2 цента стоят .....

Если вы склоняетесь к варианту 3, я полностью вас поддерживаю. Мне не хотелось бы, чтобы мы отказались от улучшений, которые дал нам ваш WiFi на основе событий. Core 2_4_x может быть проще вернуть / перейти к восходящему потоку?

С точки зрения пользователя:
Я бы пошел и использовал новый Core 2.4.1 как можно скорее.
Пользователи всегда могут использовать более старые версии.

Не забывайте, ядро ​​2.4.x исправляет некоторые проблемы:
Мерцание ШИМ - это история (# 1156 исправлено в ядре 2.4.0)
Последовательные с большим пакетом тоже фиксируются ...
В какой-то момент мы должны перейти на новое ядро. Вернуться к 2.3.0 - значит только отложить проблему. В конце концов, мы все равно должны делать работу. Мои ESP определенно лучше с 2.4.0

Насколько я понимаю, произойдет core 2_4_x, но, возможно, в данный момент нет необходимости. Мы приняли плохое решение, когда продолжили одновременно с обновлением ядра и подходом на основе событий Wi-Fi. Надо было делать их по очереди. Когда мы тогда, в то же самое время, обновили глобальные настройки, проблему стало чрезвычайно сложно определить. Я решительно поддерживаю идею возврата к 2_3_0 во время исправления стабильности Wi-Fi + исправления повреждения настроек.

Надеемся, что после этого мы сможем выпустить v2.1.0, а затем сосредоточиться на стабилизации ядра 2_4_x для v2.2.0.

После очистки настроек и загрузки версии от 22.04. Пока все работает. По крайней мере пока :) Только свободной памяти не хватает даже в НОРМАЛЬНОМ. Посмотрим, как это будет продолжаться.

Я должен согласиться с @ Budman1758 и @melwinek : я также обнаружил, что, начиная с чистого устройства, нет никаких проблем с Wi-Fi, статическим IP и настройками.
Основная проблема заключается в том, что для обновления мне теперь нужно вручную очистить все блоки, перепрошить их и восстановить их конфигурацию.

Я думаю, нам не следует забывать, что официально мы все еще находимся в процессе перехода от стабильного R120 к стабильному 2.1.0, и настройки не будут преобразованы между этими двумя выпусками, поэтому вам все равно придется начинать с нуля. Что мы сделали с обновлением ядра 2_4_x, так это снова сделали «точку останова». Если мы сможем с этим жить, то это не проблема. Я согласен с тем, что чистая установка действительно стабильна (по крайней мере, на НОРМАЛЬНОЙ установке, которую я тестирую чаще всего). И НОРМАЛЬНЫЙ - единственная часть, которая фактически будет в выпуске, тестирование и разработка в любом случае только в ночном выпуске разработки.

Я имею в виду: если текущая разработанная прошивка работает и стабильна при чистой настройке, то это означает, что с ней все в порядке. Я бы не стал возвращаться к 2.3 или старому вайфаю.

Да, я слышу вас, и я вроде как согласен. Единственное, что мы создаем еще одну точку останова, и я думаю, это нормально, поскольку она все еще бета.

Хотя это шаг назад, который мне не нравится, я боюсь, что сейчас было бы действительно лучше вернуться к ядру 2_3_0, поскольку я думаю, что из-за нехватки свободной памяти на 2_4_0 могут возникнуть некоторые странные проблемы.

@ giig1967g Я с вами согласен. Я действительно считаю, что существуют некоторые проблемы с коррупцией. Может быть, в чем проблема с Wi-Fi, а не в том, что у него много врожденных проблем.

Есть еще варианты доведения использования памяти до приемлемого уровня.
Думаю, я смогу получить на 3-4 Кб больше памяти примерно за 1 вечер программирования. (хотя необходимо изменить все файлы плагинов)
И импорт MQTT - это действительно проблема, которая должна быть решена в ближайшее время.
И у плагина Switch слишком много функций, которые следует разделить.

Я подумаю сегодня, что нам делать, поэтому, пожалуйста, добавляйте больше предложений / аргументов :)

@ TD-er Вы правы с SWITCH.
Большинство людей используют только ВКЛ / ВЫКЛ для переключателя / реле.
И в этом плагине есть сервопривод, диммер и наверное еще что-то.
Это могло быть отдельно.

Он также обрабатывает вещи, очень специфичные для MQTT и / или Domoticz. Это не должно быть частью плагина.

@ TD-er Во многих случаях это помогло бы мне скомпилировать себя после удаления ненужных плагинов, во многих случаях мне нужны только SWITCH, FHEM Controller, DHT.
Но после этих приключений с настройками боюсь компилироваться. Особенно после вашего поста: https://github.com/letscontrolit/ESPEasy/issues/1292

Вы смотрели, как wifi реализован в других проектах (например, в тасмоте)?

Про память: я тебе говорил: smile:
Я думаю, что в ядре слишком много редко используемых функций - решение, если будет реализован запрос основной функции, должно быть более строгим - теперь это немного похоже на Рождество для всех ...
Может, поможет голосование с определенным лимитом.

Если возможно, сначала нужно очистить ядро ​​от редко используемых функций (или преобразовать в плагин), а затем оптимизировать. Кроме того, можно подумать о дополнительных интерфейсах для плагинов, которые позволят обменивать больше функций за пределами ядра.

@ M0ebiu5 Согласен.
Что должно произойти, так это то, что новые функции будут разрабатываться в отдельной ветке, а затем собраны несколько из них, объединены в ветку кандидата на выпуск и протестированы.
Затем отпустите и объедините использованные функции с основной веткой (или веткой разработчика, или как вы ее называете).

И я научился дважды спрашивать о том, что наблюдается, на что следует обращать внимание и какая версия используется. Это сделает вещи более ясными и приведет к меньшему количеству ошибок.
Частично это должно быть сделано в самом коде, чтобы создать какой-то отпечаток, чтобы иметь возможность видеть (и регистрировать), какое программное обеспечение используется.

Также плагины должны быть просто плагинами для подключения датчика к некоторым выходным значениям.
Возможно, плагины, которые генерируют выходные данные (например, дисплеи), не должны использоваться так же, как входные.
Получается что-то вроде:

  • Датчик для считывания показаний устройства и генерации измерений
  • Вывод (отображение?) Для представления значений. Это также может быть что-то другое, кроме отображения, например JSON или изображение.
  • Контроллер для взаимодействия с внешним миром (ввод и вывод)
  • Правила обработки данных и событий.
  • Уведомления для преобразования событий во что-то другое. На самом деле это звучит как более сложный контроллер.
  • Команды для выполнения базовой настройки или временных (непостоянных) изменений / обновлений и выполнения некоторых действий (например, перезагрузки)
  • Веб-страница для их настройки.

Но такой редизайн потребует немалых усилий.

@ TD-er, вы правы, но я бы внес изменения небольшими шагами, потому что большинство частей работают стабильно, а большие изменения могут поставить под угрозу эту стабильность.

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

Я согласен с тем, что эти изменения следует вносить непринужденно.
Это скорее взгляд на редизайн будущего.

Однако узел с 22.04 потерял соединение.
Сброс роутера не помогает.
Сброс ESP поможет, но я далеко.
Итак, лучшая версия на моих узлах - мега-20180410.
Может потому что он на ядре 2.3?
Но, может быть, хорошим решением будет вернуться на некоторое время к 2.3?

Нет, вчера вечером я увидел проблему (в коде и в моих собственных подразделениях).
Мои узлы не подключились повторно, когда у них возникла ошибка «тайм-аут маяка», что является довольно частой причиной отключения. Это логическая ошибка в коде, но уже прошло 1:30, и я не хотел исправлять ее в тот момент. Конечно, время ночной сборки наверняка уже прошло, чтобы исправить это, так что это уже не имело значения;)

связанные: # 1064

Прошил только 6 устройств актуальной версией ESP_Easy_mega-20180425_test_ESP8266_4096.bin.

Я думаю, что с этой версией мы достигли абсолютного минимума.
Через несколько часов все устройства не были доступны в сети.

Вот почему я так или иначе вернусь к рабочей версии Wi-Fi.

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

Я бы посоветовал сейчас собрать новую версию 04.25 на ядре 2.3.0 и заменить текущую :)

Я не контролирую сервер сборки.
и 2 версии с одинаковым номером сборки - это не лучшая идея.

Я знаю, что @Grovkillen может удалить сегодняшнюю сборку.

Думаешь, мне стоит удалить его @ TD-er? Завтра построят новый.

Видимо даже хуже по сравнению со вчерашней сборкой.
Так что да, удалите это.

Сделанный

И platformio.ini тоже изменилась.
Так что что бы ни случилось, завтрашняя сборка будет не такой плохой, как сегодняшняя.

Я чувствую здесь панику. Не волнуйтесь, надежда еще есть.
Во-первых, давайте выпьем: beer: или: beers: А теперь,
спасибо @ TD-er за то, что вы так беспокойно мчались вперед, несмотря на свои заботы, спасибо

При этом позвольте мне сказать следующее:

  1. По моему опыту, в новых версиях ядра нет ничего плохого, за исключением 2.4.1, в котором наблюдается значительная утечка памяти (и обходной путь).
  2. Старые версии основной ветки до того момента, когда было принято решение отказаться от 2.0, работали с этими основными версиями достаточно стабильно. И быстро.
  3. Нам действительно следует (акцент на самом деле!) Сосредоточиться на стабильности. Никаких новых функций какое-то время (если не улучшится стабильность), меньше ESP32 и меньше охоты за памятью, меньше ускорения, меньше всего, кроме стабильности. Представим, что мы собираемся полететь на Луну. Серьезно. Этой штуке нужно работать. Он должен выдерживать одиночные сбои, перезапуски, колебания мощности и температурные нагрузки.
    Я имею в виду отказоустойчивое программирование. Сделал это. Это может быть весело, если вы осознаете это.

Что дальше ? Если бы я был основным разработчиком, я бы выбрал эту конфигурацию на основе json. Как можно скорее. Похоже, нынешний корень зла, точно такой же, как и веб-сервер, интенсивно использующий память, некоторое время назад.

Я чувствую здесь панику. Не волнуйтесь, надежда еще есть.
Во-первых, давайте возьмем или 🍻 А теперь,
спасибо @ TD-er за то, что вы так беспокойно мчались вперед, несмотря на свои заботы, спасибо

100% согласен !!!

Я не знаю, известна ли уже эта ошибка:
Через один или два дня кажется, что веб-сервер больше не работает. Публикация MQTT все еще работает.
Пользуюсь нормальной версией от 22.04.

@ TD-er лично я буду голосовать за что-нибудь новенькое, например 2.4.1, чтобы попробовать.

1+

1+

Я чувствую здесь панику. Не волнуйтесь, надежда еще есть.

Это не паника, это чистое разочарование;)
Дело в том, что я действительно тестирую здесь материал, и в течение нескольких минут (по крайней мере, так кажется) сборки терпят неудачу даже хуже, чем раньше.
Я привык программировать против черных ящиков, а также rev. спроектируйте эти черные ящики.
Но мне кажется, что обратная связь, которую я вижу в журналах, полностью отличается от реальности.
Теперь ясно, что за последние несколько недель было несколько проблем из-за ошибок в основных библиотеках, поврежденных настроек и нескольких внесенных мной изменений, которые, по-видимому, были связаны с некоторыми ошибками в прошивке AP.

И мое личное мнение о программном обеспечении таково, что оно должно быть очень стабильным, а скорость на втором месте.
Но в последние недели скорость прироста нормальная, но стабильность ухудшалась с каждым днем, что бы я ни пробовал.

Итак, пришло время сделать твердую остановку и сосредоточиться в первую очередь на стабильности. Вы могли бы назвать это «паникой», но на самом деле это своего рода шаг назад, чтобы по-настоящему сосредоточиться на том, что происходит.
Теперь я знаю о Wi-Fi намного больше, чем месяц назад, так что я смогу сделать хорошо продуманный пакет. Но это требует времени, и я действительно хочу достичь некоторой стабильности и получить в голове момент расслабления, чтобы все заработало так, как должно.
К тому же есть еще много места, чтобы сделать вещи еще быстрее, потому что я видел, как ik подключается еще быстрее :)
Но это для следующей версии.

Об остальных основных вопросах:

  • использование памяти
  • JSON импорт / экспорт настроек
  • Редизайн импорта MQTT
  • некоторые плагины, такие как P001-switch, должны быть изменены.
  • Что осталось.

для меня (и, вероятно, только для меня) переход на 2.4.1 или даже GIT Core не улучшился, все было наоборот. Я пробовал около 20 различных комбинаций основной версии, mage-commits и lwIP версий. Возвращение к 2.3.0, особенно к lwIP 1.4, было единственным способом сделать его стабильным. Но опять же, просто мой взгляд на это в моей конкретной среде ...

И да, большое спасибо @ TD-er и @Grovkillen за отличную работу, которую они делают, и время, которое они вкладывают в сообщество!

Спасибо вам всем, @ TD-er довольно хорошо подытожил дальнейший путь.

Об остальных основных вопросах:
• использование памяти
• JSON импорт / экспорт настроек
• Редизайн импорта MQTT
• некоторые плагины, такие как P001-switch, должны быть изменены.
• Что осталось.

И мы вернемся к 2.3.0 для завтрашнего выпуска и некоторое время протестируем это.

Большинство моих образов для самостоятельной сборки основаны на core rev. 491c9b8b (2.4.1 + х).
Единственное, что я вижу, это случайные перезагрузки моего устройства Sonof 4ch. К сожалению, это часть моего управления прудом, поэтому нет возможности подключить последовательный интерфейс для лучшего мониторинга, системный журнал практически бесполезен, потому что соответствующая информация выплевывается до того, как WIFI будет запущен и запущен.

Это довольно удобно, если вы используете библиотеку lwIP 'v2 Higher Bandwith'.
В противном случае вы увидите проблемы с фрагментацией MTU с пакетами> 512 байт (не по порядку, с неправильной информацией в окне).

Рабочие ESPEasy Revs (мои репозитории):

совершить 3576619181926b3adff5a1a133390eb71e808ae9
Слияние: 9038bd2 d083a58
Автор: Сюзис Стролч
Дата: 13 апр, пт, 17:07:30 2018 +0200

Merge remote-tracking branch 'upstream/mega' into mega

* upstream/mega:
  automaticly updated release notes for mega-20180413
  [wifi] Event based wifi, fix set AP and crash on start

и
совершить daf39a064d3633fe1eccfa33576fafbccd7611a7
Слияние: 2a96218 806a275
Автор: Сюзис Стролч
Дата: 9 апр, пн, 09:15:52 2018 +0200

Merge remote-tracking branch 'upstream/mega' into mega

* upstream/mega:
  automaticly updated release notes for mega-20180409
  Both reset/factoryreset option
  Factory Reset (not enabled yet)

Любой ESPEasy после пятницы 13 апреля показывает ужасные - говоря нерабочие - результаты, даже при стирании всей флеш-памяти перед прошивкой двоичного файла (через Arduino IDE).

Итак, я бы посоветовал перейти на версию 2.4.1 (или новее) и отполировать ESPEasy (WIFI и конфигурация).
Сам Core вроде пока в порядке.

lol @ Пятница, 13-е, действительно неудачный день ..
Итак, что такое «отполировать ESPEasy (WIFI и конфиг)». ?
Другая ветка ..?
Польша, также известная как Polish или polish, как в Buff & Shine, га.

@susisstrolch Как мне отловить подобные ошибки?
«проблемы с фрагментацией MTU с пакетами> 512 байт (не в порядке, с неверной информацией окна)».

Просто отправьте подготовленный запрос для веб-сервера espeasy с дополнительным заголовком минимум 512 символов.

@Oxyandy : запустив tcpdump на моем сервере FHEM и проанализировав его с помощью WireShark, я обнаружил, что сначала были отправлены последние 512 байт ответа JSON размером ~ 700 байт, а затем заголовок HTTP.
И в этих двух пакетах просто отсутствует информация об окне TCP.
Подробности можно выслать по запросу ...
полировать как в баффе и блеске

У меня неплохо работает версия от 22.04.2018 с Core 2.4.1.
sysinfo

Не могли бы вы также проверить мою вчерашнюю работу, но затем построенную на 2.4.1?
https://github.com/TD-er/ESPEasy/tree/bugfix/wifi_stability

В 2.3.0 у меня все еще были проблемы со статическим IP.
Еще не тестировал режим AP со страницей настройки.

Я только что прошил вемос с твоей версией
[Wi-Fi] Попытка упростить Wi-Fi на основе событий).

Весион бежит .....

Что мне теперь делать?

Черт, из моего последнего теста (22.04.1018) 4 из 8 устройств зависли примерно через 7 часов.

Полагаю, журнала нет? :(
Узлы вылетели (зависли) или просто не подключились заново?
Отвечают ли они на ping, и поэтому только веб-сервер отключен или слишком занят (повторное подключение MQTT требует много ресурсов)?

Пока что висят 5 устройств.
У меня нет журнала. Веб-сервер недоступен. Пинг тоже не работает.

они просто мертвы.

Вам действительно стоит попробовать его зарегистрировать. Это может дать нам несколько полезных советов

Регистрирую версию Гийса. Он работает уже 55 минут. :)

о, я могу победить это! У меня есть 12 устройств, работающих от 45 до 263 мин на версии Gijs (с ядром esp от GIT) 😀, и все они довольны ...

Да, времена изменились.
Раньше мои устройства работали неделями.

Сегодня я счастлив, когда они работают несколько часов. :)

На одном из моих домашних устройств все еще используется сборка, которую я сделал на 20171231, и сегодня он работает до 60 дней.

Итак, я знаю, что вы имеете в виду :(

Тогда давайте просто возьмем выпуск 2017123, тогда мы сможем сосредоточиться на других вещах. :)

Местное время: | 2018-04-26 17:47:23
Время работы: | 0 дней 2 часа 27 минут
Нагрузка: | 10% (LC = 9371)
Бесплатная память: | 10336 (9544 - sendContentBlocking)
IP: | 192.168.0.201
Wi-Fi RSSI: | -67 дБ

Эй, почему бы не взять эту 60-дневную версию, пометить ее 2.0 и написать несколько пунктов об известных проблемах (не о недостающих функциях)

@ s0170071 действительно ли нам нужен 75% рабочий продукт и множество проблем, решаемых после выпуска?

Возможно, нет необходимости возвращаться так далеко ... Это из последней ручной перезагрузки:

Время работы: 21 день 3 часа 32 минуты
Нагрузка: 32% (LC = 6281)
Бесплатная память: 14328 (13392 - parseTemplate3)

Сборка | 20100 - Мега (ядро 2_3_0)
Версия GIT | мега-20180308
Плагины | 72 [Нормальный] [Тестирование] [Разработка]
Сборка Md5 | eb5a94ae675cb343cc387319fd8c4f9a
Md5 - проверка | прошедший.
Время сборки | 8 марта 2018 03:05:36
Двоичное имя файла | firmware.bin

6 устройств проработали 5 часов - новый рекорд.

Это уже больше 30 часов;)

Сейчас у меня почти все (12+) устройств работают на изменениях @ TD-er от tonigt. Все Wemos D1 Mini с множеством подключенных датчиков и реле (все разные). У большинства из них сейчас время безотказной работы более 10 часов. Последние тоже сейчас прошиваю.
У меня было две или три самопроизвольных перезагрузки с одного или двух устройств, но это также могло быть из-за плагинов или неисправных датчиков (я также использую некоторые плагины для разработки и даже изменил конфигурацию для поддержки 24 задач и использования ядра esp GIT, некоторые даже без очистки config сначала). Но они всегда возвращались и успешно подключались к сети!

Так что для меня это самая стабильная версия, которая у меня была до сих пор. аналогично тому, что было до ядра 2.4.0.

Поэтому я бы проголосовал за объединение изменений @ TD-er с сегодняшнего вечера, протестировал их и двинулся дальше ... Но это просто MHO ...

И спасибо @ TD-er за быстрое исправление (попробуйте) !! Для меня это сработало !!

У меня тоже была перезагрузка на одном устройстве, но оно сразу переподключилось.
Все устройства Wemos D1 mini.

Я запустил здесь тестовую версию с 71 плагином.
На устройствах почти только BME280, Pir, MH-Z19 и датчик пыли и несколько светодиодов.

Веб-сервер очень быстро реагирует.
На данный момент я очень доволен этой версией и Core 2.4.1.

Возможно, это уже известно (если да, не обращайте на это внимания)
Я установил ESP pro mini с ESP_Easy_mega-20180422_normal_ESP8266_4096.bin (ядро 2.4.0).
Работает уже 3 дня!
Графический интерфейс больше недоступен, только после холодного запуска. (тестет с другим esp)
Пинг в порядке, публикация mqtt тоже работает, переключение GPIO через http тоже работает.
"Единственная" проблема, графический интерфейс недоступен.
Другими словами, ESP работает вслепую, все в порядке, только GUI не отвечает.
После ввода ip в браузере получаем:

ily: без засечек; размер шрифта: 12 пунктов; маржа: 0px; отступ: 0 пикселей; размер коробки: рамка-рамка; } h1 {размер шрифта: 16pt; цвет: # 07D; маржа: 8px 0; font-weig190; цвет: # 07D; } .button {margin: 4px; отступ: 4px 16px; цвет фона: # 07D; цвет: #FFF; текстовое оформление: нет; радиус границы: 4 пикселя; граница: 190 190 актив; курсор: указатель; размер шрифта: 12 пунктов; -webkit-user-select: нет; -moz-user-select: нет; -ms-u

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

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

Да точно так же у меня с версией от 22.04.2018.
Устройство работает, но веб-сервер недоступен.

Я попробую это зарегистрировать.
Кажется постоянным.

Бесплатная память: | 9792 (9008 - sendContentBlocking)

Вы имеете в виду sysheap?

unbenannt

@ uzi18 не может быть одновременно и передового, и стабильного. 60-дневная версия стабильна, не так ли?

@ TD-er Если вы оставите окно правил открытым на несколько минут, все правила исчезнут.

Это с 2.3.0?

У меня 2.4.1

Привет,
Тестирую 20180426. Работает, но очень медленно по сравнению с 20180424.
Для меня ядро ​​2.4.0 работало отлично и стабильно.
В новой версии MQTT потребовалось более 1 минуты для подключения, в то время как предыдущая версия была вдвое меньше.
Мне просто повезло с ядром 2.4.0? Или это просто вопрос настройки?

Я считаю, что вчерашняя версия @ TD-er с Core 2.4.1 очень быстрая.

После включения напряжения доступ к веб-интерфейсу занимает всего несколько секунд.
Сообщения MQTT приходят немедленно.

только для тех, кто заинтересован. Я отслеживаю ЦП, память и RSSI. Приложил график всех агрегатов. Вы можете отчетливо увидеть использование памяти, когда я обновил ядро ​​до 2.4.x. Однако память кажется стабильной (например, утечки нет) ...
Устройства 1-11 и 16 «используются» с датчиками и т. Д., Остальные - это просто D1, к которым ничего не подключено.

image

Привет @micropet : как мне использовать вчерашнюю версию с ядром 2.4.1?

Я начинаю думать, что, может быть, Wemos более стабильны, чем SONOS?
Я тоже использую Wemos

С участием:
https://github.com/TD-er/ESPEasy/commit/bugfix/wifi_stability
и в платформеио:
[core_2_4_1]
платформа = [email protected]

@micropet и @ TD-er: Я только что скомпилировал ветку стабильности Wi-Fi с ядром 2.4.1.
УХ ТЫ. Потрясающе быстро.
Оставим его включенным на следующие 3 дня и доложим. В нем довольно сложные правила ...
На данный момент: 7 секунд для подключения к MQTT по сравнению с 60 с 2.3.0 версии 20180426.

Я вижу несколько переподключений в MQTT Import.

104 : INIT : Free RAM:20040
104 : INIT : I2C
104 : INIT : SPI not enabled
1213 : INFO : Plugins: 72 [Normal] [Testing] [Development] (ESP82xx Core 2_4_1)
1214 : EVENT: System#Wake
1289 : WIFI : Set WiFi to STA
mode : sta(60:01:94:8e:ba:c9)
                             add if0
                                    1292 : WIFI : Connecting KeepOut attempt #0
1293 : IP   : Static IP : 192.168.1.206 GW: 192.168.1.1 SN: 255.255.255.0 DNS: 8.8.8.8
1405 : EVENT: System#Boot
1412 : ACT  : gpio,14,1
1414 : SW   : GPIO 14 Set to 1
1416 : ACT  : gpio,12,1
1417 : SW   : GPIO 12 Set to 1
1420 : ACT  : gpio,13,1
1420 : SW   : GPIO 13 Set to 1
1422 : ACT  :
1431 : ACT  : taskvalueset 1,1,1
1441 : ACT  : taskvalueset 1,2,1
1453 : ACT  : taskvalueset 1,3,1
1465 : ACT  : taskvalueset 1,4,1
1474 : ACT  :
1482 : ACT  :
1489 : ACT  : timerset,4,60
1568 : WD   : Uptime 0 ConnectFailures 0 FreeMem 18616
1682 : Dummy: value 1: 1.00
1683 : Dummy: value 2: 1.00
1683 : Dummy: value 3: 1.00
1683 : Dummy: value 4: 1.00
1684 : EVENT: Relay1#r1=1.00
1753 : EVENT: Relay1#r2=1.00
1824 : EVENT: Relay1#r3=1.00
1890 : EVENT: Relay1#r4=1.00
2251 : SYS  : 0.00
2253 : EVENT: SysInfoUptime#UptimeDays=0.00
3188 : IMPT : MQTT 037 Intentional reconnect
3562 : IMPT : MQTT 037 Intentional reconnect
scandone
        state: 0 -> 2 (b0)
                          5130 : Dummy: value 1: 25.80
5130 : Dummy: value 2: 27.20
5130 : Dummy: value 3: 27.40
5130 : Dummy: value 4: 0.00
5131 : EVENT: temp#t1=25.80
state: 2 -> 3 (0)
                 5158 : ACT  : timerset,1,2
state: 3 -> 5 (10)
                  add 0
                       aid 5
                            cnt
                                5174 : ACT  : lcd,1,20,*

connected with KeepOut, channel 9
                                 ip:192.168.1.206,mask:255.255.255.0,gw:192.168.1.1
   5239 : EVENT: temp#t2=27.20
5266 : ACT  : timerset,2,3
5276 : ACT  : lcd,1,20,*
5335 : EVENT: temp#t3=27.40
5365 : ACT  : timerset,3,4
5375 : ACT  : lcd,1,20,*
5428 : EVENT: temp#t4=0.00
5503 : Dummy: value 1: 18.00
5504 : Dummy: value 2: 11.00
5504 : Dummy: value 3: 12.00
5504 : Dummy: value 4: 0.00
5505 : EVENT: local#LSet1=18.00
5575 : EVENT: local#LSet2=11.00
5645 : EVENT: local#LSet3=12.00
5715 : EVENT: local#empty=0.00
6553 : Current Time Zone:  DST time start: 2018-03-25 02:00:00 offset: 120 minSTD time start: 2018-10-28 03:00:00 offset: 60 min
6554 : EVENT: Time#Initialized
6627 : EVENT: Clock#Time=Thu,22:59
6702 : IMPT : MQTT 037 Intentional reconnect
6964 : IMPT : Connected to MQTT broker with Client ID=ESPT6-Import
6965 : EVENT: MQTTimport#Connected
6981 : ACT  : publish /ESPT6/dummy/requestedTempUpdate,0
7059 : IMPT : [import1#Set1] subscribed to /OH2/status/nSetTemp1
7061 : IMPT : [import1#Set2] subscribed to /OH2/status/nSetTemp2
7062 : IMPT : [import1#Set3] subscribed to /OH2/status/nSetTemp3
7063 : IMPT : [import1#master] subscribed to /OH2/status/nMasterCaldaia
7065 : WIFI : Connected! AP: KeepOut (BC:EE:7B:EF:A3:38) Ch: 9 Duration: 3911 ms
7065 : EVENT: WiFi#ChangedAccesspoint
7144 : WIFI : Static IP: 192.168.1.206 (ESPT6-16) GW: 192.168.1.1 SN: 255.255.255.0   duration: 1940 ms
7173 : EVENT: Time#Set
7247 : EVENT: WiFi#Connected
7316 : Webserver: start
7332 : IMPT : MQTT 037 Intentional reconnect
7587 : IMPT : Error subscribing to /OH2/status/nSetTemp1
7588 : EVENT: Rules#Timer=1
ping 1, timeout 0, total payload 32 bytes, 1067 ms
                                                  7648 : [if 0=1]=false
7650 : else = true
7651 : ACT  : timerset,5,6
7688 : EVENT: Rules#Timer=1 Processing time:100 milliSeconds
7690 : MQTT : Intentional reconnect
7704 : MQTT : Connected to broker with client ID: ESPClient_60:01:94:8E:BA:C9
7707 : Subscribed to: /ESPT6/#
7708 : EVENT: MQTT#Connected
7722 : ACT  : publish /ESPT6/dummy/requestedTempUpdate,0
7813 : EVENT: MQTT#Connected Processing time:105 milliSeconds
7828 : IMPT : [import1#Set1] : 18.00
7828 : EVENT: import1#Set1=18.00
7882 : ACT  : taskvalueset,6,1,18
7893 : ACT  : timerset,1,2
7904 : ACT  : lcd,1,20,*
7955 : EVENT: import1#Set1=18.00 Processing time:127 milliSeconds
8065 : MQTT : Topic: /ESPT6/status/LWT
8065 : MQTT : Payload: Connected
8075 : IMPT : [import1#Set2] : 11.00
8075 : EVENT: import1#Set2=11.00
8131 : ACT  : taskvalueset,6,2,11
8143 : ACT  : timerset,2,3
8152 : ACT  : lcd,1,20,*
8199 : EVENT: import1#Set2=11.00 Processing time:124 milliSeconds
8206 : MQTT : Topic: /ESPT6/dummy/requestedTempUpdate
8207 : MQTT : Payload: 0
8218 : MQTT : Topic: /ESPT6/Relay1/r1
8218 : MQTT : Payload: 0
8219 : MQTT : Topic: /ESPT6/Relay1/r2
8219 : MQTT : Payload: 1
8220 : MQTT : Topic: /ESPT6/Relay1/r3
8220 : MQTT : Payload: 1
8220 : MQTT : Topic: /ESPT6/Relay1/r4
8220 : MQTT : Payload: 1
8221 : MQTT : Topic: /ESPT6/SysInfoUptime/UptimeDays
8221 : MQTT : Payload: 0.1
8222 : MQTT : Topic: /ESPT6/status/LWT
8222 : MQTT : Payload: Connected
8223 : MQTT : Topic: /ESPT6/dummy/requestedTempUpdate
8223 : MQTT : Payload: 0
ping 1, timeout 0, total payload 32 bytes, 1112 ms
                                                  8320 : IMPT : [import1#Set3] : 12.00
8320 : EVENT: import1#Set3=12.00
8376 : ACT  : taskvalueset,6,3,12
8387 : ACT  : timerset,3,4
8396 : ACT  : lcd,1,20,*
8441 : EVENT: import1#Set3=12.00 Processing time:121 milliSeconds
8565 : IMPT : [import1#master] : 0.00
8565 : EVENT: import1#master=0.00
8581 : ACT  : timerset,1,2
8591 : ACT  : timerset,2,3
8600 : ACT  : timerset,3,4
8608 : ACT  : lcd,1,20,*
8684 : EVENT: import1#master=0.00 Processing time:119 milliSeconds
8696 : EVENT: MQTTimport#Disconnected
8774 : EVENT: MQTTimport#Disconnected Processing time:78 milliSeconds
8775 : IMPT : MQTT 037 Connection lost
9712 : IMPT : Connected to MQTT broker with Client ID=ESPT6-Import
9713 : EVENT: MQTTimport#Connected
9725 : ACT  : publish /ESPT6/dummy/requestedTempUpdate,0
9809 : EVENT: MQTTimport#Connected Processing time:96 milliSeconds
9813 : IMPT : [import1#Set1] subscribed to /OH2/status/nSetTemp1
9813 : IMPT : [import1#Set2] subscribed to /OH2/status/nSetTemp2
9814 : IMPT : [import1#Set3] subscribed to /OH2/status/nSetTemp3
9815 : IMPT : [import1#master] subscribed to /OH2/status/nMasterCaldaia
9817 : MQTT : Topic: /ESPT6/dummy/requestedTempUpdate
9817 : MQTT : Payload: 0
9931 : IMPT : [import1#Set1] : 18.00
9931 : EVENT: import1#Set1=18.00
9985 : ACT  : taskvalueset,6,1,18
9996 : ACT  : timerset,1,2
10005 : ACT  : lcd,1,20,*
10053 : EVENT: import1#Set1=18.00 Processing time:122 milliSeconds
10173 : IMPT : [import1#Set2] : 11.00
10174 : EVENT: import1#Set2=11.00
10228 : ACT  : taskvalueset,6,2,11
10239 : ACT  : timerset,2,3
10248 : ACT  : lcd,1,20,*
10295 : EVENT: import1#Set2=11.00 Processing time:121 milliSeconds
10414 : IMPT : [import1#Set3] : 12.00
10414 : EVENT: import1#Set3=12.00
10470 : ACT  : taskvalueset,6,3,12

@ giig1967g Есть шанс, что вы могли бы сделать для этого bin-файл, который я мог бы скачать? 4мег версия? Все еще изучаю процесс компиляции ....

@ giig1967g, как я уже сказал - очень быстро и при этом выглядит стабильно.

У меня теперь было переподключение через 7 часов.

@ giig1967g При использовании статического IP- возникают проблемы с моим новым кодом.
Особенно при работе с MQTT.
DHCP вроде работает нормально.

Завтра будет очень напряженный день для меня, так как это «Королевский день», и королевская семья будет в Гронингене. Также меня приглашают быть там, чтобы, может быть, рассказать королю о наших проблемах здесь.
Итак, я пойду спать, и я предлагаю не объединять код сегодня в основную ветку. Завтра мы продолжим разработку и сделаем лучший из возможных код подключения Wi-Fi :)

хорошо, я обнаружил проблему как в 20180426 (2.3.0), так и в WifistabilityBranch (2.4.1).
Если я выключу маршрутизатор, а затем снова включу, устройство не будет повторно подключаться к Wi-Fi, несмотря на то, что он пишет на последовательном порту «Wifi # Connected». Устройство работает (серийный номер и все в порядке), но нет подключения к Wi-Fi, поэтому нет веб-интерфейса.

@ TD-he, давай сделаем это. Привет королю - может, у него есть другая идея. :)
И спокойной ночи.

@ TD-er: удачи в твоих реальных жизненных проблемах ...

Некоторые здесь, если я отключу WIFI на 0,2 секунды:

29113846: ACT: timerSet, 1,60
29115651: MQTT: соединение потеряно
29115652: СОБЫТИЕ: MQTT # отключено
29115689: MQTT: не удалось подключиться к брокеру
29115690: СОБЫТИЕ: WiFi # отключен
29115706: WIFI: отключен! Причина: «(1) Не указано» Подключено за 8ч04м <-------- !!
29116189: MQTT: не удалось подключиться к брокеру
29116939: MQTT: не удалось подключиться к брокеру
29117860: WD: Время работы 485 ConnectFailures 6 FreeMem 16416
29117881: MQTT: не удалось подключиться к брокеру
29117938: MQTT: не удалось подключиться к брокеру
29119189: MQTT: не удалось подключиться к брокеру
29120689: MQTT: не удалось подключиться к брокеру
29120736: DS: Температура: 19,94 (28-ff-b8-ea-b4-16-3-ed)
29120738: СОБЫТИЕ: DS18b20 # Температура = 19,94
29122440: MQTT: не удалось подключиться к брокеру
29124440: MQTT: не удалось подключиться к брокеру
29126441: MQTT: не удалось подключиться к брокеру
29128442: MQTT: не удалось подключиться к брокеру

@ giig1967g
Вы можете найти функцию для запуска / остановки веб-сервера и добавить return; в первую строку этой функции.
https://github.com/TD-er/ESPEasy/blob/f9be283cb70043733fdc45575457a85244660ea8/src/WebServer.ino#L570 -L585

Думаю, есть проблема с вызовом функции gotIP при использовании статического IP.
Это также причина нестабильности при запуске MQTT + статический IP.

Но это наверное для @ TD-er мелочь. :)

Хм, не просматриваю.
Я думаю, тебе лучше сделать это завтра.
Вдобавок я здесь работаю с DHCP.

Мне кажется, что стабильность моего оборудования всегда «лучше» (не идеально) со сборками ядра 2.3.0.

  • пробовал 2.4.0 & 2.41 - они хуже ...

0403 мега нормальный - просто вроде работает и версии раньше ..
Любой, у кого все еще есть проблемы, как у меня, может попробовать 0403, пожалуйста ..
@susisstrolch & @ uzi18 - спасибо обоим за ваши ответы .. Я лучше понимаю, как я теперь вижу связь - адаптер wirehark и usb wifi 2.4g будет работать, у меня много запасного
Спасибо

Моя сейчас работает почти 17 часов. Одно соединение

обновление с моих устройств (имя | время безотказной работы в минутах | последний диск. причина | Wi-Fi подключено в мс):
wemos_mini_01_sysinfo | 1220 | 200 | 6462869
wemos_mini_02_sysinfo | 1223 | 1 | 19359544
wemos_mini_03_sysinfo | 657 | 1 | 1018597
wemos_mini_04_sysinfo | 1078 | 201 | 439668
wemos_mini_05_sysinfo | 650 | 6 | 9194816
wemos_mini_06_sysinfo | 927 | 1 | 955432
wemos_mini_07_sysinfo | 1142 | 1 | 14078412
wemos_mini_08_sysinfo | 730 | 1 | 7848454
wemos_mini_09_sysinfo | 1005 | 1 | 5536489
wemos_mini_10_sysinfo | 550 | 201 | 465734
wemos_mini_11_sysinfo | 662 | 4 | 15658520
wemos_mini_12_sysinfo | 1211 | 1 | 17915701
wemos_mini_13_sysinfo | 1211 | 1 | 17896590
wemos_mini_14_sysinfo | 1210 | 1 | 17882406
wemos_mini_15_sysinfo | 753 | 1 | 58904600
wemos_mini_16_sysinfo | 1197 | 1 | 17210855

одна перезагрузка блока 10 (также может быть связана с плагинами). все устройства с контроллером DHCP и FHEM, а также регулярные обновления статуса JSON (вызываемые через HTTPMOD из fhem).
веб-сервер на всех из них все еще работает и очень быстро реагирует. никогда не использовал статический IP-адрес или страницу настройки.

так что для меня это кажется довольно стабильной версией.

так как следующие 4 дня я в основном не в сети, на следующей неделе посмотрю, сколько еще живы 😃

Ах да, королю привет! Надеюсь, он тоже увлечен IoT 😀

@ clumsy-stefan эту версию? https://github.com/TD-er/ESPEasy/tree/bugfix/wifi_stability
а какое ядро?
Вы пробовали перезагрузить роутер?

@melwinek git commit: d582cab938f041f622f2d4d8016b3d4bada55580 из основной ветки esp8266 (так что последняя фиксация основной ветки из основной разработки).

@ clumsy-stefan core 2.3.0, 2.4.0 или 2.4.1?

последний коммит GIT! (так что проблема с ядром 2.4.1+)

Я не могу найти этот коммит.
Последний: https://github.com/letscontrolit/ESPEasy/commit/d780f1a07fdcd4eec394a0677866c2a9778eb696
Можете дать ссылку?

@ clumsy-stefan Я так понимаю, ты написал git до глубины души.
Какой коммит ESPEasy вы компилируете?

ESPEasy фиксирует f9be283 из ветки https://github.com/TD-er/ESPEasy/tree/bugfix/wifi_stability
esp8266 совершает d582cab с https://github.com/esp8266/Arduino

@ TD-er:

@ giig1967g
Вы можете найти функцию для запуска / остановки веб-сервера и добавить возврат; в первой строке этой функции.
https://github.com/TD-er/ESPEasy/blob/f9be283cb70043733fdc45575457a85244660ea8/src/WebServer.ino#L570 -L585

Думаю, есть проблема с вызовом функции gotIP при использовании статического IP.
Это также причина нестабильности при запуске MQTT + статический IP.

Привет, проблема не в веб-сервере, а в устройстве, которое, кажется, подключено к Wi-Fi, но это не так. Не удается проверить связь, отправить MQTT и т. Д.

Последний github отлично работает здесь на ядре 2.4.1. Нет проблем с подключением, нет утечек участников

@mvdbro Вы используете устройство esp32 или esp8266?

Я использую как ESP8266, так и ESP32. Оба работают нормально.

Примечание:
Всегда использую статический IP
Использование только плагинов, которые мне нужны (поддерживает минимальный уровень ОЗУ. Я думаю, что по умолчанию загружено множество плагинов)

Здорово! :улыбка:
Я тоже пробую ядро ​​2.4.1 на моем esp8266.
Статик и dhcp работает.
dnsserver и captive portal работает.
ntp работает!

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

@ giig1967g Попробую потом дома. Я провел тест в своей машине, используя мобильный телефон в качестве точки доступа. ;-)

@mvdbro

Я думаю, что по умолчанию загружено много плагинов.

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

[PlatformIO] Ядро обновлено до версии 2.4.1.
1+

Думаю, это хорошее решение.
У меня нет проблем со вчерашнего дня.

Как я писал в другой теме:
Для тех, кому нужна небольшая помощь в сборке, я только что собрал версию патча, которую написал 2 дня назад, но теперь с ядром 2.4.1:
TD-er_wifi_stability_core-2.4.1

Память остается довольно постоянной.
Немного проседает в первые 15 минут.
(Их здесь не видно)
19:05:33 ESP-206 / SYSHEAP 11536
19:08:34 ESP-206 / SYSHEAP 11536
19:11:36 ESP-206 / SYSHEAP 11536
19:14:37 ESP-206 / SYSHEAP 11536
19:17:40 ESP-206 / SYSHEAP 11536
19:20:42 ESP-206 / SYSHEAP 11536
19:23:45 ESP-206 / SYSHEAP 11536
19:26:47 ESP-206 / SYSHEAP 11536
19:29:50 ESP-206 / SYSHEAP 11536
19:32:52 ESP-206 / SYSHEAP 11536
19:35:54 ESP-206 / SYSHEAP 11536
19:38:57 ESP-206 / SYSHEAP 11536
19:41:59 ESP-206 / SYSHEAP 11536
19:45:01 ESP-206 / SYSHEAP 11536
19:48:04 ESP-206 / SYSHEAP 11536
19:51:06 ESP-206 / SYSHEAP 11536
19:54:09 ESP-206 / SYSHEAP 11536
19:57:11 ESP-206 / SYSHEAP 11536
20:00:13 ESP-206 / SYSHEAP 11536
20:03:16 ESP-206 / SYSHEAP 11536
20:06:17 ESP-206 / SYSHEAP 11536
20:09:29 ESP-206 / SYSHEAP 11656
20:12:19 ESP-206 / SYSHEAP 11592
20:15:21 ESP-206 / SYSHEAP 11592
20:18:23 ESP-206 / SYSHEAP 11592
20:21:24 ESP-206 / SYSHEAP 11592
20:24:25 ESP-206 / SYSHEAP 13192
20:27:27 ESP-206 / SYSHEAP 11592
20:30:30 ESP-206 / SYSHEAP 11592
20:33:31 ESP-206 / SYSHEAP 11592
20:36:34 ESP-206 / SYSHEAP 11592
20:39:36 ESP-206 / SYSHEAP 11592
20:42:39 ESP-206 / SYSHEAP 11592
20:45:40 ESP-206 / SYSHEAP 11592
20:48:43 ESP-206 / SYSHEAP 11592
20:51:45 ESP-206 / SYSHEAP 11592
20:54:48 ESP-206 / SYSHEAP 11592
20:57:50 ESP-206 / SYSHEAP 11592
21:00:52 ESP-206 / SYSHEAP 11592
21:03:54 ESP-206 / SYSHEAP 11592
21:06:56 ESP-206 / SYSHEAP 11424
21:09:58 ESP-206 / SYSHEAP 13024
21:13:01 ESP-206 / SYSHEAP 11424
21:16:03 ESP-206 / SYSHEAP 13024
21:19:06 ESP-206 / SYSHEAP 11424
21:22:08 ESP-206 / SYSHEAP 11448
21:25:10 ESP-206 / SYSHEAP 11424
21:28:13 ESP-206 / SYSHEAP 11424
21:31:15 ESP-206 / SYSHEAP 11424
21:34:18 ESP-206 / SYSHEAP 11424
21:37:20 ESP-206 / SYSHEAP 11424
21:40:22 ESP-206 / SYSHEAP 11424
21:43:24 ESP-206 / SYSHEAP 11424
21:46:27 ESP-206 / SYSHEAP 11424
21:49:28 ESP-206 / SYSHEAP 13024
21:52:31 ESP-206 / SYSHEAP 11424
21:55:33 ESP-206 / SYSHEAP 11424
21:58:36 ESP-206 / SYSHEAP 11424
22:01:38 ESP-206 / SYSHEAP 11424

Между тем со вчерашнего полудня работало 8 устройств.
Ни один из них не застрял.

Один был недоступен минут 15 - внезапно он снова оказался в сети.
В целом результат приятный.

Очень приятно слышать.
Будем надеяться, что @Oxyandy также сможет поделиться схожими положительными результатами с последней сборкой, которой я поделился.
Его узлы были наиболее критичными при использовании 2.4.x

@ TD-er Доброе утро, наконец нашел этот пост после того, как догнал
0403 с использованием 2.4.1 отлично работал всю ночь ..
Сейчас прошивается с вашего последнего rar нормального 1024 8266
подключается с первой попытки, время обновляется сразу, ошибок Wi-Fi нет (пока) и остается подключенным (пока),
веб-сервер отвечает каждый раз ..
Требуется немного больше времени на тестирование, но выглядит хорошо

Приятно слышать :)

Я рассмотрю проблему NTP, о которой сообщил @ giig1967g, а затем
Давайте надеяться на лучшее.

Было бы здорово, если бы мы могли оставить Wi-Fi таким, какой он есть, и продолжить работу с остальным.

Надеюсь, вы сможете настроить некоторые вещи, о которых я пишу отзывы, когда все снова станет стабильным.
Я собираюсь попробовать несколько конкретных тестов с вашим источником wifi_stability_core-2.4.1 из Github.
и, возможно, исправит мои давние проблемы, если исходник радикально не изменился

Если у вас есть исправления, поделитесь ими.

@ giig1967g Я должен сделать тесты. Очень короткие отключения - не проблема. AP выключается и сразу включается. Мой mcunode подключается, если AP вернется. Мой компьютер уже подключен к другой точке доступа.

Также только начали тестирование с D1-Mini и BME280

ESPEasy: совершить 2abec2b0bb74018ea76203886f683761796091a2
Слияние: 16d3a9f 29f89b6
Автор: Сусис Стролч [email protected]
Дата: 28 апр, сб, 10:26:14 2018 +0200

Merge remote-tracking branch 'upstream/mega' into mega

* upstream/mega:
  automaticly updated release notes for mega-20180428

Ядро: совершить 41a64707f149d01ace37c903f448d5e3f1cee5d8
Автор: Марсель Штёр [email protected]
Дата: 26 апр, 01:46:17 2018 +0200

Fix WiFi status formatting issue (bullet list) (#4671)

Custom.h:
`#warning" ** Использование настроек из файла Custom.h * "

если определено (ESP8266)

// включить обновление Arduino OTA.
// Примечание: это добавляет около 10 КБ к размеру прошивки и 1 КБ дополнительной оперативной памяти.
// #define FEATURE_ARDUINO_OTA

// включить режим mDNS (добавляет около 6 КБ оперативной памяти и несколько байтов IRAM)
// #define FEATURE_MDNS

endif

undef PLUGIN_BUILD_NORMAL

undef PLUGIN_BUILD_TESTING

undef PLUGIN_BUILD_DEV

определить PLUGIN_BUILD_CUSTOM

undef BUILD_UPLOADER

если определено (BUILD_UPLOADER)

#warning "**** Building ESP8285 Uploader image ***"

еще

// определяем наши собственные плагины
#define USES_P001 // Переключатель
#define USES_P002 // АЦП
#define USES_P004 // Даллас
#define USES_P005 // DHT
#define USES_P013 // HCSR04
#define USES_P026 // SysInfo
#define USES_P028 // BME280
#define USES_P033 // Пустышка

#define USES_C008   // Generic HTTP
#define USES_C009   // FHEM HTTP
#define USES_C013   // ESPEasy P2P network

endif

undef BUILD_GIT

определить BUILD_GIT "2abec2b" `

Похоже, с NTP есть проблемы:
`
INIT: версия загрузки: 2abec2b (ESP82xx Core 41a64707)

80: INIT: теплая загрузка # 2

81: FS: Монтаж ...

106: FS: Монтирование выполнено успешно, использовано 76053 байта из 957314

115: CRC: Контрольная сумма памяти программ не найдена. Проверьте вывод crc2.py

144: CRC: SecuritySettings CRC ... ОК

227: INIT: Свободная оперативная память: 32208

227: НАЧАЛО: I2C

227: INIT: SPI не включен

232: ИНФОРМАЦИЯ: Плагины: 8 (ESP82xx Core 41a64707)

233: СОБЫТИЕ: Пробуждение системы #

241: WIFI: установите для Wi-Fi значение STA.
242: WIFI: попытка подключения SusiconStrolch №0
355: СОБЫТИЕ: System # Boot
364: WD: Время работы 0 ConnectFailures 0 FreeMem 31504
3987: BMx280: обнаружен BME280
5575: BME280: точка росы 8,03C
5576: BME280: Адрес: 0x76
5576: BME280: Температура: 18,49
5576: BME280: Влажность: 50,75
5576: BME280: Барометрическое давление: 1010,58
5583: СОБЫТИЕ: BMx280 # Температура = 18,49
5592: СОБЫТИЕ: BMx280 # Влажность = 50,75
5597: СОБЫТИЕ: BMx280 # Давление = 1010,58
5853: Текущий часовой пояс: Начало летнего времени: 2018-03-25 02:00:00 смещение: 120 минут Начало времени стандартного времени: 2018-10-28 03:00:00 смещение: 60 минут
5853: СОБЫТИЕ: Время # инициализировано
5862: СОБЫТИЕ: Часы # Время = Сб, 10:52
5866: ACT: набор значений задач 12,1,0
5872: ACT: набор значений задач 12,2, -58
5877: ACT: набор значений 12,3,29912
5883: ACT: набор значений задач 12,4,39164
5888: WIFI: Подключено! AP: SusiconStrolch (38: 10: D5: B2: 22: 1E) Канал: 13 Продолжительность: 3783 мс
5888: СОБЫТИЕ: WiFi # ChangedAccesspoint.
5894: WIFI: DHCP IP: 192.168.254.71 (D1pro-01-11) GW: 192.168.254.1 SN: 255.255.255.0 продолжительность: 17 мс
5913: Текущий часовой пояс: Начало летнего времени: 2036-03-30 02:00:00 смещение: 120 минут Начало времени стандартного времени: 2036-10-26 03:00:00 смещение: 60 мин
5914: СОБЫТИЕ: Время # установлено
5921: СОБЫТИЕ: WiFi № подключен.
5928: Веб-сервер: запуск
5935: СОБЫТИЕ: Часы # Время = Чт, 07:28
`
5853: Текущий часовой пояс: Начало летнего времени: 2018-03-25 02:00:00
5913: Текущий часовой пояс: Начало летнего времени: 2036-03-30 02:00:00 смещение: 120 минут Начало времени стандартного времени:

Это известный код ошибки -1, который по-прежнему преобразуется в ошибку времени.

Хм, мне все еще интересно, как вызов NTP может привести к -1.

@susisstrolch
Какая это версия? ESPeasy использовал значение BUILD_GIT, чтобы определить, что нужно исправить в файлах настроек и, возможно, в других файлах. Это своего рода внутренняя версия, используемая для определения необходимых патчей. (если есть)
когда вы меняете это значение, это может привести к странным вещам.

Я думаю, это связано с UDP. Я не вижу других своих устройств. И наоборот.

@susisstrolch То есть со статическим IP или с DHCP?

Патч @ TD-er на основе BUILD_GIT - плохая идея, потому что он изменяется в форках, ветвях и локальных коммитах.
Должен быть какой-то другой тип / переменная - может быть, BUILD_FEATURE - которая контролирует такое поведение.

Поскольку я почти никогда не перезагружаю свою точку доступа, я не заметил, что повторное подключение не удается с последним исходным кодом github (20180428). Я попытался получить какой-то внутренний статус, чтобы узнать, что происходит:

После загрузки:
вызов Wifi.status (): 3 означает WL_CONNECTED
переменная wifiStatus: 3 означает ESPEASY_WIFI_SERVICES_INITIALIZED

После перезагрузки AP
вызов Wifi.status (): 3 означает WL_CONNECTED
переменная wifiStatus: 0 означает ESPEASY_WIFI_DISCONNECTED

это не меняется со временем, и ESP никогда не подключается повторно

Просто интересно, почему вызов Wifi.status () в ядро ​​все еще сообщает статус 3 (WL_CONNECTED)
Это потому, что Wi-Fi на основе событий мешает внутреннему состоянию ядра?

Поведение одинаково для ядер 2_3_0 и 2_4_1

Это с DHCP

И я ожидал, что после обычной перезагрузки:

вызов Wifi.status (): 3 означает WL_CONNECTED
переменная wifiStatus: 1 означает ESPEASY_WIFI_CONNECTED

вместо:
вызов Wifi.status (): 3 означает WL_CONNECTED
переменная wifiStatus: 3 означает ESPEASY_WIFI_SERVICES_INITIALIZED

Хм, это хороший вопрос @mvdbro
Возможно, статус WL_CONNECTED никогда не обновляется, потому что он не вызывает функцию для обновления этого статуса.
Просто по памяти, я бы сказал, что функция вызывается в основной библиотеке, когда обрабатывается событие «получил IP».
Я изучу эту область кода основной библиотеки.
Спасибо, что заметили.

@susisstrolch Хорошо, я также попробую здесь с DHCP.
Мои тестовые модули могут видеть друг друга через внутреннюю связь ESPeasy UDP, но в настоящее время они работают на статическом IP-адресе, поскольку в последнее время это вызвало большинство проблем.

@ TD-er hold on - проверит, не связана ли это с основной проблемой.

@mvdbro
Вот код:
https://github.com/esp8266/Arduino/blob/836c7da8cc1ad11a66e0be1f30d35a92b5317bcc/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp#L497 -L513

В самом деле, пока для внутреннего статуса не установлено значение «получил IP», он не вернет WL_CONNECTED.

О разнице в именах переменных между перечислением / определениями в ESPeasy и основной библиотеке.
Состояния основной библиотеки на самом деле не отражают истинное состояние, поскольку вы можете быть подключены и не иметь IP.

Возможно, мне лучше оставить эту тему только для проблем с подключением / повторным подключением Wi-Fi, чтобы это можно было исправить в первую очередь.

Я предполагаю, что это эффективные используемые коды:

Коды Wifi.status ():
WL_IDLE_STATUS 0
WL_NO_SSID_AVAIL 1
WL_SCAN_COMPLETED 2
WL_CONNECTED 3
WL_CONNECT_FAILED 4
WL_CONNECTION_LOST 5
WL_DISCONNECTED 6

wifiStatus коды:
ESPEASY_WIFI_DISCONNECTED 0
ESPEASY_WIFI_CONNECTED 1
ESPEASY_WIFI_GOT_IP 2
ESPEASY_WIFI_SERVICES_INITIALIZED 3

Я думаю, это может быть связано с проблемой подключения / повторного подключения Wi-Fi.
При статическом IP просто нет события «получен IP», поэтому его текущая обработка может быть неполной, что вызывает некоторые из этих проблем.

Итак, после перезагрузки AP
вызов Wifi.status (): 3 означает WL_CONNECTED
Это не так.

Если Wifi.status () не работает должным образом, это будет серьезной ошибкой ядра Arduino. Разве не следует сообщать об этом в их трекере проблем на github?

@susisstrolch Просто испытал то же самое. Обновил заведомо исправное и готовое настроенное устройство. Других юнитов не обнаружил.

Решение: проверьте запись порта UDP. (65500) Моего просто не было. Еще одна перезагрузка, и все заработало.
Нам действительно стоит использовать конфигурацию на основе JSON !!!

@mvdbro Я только что нашел это, см.
https://www.espressif.com/sites/default/files/documentation/2c-esp8266_non_os_sdk_api_reference_en.pdf
Итак, я сейчас протестирую, нужно ли нам снова устанавливать конфигурацию IP после обработки события подключения.

Может кто-нибудь протестировать код в этом PR: https://github.com/letscontrolit/ESPEasy/pull/1328

@ s0170071 - подтверждено - изменена настройка порта UDP.

@ TD-er о # 1328:

INIT : Booting version: 62e6317 (ESP82xx Core 41a64707)
75 : INIT : Warm boot #1
76 : FS   : Mounting...
101 : FS   : Mount successful, used 76053 bytes of 957314
111 : CRC  : No program memory checksum found. Check output of crc2.py
142 : CRC  : SecuritySettings CRC   ...OK 
248 : INIT : Free RAM:31624
248 : INIT : I2C
248 : INIT : SPI not enabled
253 : INFO : Plugins: 8 (ESP82xx Core 41a64707)
254 : EVENT: System#Wake
261 : WIFI : Set WiFi to STA
        mode : sta(5c:cf:7f:f1:bb:e1)
        add if0
264 : WIFI : Connecting SusiconStrolch attempt #0
267 : OTA  : Arduino OTA enabled on port 8266
379 : EVENT: System#Boot
390 : WD   : Uptime 0 ConnectFailures 0 FreeMem 30112
        scandone
        state: 0 -> 2 (b0)
4014 : BMx280 : Detected BME280
        state: 2 -> 3 (0)
        state: 3 -> 5 (10)
        add 0
        aid 3
        cnt 
        connected with SusiconStrolch, channel 13
        dhcp client start...
        ip:192.168.254.71,mask:255.255.255.0,gw:192.168.254.1
5602 : BME280: dew point 8.12C
5603 : BME280 : Address: 0x76
5603 : BME280 : Temperature: 20.25
5603 : BME280 : Humidity: 45.75
5603 : BME280 : Barometric Pressure: 1010.14
5611 : EVENT: BMx280#Temperature=20.25
5620 : EVENT: BMx280#Humidity=45.75
5626 : EVENT: BMx280#Pressure=1010.14
5884 : Current Time Zone:  DST time start: 2018-03-25 02:00:00 offset: 120 minSTD time start: 2018-10-28 03:00:00 offset: 60 min
5884 : EVENT: Time#Initialized
5893 : EVENT: Clock#Time=Sat,16:10
5898 : ACT  : taskvalueset 12,1,0
5903 : ACT  : taskvalueset 12,2,-60
5908 : ACT  : taskvalueset 12,3,28376
5914 : ACT  : taskvalueset 12,4,58217
5921 : WIFI : Connected! AP: SusiconStrolch (38:10:D5:B2:22:1E) Ch: 13 Duration: 3788 ms
5921 : EVENT: WiFi#ChangedAccesspoint
5927 : IP   : Static IP : 192.168.254.71 GW: 192.168.254.1 SN: 255.255.255.0 DNS: 192.168.254.1
        STUB: dhcp_stop
5932 : WIFI : Static IP: 192.168.254.71 (D1pro-01-11) GW: 192.168.254.1 SN: 255.255.255.0   duration: 1879 ms
5957 : Current Time Zone:  DST time start: 2036-03-30 02:00:00 offset: 120 minSTD time start: 2036-10-26 03:00:00 offset: 60 min
5957 : EVENT: Time#Set
5964 : EVENT: WiFi#Connected
5971 : Webserver: start
5979 : EVENT: Clock#Time=Thu,07:28
5989 : ACT  : taskvalueset 12,1,0
5999 : ACT  : taskvalueset 12,2,-59
6006 : ACT  : taskvalueset 12,3,26040
6014 : ACT  : taskvalueset 12,4,26896
6019 : EVENT: Clock#Time=Thu,07:28 Processing time:40 milliSeconds
        ping 1, timeout 0, total payload 32 bytes, 1064 ms
        ping 1, timeout 0, total payload 32 bytes, 1065 ms
7269 : UDP  : 5C:CF:7F:23:CB:63,192.168.254.97,7
8088 : UDP  : 5C:CF:7F:1C:0B:DD,192.168.254.94,4
8396 : UDP  : 5C:CF:7F:1B:E4:F7,192.168.254.92,2
11998 : Dummy: value 1: 0.00
12000 : Dummy: value 2: -59.00
12000 : Dummy: value 3: 26040.00
12001 : Dummy: value 4: 26896.00
12006 : EVENT: sysinfo#uptime=0.00
12015 : EVENT: sysinfo#uptime=0.00 Processing time:9 milliSeconds
12016 : EVENT: sysinfo#RSSI=-59.00
12025 : EVENT: sysinfo#RSSI=-59.00 Processing time:8 milliSeconds
12025 : EVENT: sysinfo#sysheap=26040.00
12034 : EVENT: sysinfo#sysheap=26040.00 Processing time:9 milliSeconds
12034 : EVENT: sysinfo#syssec_d=26896.00
12043 : EVENT: sysinfo#syssec_d=26896.00 Processing time:9 milliSeconds
12068 : HTTP : connecting to 192.168.254.27:8383
12275 : HTTP : closing connection
        pm open,type:2 0
14437 : UDP  : 5C:CF:7F:9E:CB:D4,192.168.254.99,9
18430 : UDP  : 5C:CF:7F:1B:E9:2F,192.168.254.91,1
18533 : UDP  : 5C:CF:7F:23:C5:5A,192.168.254.96,6
25189 : UDP  : 60:01:94:83:B1:70,192.168.254.80,10
30390 : WD   : Uptime 1 ConnectFailures 0 FreeMem 24816
30391 : UDP  : Send Sysinfo message
34917 : UDP  : 5C:CF:7F:9E:CC:3D,192.168.254.98,8
37273 : UDP  : 5C:CF:7F:23:CB:63,192.168.254.97,7
38092 : UDP  : 5C:CF:7F:1C:0B:DD,192.168.254.94,4
38501 : UDP  : 5C:CF:7F:1B:E4:F7,192.168.254.92,2
44441 : UDP  : 5C:CF:7F:9E:CB:D4,192.168.254.99,9
48436 : UDP  : 5C:CF:7F:1B:E9:2F,192.168.254.91,1
48641 : UDP  : 5C:CF:7F:23:C5:5A,192.168.254.96,6
49979 : EVENT: Clock#Time=Thu,07:29
49987 : ACT  : taskvalueset 12,1,1
49994 : ACT  : taskvalueset 12,2,-57
50001 : ACT  : taskvalueset 12,3,25544
50009 : ACT  : taskvalueset 12,4,26940
50014 : EVENT: Clock#Time=Thu,07:29 Processing time:35 milliSeconds
55193 : UDP  : 60:01:94:83:B1:70,192.168.254.80,10
60390 : WD   : Uptime 1 ConnectFailures 0 FreeMem 24816
60392 : UDP  : Send Sysinfo message
64922 : UDP  : 5C:CF:7F:9E:CC:3D,192.168.254.98,8
66569 : BME280: dew point 8.10C
66571 : BME280 : Address: 0x76
66572 : BME280 : Temperature: 20.28
66572 : BME280 : Humidity: 45.58
66573 : BME280 : Barometric Pressure: 1010.10
66576 : EVENT: BMx280#Temperature=20.28
66587 : EVENT: BMx280#Temperature=20.28 Processing time:11 milliSeconds
66588 : EVENT: BMx280#Humidity=45.58
66594 : EVENT: BMx280#Humidity=45.58 Processing time:6 milliSeconds
66595 : EVENT: BMx280#Pressure=1010.10
66602 : EVENT: BMx280#Pressure=1010.10 Processing time:7 milliSeconds
66627 : HTTP : connecting to 192.168.254.27:8383
66833 : HTTP : closing connection
67277 : UDP  : 5C:CF:7F:23:CB:63,192.168.254.97,7
68096 : UDP  : 5C:CF:7F:1C:0B:DD,192.168.254.94,4
68403 : UDP  : 5C:CF:7F:1B:E4:F7,192.168.254.92,2
72860 : Dummy: value 1: 1.00
72861 : Dummy: value 2: -57.00
72862 : Dummy: value 3: 25544.00
72863 : Dummy: value 4: 26940.00
72865 : EVENT: sysinfo#uptime=1.00
72872 : EVENT: sysinfo#uptime=1.00 Processing time:7 milliSeconds
72872 : EVENT: sysinfo#RSSI=-57.00
72878 : EVENT: sysinfo#RSSI=-57.00 Processing time:6 milliSeconds
72879 : EVENT: sysinfo#sysheap=25544.00
72887 : EVENT: sysinfo#sysheap=25544.00 Processing time:8 milliSeconds
72888 : EVENT: sysinfo#syssec_d=26940.00
72897 : EVENT: sysinfo#syssec_d=26940.00 Processing time:9 milliSeconds
72924 : HTTP : connecting to 192.168.254.27:8383
73129 : HTTP : closing connection
74446 : UDP  : 5C:CF:7F:9E:CB:D4,192.168.254.99,9
78747 : UDP  : 5C:CF:7F:23:C5:5A,192.168.254.96,6
78950 : UDP  : 5C:CF:7F:1B:E9:2F,192.168.254.91,1
85197 : UDP  : 60:01:94:83:B1:70,192.168.254.80,10
90390 : WD   : Uptime 2 ConnectFailures 0 FreeMem 24816
90391 : UDP  : Send Sysinfo message
94925 : UDP  : 5C:CF:7F:9E:CC:3D,192.168.254.98,8
97280 : UDP  : 5C:CF:7F:23:CB:63,192.168.254.97,7
98101 : UDP  : 5C:CF:7F:1C:0B:DD,192.168.254.94,4
98407 : UDP  : 5C:CF:7F:1B:E4:F7,192.168.254.92,2
104448 : UDP  : 5C:CF:7F:9E:CB:D4,192.168.254.99,9
108852 : UDP  : 5C:CF:7F:23:C5:5A,192.168.254.96,6
108954 : UDP  : 5C:CF:7F:1B:E9:2F,192.168.254.91,1
110842 : EVENT: Clock#Time=Thu,07:30
110849 : ACT  : taskvalueset 12,1,2
110856 : ACT  : taskvalueset 12,2,-54
110864 : ACT  : taskvalueset 12,3,24504
110871 : ACT  : taskvalueset 12,4,27000
110876 : EVENT: Clock#Time=Thu,07:30 Processing time:34 milliSeconds

Как видите, DHCP запускается даже при статическом IP ...

А вот и мой JSON

{"System":{
"Build":20102,
"Git Build":"62e6317",
"Local time":"2036-02-07 07:33:33",
"Unit":11,
"Name":"D1pro-01",
"Uptime":5,
"Load":1,
"Load LC":10747,
"Free RAM":25280
},
"WiFi":{
"Hostname":"D1pro-01-11",
"IP":"192.168.254.71",
"Subnet Mask":"255.255.255.0",
"Gateway IP":"192.168.254.1",
"MAC address":"5C:CF:7F:F1:BB:E1",
"DNS 1":"192.168.254.1",
"DNS 2":"0.0.0.0",
"SSID":"SusiconStrolch",
"BSSID":"38:10:D5:B2:22:1E",
"Channel":13,
"Connected msec":319382,
"Last Disconnect Reason":1,
"Last Disconnect Reason str":"(1) Unspecified",
"RSSI":-59
},
"Sensors":[
{
"TaskNumber":4,
"Type":"Environment - BMx280",
"TaskName":"BMx280",
"TaskValues": [
{"ValueNumber":1,
"Name":"Temperature",
"Value":20.31},
{"ValueNumber":2,
"Name":"Humidity",
"Value":44.70},
{"ValueNumber":3,
"Name":"Pressure",
"Value":1010.10}]
},
{
"TaskNumber":12,
"Type":"Generic - Dummy Device",
"TaskName":"sysinfo",
"TaskValues": [
{"ValueNumber":1,
"Name":"uptime",
"Value":5},
{"ValueNumber":2,
"Name":"RSSI",
"Value":-60},
{"ValueNumber":3,
"Name":"sysheap",
"Value":25464},
{"ValueNumber":4,
"Name":"syssec_d",
"Value":27180}]
}
]
}

99: CRC: Контрольная сумма памяти программы не найдена. Проверьте вывод crc2.py
130: CRC: SecuritySettings CRC ... ОК
211: INIT: Свободная оперативная память: 21016
211: НАЧАЛО: I2C
211: INIT: SPI не включен
1042: ИНФОРМАЦИЯ: Плагины: 71 [Нормальный] [Тестирование] (ESP82xx Core 2_4_1)
1042 .: СОБЫТИЕ: Пробуждение системы #
1089: WIFI: установите для Wi-Fi значение STA.
1091: WIFI: попытка подключения SMC №0.
1103: СОБЫТИЕ: System # Boot
1111: ACT: опубликовать ESP-201 / IP, 0.0.0.0
1124: ACT: timerSet, 1,60
1152: WD: Время работы 0 ConnectFailures 0 FreeMem 20160
1183: DS: Температура: 20,37 (28-ff-b8-ea-b4-16-3-ed)
1184: СОБЫТИЕ: DS18b20 # Температура = 20,37
4887: WIFI: Подключено! AP: SMC (78: 8A: 20: D1: 9B: D9) Канал: 1 Продолжительность: 3795 мс
4888: СОБЫТИЕ: WiFi # ChangedAccesspoint
4910: IP: Статический IP: 192.168.0.201 GW: 192.168.0.3 SN: 255.255.255.0 DNS: 192.168.0.3
4911: WIFI: Статический IP: 192.168.0.201 (ESP-201-1) GW: 192.168.0.3 SN: 255.255.255.0 продолжительность: 25 мс
5009: Текущий часовой пояс: Начало летнего времени: 2018-03-25 02:00:00 смещение: 120 минут Начало времени стандартного времени: 2018-10-28 03:00:00 смещение: 60 минут
5010: СОБЫТИЕ: Время # инициализировано
5027: СОБЫТИЕ: WiFi # подключен
5044: Веб-сервер: запуск
5127: MQTT: намеренное переподключение
5182: MQTT: подключен к брокеру с идентификатором клиента: ESPClient_5C: CF: 7F: 0B: 68: 52
5184: Подписан на: ESP-201 / #
5185: СОБЫТИЕ: MQTT # Connected
5846: СОБЫТИЕ: Часы # Время = Сб, 16:19

@susisstrolch Странно запускать DHCP, так как я недавно написал для него патч.
Может в 2.4.1 что-то изменилось?

Что вы сделали, чтобы получить дополнительную отладочную информацию?

Я просто установил уровень отладки на «Больше отладки» ...

@susisstrolch Кажется, у вас также есть другой вывод отладки, сгенерированный основной библиотекой.
Я не вижу этого в моем журнале по последовательному порту.

Редактировать:
Нашел, Serial.setDebugOutput вызывается из Setup (). Так что простой перезагрузки хватило :)

Вот взаимодействие SYSHEAP и Uptime.

sysheap

Мне любопытно, как этот график sysheap будет выглядеть через день или два.

Если он не проиграет, мы это увидим. :)

Все диаграммы выглядят по-разному: это устройство с вашим последним изменением и статическим IP-адресом.

esp-201 sysheap

Какая версия была у предыдущей диаграммы?

Первый график, специальная версия от вас вчера вечером. С DHCP

Интересный.
Я также добавлю журналы sysheap на свои узлы.

Я вхожу в openHAB. Также отлично с Grafana.

Стоит ли прошивать ваши текущие коммиты? Тогда мой график теряется на ESP-201.

Думаю, сейчас важнее тесты стабильности Wi-Fi.

Хорошо, сделаю.

Хорошо, в сети.

INIT: версия загрузки: (ESP82xx Core 2_4_1)
92: INIT: теплая загрузка # 2
94: FS: Монтаж ...
118: FS: монтирование выполнено успешно, использовано 76806 байт из 957314
131: CRC: Контрольная сумма памяти программы не найдена. Проверьте вывод crc2.py
162: CRC: SecuritySettings CRC ... ОК
243: INIT: Свободная оперативная память: 20984
243: НАЧАЛО: I2C
243: INIT: SPI не включен
1073: ИНФОРМАЦИЯ: Плагины: 71 [Нормальный] [Тестирование] (ESP82xx Core 2_4_1)
1073 .: СОБЫТИЕ: Пробуждение системы #
1120: WIFI: установите для Wi-Fi значение STA.
1152: WIFI: попытка подключения SMC №0
1153: IP: Статический IP: 192.168.0.201 GW: 192.168.0.3 SN: 255.255.255.0 DNS: 192.168.0.3
1155: WIFI: статус станции SDK отличается от статуса Arduino. SDK-статус: 1 Статус Arduino: 6
1172 .: СОБЫТИЕ: Загрузка системы №
1178: ДЕЙСТВИЕ: NeoPixelAll, 0,0,0,0
1189: ACT: опубликовать ESP-201 / IP, 192.168.0.201
1201: ACT: timerSet, 1,60
1226: WD: Время работы 0 ConnectFailures 0 FreeMem 20088
1257: DS: Температура: 20,25 (28-ff-b8-ea-b4-16-3-ed)
1259: СОБЫТИЕ: DS18b20 # Температура = 20,25
4952: WIFI: Подключено! AP: SMC (78: 8A: 20: D1: 9B: D9) Канал: 1 Продолжительность: 3798 мс
4953: СОБЫТИЕ: WiFi # ChangedAccesspoint
4974: IP: Статический IP: 192.168.0.201 GW: 192.168.0.3 SN: 255.255.255.0 DNS: 192.168.0.3
4975: WIFI: статус станции SDK отличается от статуса Arduino. SDK-статус: 5 Статус Arduino: 3
4980: WIFI: Статический IP: 192.168.0.201 (ESP-201-1) GW: 192.168.0.3 SN: 255.255.255.0 продолжительность: 24 мс
5102: Текущий часовой пояс: Начало летнего времени: 2018-03-25 02:00:00 смещение: 120 минут Начало времени стандартного времени: 2018-10-28 03:00:00 смещение: 60 минут
5103: СОБЫТИЕ: Время # инициализировано
5123: СОБЫТИЕ: WiFi # подключен
5140: Веб-сервер: запуск
5141: WIFI: статус станции SDK отличается от статуса Arduino. SDK-статус: 5 Статус Arduino: 3
5223: MQTT: намеренное переподключение
5261: MQTT: подключен к брокеру с идентификатором клиента: ESPClient_5C: CF: 7F: 0B: 68: 52
5264: Подписан на: ESP-201 / #
5265: СОБЫТИЕ: MQTT # Connected
5912: СОБЫТИЕ: Часы # Время = Солнце, 00:14
31226: WD: Время работы 1 ConnectFailures 0 FreeMem 15968

Я также расширил информацию на странице sysinfo.
Добавлен счетчик повторного подключения и использованы настройки Static / DHCP (и версия SDK)

Также включена некоторая проверка принудительного переподключения, которая будет переподключаться, когда устройство не будет подключено какое-то время.

Следует ли прерывать работу WIFI на 0,2 секунды?

Пожалуйста, попробуйте его разбить :)

В ПОРЯДКЕ

244302: ACT: опубликовать ESP-201 / IP, 192.168.0.201
244318: ACT: опубликовать ESP-201 / MAC, 5C: CF: 7F: 0B: 68: 52
244331: ACT: Опубликовать ESP-201 / Время, 00: 18: 18
244343: ACT: опубликовать ESP-201 / время безотказной работы, 4
244355: ACT: опубликовать ESP-201 / RSSI, -62
244367: АКТ: опубликовать ESP-201 / SSID, SMC
244379: ACT: опубликовать ESP-201 / BSSID, 78: 8A: 20: D1: 9B: D9
244391: ACT: Опубликовать ESP-201 / CH, 1
244406: ACT: опубликовать ESP-201 / SYSHEAP, 12616
244422: ACT: timerSet, 1,60
255542: СОБЫТИЕ: WiFi # отключен
255560: WIFI: отключен! Причина: «(1) Не указано» Подключено в течение 4 м 10 с
255560: WIFI: статус станции SDK отличается от статуса Arduino. SDK-статус: 5 Статус Arduino: 3
255571: MQTT: соединение потеряно
255572: СОБЫТИЕ: MQTT # отключено
255610: MQTT: не удалось подключиться к брокеру
256110: MQTT: не удалось подключиться к брокеру
256860: MQTT: не удалось подключиться к брокеру
257860: MQTT: не удалось подключиться к брокеру
259110: MQTT: не удалось подключиться к брокеру
260610: MQTT: не удалось подключиться к брокеру
262360: MQTT: не удалось подключиться к брокеру
264360: MQTT: не удалось подключиться к брокеру
266360: MQTT: не удалось подключиться к брокеру
268360: MQTT: не удалось подключиться к брокеру
270360: MQTT: не удалось подключиться к брокеру
271226: WD: время работы 5 ConnectFailures 22 FreeMem 17224
271247: MQTT: не удалось подключиться к брокеру
272360: MQTT: не удалось подключиться к брокеру
274360: MQTT: не удалось подключиться к брокеру
276360: MQTT: не удалось подключиться к брокеру
278360: MQTT: не удалось подключиться к брокеру
280360: MQTT: не удалось подключиться к брокеру
282360: MQTT: не удалось подключиться к брокеру
284360: MQTT: не удалось подключиться к брокеру
286291: СОБЫТИЕ: Часы # Время = Солнце, 00:19
286359: MQTT: не удалось подключиться к брокеру
288360: MQTT: не удалось подключиться к брокеру
290360: MQTT: не удалось подключиться к брокеру

Только для этой проверки, не могли бы вы позволить ему оставаться в этом состоянии в течение 4 минут?
Я уменьшу интервал тикера для этой проверки (в настоящее время составляет 240 секунд)

Хорошо, я сделаю.

240 секунд - это очень долго

Да знаю, изменю.
Просто взял идею из этой проблемы: https://github.com/esp8266/Arduino/issues/4445

ничего такого....

432148: MQTT: не удалось подключиться к брокеру
434148: MQTT: не удалось подключиться к брокеру
436148: MQTT: не удалось подключиться к брокеру
438147: MQTT: не удалось подключиться к брокеру
440148: MQTT: не удалось подключиться к брокеру
442147: MQTT: не удалось подключиться к брокеру
444148: MQTT: не удалось подключиться к брокеру
446148: MQTT: не удалось подключиться к брокеру
448148: MQTT: не удалось подключиться к брокеру
450147: MQTT: не удалось подключиться к брокеру
451222: WD: Время работы 8 ConnectFailures 446 FreeMem 17384
451243: MQTT: не удалось подключиться к брокеру
452148: MQTT: не удалось подключиться к брокеру
453907: СОБЫТИЕ: Часы # Время = Солнце, 00:29
454148: MQTT: не удалось подключиться к брокеру
456148: MQTT: не удалось подключиться к брокеру
458148: MQTT: не удалось подключиться к брокеру

Я иду спать, увидимся завтра.

только что нашел другую проблему, возможно, связанную с UDP:
на простом новом устройстве сброса к заводским настройкам используйте последовательные команды
Wifikey
Wifissid
спасти

перезагрузитесь, затем перейдите к расширенным настройкам и проверьте ssdp. Перезагрузить.
Затем он переходит в цикл загрузки:

 ets Jan  8 2013,rst cause:2, boot mode:(3,7)

load 0x4010f000, len 1384, room 16 
tail 8
chksum 0x2d
csum 0x2d
v41a64707
~ld
⸮U87 : 


INIT : Booting version: (custom) (ESP82xx Core 41a64707)
88 : INIT : Warm boot #741
89 : FS   : Mounting...
114 : FS   : Mount successful, used 75802 bytes of 957314
120 : CRC  : No program memory checksum found. Check output of crc2.py
152 : CRC  : SecuritySettings CRC   ...OK 
258 : INIT : Free RAM:27288
258 : INIT : I2C
258 : INIT : SPI not enabled
272 : INFO : Plugins: 49 [Normal] (ESP82xx Core 41a64707)
273 : WIFI : Set WiFi to STA
304 : WIFI : Connecting MNET attempt #0
306 : WIFI  : SDK station status differs from Arduino status. SDK-status: 1 Arduino status: 6
311 : WD   : Uptime 0 ConnectFailures 0 FreeMem 26448

Exception (28):
epc1=0x40208931 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000004 depc=0x00000000

Decoding 14 results
0x40208931: UdpContext::next() at /home/john/Arduino/scetchbooks/ESPEasy/_P030_BMP280.ino line 390
0x40249cf8: HardwareSerial::write(unsigned char const*, unsigned int) at /home/john/ArduinoPortable/arduino-1.8.5_ESPgit/hardware/esp8266com/esp8266/cores/esp8266/HardwareSerial.cpp line 69
0x4024a055: Print::write(char const*) at /home/john/ArduinoPortable/arduino-1.8.5_ESPgit/hardware/esp8266com/esp8266/cores/esp8266/Print.cpp line 220
0x4024a2f1: Print::printNumber(unsigned long, unsigned char) at /home/john/ArduinoPortable/arduino-1.8.5_ESPgit/hardware/esp8266com/esp8266/cores/esp8266/Print.cpp line 220
0x4024ac4f: String::changeBuffer(unsigned int) at /home/john/ArduinoPortable/arduino-1.8.5_ESPgit/hardware/esp8266com/esp8266/cores/esp8266/WString.cpp line 714
0x40249cf8: HardwareSerial::write(unsigned char const*, unsigned int) at /home/john/ArduinoPortable/arduino-1.8.5_ESPgit/hardware/esp8266com/esp8266/cores/esp8266/HardwareSerial.cpp line 69
0x401071a2: millis at /home/john/ArduinoPortable/arduino-1.8.5_ESPgit/hardware/esp8266com/esp8266/cores/esp8266/core_esp8266_wiring.c line 183
0x4024a27c: Print::println(char const*) at /home/john/ArduinoPortable/arduino-1.8.5_ESPgit/hardware/esp8266com/esp8266/cores/esp8266/Print.cpp line 220
0x40213ece: LogStruct::add(char const*) at /home/john/Arduino/scetchbooks/ESPEasy/_P030_BMP280.ino line 390
:  (inlined by) addLog(unsigned char, char const*) at /home/john/Arduino/scetchbooks/ESPEasy/Misc.ino line 1395
0x4023545d: runEach30Seconds() at /home/john/Arduino/scetchbooks/ESPEasy/_P030_BMP280.ino line 390
0x4020c678: timeOutReached(unsigned long) at /home/john/Arduino/scetchbooks/ESPEasy/_P030_BMP280.ino line 390
0x4023eac5: loop at /home/john/Arduino/scetchbooks/ESPEasy/ESPEasy.ino line 436
0x4024bcc8: loop_wrapper at /home/john/ArduinoPortable/arduino-1.8.5_ESPgit/hardware/esp8266com/esp8266/cores/esp8266/core_esp8266_main.cpp line 125
0x40100739: cont_wrapper at /home/john/ArduinoPortable/arduino-1.8.5_ESPgit/hardware/esp8266com/esp8266/cores/esp8266/cont.S line 81

всем доброе утро.
У меня переподключение пока не работает.

INIT: версия загрузки: (ESP82xx Core 2_4_1)
92: INIT: теплая загрузка # 8
94: FS: Монтаж ...
118: FS: монтирование выполнено успешно, использовано 76806 байт из 957314
131: CRC: Контрольная сумма памяти программы не найдена. Проверьте вывод crc2.py
162: CRC: SecuritySettings CRC ... ОК
243: INIT: Свободная оперативная память: 20968
243: НАЧАЛО: I2C
243: INIT: SPI не включен
1073: ИНФОРМАЦИЯ: Плагины: 71 [Нормальный] [Тестирование] (ESP82xx Core 2_4_1)
1074 .: СОБЫТИЕ: Пробуждение системы #
1121: Wi-Fi: установите для Wi-Fi значение STA.
1153: WIFI: попытка подключения SMC №0
1154: IP: Статический IP: 192.168.0.201 GW: 192.168.0.3 SN: 255.255.255.0 DNS: 192.168.0.3
1155: WIFI: статус станции SDK отличается от статуса Arduino. SDK-статус: 1 Статус Arduino: 6
1173: СОБЫТИЕ: Загрузка системы #
1179: ДЕЙСТВИЕ: NeoPixelAll, 0,0,0,0
1190: ACT: опубликовать ESP-201 / IP, 192.168.0.201
1201: ACT: timerSet, 1,60
1226: WD: Время работы 0 ConnectFailures 0 FreeMem 20072
1258: DS: Температура: 19,75 (28-ff-b8-ea-b4-16-3-ed)
1259: СОБЫТИЕ: DS18b20 # Температура = 19,75
4925: WIFI: Подключено! AP: SMC (78: 8A: 20: D1: 9B: D9) Канал: 1 Продолжительность: 3770 мс
4926: СОБЫТИЕ: WiFi # ChangedAccesspoint
4947: IP: Статический IP: 192.168.0.201 GW: 192.168.0.3 SN: 255.255.255.0 DNS: 192.168.0.3
4947: WIFI: статус станции SDK отличается от статуса Arduino. SDK-статус: 5 Статус Arduino: 3
4953: WIFI: Статический IP: 192.168.0.201 (ESP-201-1) GW: 192.168.0.3 SN: 255.255.255.0 продолжительность: 23 мс
5066: Текущий часовой пояс: Начало летнего времени: 2018-03-25 02:00:00 смещение: 120 минут Начало времени стандартного времени: 2018-10-28 03:00:00 смещение: 60 минут
5066: СОБЫТИЕ: Время # инициализировано
5087: СОБЫТИЕ: WiFi # подключен
5104: Веб-сервер: запуск
5104: WIFI: статус станции SDK отличается от статуса Arduino. SDK-статус: 5 Статус Arduino: 3
5186: MQTT: намеренное переподключение
5222: MQTT: подключен к брокеру с идентификатором клиента: ESPClient_5C: CF: 7F: 0B: 68: 52
5225: Подписан на: ESP-201 / #
5226: СОБЫТИЕ: MQTT # Connected
5906: СОБЫТИЕ: Часы # Время = Солнце, 10:01
31227: WD: Время работы 1 ConnectFailures 0 FreeMem 16336
47905: СОБЫТИЕ: Часы # Время = Солнце, 10:02
61229: WD: Время работы 1 ConnectFailures 0 FreeMem 16336
61926: DS: Температура: 19,75 (28-ff-b8-ea-b4-16-3-ed)
61928: СОБЫТИЕ: DS18b20 # Температура = 19,75
61972: СОБЫТИЕ: Правила # Таймер = 1
61983: АКТ: опубликовать ESP-201 / IP, 192.168.0.201
61999: ACT: опубликовать ESP-201 / MAC, 5C: CF: 7F: 0B: 68: 52
62015: ACT: Опубликовать ESP-201 / Time, 10: 02: 14
62030: ДЕЙСТВИЕ: Опубликовать ESP-201 / Время работы, 1
62044: ACT: опубликовать ESP-201 / RSSI, -62
62060: ACT: опубликовать ESP-201 / SSID, SMC
62076: ACT: опубликовать ESP-201 / BSSID, 78: 8A: 20: D1: 9B: D9
62091: ACT: Опубликовать ESP-201 / CH, 1
62107: ACT: опубликовать ESP-201 / SYSHEAP, 13536
62120: ACT: timerSet, 1,60
67292: СОБЫТИЕ: WiFi # отключен
67310: WIFI: отключен! Причина: «(1) Не указано» Подключено в течение 1 м 2 с
67310: WIFI: статус станции SDK отличается от статуса Arduino. SDK-статус: 5 Статус Arduino: 3
67316: MQTT: соединение потеряно
67317: СОБЫТИЕ: MQTT # отключено
67357: MQTT: не удалось подключиться к брокеру
67856: MQTT: не удалось подключиться к брокеру
68606: MQTT: не удалось подключиться к брокеру
69607: MQTT: не удалось подключиться к брокеру
70857: MQTT: не удалось подключиться к брокеру
72357: MQTT: не удалось подключиться к брокеру
74107: MQTT: не удалось подключиться к брокеру
76106: MQTT: не удалось подключиться к брокеру
78107: MQTT: не удалось подключиться к брокеру
80107: MQTT: не удалось подключиться к брокеру
82106: MQTT: не удалось подключиться к брокеру
84106: MQTT: не удалось подключиться к брокеру
86107: MQTT: не удалось подключиться к брокеру
88106: MQTT: не удалось подключиться к брокеру
90107: MQTT: не удалось подключиться к брокеру
91228: WD: Uptime 2 ConnectFailures 30 FreeMem 17368
91250: MQTT: не удалось подключиться к брокеру
92107: MQTT: не удалось подключиться к брокеру
94107: MQTT: не удалось подключиться к брокеру
96106: MQTT: не удалось подключиться к брокеру
98107: MQTT: не удалось подключиться к брокеру
100107: MQTT: не удалось подключиться к брокеру
102107: MQTT: не удалось подключиться к брокеру
104106: MQTT: не удалось подключиться к брокеру
106107: MQTT: не удалось подключиться к брокеру
107905: СОБЫТИЕ: Часы # Время = Солнце, 10:03
108107: MQTT: не удалось подключиться к брокеру
110107: MQTT: не удалось подключиться к брокеру
112107: MQTT: не удалось подключиться к брокеру
114107: MQTT: не удалось подключиться к брокеру
116107: MQTT: не удалось подключиться к брокеру
118107: MQTT: не удалось подключиться к брокеру
120107: MQTT: не удалось подключиться к брокеру
121228: WD: Uptime 2 ConnectFailures 62 FreeMem 17368
121249: MQTT: не удалось подключиться к брокеру
121926: DS: Температура: 19,75 (28-ff-b8-ea-b4-16-3-ed)
121927: СОБЫТИЕ: DS18b20 # Температура = 19,75
122107: MQTT: не удалось подключиться к брокеру
122905: СОБЫТИЕ: Правила # Таймер = 1
122915: ACT: опубликовать ESP-201 / IP, 0.0.0.0
122927: ACT: опубликовать ESP-201 / MAC, 5C: CF: 7F: 0B: 68: 52
122939: АКТ: Опубликовать ESP-201 / Время, 10: 03: 15
122950: ACT: опубликовать ESP-201 / время работы, 2
122961: АКТ: опубликовать ESP-201 / RSSI, 0
122972: ACT: опубликовать ESP-201 / SSID, -
122983: ACT: опубликовать ESP-201 / BSSID, 00: 00: 00: 00: 00: 00
122994: АКТ: Опубликовать ESP-201 / CH, 0
123005: ACT: опубликовать ESP-201 / SYSHEAP, 16992
123015: ACT: timerSet, 1,60
124107: MQTT: не удалось подключиться к брокеру
126106: MQTT: не удалось подключиться к брокеру
128107: MQTT: не удалось подключиться к брокеру
130107: MQTT: не удалось подключиться к брокеру
132107: MQTT: не удалось подключиться к брокеру
134107: MQTT: не удалось подключиться к брокеру
136107: MQTT: не удалось подключиться к брокеру
138107: MQTT: не удалось подключиться к брокеру
140107: MQTT: не удалось подключиться к брокеру
142107: MQTT: не удалось подключиться к брокеру
144107: MQTT: не удалось подключиться к брокеру
146107: MQTT: не удалось подключиться к брокеру
148107: MQTT: не удалось подключиться к брокеру
150107: MQTT: не удалось подключиться к брокеру
151228: WD: Uptime 3 ConnectFailures 94 FreeMem 17368
151249: MQTT: не удалось подключиться к брокеру
152107: MQTT: не удалось подключиться к брокеру
154107: MQTT: не удалось подключиться к брокеру
156107: MQTT: не удалось подключиться к брокеру
158107: MQTT: не удалось подключиться к брокеру
160107: MQTT: не удалось подключиться к брокеру
162107: MQTT: не удалось подключиться к брокеру
164107: MQTT: не удалось подключиться к брокеру
166107: MQTT: не удалось подключиться к брокеру
167905: СОБЫТИЕ: Часы # Время = Солнце, 10:04
168107: MQTT: не удалось подключиться к брокеру
170107: MQTT: не удалось подключиться к брокеру
172107: MQTT: не удалось подключиться к брокеру
174106: MQTT: не удалось подключиться к брокеру
176106: MQTT: не удалось подключиться к брокеру
178107: MQTT: не удалось подключиться к брокеру
180107: MQTT: не удалось подключиться к брокеру
181228: WD: Uptime 3 ConnectFailures 126 FreeMem 17368
181250: MQTT: не удалось подключиться к брокеру
181926: DS: Температура: 19,75 (28-ff-b8-ea-b4-16-3-ed)
181927: СОБЫТИЕ: DS18b20 # Температура = 19,75
182107: MQTT: не удалось подключиться к брокеру
183905: СОБЫТИЕ: Правила # Таймер = 1
183915: АКТ: опубликовать ESP-201 / IP, 0.0.0.0
183927: ACT: опубликовать ESP-201 / MAC, 5C: CF: 7F: 0B: 68: 52
183938: АКТ: Опубликовать ESP-201 / Время, 10: 04: 16
183950: ДЕЙСТВИЕ: Опубликовать ESP-201 / Время работы, 3
183961: АКТ: опубликовать ESP-201 / RSSI, 0
183972: АКТ: опубликовать ESP-201 / SSID, -
183983: ACT: опубликовать ESP-201 / BSSID, 00: 00: 00: 00: 00: 00
183994: ACT: опубликовать ESP-201 / CH, 0
184005: ACT: опубликовать ESP-201 / SYSHEAP, 16992
184015: ACT: timerSet, 1,60
184107: MQTT: не удалось подключиться к брокеру
186106: MQTT: не удалось подключиться к брокеру
188107: MQTT: не удалось подключиться к брокеру
190106: MQTT: не удалось подключиться к брокеру
192107: MQTT: не удалось подключиться к брокеру
194106: MQTT: не удалось подключиться к брокеру
196106: MQTT: не удалось подключиться к брокеру
198106: MQTT: не удалось подключиться к брокеру
200106: MQTT: не удалось подключиться к брокеру
202106: MQTT: не удалось подключиться к брокеру
204106: MQTT: не удалось подключиться к брокеру
206106: MQTT: не удалось подключиться к брокеру
208106: MQTT: не удалось подключиться к брокеру
210106: MQTT: не удалось подключиться к брокеру
211228: WD: Uptime 4 ConnectFailures 158 FreeMem 17368
211249: MQTT: не удалось подключиться к брокеру
212106: MQTT: не удалось подключиться к брокеру
214106: MQTT: не удалось подключиться к брокеру
216106: MQTT: не удалось подключиться к брокеру
218106: MQTT: не удалось подключиться к брокеру
220106: MQTT: не удалось подключиться к брокеру
222106: MQTT: не удалось подключиться к брокеру
224106: MQTT: не удалось подключиться к брокеру
226106: MQTT: не удалось подключиться к брокеру
227905: СОБЫТИЕ: Часы # Время = Солнце, 10:05
228107: MQTT: не удалось подключиться к брокеру
230107: MQTT: не удалось подключиться к брокеру
232107: MQTT: не удалось подключиться к брокеру
234107: MQTT: не удалось подключиться к брокеру
236106: MQTT: не удалось подключиться к брокеру
238106: MQTT: не удалось подключиться к брокеру
240106: MQTT: не удалось подключиться к брокеру
241228: WD: Uptime 4 ConnectFailures 190 FreeMem 17368
241249: MQTT: не удалось подключиться к брокеру
241925: DS: Температура: 19,75 (28-ff-b8-ea-b4-16-3-ed)
241927: СОБЫТИЕ: DS18b20 # Температура = 19,75
242107: MQTT: не удалось подключиться к брокеру
244106: MQTT: не удалось подключиться к брокеру
244908: СОБЫТИЕ: Правила # Таймер = 1
244918: ACT: опубликовать ESP-201 / IP, 0.0.0.0
244930: ACT: опубликовать ESP-201 / MAC, 5C: CF: 7F: 0B: 68: 52
244942: АКТ: Опубликовать ESP-201 / Время, 10: 05: 17
244953: АКТ: опубликовать ESP-201 / время работы, 4
244964: ACT: опубликовать ESP-201 / RSSI, 0
244975: ACT: опубликовать ESP-201 / SSID, -
244986: ACT: опубликовать ESP-201 / BSSID, 00: 00: 00: 00: 00: 00
244997: ACT: опубликовать ESP-201 / CH, 0
245008: ACT: опубликовать ESP-201 / SYSHEAP, 16992
245018: ACT: timerSet, 1,60
246107: MQTT: не удалось подключиться к брокеру
248106: MQTT: не удалось подключиться к брокеру
250106: MQTT: не удалось подключиться к брокеру
252106: MQTT: не удалось подключиться к брокеру
254106: MQTT: не удалось подключиться к брокеру
256106: MQTT: не удалось подключиться к брокеру
258106: MQTT: не удалось подключиться к брокеру
260106: MQTT: не удалось подключиться к брокеру
262106: MQTT: не удалось подключиться к брокеру
264106: MQTT: не удалось подключиться к брокеру
266107: MQTT: не удалось подключиться к брокеру

ESP32 - последние изменения (28-04-2018) MQTT прекращает работу, NTP прекращает работу
(Статический IP)

@flexiti
MQTT теряет соединение каждую секунду, если вы не подписываетесь и просто пытаетесь опубликовать.

52898 : MQTT : Connection lost
52925 : MQTT : Connected to broker with client ID: ESPClient_2C:3A:E8:06:5E:B2
52926 : Subscribed to: 
53176 : MQTT : Connection lost
53203 : MQTT : Connected to broker with client ID: ESPClient_2C:3A:E8:06:5E:B2
53204 : Subscribed to: 
53498 : MQTT : Connection lost
53527 : MQTT : Connected to broker with client ID: ESPClient_2C:3A:E8:06:5E:B2
53528 : Subscribed to: 
53778 : MQTT : Connection lost
53806 : MQTT : Connected to broker with client ID: ESPClient_2C:3A:E8:06:5E:B2
53807 : Subscribed to: 
54058 : MQTT : Connection lost
54086 : MQTT : Connected to broker with client ID: ESPClient_2C:3A:E8:06:5E:B2
54087 : Subscribed to: 
54337 : MQTT : Connection lost
54363 : MQTT : Connected to broker with client ID: ESPClient_2C:3A:E8:06:5E:B2
54364 : Subscribed to: 
54615 : MQTT : Connection lost
54642 : MQTT : Connected to broker with client ID: ESPClient_2C:3A:E8:06:5E:B2
54643 : Subscribed to: 
54894 : MQTT : Connection lost
54921 : MQTT : Connected to broker with client ID: ESPClient_2C:3A:E8:06:5E:B2
54922 : Subscribed to: 
55172 : MQTT : Connection lost
55199 : MQTT : Connected to broker with client ID: ESPClient_2C:3A:E8:06:5E:B2
55200 : Subscribed to: 
55630 : FILE : Saved config.dat
55692 : FILE : Saved config.dat
55861 : MQTT : Connection lost
55889 : MQTT : Connected to broker with client ID: ESPClient_2C:3A:E8:06:5E:B2

Попробуйте ввести что-нибудь в строке подписки, даже если вы этим не пользуетесь. Работал у меня.

55630 : FILE : Saved config.dat
55692 : FILE : Saved config.dat
55861 : MQTT : Connection lost
55889 : MQTT : Connected to broker with client ID: ESPClient_2C:3A:E8:06:5E:B2
55890 : Subscribed to: SMA
60404 : WD   : Uptime 1 ConnectFailures 354 FreeMem 19224
90404 : WD   : Uptime 2 ConnectFailures 353 FreeMem 19224
120404 : WD   : Uptime 2 ConnectFailures 352 FreeMem 19224
150404 : WD   : Uptime 3 ConnectFailures 351 FreeMem 19224
180404 : WD   : Uptime 3 ConnectFailures 350 FreeMem 19224
210404 : WD   : Uptime 4 ConnectFailures 349 FreeMem 19224

@ TD-er
этот поток немного перегружен, и, похоже, есть несколько проблем с Wi-Fi / стабильностью. Я предлагаю переместить все вопросы в отдельную проблему github и пометить их ключевым словом, например
[WIFICORE] ssdp
[WIFICORE] MQTT subscription needed
[WIFICORE] Unit not found - port setting vanished
[WIFICORE] ticker interval

Просто чтобы доложить, только что обновился с мега-20180428 до мега-20180429.

В mega-20180428 Wi-Fi в целом был стабильным, но после отключения не подключался.
в mega-20180429 Wi-Fi очень нестабилен, и я не могу пинговать его, не получая много таймаутов чтения.

Я использую sonoff basic, самкомпилируя релизы с помощью #define PLUGIN_SET_SONOFF_BASIC чтобы сделать корзину достаточно маленькой для OTA.
Не уверен, что это поможет, но пока вернемся к mega-20180428.

@ louis-lau Не могли бы вы повторно протестировать с последней сделанной мной фиксацией + слиянием?

Это последний коммит
screenshot

@ louis-lau А лог с самого узла?
Если он пытается повторно подключиться к брокеру MQTT, ответ будет медленнее, и в настоящее время в фоновом режиме работает обработчик повторного подключения для повторного подключения при большом количестве сбоев повторного подключения MQTT.
Да и иногда после попытки прошивки лучше сделать сброс узла (не сбрасывать настройки, как нажатие кнопки сброса). Иногда после перепрошивки на узле все еще присутствует остаток конфигурации, что может привести к странным результатам.

@ louis-lau a sonoff basic?
я тоже люблю 0429, 0428 было ужасно
Могу я узнать больше о ваших «общих» настройках?
И поскольку он самкомпилирован, компилируется ли он с ядром 2.4.1?
Я только что протестировал 0429 fresh flash на пустом узле, и он отлично работает.
Моя предыдущая попытка с 0429 была обновлением предварительно настроенного узла статического набора. тоже идеально
Мои доски датированы 5-5-2017

@Oxyandy
2.4.2 ядро ​​????

Это все, что у меня есть, что кажется актуальным:

04-29-2018  15:43:29    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: EVENT: MQTT#Connected
04-29-2018  15:43:29    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: Subscribed to: /sonoff_lavalamp/#
04-29-2018  15:43:29    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: MQTT : Connected to broker with client ID: ESPClient_5C:CF:7F:71:68:FB
04-29-2018  15:43:29    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: EVENT: Time#Set Processing time:46 milliSeconds
04-29-2018  15:43:29    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: EVENT: Time#Set
04-29-2018  15:43:29    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: NTP  : NTP replied: 20 mSec
04-29-2018  15:43:29    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: NTP  : NTP host time.google.com (216.239.35.8) queried
04-29-2018  15:43:29    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: WIFI  : Arduino wifi status: WL_CONNECTED ESPeasy internal wifi status: ESPEASY_WIFI_SERVICES_INITIALIZED
04-29-2018  15:43:06    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: SW   : GPIO 12 Set to 0
04-29-2018  15:43:06    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: EVENT: MQTT#Connected Processing time:1132 milliSeconds
04-29-2018  15:43:06    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: else = false
04-29-2018  15:43:06    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: SW   : GPIO 13 Set PWM to 1023
04-29-2018  15:43:05    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: [if 0=0]=true
04-29-2018  15:43:05    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: ACT  : timerSet,4,0
04-29-2018  15:43:05    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: ACT  : timerSet,3,0
04-29-2018  15:43:05    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: ACT  : timerSet,2,0
04-29-2018  15:43:05    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: ACT  : timerSet,1,0
04-29-2018  15:43:05    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: EVENT: MQTT#Connected
04-29-2018  15:43:05    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: Subscribed to: /sonoff_lavalamp/#
04-29-2018  15:43:05    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: MQTT : Connected to broker with client ID: ESPClient_5C:CF:7F:71:68:FB
04-29-2018  15:43:05    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: EVENT: Time#Set Processing time:47 milliSeconds
04-29-2018  15:43:05    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: EVENT: Time#Set
04-29-2018  15:43:05    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: NTP  : NTP replied: 20 mSec
04-29-2018  15:43:05    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: NTP  : NTP host time.google.com (216.239.35.8) queried
04-29-2018  15:43:05    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: WIFI  : Arduino wifi status: WL_CONNECTED ESPeasy internal wifi status: ESPEASY_WIFI_SERVICES_INITIALIZED
04-29-2018  15:42:53    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: WD   : Uptime 3 ConnectFailures 2 FreeMem 19456
04-29-2018  15:42:53    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: 2: lowest: 12320  parseTemplate3-> 17112 ruleMatch-> 17088 ruleMatch2-> 17040 parseTemplate-> 17176 parseTemplate3-> 17112 ruleMatch-> 17072 ruleMatch2-> 17008 rulesProcessingFile2-> 17160 sendContentBlocking-> 17184 sendConten
04-29-2018  15:42:47    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: EVENT: MQTT#Connected Processing time:1131 milliSeconds
04-29-2018  15:42:47    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: else = false
04-29-2018  15:42:47    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: SW   : GPIO 13 Set PWM to 1023
04-29-2018  15:42:46    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: [if 0=0]=true
04-29-2018  15:42:46    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: ACT  : timerSet,4,0

@Oxyandy Попробую восстановить заводские

Вы правы, с заводскими настройками работает нормально 😄.

Попробую восстановить, посмотрю, опять не сломается.

Это просто похоже на перезагрузку?

В веб-журнале вы получите немного больше строк, так как у него буфер из 15 строк.
Также на странице sysinfo вы можете получить больше информации.

Записанные журналы на сервере системного журнала могут быть неполными, поскольку он не получает данные при отключении Wi-Fi.

Хорошо, снова началось, когда я включил контроллер mqtt.
И остановился, когда отключил.

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

Соединения MQTT также отображаются на информационном уровне.
Информация показывает ошибку + информацию.
Таким образом, вы не будете слишком быстро заполнять буфер журнала веб-журнала для отображения.

Хорошо, когда я останавливаю сервер mqtt, он также работает нормально, только когда сервер работает, время ожидания соединения истекает.

Это все, что мне удалось получить из журнала:
screenshot

Что это за контроллер MQTT? Domoticz? OpenHAB?

Или вы пытаетесь сделать importMQTT?

На веб-странице также есть кнопка копирования, отображающая журнал.
Эта страница обновляется каждые N секунд, что позволяет вставлять текст между обновлениями в текстовый редактор.
Это не идеально, я знаю, но это лучше, чем ничего :)

Редактировать:
Также ознакомьтесь с правилами, если они полные.
По-прежнему существует проблема с сохранением правил. Это сохранение может быть не полным введенным набором правил.

Используя последнюю версию githib (07bfec42347d13ad49dda907654a36bf747df3bc), Wi-Fi подключается без проблем на всех моих узлах. Теперь также правильно переподключается после перезагрузки AP. Используя ядро ​​2.4.1.

Хе-хе, как только он действительно загрузится, у меня очень мало времени, поэтому я просто сделал снимок экрана. Использую openhab mqtt контроллер, сервер москит.

РЕДАКТИРОВАТЬ: прямо сейчас не использую правила. Просто чтобы убедиться, что проблема не в этом.

То же самое. Попробуйте подписаться на любую тему. Это устранило мою проблему.

-------- Ursprüngliche Nachricht --------
Фон: Луи Лаурис [email protected]
Гесендет: 29. апрель 2018 16:23:54 MESZ
An: letcontrolit / ESPEasy [email protected]
CC: s0170071 [email protected] , Mention упоминание@noreply.github.com
Betreff: Re: [playscontrolit / ESPEasy] Проблемы с Wi-Fi - никогда не заканчиваются - вернуться к Wi-Fi, не основанному на событиях? (# 1302)

Хе-хе, как только он действительно загрузится, у меня очень мало времени, поэтому я просто сделал снимок экрана. Использую openhab mqtt контроллер, сервер москит.

-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую или просмотрите его на GitHub:
https://github.com/letscontrolit/ESPEasy/issues/1302#issuecomment -385255207

@ s0170071 Где должна быть оформлена подписка?
Если это какая-то настройка по умолчанию, то, возможно, нам стоит это добавить.

Время между повторным подключением MQTT составляет около 15–16 секунд? Тогда может быть Москито выгоняет тебя, и тогда я знаю, где это исправить.

В настройках контроллера openhab. Есть поле для подписки.

Используя последнюю версию githib (07bfec4), MQTT также работает без проблем с использованием контроллера openhab и подключения к Mosquitto. Используя ядро ​​2.4.1.

@ td-er см. несколько сообщений выше.

Я уже подписан на / sonoff_lavalamp / #, как вы можете видеть в журналах.

Я заметил, что подписался на # (то есть на все темы). Wi-Fi работает стабильно, но из-за этого mqtt не работает;)

Mosquitto не должен выгнать пользователя, пользователь, которого я использую, имеет разрешения на все темы.

Это бревно от комаров:

1525014154: New client connected from 192.168.2.22 as ESPClient_5C:CF:7F:71:68:FB (c1, k15, u'my_mqtt_username').
1525014168: New connection from 192.168.2.22 on port 1883.
1525014168: Client ESPClient_5C:CF:7F:71:68:FB already connected, closing old connection.
1525014168: Client ESPClient_5C:CF:7F:71:68:FB disconnected.
1525014168: New client connected from 192.168.2.22 as ESPClient_5C:CF:7F:71:68:FB (c1, k15, u'my_mqtt_username').
1525014196: New connection from 192.168.2.22 on port 1883.
1525014196: Client ESPClient_5C:CF:7F:71:68:FB already connected, closing old connection.
1525014196: Client ESPClient_5C:CF:7F:71:68:FB disconnected.
1525014196: New client connected from 192.168.2.22 as ESPClient_5C:CF:7F:71:68:FB (c1, k15, u'my_mqtt_username').
1525014214: New connection from 192.168.2.22 on port 1883.
1525014214: Client ESPClient_5C:CF:7F:71:68:FB already connected, closing old connection.
1525014214: Client ESPClient_5C:CF:7F:71:68:FB disconnected.
1525014214: New client connected from 192.168.2.22 as ESPClient_5C:CF:7F:71:68:FB (c1, k15, u'my_mqtt_username').
1525014226: New connection from 192.168.2.22 on port 1883.
1525014226: Client ESPClient_5C:CF:7F:71:68:FB already connected, closing old connection.
1525014226: Client ESPClient_5C:CF:7F:71:68:FB disconnected.
1525014226: New client connected from 192.168.2.22 as ESPClient_5C:CF:7F:71:68:FB (c1, k15, u'my_mqtt_username').
1525014255: New connection from 192.168.2.22 on port 1883.
1525014255: Client ESPClient_5C:CF:7F:71:68:FB already connected, closing old connection.
1525014255: Client ESPClient_5C:CF:7F:71:68:FB disconnected.
1525014255: New client connected from 192.168.2.22 as ESPClient_5C:CF:7F:71:68:FB (c1, k15, u'my_mqtt_username').
1525014270: New connection from 192.168.2.22 on port 1883.

Кажется, происходит переподключение, и mosquitto закрывает старую связь.

Я искал источник PubSubClient.
Похоже, что в течение периода ожидания должна быть входящая и исходящая активность.
Если один из них выйдет из строя, PubSubClient отключится, и ESPeasy снова подключится.

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

@ louis-lau Сможете ли вы каким-то образом найти использованную настройку времени активности в вашем Mosquito?

Похоже, что время ожидания MQTT, которое мы используем, составляет 15 секунд.
Он определяется как: #define MQTT_KEEPALIVE 15

См. Также https://github.com/knolleary/pubsubclient/issues/239.

Ух ты, @ TD-er !!!!!

467279: СОБЫТИЕ: Часы # Время = Солнце, 17:24
467588: WD: время работы 8 ConnectFailures 0 FreeMem 16304
481935: MQTT: соединение потеряно
481935: СОБЫТИЕ: MQTT # отключено
481953: СОБЫТИЕ: WiFi # отключен
481969: WIFI: отключен! Причина: «(1) Не указано» Подключено в течение 7 м 40 с
482278: WIFI: попытка подключения SMC №0
482278: IP: Статический IP: 192.168.0.201 GW: 192.168.0.3 SN: 255.255.255.0 DNS: 192.168.0.3
483304: СОБЫТИЕ: WiFi # отключен
483322: WIFI: отключен! Причина: '(202) Ошибка аутентификации' Подключено в течение 1018 мс
484291: WIFI: попытка подключения SMC №1
484292: IP: Статический IP: 192.168.0.201 GW: 192.168.0.3 SN: 255.255.255.0 DNS: 192.168.0.3
488073: WIFI: Подключено! AP: SMC (78: 8A: 20: D1: 9B: D9) Канал: 1 Продолжительность: 3780 мс
488074: IP: Статический IP: 192.168.0.201 GW: 192.168.0.3 SN: 255.255.255.0 DNS: 192.168.0.3
488078: WIFI: Статический IP: 192.168.0.201 (ESP-201-1) GW: 192.168.0.3 SN: 255.255.255.0 продолжительность: 6 мс
488099: СОБЫТИЕ: WiFi # подключен
488245: MQTT: подключен к брокеру с идентификатором клиента: ESPClient_5C: CF: 7F: 0B: 68: 52
488247: Подписан на: ESP-201 / #
488248: СОБЫТИЕ: MQTT # Connected
489111: СОБЫТИЕ: Время # установлено

@ TD-er Вы уверены, что у pubsubclient есть проблемы? Мой блок ничего не получает, только отправляет аналоговое значение каждые 30 секунд. Нет проблем с подключением MQTT. Если бы возникла проблема с библиотекой, разве у нас не было бы намного больше пользователей, которые жаловались бы?

Может, это состояние гонки ...

Брокер MQTT должен считать клиента отключенным по истечении 1,5-кратного тайм-аута.
Pubsubclient отправляет пинг, когда последнее действие было более 15 секунд назад.
Поэтому, если используется тайм-аут Mosquito по умолчанию (10 с), то время становится весьма критичным.

В моей настройке я вижу много трафика MQTT от всех узлов, которые здесь разговаривают на одном (domoticz) канале.
Так что тайм-аут здесь никогда не проблема.
Но если есть только один узел, трафика намного меньше, и с тайм-аутом ESPeasy по умолчанию, установленным ровно в 1,5 раза превышающим тайм-аут Mosquito по умолчанию, это может быть немного критичным.

Затем он мог бы попытаться посылать фиктивное аналоговое значение каждые 5 секунд, чтобы проверить, исчезнет ли проблема ...

Или используйте мою последнюю фиксацию;)

Мои переподключения были очень быстрыми, каждую секунду или около того

Разработчику MQTT это не нравится:
Я не склонен менять значение по умолчанию. Это было 15 секунд за 7+ лет. Во всяком случае, мы упростим настройку и не будем полагаться на редактирование файла заголовка.

Определение заключено в #ifdef
Таким образом, есть возможность определить его в других частях кода.

На странице github PubSubclient также есть проблема с настройкой его.

Еще один комментарий его автора:
В протоколе MQTT клиент определяет значение поддержки активности, используемое в соединении. Брокер не имеет права голоса в этом.

Единственная опция конфигурации keepalive для mosquitto - это поддержка активности моста - где он действует как клиент, подключающийся к другому брокеру - https://mosquitto.org/man/mosquitto-conf-5.html

Я проверил свою конфигурацию mosquitto. Не удается найти вариант тайм-аута для подключений

В этом документе обсуждается поведение тайм-аута.

И в документе говорится то же самое:

Клиент MQTT отвечает за установку правильного значения keep alive. Например, он может адаптировать интервал к текущему уровню сигнала.

Так откуда же взялось 10-секундное время Mosquitto? Это жестко запрограммировано?

https://mosquitto.org/man/mosquitto-conf-5.html

keepalive_interval секунд
Установите количество секунд, по истечении которых мост должен отправить эхо-запрос, если другой трафик не произошел. По умолчанию 60. Допускается минимальное значение 5 секунд.

Этот параметр предназначен только для моста

Имейте в виду, что в 20180428 этой проблемы не было :)

РЕДАКТИРОВАТЬ: Я попробую ваш последний коммит, когда вернусь домой.

Вы можете попробовать отключить connectionCheckHandler .

Чтобы узнать, что изменилось за последний день: https://github.com/letscontrolit/ESPEasy/compare/mega@%7B1day%7D...mega

Только что обновили до https://github.com/letscontrolit/ESPEasy/commit/4e6e31fdae11476a2f3dfce00e01ed77d1858c00, и Wi-Fi теперь работает стабильно. Он также переподключается теперь, когда я перезапускаю свою точку доступа! Спасибо 😄

(Кстати, есть ли способ переключить настройку светодиода состояния Wi-Fi с помощью правил? Например, я хотел бы включить его, только если mqtt отключен, и использовать его для состояния реле при подключении.)

Я не уверен насчет светодиода состояния. Он вызывается из функции MQTTconnect и из некоторых других мест.
Но, может быть, вы могли бы добавить проблему, чтобы можно было выбирать, что отображается с помощью этого светодиода?

И приятно слышать, что проблемы с MQTT, похоже, решаются уменьшенным таймаутом.
Возможно, нам придется сделать его доступным для выбора.

Не могли бы вы сделать окно LOG немного длиннее?
То есть увеличить количество строк.

В остальном дела сейчас идут очень хорошо.

Я их просто уменьшил.
Это было 20 строк, но с 2.4.0 должно было быть немного больше свободной памяти, поэтому я сократил его до 10 строк для dev / test и 15 для нормального.

На этой неделе я изучу потребление памяти, и

Все я пошла спать.
Большое спасибо за вашу тяжелую работу!

Об этом окне. На мой взгляд, есть три варианта.

  1. Используйте как можно больше оперативной памяти, чтобы информация оставалась неизменной до тех пор, пока она не будет запрошена. Может быть динамическим, в зависимости от количества активных плагинов.
  2. Передайте его в веб-браузер.
  3. Временно сожмите его и восстановите по запросу. Например, используйте больше цифровых кодов. Конечно, это менее читабельно.

Мне нравится 2. Также обеспечивает плавное отображение веб-страниц. Но все не так просто.

Идея состоит в том, чтобы получить какой-то JavaScript для сбора журнала и сохранения его в браузере.
Есть несколько вариантов доставки данных в браузер, например, сохранение открытого соединения или некоторые другие методы.
Остается только несколько строк журнала, которые нужно хранить в памяти.
И этот буфер также можно использовать для передачи журнала в системный журнал.

Объект кэша журнала в настоящее время не так эффективен с памятью. Есть много возможностей для улучшения.

Я также задаюсь вопросом, есть ли разные версии комаров
работают в разных операционных системах по-разному?
Я знаю, что ESPeasy должен быть гибким, но может ли обновление Mosquitto решить некоторые проблемы.

Только для понимания ...
Почему после загрузки ESP я получаю следующее:

Last Disconnect Reason str |  (1) Unspecified
Number reconnects | 1

В системном журнале я вижу два сообщения IP STATIC и Uptime 0 ConnectFailures 0:

INIT : Booting version: mega-20180430 (ESP82xx Core 2_4_1)
104 : INIT : Warm boot #1
105 : FS   : Mounting...
130 : FS   : Mount successful, used 75802 bytes of 957314
419 : CRC  : program checksum       ...OK
426 : CRC  : SecuritySettings CRC   ...OK 
532 : INIT : Free RAM:23528
532 : INIT : I2C
532 : INIT : SPI not enabled
546 : INFO : Plugins: 47 [Normal] (ESP82xx Core 2_4_1)
546 : WIFI : Set WiFi to STA
578 : WIFI : Connecting im6shop attempt #0
579 : IP   : Static IP : 192.168.1.17 GW: 0.0.0.0 SN: 0.0.0.0 DNS: 0.0.0.0
585 : WD   : Uptime 0 ConnectFailures 0 FreeMem 22688
4342 : WIFI : Connected! AP: im6shop (30:B5:C2:EB:DB:7D) Ch: 9 Duration: 3763 ms
4343 : IP   : Static IP : 192.168.1.17 GW: 0.0.0.0 SN: 0.0.0.0 DNS: 0.0.0.0
4346 : WIFI : Static IP: 0.0.0.0 (ESP-Easy-7) GW: 0.0.0.0 SN: 0.0.0.0   duration: 3 ms
4356 : Webserver: start
4710 : WIFI : Static IP: 192.168.1.32 (ESP-Easy-7) GW: 192.168.1.1 SN: 255.255.255.0   duration: 356 ms

Возможно, термин «переподключение» выбран не удачно.
Это больше похоже на «(повторное) подключение» или «попытки подключения».
Счетчик начинается с 0 и при каждой попытке подключения является счетчиком ++.

Я изменил счетчик, установив его на «-1». Таким образом, первая попытка подключения установит его в 0, поэтому метка «Число переподключений» теперь снова имеет смысл :)
Я не мог придумать лучшего имени, поэтому изменил указанное значение;)

Правильное именование по-прежнему остается самой сложной частью программирования.

Звучит хорошо!

подключение попробуйте x

К сожалению, последняя сборка 20180503 (4096 dev) у меня не работает - веб-сайт ESP не открывается, вместо этого он перестает отвечать в последовательной консоли (после попытки открытия веб-сайта). Сброс настроек до значений по умолчанию и установка только WifiSSID и ключа через последовательную консоль. ПИНГ работает, ни перезагрузок, ни сообщений об ошибках.

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

Да, я несколько раз пробовал холодную перезагрузку, все то же самое. Протестировано в MSIE и Firefox на Win7. Через пару минут я собираюсь протестировать устройство в другом месте (другой ПК / ОС, другая точка доступа).
Сразу после прошивки перезагрузился и завис.

Я пробовал прямо сейчас, с нормальной версией. С моей стороны никаких проблем. Сброс при включении не требовался.

Странно, что в другом месте веб-интерфейс ESP того же устройства работает (Win10 + Firefox / MS Edge, другая точка доступа), но последовательная консоль выглядит «только для чтения» ...: - /
Обновление - попробовал другое терминальное приложение - то же самое, последовательная консоль только для чтения. Затем снова запустите putty (это мое приложение-терминал по умолчанию) и увидите, как устройство перезагружается, как только я подключился с помощью putty к соответствующему COM-порту. Теперь последовательная консоль принимает команды, и Интернет тоже работает ... Ничего не понимаю ...

Может попробовать полный вайп флешки и еще раз программу?
Кажется, есть связь с подключением к Wi-Fi и чтением последовательного порта. Я видел, как кто-то упоминал об этом в ветке. Не уверен, что это было связано с проблемой PlatformIO или с LWIP.
В последнее время много читаю;)

Да, я попробую это с какой-нибудь следующей сборкой, которую я хочу снова протестировать в другом месте, чтобы увидеть, остается ли та же проблема (конфигурация устройства тем временем немного обновлена).
КСТАТИ. когда я сбросил настройки в первый раз (после того, как эта сборка была перепрошита, введя команду Reset с последовательной консоли), на самом деле он НЕ сбрасывал настройки, несмотря на то, что он сказал "форматирование флэш-памяти" и т. д. Устройство перезагружено, и, по крайней мере, настройки Wi-Fi все еще были как я видел попытки подключения к AP в последовательной консоли ... Вторая попытка сброса с последовательной консоли стерла настройки ...

Да, основная библиотека хранит настройки Wi-Fi за пределами SPIFF.
Это может повлиять на попытки подключения к Wi-Fi.

Я уже читал в (основном) коде, что теперь поддерживается до 5 настроек Wi-Fi, которые вы можете выбрать.
Так что, возможно, я также буду активно использовать эту область хранения, чтобы убедиться, что она не будет конфликтовать с нашими собственными настройками.
Единственное, чего я боюсь, так это того, что эти настройки будут записываться слишком часто. Я должен проверить, когда это пишется.
Но это может сделать соединение Wi-Fi более предсказуемым, если эта область также будет учтена с ESPeasy.

@Oxyandy Сейчас я
Не могли бы вы проверить это?
А также вопрос, использовали ли вы задачу / устройство 12?
Я только что протестировал его на своем узле, и почти сразу он отключился + отказался снова подключаться к сети.
Это было с LWIP1.4

А также вопрос, использовали ли вы задачу / устройство 12?

В тестах не только первый, ни один переключатель
Да, сейчас на рабочем столе GitHub есть 15 измененных файлов.

Скомпилировано отлично, веб-сервер отличный, с использованием LWIP2_LOW_MEMORY, тест F5, просто отлично ..
нет признаков LmacRxBlk: 1 в журналах
Я стер все настройки на узле, но я «сброшу» его и пройду через процесс, сообщая о любых странностях ..
Wi-Fi подключился мгновенно первым делом ..

просто будьте осторожны с низкой памятью lwIP2, мне пришлось использовать высокую полосу пропускания lwIP2, иначе большие пакеты были усечены (например, датчики с несколькими значениями), по крайней мере, при использовании fhem в качестве сервера / контроллера ...

В настоящее время я использую мега-ветвь с ядром esp от GIT и высокой пропускной способностью lwIP2, которая работает нормально, за исключением того, что через некоторое время некоторые из модулей больше не могут читать значения датчиков и, следовательно, не будут отправлять их на контроллер. само устройство, а также веб-интерфейс работают без сбоев ... Я все еще занимаюсь этим, никогда не было этого в коммитах до Mai ..

Мы попробовали LwIP2 с высокой пропускной способностью и испортили сообщения POST.
Например, правила сохранения> 1520 байт были усечены.

ESP_Easy_mega-20180504_normal_ESP8266_1024.bin
Имеется в виду DoS-атака на серверы времени?
После того, как я прошил, меня перезвонили, у меня есть страницы и страницы этого цикла

INIT : Booting version: mega-20180504 (ESP82xx Core 2_4_1, NONOS SDK 2.2.1(cfd48f3), LWIP: 2.0.3)
105 : INIT : Cold Boot
106 : FS   : Mounting...
113 : FS   : Mount successful, used 76053 bytes of 113201
15:40:37: 410 : CRC  : program checksum       ...OK
417 : CRC  : SecuritySettings CRC   ...OK 
418 : CRC  : binary has changed since last save of Settings
433 : INIT : Free RAM:23448
434 : INIT : I2C
434 : INIT : SPI not enabled
449 : INFO : Plugins: 47 [Normal] (ESP82xx Core 2_4_1, NONOS SDK 2.2.1(cfd48f3), LWIP: 2.0.3)
449 : EVENT: System#Wake
458 : WIFI : Set WiFi to STA
mode : sta(5c:cf:7f:72:96:ec)
add if0
491 : WIFI : Connecting MAD_IOT attempt #0
492 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
STUB: dhcp_stop
505 : EVENT: System#Boot
514 : SW   : Switch state 1 Output value 1
517 : EVENT: Float_SW#Switch=1.00
530 : ACT  : Publish domoticz/in,{"idx":66,"nvalue":0,"svalue":"FLOAT_SWITCH_1_00:00:00"}
541 : Command: publish
1004 : WD   : Uptime 0 ConnectFailures 0 FreeMem 22736
15:40:39: scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 1
cnt 
15:40:41: 
connected with MAD_IOT, channel 13
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
4480 : WIFI : Connected! AP: MAD_IOT (F4:F2:6D:25:84:C6) Ch: 13 Duration: 3986 ms
4485 : EVENT: WiFi#ChangedAccesspoint
4497 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
4499 : WIFI : Static IP: 192.168.0.225 (ESP-Easy-0) GW: 192.168.0.254 SN: 255.255.255.0   duration: 19 ms
4517 : EVENT: WiFi#Connected
4525 : Webserver: start
4526 : WIFI  : Arduino wifi status: WL_CONNECTED ESPeasy internal wifi status: ESPEASY_WIFI_SERVICES_INITIALIZED
5015 : NTP  : NTP host au.pool.ntp.org (129.250.35.250) queried
5066 : NTP  : NTP replied: 50 mSec
5068 : Current Time Zone:  DST time start: 2018-10-07 01:00:00 offset: 660 minSTD time start: 2018-04-01 01:00:00 offset: 600 min
5071 : EVENT: Time#Initialized
5082 : EVENT: Time#Initialized Processing time:11 milliSeconds
5083 : EVENT: Clock#Time=Fri,15:40
5089 : EVENT: Clock#Time=Fri,15:40 Processing time:6 milliSeconds
5091 : MQTT : Intentional reconnect
5091 : LoadFromFile: config.dat index: 28672 datasize: 336
5221 : MQTT : Connected to broker with client ID: ESPClient_5C:CF:7F:72:96:EC
5222 : Subscribed to: domoticz/out
5224 : EVENT: MQTT#Connected
5234 : EVENT: MQTT#Connected Processing time:9 milliSeconds
15:40:43: ping 1, timeout 0, total payload 32 bytes, 1365 ms
15:40:48: bcn_timout,ap_probe_send_start
15:40:50: ap_probe_send over, rest wifi status to disassoc
state: 5 -> 0 (1)
rm 0
13912 : EVENT: WiFi#Disconnected
13919 : WIFI : Disconnected! Reason: '(200) Beacon timeout' Connected for 9432 ms
13930 : MQTT : Connection lost
13931 : EVENT: MQTT#Disconnected
14514 : WIFI : Connecting MAD_IOT attempt #0
14515 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
15:40:51: scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 1
cnt 
15:40:52: 
connected with MAD_IOT, channel 13
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
16258 : WIFI : Connected! AP: MAD_IOT (F4:F2:6D:25:84:C6) Ch: 13 Duration: 1738 ms
16260 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
16269 : WIFI : Static IP: 192.168.0.225 (ESP-Easy-0) GW: 192.168.0.254 SN: 255.255.255.0   duration: 11 ms
16288 : EVENT: WiFi#Connected
16295 : WIFI  : Arduino wifi status: WL_CONNECTED ESPeasy internal wifi status: ESPEASY_WIFI_SERVICES_INITIALIZED
16389 : LoadFromFile: config.dat index: 28672 datasize: 336
16425 : MQTT : Connected to broker with client ID: ESPClient_5C:CF:7F:72:96:EC
16426 : Subscribed to: domoticz/out
16427 : EVENT: MQTT#Connected
16434 : EVENT: MQTT#Connected Processing time:6 milliSeconds
16557 : NTP  : NTP host au.pool.ntp.org (129.250.35.250) queried
16599 : NTP  : NTP replied: 40 mSec
16600 : EVENT: Time#Set
16606 : EVENT: Time#Set Processing time:5 milliSeconds
15:40:54: ping 1, timeout 0, total payload 32 bytes, 1022 ms
15:40:59: bcn_timout,ap_probe_send_start
15:41:01: ap_probe_send over, rest wifi status to disassoc
state: 5 -> 0 (1)
rm 0
25176 : EVENT: WiFi#Disconnected
25183 : WIFI : Disconnected! Reason: '(200) Beacon timeout' Connected for 8919 ms
25194 : MQTT : Connection lost
25195 : EVENT: MQTT#Disconnected
25514 : WIFI : Connecting MAD_IOT attempt #0
25515 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 1
cnt 
15:41:02: 
connected with MAD_IOT, channel 13
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
26186 : WIFI : Connected! AP: MAD_IOT (F4:F2:6D:25:84:C6) Ch: 13 Duration: 666 ms
26189 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
26197 : WIFI : Static IP: 192.168.0.225 (ESP-Easy-0) GW: 192.168.0.254 SN: 255.255.255.0   duration: 11 ms
26217 : EVENT: WiFi#Connected
26224 : WIFI  : Arduino wifi status: WL_CONNECTED ESPeasy internal wifi status: ESPEASY_WIFI_SERVICES_INITIALIZED
26318 : LoadFromFile: config.dat index: 28672 datasize: 336
26344 : MQTT : Connected to broker with client ID: ESPClient_5C:CF:7F:72:96:EC
26345 : Subscribed to: domoticz/out
26346 : EVENT: MQTT#Connected
26353 : EVENT: MQTT#Connected Processing time:7 milliSeconds
15:41:04: ping 1, timeout 1, total payload 0 bytes, 1022 ms
27623 : NTP  : NTP host au.pool.ntp.org (129.250.35.250) queried
27664 : NTP  : NTP replied: 41 mSec
27665 : EVENT: Time#Set
27671 : EVENT: Time#Set Processing time:6 milliSeconds
27672 : EVENT: Clock#Time=Fri,15:41
27677 : EVENT: Clock#Time=Fri,15:41 Processing time:5 milliSeconds
ping 1, timeout 0, total payload 32 bytes, 1024 ms
15:41:07: 31004 : WD   : Uptime 1 ConnectFailures 4 FreeMem 19304
15:41:10: bcn_timout,ap_probe_send_start
15:41:12: pm open,type:2 0
ap_probe_send over, rest wifi status to disassoc
state: 5 -> 0 (1)
rm 0
pm close 7
36143 : MQTT : Connection lost
36144 : EVENT: MQTT#Disconnected
36151 : EVENT: WiFi#Disconnected
36156 : WIFI : Disconnected! Reason: '(200) Beacon timeout' Connected for 9948 ms
36514 : WIFI : Connecting MAD_IOT attempt #0
36515 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 1
cnt 
15:41:13: 
connected with MAD_IOT, channel 13
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
37145 : WIFI : Connected! AP: MAD_IOT (F4:F2:6D:25:84:C6) Ch: 13 Duration: 625 ms
37147 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
37155 : WIFI : Static IP: 192.168.0.225 (ESP-Easy-0) GW: 192.168.0.254 SN: 255.255.255.0   duration: 10 ms
37176 : EVENT: WiFi#Connected
37182 : WIFI  : Arduino wifi status: WL_CONNECTED ESPeasy internal wifi status: ESPEASY_WIFI_SERVICES_INITIALIZED
37276 : LoadFromFile: config.dat index: 28672 datasize: 336
37296 : MQTT : Connected to broker with client ID: ESPClient_5C:CF:7F:72:96:EC
37297 : Subscribed to: domoticz/out
37298 : EVENT: MQTT#Connected
37306 : EVENT: MQTT#Connected Processing time:8 milliSeconds
37551 : NTP  : NTP host au.pool.ntp.org (129.250.35.250) queried
37592 : NTP  : NTP replied: 41 mSec
37593 : EVENT: Time#Set
37599 : EVENT: Time#Set Processing time:6 milliSeconds
15:41:15: ping 1, timeout 0, total payload 32 bytes, 1046 ms
15:41:20: bcn_timout,ap_probe_send_start
15:41:22: ap_probe_send over, rest wifi status to disassoc
state: 5 -> 0 (1)
rm 0
46076 : MQTT : Connection lost
46076 : EVENT: MQTT#Disconnected
46083 : EVENT: WiFi#Disconnected
46089 : WIFI : Disconnected! Reason: '(200) Beacon timeout' Connected for 8921 ms
46514 : WIFI : Connecting MAD_IOT attempt #0
46515 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 1
cnt 

С текущим ядром (Master, ESP82xx Core 41a64707, NONOS SDK 2.2.1 (cfd48f3)) проблемы с MTU больше не проявляются.
10 ESP (Sonoff, NodeMcu, W1pro) работают с 1 мая без каких-либо проблем.

К вашему сведению ... Прошить последнюю официальную сборку, сбросить настройки через последовательный порт до значений по умолчанию, ввести WiFiSSID и ключи. Не удалось подключиться к основной точке доступа, несмотря на то, что она была видна (но слабый сигнал около -82). Затем произошел сбой, как вы можете видеть ниже.
В другом месте устройство подключилось к вторичной точке доступа быстро без каких-либо проблем, и пока оно работает (но не настроены плагины, нет активных правил).
....
....
458745: WIFI: попытка подключения IOTAP1 № 57
458749: Режим AP: Клиент отключен: xx: xx: xx: xx: xx: xx Подключенных устройств: 0
458810: WIFI: отключен! Причина: '(201) Точка доступа не найдена' Подключено 64 мс
459360: Режим AP: Клиент подключен: xx: xx: xx: xx: xx: xx Подключенных устройств: 1
471739: WIFI: SSID режима AP будет ESP_Easy_0 с адресом 192.168.4.1
471739: WIFI: попытка подключения IOTAP2 №58.

Исключение (29):
epc1 = 0x4000e1c3 epc2 = 0x00000000 epc3 = 0x40000f68 excvaddr = 0x00000018 depc = 0x00000000

ctx: sys
sp: 3ffffc50 конец: 3fffffb0 смещение: 01a0

стек >>>
3ffffdf0: 3fff5108 1f385062 401021e6 3fffa2b0
3ffffe00: 402706a6 402705c4 3fff9454 40100eb6
3ffffe10: 3ffeb6d5 401042bb 3ffef160 4026a718
3ffffe20: 00000018 3ffefb30 3ffefaac 00000000
3ffffe30: 40270767 3ff20a00 3fff9454 3ffedf1a
3ffffe40: 3ffedf00 00000000 00000000 00000006
3ffffe50: 00000021 1f4328f4 401021e6 3ffedf00
3ffffe60: 3ffedf1a 0000002c 00000008 401004f4
3ffffe70: 3ffedf0a 3fff6454 4026d324 3ff20a00
3ffffe80: 3fff9454 3fff55c4 00000015 4026d1f7
3ffffe90: 3fffc278 40101f80 3fffc200 00000022
3ffffea0: 3ffebf74 00000000 00000000 3fff4fe4
3ffffeb0: 40000f68 00000030 00000010 ffffffff
3ffffec0: 40000f58 00000000 00000020 00000000
3ffffed0: 3ffef7d4 7fffffff 00000000 3ffeed30
3ffffee0: 3ffef138 00000006 00000000 3fffdab0
3ffffef0: 00000000 3fffdcc0 00000040 00000030
3fffff00: 40274fd1 ffffffe0 00000000 00000000
3fffff10: 4026ca2f 3ffedf00 3ffef160 3fff9454
3fffff20: 00000000 3ffedf0a 3ffedf20 4026a4d1
3fffff30: 4027fac5 00000001 00000000 3ffedf0a
3fffff40: 4027ec78 00000092 3ffedef4 3fff6454
3fffff50: 3ffedef4 00000000 00000040 4027e5a2
3fffff60: 3ffef160 3ffedef4 3fffdcc0 3ffeb710
3fffff70: 3ffedf10 3fff752c 00000040 3ffeb710
3fffff80: 00000040 3ffef160 00000002 00000000
3fffff90: 4027de7f 3fffdab0 00000000 40283f5f
3fffffa0: 3ffeb710 40000f49 3fffdab0 40000f49
<<

ets 8 января 2013 г., первая причина: 2 , режим загрузки: (3,7)

нагрузка 0x4010f000, лен 1384, комната 16
хвост 8
chksum 0x2d
csum 0x2d
v614f7c32
~ ld
-U88:

INIT: версия загрузки: mega-20180504 (ESP82xx Core 2_4_1, NONOS SDK 2.2.1 (cfd48f3), LWIP: 2.0.3)
89: INIT: теплая загрузка # 6
90: FS: Монтаж ...
116: FS: Монтирование выполнено успешно, использовано 75802 байта из 957314
436: CRC: контрольная сумма программы ... ОК
442: CRC: SecuritySettings CRC ... ОК
548: INIT: Свободная оперативная память: 21464
549: НАЧАЛО: I2C
549: INIT: SPI не включен
565: ИНФОРМАЦИЯ: Плагины: 72 [Нормальный] [Тестирование] [Разработка] (ESP82xx Core 2_4_1, NONOS SDK 2.2.1 (cfd48f3), LWIP: 2.0.3)
566: Wi-Fi: установите для Wi-Fi значение STA.
599: WIFI: попытка подключения IOTAP1 №0
607: WD: Время работы 0 ConnectFailures 0 FreeMem 20616
3461: WIFI: отключен! Причина: '(201) Точка доступа не найдена' Подключено в течение 2861 мс
3604: WIFI: подключение IOTAP1 попытка №1
6466: WIFI: отключен! Причина: «(201) Точка доступа не найдена» Подключено в течение 2862 мс.
6604: WIFI: попытка подключения IOTAP2 №2
9467: WIFI: отключен! Причина: «(201) Точка доступа не найдена» Подключено в течение 2862 мс.
9604: WIFI: попытка подключения IOTAP2 №3
12467: WIFI: отключен! Причина: «(201) Точка доступа не найдена» Подключено в течение 2862 мс.
12604: WIFI: подключение IOTAP1 попытка №4
15466: WIFI: отключен! Причина: «(201) Точка доступа не найдена» Подключено в течение 2862 мс.
15604: WIFI: попытка подключения IOTAP1 №5
18466: WIFI: отключен! Причина: «(201) Точка доступа не найдена» Подключено в течение 2862 мс.
18604: Wi-Fi: установите для Wi-Fi значение AP + STA.
19524: WIFI: SSID режима AP будет ESP_Easy_0 с адресом 192.168.4.1
19524: WIFI: попытка подключения IOTAP2 №6.
22388: WIFI: отключен! Причина: «(201) Точка доступа не найдена» Подключено в течение 2863 мс.
22603: WIFI: SSID режима AP будет ESP_Easy_0 с адресом 192.168.4.1
22603: WIFI: попытка подключения IOTAP2 №7
25463: WIFI: отключен! Причина: '(201) Точка доступа не найдена' Подключено в течение 2860 мс
25602: WIFI: SSID режима AP будет ESP_Easy_0 с адресом 192.168.4.1
25603: WIFI: попытка подключения IOTAP1 №8
28464: WIFI: отключен! Причина: '(201) Точка доступа не найдена' Подключено в течение 2860 мс
28602: WIFI: SSID режима AP будет ESP_Easy_0 с адресом 192.168.4.1
28603: WIFI: попытка подключения IOTAP1 №9
30606: WD: Время работы 1 ConnectFailures 0 FreeMem 18176
...
...

Я также вчера видел, что ошибка «AP не найдена».
Похоже, это связано с некорректными или поврежденными настройками. Не только настройки, которые мы храним, но, возможно, также настройки, хранящиеся в другой части флэш-памяти, в основной библиотеке.

@Oxyandy Обновления NTP должны выполняться только через час или когда он не был установлен.

@susisstrolch Не могли бы вы протестировать, чтобы написать файл правил, содержащий> 1800 байт?
Версия с высокой пропускной способностью LWIP2 искажала запросы HTTP POST, когда они превышали размер одного MTU.

Привет, Гийс,
ESP_Easy_mega-20180504_normal_ESP8266_1024.bin
Если вы видели журнал, это шаблон, всегда подключается, MQTT подключается, время обновления

bcn_timout,ap_probe_send_start
ap_probe_send over, rest wifi status to disassoc
state: 5 -> 0 (1)
rm 0
pm close 7
2515788 : EVENT: WiFi#DisconnectedDisconnected! Reason: '(200) Beacon timeout' Connected for 8919 ms

каждые 10-12 секунд, так зацикливаются часами, ой

Размер правила моего устройства pondctrl: Текущий размер: 1859 символов (максимум 2048)
MTU: 534 (низкая память lwip 2.x)
Нет проблем - менялось несколько раз на этой неделе.

В настоящее время мы используем LwIP 2.x с низким объемом памяти, поскольку версия с высокой пропускной способностью вызвала эти проблемы.
@Oxyandy Я
Эта тема становится все более актуальной :(

Я не понимаю, тот, который я скомпилировал для домашнего пивоварения (сегодня утром) по вашему запросу, отлично сработал ..
потом, когда был доступен официальный релиз, я подумал, что лучше использовать его, я был шокирован разницей ..
Теперь, что касается вашего последнего ответа ... время обновления в порядке ..
официальный выпуск с сегодняшнего дня подключается к Wi-Fi без проблем, подключает MQTT, получает время, затем разрывает соединение с "(200) Beacon timeout", затем зацикливается каждые 11 секунд
Подключить - Wi-Fi, MQTT, время, отключить, повторить
Так что не смотрите на "обновление времени", если бы он оставался подключенным, все было бы хорошо ...

Это странно. В процессе сборки PlatformIO есть что-то действительно забавное.
Я сам несколько раз замечал, что построение его во второй раз действительно имеет значение.
Это похоже на то, что что-то не так на уровне компоновщика в PlatformIO.
То, что здесь происходит, действительно странно.

вероятно, это во флагах компилятора или компоновщика. Оптимизация может быть сукой.
В Arduino IDE есть этот файл конфигурации (platform.txt)

# ESP8266 platform
# ------------------------------

# For more info:
# https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification

name=ESP8266 Modules
version=2.5.0-dev

runtime.tools.xtensa-lx106-elf-gcc.path={runtime.platform.path}/tools/xtensa-lx106-elf
runtime.tools.esptool.path={runtime.platform.path}/tools/esptool

compiler.warning_flags=-w
compiler.warning_flags.none=-w
compiler.warning_flags.default=
compiler.warning_flags.more=-Wall
compiler.warning_flags.all=-Wall -Wextra

build.lwip_lib=-llwip_gcc
build.lwip_include=lwip/include
build.lwip_flags=-DLWIP_OPEN_SRC

build.vtable_flags=-DVTABLES_IN_FLASH

build.float=-u _printf_float -u _scanf_float
build.led=

compiler.path={runtime.tools.xtensa-lx106-elf-gcc.path}/bin/
compiler.sdk.path={runtime.platform.path}/tools/sdk
compiler.libc.path={runtime.platform.path}/tools/sdk/libc/xtensa-lx106-elf
compiler.cpreprocessor.flags=-D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I{compiler.sdk.path}/include" "-I{compiler.sdk.path}/{build.lwip_include}" "-I{compiler.libc.path}/include" "-I{build.path}/core"

compiler.c.cmd=xtensa-lx106-elf-gcc
compiler.c.flags=-c {compiler.warning_flags} -Os -g -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -falign-functions=4 -MMD -std=gnu99 -ffunction-sections -fdata-sections

compiler.S.cmd=xtensa-lx106-elf-gcc
compiler.S.flags=-c -g -x assembler-with-cpp -MMD -mlongcalls

compiler.c.elf.flags=-g {compiler.warning_flags} -Os -nostdlib -Wl,--no-check-sections -u app_entry {build.float} -Wl,-static "-L{compiler.sdk.path}/lib" "-L{compiler.sdk.path}/ld" "-L{compiler.libc.path}/lib" "-T{build.flash_ld}" -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,spi_flash_read

compiler.c.elf.cmd=xtensa-lx106-elf-gcc
compiler.c.elf.libs=-lhal -lphy -lpp -lnet80211 {build.lwip_lib} -lwpa -lcrypto -lmain -lwps -laxtls -lespnow -lsmartconfig -lairkiss -lwpa2 -lstdc++ -lm -lc -lgcc

compiler.cpp.cmd=xtensa-lx106-elf-g++
compiler.cpp.flags=-c {compiler.warning_flags} -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -MMD -ffunction-sections -fdata-sections

compiler.as.cmd=xtensa-lx106-elf-as

compiler.ar.cmd=xtensa-lx106-elf-ar
compiler.ar.flags=cru

compiler.elf2hex.cmd=esptool
compiler.elf2hex.flags=

compiler.size.cmd=xtensa-lx106-elf-size

compiler.esptool.cmd=esptool
compiler.esptool.cmd.windows=esptool.exe

# This can be overriden in boards.txt
build.extra_flags=-DESP8266

# These can be overridden in platform.local.txt
compiler.c.extra_flags=
compiler.c.elf.extra_flags=
compiler.S.extra_flags=
compiler.cpp.extra_flags=
compiler.ar.extra_flags=
compiler.objcopy.eep.extra_flags=
compiler.elf2hex.extra_flags=

## generate file with git version number
## needs bash, git, and echo
recipe.hooks.core.prebuild.1.pattern=bash -c "mkdir -p {build.path}/core && echo \#define ARDUINO_ESP8266_GIT_VER 0x`git --git-dir {runtime.platform.path}/.git rev-parse --short=8 HEAD 2>/dev/null || echo ffffffff` >{build.path}/core/core_version.h"
recipe.hooks.core.prebuild.2.pattern=bash -c "mkdir -p {build.path}/core && echo \#define ARDUINO_ESP8266_GIT_DESC `cd {runtime.platform.path}; git describe --tags 2>/dev/null || echo unix-{version}` >>{build.path}/core/core_version.h"
## windows-compatible version without git
recipe.hooks.core.prebuild.1.pattern.windows=cmd.exe /c mkdir {build.path}\core & (echo #define ARDUINO_ESP8266_GIT_VER 0x00000000 & echo #define ARDUINO_ESP8266_GIT_DESC win-{version} ) > {build.path}\core\core_version.h
recipe.hooks.core.prebuild.2.pattern.windows=

## Build the app.ld linker file
recipe.hooks.linking.prelink.1.pattern="{compiler.path}{compiler.c.cmd}" -CC -E -P {build.vtable_flags} "{runtime.platform.path}/tools/sdk/ld/eagle.app.v6.common.ld.h" -o "{runtime.platform.path}/tools/sdk/ld/eagle.app.v6.common.ld"

## Compile c files
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.c.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {build.led} {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"

## Compile c++ files
recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpreprocessor.flags} {compiler.cpp.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {build.led} {compiler.cpp.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"

## Compile S files
recipe.S.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.S.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {build.led} {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"

## Create archives
recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/arduino.ar" "{object_file}"

## Combine gc-sections, archives, and objects
recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" -Wl,-Map "-Wl,{build.path}/{build.project_name}.map" {compiler.c.elf.flags} {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" -Wl,--start-group {object_files} "{build.path}/arduino.ar" {compiler.c.elf.libs} -Wl,--end-group  "-L{build.path}"

## Create eeprom
recipe.objcopy.eep.pattern=

## Create hex
#recipe.objcopy.hex.pattern="{compiler.path}{compiler.elf2hex.cmd}" {compiler.elf2hex.flags} {compiler.elf2hex.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.hex"

recipe.objcopy.hex.pattern="{runtime.tools.esptool.path}/{compiler.esptool.cmd}" -eo "{runtime.platform.path}/bootloaders/eboot/eboot.elf" -bo "{build.path}/{build.project_name}.bin" -bm {build.flash_mode} -bf {build.flash_freq} -bz {build.flash_size} -bs .text -bp 4096 -ec -eo "{build.path}/{build.project_name}.elf" -bs .irom0.text -bs .text -bs .data -bs .rodata -bc -ec

## Save hex
recipe.output.tmp_file={build.project_name}.bin
recipe.output.save_file={build.project_name}.{build.variant}.bin

## Compute size
recipe.size.pattern="{compiler.path}{compiler.size.cmd}" -A "{build.path}/{build.project_name}.elf"
recipe.size.regex=^(?:\.irom0\.text|\.text|\.data|\.rodata|)\s+([0-9]+).*
recipe.size.regex.data=^(?:\.data|\.rodata|\.bss)\s+([0-9]+).*
#recipe.size.regex.eeprom=^(?:\.eeprom)\s+([0-9]+).*

# ------------------------------

tools.esptool.cmd=esptool
tools.esptool.cmd.windows=esptool.exe
tools.esptool.path={runtime.platform.path}/tools/esptool
tools.esptool.network_cmd=python
tools.esptool.network_cmd.windows=python.exe

tools.esptool.upload.protocol=esp
tools.esptool.upload.params.verbose=-vv
tools.esptool.upload.params.quiet=
tools.esptool.upload.pattern="{path}/{cmd}" {upload.verbose} -cd {upload.resetmethod} -cb {upload.speed} -cp "{serial.port}" {upload.erase_cmd} -ca 0x00000 -cf "{build.path}/{build.project_name}.bin"
tools.esptool.upload.network_pattern="{network_cmd}" "{runtime.platform.path}/tools/espota.py" -i "{serial.port}" -p "{network.port}" "--auth={network.password}" -f "{build.path}/{build.project_name}.bin"

tools.mkspiffs.cmd=mkspiffs
tools.mkspiffs.cmd.windows=mkspiffs.exe
tools.mkspiffs.path={runtime.platform.path}/tools/mkspiffs

Чтобы избежать проблем с platformIO, я удалил папку .pioenvs и все равно запустил «Очистить»
С сегодняшнего утреннего билда - 2 файла изменились
ESPEasy-Globals.h & Misc.ino (Исправить повреждение настроек задачи)

Начнем с этого: моя текущая структура папок - GitHub / ESpeasy
Я копирую папку ESpeasy и переименовываю ее, чтобы включить дату, прежде чем я сделаю выборку, это поможет мне сравнить изменения локально.

FritzBox произвел автоматическое обновление прошивки. Все ESP переключились на альтернативную точку доступа Mesh без каких-либо проблем.

@ TD-er вы сказали: «У вас есть время ожидания маяка с 0504 на любом узле или всего на нескольких?»
Хорошо, если честно, я возьму новый модуль и прошиваю, а в будущем прошиваю 2 узла для каждой новой прошивки.
У меня есть свободное время, потому что в твоей части света всего 16:00

Хорошо, новый узел удален.
Прошивал ESP_Easy_mega-20180504_normal_ESP8266_1024.bin
Журнал ниже ведет себя так же, как и другой узел.
Вы видите узор в журнале?

INIT : Booting version: mega-20180504 (ESP82xx Core 2_4_1, NONOS SDK 2.2.1(cfd48f3), LWIP: 2.0.3)
104 : INIT : Cold Boot
105 : FS   : Mounting...
111 : FS   : Mount successful, used 76053 bytes of 113201
408 : CRC  : program checksum       ...OK
419 : CRC  : SecuritySettings CRC   ...OK 
420 : CRC  : binary has changed since last save of Settings
439 : INIT : Free RAM:23448
440 : INIT : I2C
440 : INIT : SPI not enabled
455 : INFO : Plugins: 47 [Normal] (ESP82xx Core 2_4_1, NONOS SDK 2.2.1(cfd48f3), LWIP: 2.0.3)
455 : EVENT: System#Wake
464 : WIFI : Set WiFi to STA
mode : sta(5c:cf:7f:72:97:2a)
add if0
497 : WIFI : Connecting MAD_MOB attempt #0
498 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
STUB: dhcp_stop
511 : EVENT: System#Boot
519 : SW   : Switch state 1 Output value 1
522 : EVENT: Float_SW#Switch=1.00
536 : ACT  : Publish domoticz/in,{"idx":26,"nvalue":0,"svalue":"FLOAT_SWITCH_1_00:00:00"}
547 : Command: publish
00:23:56: 1004 : WD   : Uptime 0 ConnectFailures 0 FreeMem 22752
00:23:59: scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 1
cnt 
00:24:01: 
connected with MAD_MOB, channel 7
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
5287 : WIFI : Connected! AP: MAD_MOB (18:90:D8:AC:0F:D8) Ch: 7 Duration: 4787 ms
5293 : EVENT: WiFi#ChangedAccesspoint
5304 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
5306 : WIFI : Static IP: 192.168.0.225 (ESP-Easy-0) GW: 192.168.0.254 SN: 255.255.255.0   duration: 19 ms
5324 : EVENT: WiFi#Connected
5332 : Webserver: start
5332 : WIFI  : Arduino wifi status: WL_CONNECTED ESPeasy internal wifi status: ESPEASY_WIFI_SERVICES_INITIALIZED
5423 : MQTT : Intentional reconnect
5424 : LoadFromFile: config.dat index: 28672 datasize: 336
5500 : MQTT : Connected to broker with client ID: ESPClient_5C:CF:7F:72:97:2A
5501 : Subscribed to: domoticz/out
5502 : EVENT: MQTT#Connected
5512 : EVENT: MQTT#Connected Processing time:10 milliSeconds
5796 : NTP  : NTP host au.pool.ntp.org (27.124.125.251) queried
5867 : NTP  : NTP replied: 70 mSec
5869 : Current Time Zone:  DST time start: 2018-10-07 01:00:00 offset: 660 minSTD time start: 2018-08-05 01:00:00 offset: 600 min
5871 : EVENT: Time#Initialized
5879 : EVENT: Time#Initialized Processing time:8 milliSeconds
5881 : EVENT: Clock#Time=Sat,01:24
5887 : EVENT: Clock#Time=Sat,01:24 Processing time:6 milliSeconds
00:24:02: ping 1, timeout 0, total payload 32 bytes, 1023 ms
00:24:07: bcn_timout,ap_probe_send_start
00:24:09: pm open,type:2 0
ap_probe_send over, rest wifi status to disassoc
state: 5 -> 0 (1)
rm 0
pm close 7
14289 : EVENT: WiFi#Disconnected
14296 : WIFI : Disconnected! Reason: '(200) Beacon timeout' Connected for 9002 ms
14311 : MQTT : Connection lost
14311 : EVENT: MQTT#Disconnected
14519 : WIFI : Connecting MAD_MOB attempt #0
14520 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
00:24:11: scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 1
cnt 

connected with MAD_MOB, channel 7
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
16497 : WIFI : Connected! AP: MAD_MOB (18:90:D8:AC:0F:D8) Ch: 7 Duration: 1972 ms
16499 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
16507 : WIFI : Static IP: 192.168.0.225 (ESP-Easy-0) GW: 192.168.0.254 SN: 255.255.255.0   duration: 10 ms
16527 : EVENT: WiFi#Connected
16533 : WIFI  : Arduino wifi status: WL_CONNECTED ESPeasy internal wifi status: ESPEASY_WIFI_SERVICES_INITIALIZED
16608 : NTP  : NTP host au.pool.ntp.org (27.124.125.251) queried
00:24:12: 16679 : NTP  : NTP replied: 70 mSec
16680 : EVENT: Time#Set
16686 : EVENT: Time#Set Processing time:6 milliSeconds
16688 : LoadFromFile: config.dat index: 28672 datasize: 336
16713 : MQTT : Connected to broker with client ID: ESPClient_5C:CF:7F:72:97:2A
16714 : Subscribed to: domoticz/out
16715 : EVENT: MQTT#Connected
16724 : EVENT: MQTT#Connected Processing time:9 milliSeconds
00:24:14: ping 1, timeout 0, total payload 32 bytes, 2070 ms
00:24:18: bcn_timout,ap_probe_send_start
00:24:21: ap_probe_send over, rest wifi status to disassoc
state: 5 -> 0 (1)
rm 0
25349 : EVENT: WiFi#Disconnected
25356 : WIFI : Disconnected! Reason: '(200) Beacon timeout' Connected for 8852 ms
25371 : MQTT : Connection lost
25371 : EVENT: MQTT#Disconnected
25519 : WIFI : Connecting MAD_MOB attempt #0
25520 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 1
cnt 

connected with MAD_MOB, channel 7
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
25683 : WIFI : Connected! AP: MAD_MOB (18:90:D8:AC:0F:D8) Ch: 7 Duration: 158 ms
25686 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
25694 : WIFI : Static IP: 192.168.0.225 (ESP-Easy-0) GW: 192.168.0.254 SN: 255.255.255.0   duration: 11 ms
25714 : EVENT: WiFi#Connected
25721 : WIFI  : Arduino wifi status: WL_CONNECTED ESPeasy internal wifi status: ESPEASY_WIFI_SERVICES_INITIALIZED
25815 : LoadFromFile: config.dat index: 28672 datasize: 336
25836 : MQTT : Connected to broker with client ID: ESPClient_5C:CF:7F:72:97:2A
25838 : Subscribed to: domoticz/out
25838 : EVENT: MQTT#Connected
25845 : EVENT: MQTT#Connected Processing time:7 milliSeconds
00:24:22: 26585 : NTP  : NTP host au.pool.ntp.org (27.124.125.251) queried
26656 : NTP  : NTP replied: 70 mSec
26657 : EVENT: Time#Set
26663 : EVENT: Time#Set Processing time:6 milliSeconds
ping 1, timeout 0, total payload 32 bytes, 1010 ms
00:24:26: 31005 : WD   : Uptime 1 ConnectFailures 4 FreeMem 19304
00:24:28: bcn_timout,ap_probe_send_start
00:24:30: ap_probe_send over, rest wifi status to disassoc
state: 5 -> 0 (1)
rm 0
35077 : EVENT: WiFi#Disconnected
35083 : WIFI : Disconnected! Reason: '(200) Beacon timeout' Connected for 9394 ms
35094 : MQTT : Connection lost
35095 : EVENT: MQTT#Disconnected
35519 : WIFI : Connecting MAD_MOB attempt #0
35520 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 1
cnt 

connected with MAD_MOB, channel 7
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
35685 : WIFI : Connected! AP: MAD_MOB (18:90:D8:AC:0F:D8) Ch: 7 Duration: 160 ms
35687 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
35696 : WIFI : Static IP: 192.168.0.225 (ESP-Easy-0) GW: 192.168.0.254 SN: 255.255.255.0   duration: 11 ms
35715 : EVENT: WiFi#Connected
35721 : WIFI  : Arduino wifi status: WL_CONNECTED ESPeasy internal wifi status: ESPEASY_WIFI_SERVICES_INITIALIZED
35816 : LoadFromFile: config.dat index: 28672 datasize: 336
35844 : MQTT : Connected to broker with client ID: ESPClient_5C:CF:7F:72:97:2A
35845 : Subscribed to: domoticz/out
35846 : EVENT: MQTT#Connected
35855 : EVENT: MQTT#Connected Processing time:9 milliSeconds
00:24:32: 36735 : NTP  : NTP host au.pool.ntp.org (144.48.166.166) queried
ping 1, timeout 0, total payload 32 bytes, 1016 ms
37739 : NTP  : No reply
00:24:39: bcn_timout,ap_probe_send_start
00:24:41: pm open,type:2 0
ap_probe_send over, rest wifi status to disassoc
state: 5 -> 0 (1)
rm 0
pm close 7
46238 : EVENT: WiFi#Disconnected
46244 : WIFI : Disconnected! Reason: '(200) Beacon timeout' Connected for 10 s
46260 : MQTT : Connection lost
46261 : EVENT: MQTT#Disconnected
46519 : WIFI : Connecting MAD_MOB attempt #0
46520 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 1
cnt 
00:24:42: 
connected with MAD_MOB, channel 7
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
46679 : WIFI : Connected! AP: MAD_MOB (18:90:D8:AC:0F:D8) Ch: 7 Duration: 154 ms
46681 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
46689 : WIFI : Static IP: 192.168.0.225 (ESP-Easy-0) GW: 192.168.0.254 SN: 255.255.255.0   duration: 10 ms
46709 : EVENT: WiFi#Connected
46715 : WIFI  : Arduino wifi status: WL_CONNECTED ESPeasy internal wifi status: ESPEASY_WIFI_SERVICES_INITIALIZED
46809 : LoadFromFile: config.dat index: 28672 datasize: 336
46843 : MQTT : Connected to broker with client ID: ESPClient_5C:CF:7F:72:97:2A
46844 : Subscribed to: domoticz/out
46845 : EVENT: MQTT#Connected
46851 : EVENT: MQTT#Connected Processing time:6 milliSeconds

А, я думаю, пора мне настроить специальную точку доступа, работающую под управлением WireShark.

Используя GitHub Desktop, я получил последний «живой» источник, который включает только 2 измененных файла с https://github.com/letscontrolit/ESPEasy/commit/92680c5542b76a15db16af198a3a07ed17618c4e, так как моя рабочая компиляция с сегодняшнего утра, сделана вечерняя версия, и она отлично работает ..
Почему разные ночные сборки, если у них один и тот же источник, что по-другому происходит на GitHub?

Кто-нибудь использует Arduino IDE?
Можете ли вы собрать "ESP8266 normal 1024" из текущего src и сбросить его сюда?
Спасибо

не уверен, связано ли это с некоторыми случайными проблемами, которые мы наблюдаем, но я заметил, что через некоторое время мои устройства перестают отправлять данные контроллеру. Однако веб-интерфейс все еще работает, но показывает IP-адрес 0.0.0.0. (см. снимок экрана). Кто-нибудь еще это видел?

untitled

image

Какая это версия сборки?

@Oxyandy

Почему разные ночные сборки, если у них один и тот же источник, что по-другому происходит на GitHub?

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

Я обсуждал это также с @arendst из Tasmota, и он подтвердил, что ему также нужно время от времени перестраивать, чтобы получить хорошую рабочую версию.
Я спрошу у @ psy0rz, можно ли в качестве теста дважды

Самостоятельная компиляция из мега-20180503
Сборка | 20102 - Мега
Библиотеки | ESP82xx Core 76a14b1f, NONOS SDK 2.2.1 (cfd48f3), LWIP: 2.0.3

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

конечно, но я использую Arduino SDK на Mac, а не на платформеIO ... все еще хотите попробовать?

Да, пожалуйста, так как мы еще не понимаем, что вызывает это.
Просто убедитесь, что вы используете те же основные библиотеки, что и мы, поскольку Arduino IDE не смотрит на фиксированные версии, установленные в PlatformIO.
Текущие версии, которые мы используем:
ESP82xx Core 2_4_1, NONOS SDK 2.2.1 (cfd48f3), LWIP: 2.0.3

хорошо, я сейчас попробую и прошью несколько модулей. Я доложу, как только что-нибудь случится ... или вообще ничего;)

КСТАТИ. текущая сборка может быть прервана в любое время, удерживая нажатой клавишу F5 в веб-браузере хотя бы на страницах устройств или уведомлений (возможно, на любой веб-странице ESP) в течение нескольких секунд. Я могу повторить это в любое время из Firefox на Win10:
...
...
39543696: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
39551825: LoadFromFile: config.dat индекс: 27648 размер данных: 320
39557599: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
39566681: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
39566879: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
39567105: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
39567490: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
39567690: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
39567883: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
39568086: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
39568287: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
39568495: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
39568701: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
39568910: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
39569112: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
39569324: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
39569530: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
39569739: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
39569948: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
39570158: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
39570366: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
39570582: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
39570742: веб-страница пропущена: мало памяти: 1784
39570832: веб-страница пропущена: мало памяти: 1784
39570906: веб-страница пропущена: мало памяти: 1784
39570992: веб-страница пропущена: мало памяти: 1784
39571074: веб-страница пропущена: мало памяти: 1784
39571161: веб-страница пропущена: мало памяти: 1784
39571240: веб-страница пропущена: мало памяти: 1784
39571322: веб-страница пропущена: мало памяти: 1784
39571401: веб-страница пропущена: мало памяти: 1784

Исключение (28):
epc1 = 0x4025cb66 epc2 = 0x00000000 epc3 = 0x401003f2 excvaddr = 0x00000000 depc = 0x00000000

ctx: cont
sp: 3fff4690 конец: 3fff4b20 смещение: 01a0

стек >>>
3fff4830: 00000000 3ffe90c0 3fff48a4 40253308
3fff4840: 00000000 3ffe90c0 3fff48d4 40257c32
3fff4850: 00000000 3ffe90c0 00000043 4021ada8
3fff4860: 00000000 00000000 00000000 000006c0
3fff4870: 000006f8 00000000 00000000 00000000
3fff4880: 00000000 00000000 00000000 40107b18
3fff4890: 00000000 000003e8 3fff48f0 00000000
3fff48a0: 00000000 00000000 00000000 00000000
3fff48b0: 4029cdfc 00000007 3fff48f0 3fffbfdc
3fff48c0: 0000000f 0000000b 3fff815c 0000000f
3fff48d0: 00000000 3fffb8a4 0000025f 0000025c
3fff48e0: 00000001 3fff16d4 3fff6294 40227cb4
3fff48f0: 3fffb414 0000000f 00000007 4010053d
3fff4900: 3fff4d6c 00000855 00000855 3fff4d6c
3fff4910: 00000010 00000010 00000000 3fff36d4
3fff4920: 00000010 3fff5d14 3fff5d14 40257a6f
3fff4930: 3ffe8ea1 00000000 3fff5d14 40257abb
3fff4940: 00000000 00000010 3fff5d14 3fff4d6c
3fff4950: 40107b70 ffffffff 00000000 40253308
3fff4960: 3fff3a14 00000001 3fff6294 4022fc8d
3fff4970: 00000010 3fff49e0 3ffe8ea1 40207ae8
3fff4980: 00000000 3fff49e0 3fff1868 4028577b
3fff4990: 4025653c 00000001 3fff1868 40253308
3fff49a0: 3fff4d6c 00000c35 00000c35 4010020c
3fff49b0: 00000001 00000001 3fff49e0 40107b70
3fff49c0: ffffffff 40107b70 00000000 40257a14
3fff49d0: 4020a8ca 00000001 3fff6294 4022fd96
3fff49e0: 00000000 00000000 00000000 40253308
3fff49f0: 00000001 00000001 3fff6294 4022fe80
3fff4a00: 00000001 00000001 3fff4a30 40259cfa
3fff4a10: 3fff4d6c 00000112 3fff6294 402532fe
3fff4a20: 3fff6294 3fff366c 3fff6294 4025333a
3fff4a30: 00000000 00000000 00000000 40257c18
3fff4a40: 3fff6294 3fff366c 3fff3628 402533c1
3fff4a50: 3fff5afc 0000000f 00000008 00000000
3fff4a60: 00000000 3fff4ab0 3fff362c 4024ca28
3fff4a70: 3fff366c 00000001 00000000 4024d200
3fff4a80: 00000001 00000000 40251b18 0000000d
3fff4a90: 00000000 3fff7b4c 3fff3628 3fff3af4
3fff4aa0: 00000001 3fff3650 3fff3628 40253618
3fff4ab0: 40107910 00000000 00001388 3fff3b00
3fff4ac0: 00000000 3fff7b4c 00000000 40256abd
3fff4ad0: 3fffdad0 00000000 3fff1944 4023742a
3fff4ae0: 3fffdad0 00000000 3fff19c4 40240380
3fff4af0: 00000000 00000000 00000001 40258a31
3fff4b00: 3fffdad0 00000000 3fff3aee 40258a5c
3fff4b10: Fefeffe Fefeffe 3fff3b00 40100700
<<

ets 8 января 2013 г., первая причина: 2 , режим загрузки: (3,7)

нагрузка 0x4010f000, лен 1384, комната 16
хвост 8
chksum 0x2d
csum 0x2d
v614f7c32
~ ld
▒U88:

INIT: версия загрузки: mega-20180504 (ESP82xx Core 2_4_1, NONOS SDK 2.2.1 (cfd48f3), LWIP: 2.0.3)
89: INIT: теплая загрузка # 3
90: FS: Монтаж ...
115: FS: монтирование выполнено успешно, использовано 75802 байта из 957314
437: CRC: контрольная сумма программы ... ОК
469: CRC: SecuritySettings CRC ... ОК
575: INIT: Свободная оперативная память: 21464
575: НАЧАЛО: I2C
575: INIT: SPI не включен
1677: ИНФОРМАЦИЯ: Плагины: 72 [Нормальный] [Тестирование] [Разработка] (ESP82xx Core 2_4_1, NONOS SDK 2.2.1 (cfd48f3), LWIP: 2.0.3)
1678 .: СОБЫТИЕ: Пробуждение системы #
1682: Wi-Fi: установите для Wi-Fi значение STA.
...
...

Затем устройство успешно подключилось к AP. Еще один сбой:

973: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
279178: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
279387: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
279590: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
279798: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
280321: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
280558: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
280785: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
Неустранимая исключительная ситуация 28 (LoadProhibitedCause):
epc1 = 0x4025cb66, epc2 = 0x00000000, epc3 = 0x40100408, excvaddr = 0x00000000, depc = 0x00000000

Исключение (28):
epc1 = 0x4025cb66 epc2 = 0x00000000 epc3 = 0x40100408 excvaddr = 0x00000000 depc = 0x00000000

ctx: cont
sp: 3fff4690 конец: 3fff4b20 смещение: 01a0

стек >>>
3fff4830: 00000000 3ffe90c0 3fff48a4 40253308
3fff4840: 00000000 3ffe90c0 3fff48d4 40257c32
3fff4850: 00000000 3ffe90c0 0000002f 4021ada8
3fff4860: 00000000 00000000 00000000 000007e8
3fff4870: 00000820 00000000 00000000 00000000
3fff4880: 00000000 00000000 00000000 40107b18
3fff4890: 00000000 000003e8 3fff48f0 00000000
3fff48a0: 00000000 00000000 00000000 00000000
3fff48b0: 4029cdfc 00000007 3fff48f0 3fff9af4
3fff48c0: 0000000f 0000000b 3fff9adc 0000000f
3fff48d0: 00000004 3fffb7bc 0000025f 00000130
3fff48e0: 00000001 3fff16d4 3fff773c 40227cb4
3fff48f0: 3fff83ac 0000000f 00000007 4010053d
3fff4900: 3fff4d6c 00000a67 00000a67 3fff4d6c
3fff4910: 00000010 00000010 00000000 3fff36d4
3fff4920: 00000010 3fff9014 3fff9014 40257a6f
3fff4930: 3ffe8ea1 00000000 3fff9014 40257abb
3fff4940: 00000000 00000010 3fff9014 3fff4d6c
3fff4950: 40107b70 ffffffff 00000000 40253308
3fff4960: 3fff3a14 00000001 3fff773c 4022fc8d
3fff4970: 00000010 3fff49e0 3ffe8ea1 40207ae8
3fff4980: 00000000 3fff49e0 3fff185c 4028577b
3fff4990: 4025653c 00000001 3fff185c 40253308
3fff49a0: 3fff4d6c 00000628 00000628 4010020c
3fff49b0: 00000001 00000001 3fff49e0 40107b70
3fff49c0: ffffffff 40107b70 00000000 40257a14
3fff49d0: 4020a8ca 00000001 3fff773c 4022fd96
3fff49e0: 00000000 00000000 00000000 40253308
3fff49f0: 00000001 00000001 3fff773c 4022fe80
3fff4a00: 00000001 00000001 3fff4a30 40259cfa
3fff4a10: 00000000 00000000 3fff773c 402532fe
3fff4a20: 3fff773c 3fff366c 3fff773c 4025333a
3fff4a30: 00000000 00000000 00000000 40257c18
3fff4a40: 3fff773c 3fff366c 3fff3628 402533c1
3fff4a50: 3fff9594 0000000f 00000008 00000000
3fff4a60: 00000000 00000000 3fff362c 4024ca28
3fff4a70: 3fff366c 00000001 00000000 4024d200
3fff4a80: 00000001 00000000 40251b18 0000000d
3fff4a90: 00000000 3fff9b0c 3fff3628 3fff3af4
3fff4aa0: 00000001 3fff3650 3fff3628 40253618
3fff4ab0: 40107910 00000000 00001388 3fff3b00
3fff4ac0: 00000000 3fff9b0c 00000000 40256abd
3fff4ad0: 3fffdad0 00000000 3fff1944 4023742a
3fff4ae0: 3fffdad0 00000000 3fff19c4 40240380
3fff4af0: 00000000 00000000 00000001 40258a31
3fff4b00: 3fffdad0 00000000 3fff3aee 40258a5c
3fff4b10: Fefeffe Fefeffe 3fff3b00 40100700
<<

ets 8 января 2013 г., первая причина: 2 , режим загрузки: (3,7)

нагрузка 0x4010f000, лен 1384, комната 16
хвост 8
chksum 0x2d
csum 0x2d
v614f7c32
~ ld
▒U89:

INIT: версия загрузки: mega-20180504 (ESP82xx Core 2_4_1, NONOS SDK 2.2.1 (cfd48f3), LWIP: 2.0.3)
89: INIT: теплая загрузка # 8
91: FS: Монтаж ...
116: FS: Монтирование выполнено успешно, использовано 75802 байта из 957314
438: CRC: контрольная сумма программы ... ОК
469: CRC: SecuritySettings CRC ... ОК
575: INIT: Свободная оперативная память: 21464
576: НАЧАЛО: I2C
576: INIT: SPI не включен
1678: ИНФОРМАЦИЯ: Плагины: 72 [Нормальный] [Тестирование] [Разработка] (ESP82xx Core 2_4_1, NONOS SDK 2.2.1 (cfd48f3), LWIP: 2.0.3)
1678 .: СОБЫТИЕ: Пробуждение системы #
1683: Wi-Fi: установите для Wi-Fi значение STA.
...

Что ж, с 72 плагинами, как насчет нормального, он ведет себя так же;)

Это нормально, если вы заполните стек IP-адресов запросами. Единственное, что помогает, - это более частое обслуживание веб-сервера, чтобы входящий буфер снова освободился.

По крайней мере, это хорошо, что это поправимо - полное зависание будет хуже перезагрузки ... Но странно, что причина загрузки не всегда была одинаковой - я видел также причину 4.

ESP_Easy_mega-20180504_test_ESP8266_1024.bin
Я могу подключить Wi-Fi (первая попытка) и оставаться на связи
F5 (страница «Устройства») не вызывает ошибок или сбоев
ESP_Easy_mega-20180504_normal_ESP8266_1024.bin
Подключается и выходит из строя в 11-секундном цикле снова и снова - (200) Тайм-аут маяка
ESP_Easy_mega-20180504_normal_ESP8266_1024_ (Самостоятельная компиляция) .bin
Идеально

@Oxyandy Медленное автоповторение клавиатуры? ;-)
Моя вылетает на каждой веб-странице, которую я пробовал.

@ghtester Я

@ TD-er Большое спасибо за ваши усилия, я протестирую его, когда будет готова новая сборка.

@ TD-er прошил мои блоки (16) сейчас с помощью ESP82xx Core 2_4_1, NONOS SDK 2.2.1 (cfd48f3), LWIP: 2.0.3 построен дважды перед прошивкой ... Я посмотрю завтра, живы ли они и отправляют data ... Мне пришлось использовать lwIP2 high bandwith, иначе данные, отправленные через FHEM-Controller, усекаются!
но теперь нужно спать .... n8

Помните о проблемах HTTP POST с версией с высокой пропускной способностью.

Моя сборка теперь запускается в третий раз (была проблема с ESP32, которую нужно было исправить, и я хочу убедиться, что в последней сборке выполняется только связывание)
Так что через несколько минут будет zip-файл.
Тогда я тоже пойду спать.

TD-er, ваша сборка, мое оборудование, никаких проблем с (нормальный 1024 8266)
Жду ежедневной сборки, чтобы показать, попробую это дальше;)

@ TD-er Большое спасибо, быстро протестировал выпуск 4096 dev (продолжение следует), проблема с перезагрузкой "F5" все еще существует (первая попытка полностью повесила устройство), а в информации о прошивке говорится, что проверка MD5 не удалась (я предполагаю, что это из-за тестовая сборка). Тем не менее, все остальное пока в порядке, и он отлично и быстро подключается к AP.


Сборка 20102 - Мега
Библиотеки ESP82xx Core 2_4_1, NONOS SDK 2.2.1 (cfd48f3), LWIP: 2.0.3
Версия GIT
Плагины 72 [Нормальный] [Тестирование] [Разработка]
Сборка Md5 4d44355f4d44355f4d44355f4d44355f
Md5 - провал проверки!
Время сборки 5 мая 2018 00:33:21
Имя двоичного файла ThisIsTheDummyPlaceHolderForTheBinaryFilename ...

В том виде, в каком они созданы и выпущены на GitHub, оба этих BIN-файла с разницей в 1 день (1 сборка).
ESP_Easy_mega-20180504_normal_ESP8266_1024.bin
Подтверждено «неисправное» множеством различных способов, сбросов, различных узлов и т. Д.
проблемы согласованы (201 Beacon Timeout) в 11-секундном цикле
Homebrew отлично работает из того же источника.
к
ESP_Easy_mega-20180505_normal_ESP8266_1024.bin
Работает отлично, изменения в исходном коде минимальны
говорит мне, что в выпусках GitHub "где-то" произошел сбой при компиляции ..
Подключен к Wi-Fi с первой попытки, мгновенное обновление времени, не отключен Wi-Fi один раз,
MQTT поддерживает соединение
и т. д. и т. д. -
не в чем виноват;)

Значит, это означает, что много времени, потраченного за последние несколько недель (???), может быть связано с проблемами компиляции?
Это прискорбно, но, по крайней мере, дает мне уверенность, что я не схожу с ума, когда вижу все виды проблем, о которых я не могу воспроизвести или объяснить.

Что касается проблемы с f5: попробуйте lwip high bandwidth, так как у него большие буферы. Может чуть позже вылететь.

Проблемы с компиляцией: вы работаете на частоте 80 МГц, верно?

Думаю, по умолчанию используется 80 МГц.

Я знаю. Но установка значения 160 может вызвать странное поведение.

Да, проблема с "F5" - единственная серьезная проблема, которую я пока вижу в этой специальной сборке. Фактически, если я просто быстро нажимаю на нее несколько раз, чтобы обновить веб-страницу ESP, это создает проблемы:

18084332: СОБЫТИЕ: Часы # Время = Сб, 08:47 Время обработки
18091174: WD: Время работы 302 ConnectFailures 0 FreeMem 14504
bcn_timout, ap_probe_send_start
18112119: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18115167: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18116976: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18119084: LoadFromFile: индекс notification.dat: 0 размер данных: 996
18119089: LoadFromFile: notification.dat индекс: 1024 размер данных: 996
18119092: LoadFromFile: notification.dat индекс: 2048 размер данных: 996
18119129: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18121330: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18121337: WD: Время работы 302 ConnectFailures 0 FreeMem 13584
18128862: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18130833: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18135120: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18136605: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18138356: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18140067: LoadFromFile: индекс уведомления.dat: 0 размер данных: 996
18140076: LoadFromFile: notification.dat индекс: 1024 размер данных: 996
18140078: LoadFromFile: notification.dat индекс: 2048 размер данных: 996
18140152: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18144694: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18144700: СОБЫТИЕ: Часы # Время = Сб, 08:48
18144702: СОБЫТИЕ: Часы # Время = Сб, 08:48 Время обработки
18148558: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18151336: WD: Время работы 303 ConnectFailures 0 FreeMem 12568
18153230: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18153763: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18155000: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18155592: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18156416: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18156838: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18164949: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18165234: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18165587: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18170770: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18170947: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18171120: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18171300: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18171733: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18177686: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
bcn_timout, ap_probe_send_start
18181336: WD: Время работы 303 ConnectFailures 0 FreeMem 10832
18182865: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18183367: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18188878: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18190025: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18203237: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18203809: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18203817: СОБЫТИЕ: Часы # Время = Сб, 08:49
18203819: СОБЫТИЕ: Часы # Время = Сб, 08:49 Время обработки
bcn_timout, ap_probe_send_start
bcn_timout, ap_probe_send_start
bcn_timout, ap_probe_send_start
18496844: Использование оперативной памяти: только веб-сервер: 0, включая ядро: 0
18496850: WD: время работы 304 ConnectFailures 0 FreeMem 8736
18496856: СОБЫТИЕ: Часы # Время = Сб, 08: 53
18496858: СОБЫТИЕ: Часы # Время = Сб, 08:53 Время обработки

После трех последних сообщений зависло примерно на 60 секунд даже в последовательной консоли, а затем продолжило работу без перезагрузки.

Да, он работает на частоте 80 МГц - в системной информации говорится: Частота микросхемы ESP: 80 МГц

Веб-ответы ESP очень быстрые, пока я не попытаюсь обновиться слишком быстро ...

утро всем ... мои агрегаты стабильно работают около 10 часов. однако проблемы иногда возникали только через день или два, поэтому я оставляю их работать вот так. одно устройство перезагружалось дважды за ночь (из 16 D1), что могло быть связано с плагином или около того ... основы sonoff также работают без сбоев.

Я знаю, что вы не смогли увидеть или объяснить TD-er, но вы использовали сборки GitHub в качестве теста?
Я мог бы вернуться к источнику для выпусков за последний месяц и сравнить с домашним пивом.
У меня было много того, что я считал бесполезным, на одной из моих вкладок в Notepad ++ есть список

Насчет F5, это не проблема - я использую его как тест, у меня нет автообновления для клавиши F5,
поэтому я вручную нажимаю на него, наблюдая за использованием ОЗУ и выводом последовательного журнала одновременно ..
"lwip high bandwidth" из памяти почти мгновенно
LmacRxBlk:1 ошибок, и их нельзя было исправить ..
Это напоминает мне, что я должен написать что-то о .. в списке дел ..
И я снова попробую другие настройки компиляции в качестве меры

Хм, я не знаю, была ли причина в том, что я настроил ЖК-дисплей в позиции 12, но вскоре после этого я потерял соединение с точкой доступа и больше не могу подключиться повторно (точка доступа не найдена, несмотря на то, что она видна wifiscan). После перезагрузки та же проблема. Затем устройство перешло в режим точки доступа, но, возможно, из-за подчеркивания в имени SSID было сказано:

1127917: WIFI: Ошибка при запуске режима AP с SSID: ESP_01_1 IP: 192.168.4.1

Но устройство было видно как AI-THINKER_XXXXXXX, я смог подключить его, но когда я попытался изменить имя устройства и т. Д., Я испытал потерю соединения с устройством, сбой и перезагрузку и т. Д. :-(

Обновление - после нескольких попыток я переименовал устройство, чтобы убрать подчеркивание, но он все еще стоит перед номером устройства:
599417: WIFI: Ошибка при запуске режима AP с SSID: ESP-001_1 IP: 192.168.4.1
И девайс виден еще как AI-THINKER_XXXXXXX
Ç больше не могу подключиться к своей точке доступа в качестве клиента ... Попробую сбросить заводские настройки ...

Update2 OK ... Заводские настройки, устройство отображается как ESP_Easy_0 AP ... Установите WifiSSID и WifiKey через последовательную консоль, устройство сразу подключится к AP ...

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

еще одна вещь, которую я собираюсь попробовать сейчас, это вместо того, чтобы указывать плату "D1 Mini" в arduino, я сам установил все параметры и использую модуль "generic 8266" ... посмотрим, будет ли это иметь значение ...

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

один вопрос от меня: у sonoff basic только 1M памяти ... есть ли шанс обновить эти вещи по OTA? он, очевидно, всегда заявляет, что "недостаточно памяти" ... какие-нибудь идеи?

PS: что касается проблем с компиляцией, я всегда использовал самокомпилированные двоичные файлы (другие плагины) с самого начала и имел «те же» проблемы со стабильностью ... так что некоторые из них действительно могли быть связаны с платформойIO, другие, я думаю, были «настоящими» проблемами. ..

Вы можете использовать меньше плагинов при компиляции. Посмотрите https://github.com/letscontrolit/ESPEasy/blob/mega/src/define_plugin_sets.h

Вы никогда не сможете подключиться к OTA напрямую, но в этом случае он, по крайней мере, достаточно мал для OTA в два этапа. Посмотрите вики для этого :)

это именно то, что я сделал ... поэтому я всегда сам компилирую ... но даже с двумя включенными плагинами скетч использует 500k ...
поэтому я ищу другое решение (например, без веб-интерфейса ... и т. д.).

500к достаточно мало. Как я уже сказал, две части ОТА. Вы не можете обновить напрямую. Посмотри вики :)

спасибо .. ищу ....;)

добавлю: как-то пропустил двухступенчатую часть ....

С 1M Sonoffs вам нужно будет использовать начальный загрузчик, который имеет флаг DOUT в заголовке,
по памяти той, что есть в Wiki, нет, но, возможно, она недавно обновлялась ..

Я помню что-то в этом роде, просто искал и использую это для OTA: https://github.com/soif/EspBuddy/blob/master/firmwares/ESPEasyUploader.OTA.1m128.esp8266.bin

Да, проверил, что это DOUT
Вот тот, который я собрал, он меньше
Initial_Firmware_Uploader_Sonoff_1M_DOUT.zip

Я сказал, что сделаю это, потому что мне было очень любопытно ........
Для сравнения с выпущенным Mega-20180422 Self_Compiled на GitHub, я пробовал только один
ESP_Easy_mega-20180422_normal_ESP8266_1024.bin
Я оставил комментарий и зарегистрируюсь здесь https://github.com/letscontrolit/ESPEasy/issues/1301#issuecomment -383433822 (выпущен GitHub)
Тот же исходный код был скомпилирован самим, неудивительно, я вижу другое поведение по сравнению с Nightly.
Остался на связи, шок ужас!
GitHub выпустил mega-20180422, вспыхнул поверх, точно такое же поведение, как я сообщил, когда впервые попробовал его.
Не оставался бы на связи, WIFI : Disconnected! Reason: '(200) Beacon timeout' ходит на велосипеде снова и снова
Причину нужно исследовать ... вздох
GitHub выпущен = нельзя доверять?

Я опубликовал флаги компилятора Arduino вчера или около того. Какие флаги использует Трэвис?

У меня есть 16 D1 и 3 базовых, работающих на самокомпилированном f69e476, Core 2.4.1, lwIP2 High bandwith.
Почти все они имеют время безотказной работы> 900 мин. сейчас и все еще работает нормально. 2 из них около часа назад перешли в режим AP и до сих пор не подключились повторно. Я подожду до вечера и посмотрю, поправятся ли они.

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

@Oxyandy : Я также перекомпилировал загрузку для своих основных работ! еще раз спасибо за то, что указали мне правильное направление ..;)

@ s0170071
Они хранятся в .travis.yml и platformio.ini.
Я быстро прочитал, тада, посмотри, что я нашел
skip_cleanup: true
Изменить: дальнейшее чтение. Я не уверен, относится ли это к созданию чистой сборки ?
Признаюсь, для меня это в новинку ... ??? Отключение кеширования?

Трэвис каждый раз делает чистую сборку, поскольку он даже загружает среду Python и т. Д.

Ночные сборки выполняются @ psy0rz , а не Трэвисом.

Okee dokee, так они чистые сборки?
Пытаясь понять, почему они ведут себя иначе?

Как насчет сравнения MD5 bin1 и bin2?
Он будет указывать, если это проблема времени компиляции или выполнения ...

@susisstrolch ты имеешь ввиду когда компилируешь сам? Это потому, что MD5 вычисляется после компиляции. Есть сценарий, который сделает это за вас.
https://github.com/s0170071/CRC4ESP

-edit: @susisstrolch Возможно, я вас неправильно
да, можно сравнить мд5, они должны быть идентичны. Если вы делаете это в автономном режиме, вы также можете побитно сравнивать двоичные файлы. Таким образом вы даже сможете определить, где находится отклонение. Если вы продвинуты, вы можете даже отследить это до кода. В файле .elf должна быть вся информация.

Во всяком случае, меня не особо волнует, что именно отличается. Я думаю, что более важно убедиться, что все они находятся

Итак, еще раз, каковы флаги компиляции для Arduino, platformio, nightly и travis? Win / Linux ,.

Нет - я имею в виду, вместо того, чтобы размышлять о различиях в выводе компилятора в автоматизированных сборках, просто сравните MD5 обеих сборок. Таким образом, вы можете точно сказать, отличаются ли они.

Флаги для Arduino IDE в Linux:

build.lwip_lib=-llwip_gcc
build.lwip_include=lwip/include
build.lwip_flags=-DLWIP_OPEN_SRC
build.vtable_flags=-DVTABLES_IN_FLASH
build.float=-u _printf_float -u _scanf_float


compiler.cpreprocessor.flags=-D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I{compiler.sdk.path}/include" "-I{compiler.sdk.path}/{build.lwip_include}" "-I{compiler.libc.path}/include" "-I{build.path}/core"

compiler.c.cmd=xtensa-lx106-elf-gcc
compiler.c.flags=-c {compiler.warning_flags} -Os -g -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -falign-functions=4 -MMD -std=gnu99 -ffunction-sections -fdata-sections

compiler.S.cmd=xtensa-lx106-elf-gcc
compiler.S.flags=-c -g -x assembler-with-cpp -MMD -mlongcalls

compiler.c.elf.flags=-g {compiler.warning_flags} -Os -nostdlib -Wl,--no-check-sections -u app_entry {build.float} -Wl,-static "-L{compiler.sdk.path}/lib" "-L{compiler.sdk.path}/ld" "-L{compiler.libc.path}/lib" "-T{build.flash_ld}" -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,spi_flash_read

compiler.c.elf.cmd=xtensa-lx106-elf-gcc
compiler.c.elf.libs=-lhal -lphy -lpp -lnet80211 {build.lwip_lib} -lwpa -lcrypto -lmain -lwps -laxtls -lespnow -lsmartconfig -lairkiss -lwpa2 -lstdc++ -lm -lc -lgcc

compiler.cpp.cmd=xtensa-lx106-elf-g++
compiler.cpp.flags=-c {compiler.warning_flags} -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -MMD -ffunction-sections -fdata-sections

@ s0170071 Я пытался спросить Эдвина, но он еще не ответил.
Так что пока мы точно не знаем, что делается для ночных сборок.
И все же остается странное поведение (которое я испытал также на своей установке), что его двойная компиляция дает разные результаты.
Бинарные файлы между сборками нельзя сравнивать с помощью контрольной суммы. Включена временная метка сборки, которая будет отличаться для каждой сборки. Таким образом, 100-кратная компиляция одного и того же источника даст 100 разных контрольных сумм.
Но, по крайней мере, он должен обеспечивать такую ​​же функциональность, и этого, похоже, не происходит (иногда) между первой и второй сборкой. И это не так, как должно быть.

Итак, для тестовых целей и для того, чтобы закрепить это, я бы пропустил настройку всех предварительных изменений между этими последовательными компиляциями, чтобы получить сопоставимый src.

@ s0170071, поэтому мы получаем много отладочной информации из-за опции -g при сборке с помощью Arduino IDE.
Может смысл уменьшить размер ...

Уменьшение размера - это то, на что мы должны обратить внимание в будущем, но вы должны быть осторожны при переключении флагов оптимизации. Некоторые из них могут усложнить воспроизведение проблем.

два унтиса восстановились через несколько часов в течение дня, но другие не работают случайно ... две вещи, которые я обнаружил до сих пор:
Я получаю записи в журнале:
96493069: IP заблокирован: 0.0.0.0 Разрешено: 10.0.0.0 - 10.0.255.255
96517068: WD: Время работы 1608 ConnectFailures 0 FreeMem 11544
первая строка мне кажется странной, что пытается подключиться к IP 0.0.0.0? это может быть связано с проблемами, которые я видел несколько дней назад, когда устройство доступно, но оно говорит мне, что у него IP 0.0.0.0.

Во-вторых, несмотря на то, что в течение последних 24 часов ничего не было сделано, я вижу внезапные скачки нагрузки на ЦП, даже в «маленьких» устройствах, которые просто используют функциональность переключателя (например, № 7 на прилагаемом графике).

Есть шанс узнать, почему происходят такие резкие изменения загрузки процессора? журнал не говорит ничего конкретного .. (загрузка процессора сегодня и вчера) ...
image
image

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

нет, не при перезагрузке ... просто "случайно" в какой-то момент ... что интересно, это происходит сразу с несколькими устройствами ... Я понятия не имею, что там произошло (тогда не было дома) ... особенно устройства 12- 14 - действительно простые платы без каких-либо задач, кроме rssi, load, uptime и mem ... также графики памяти не показывают никаких признаков значительных изменений ...
по-прежнему, нагрузка на некоторых модулях составляет ~ 50%, но веб-интерфейс работает быстро ..

Также у меня есть на одном устройстве часы с приводом от NFX, которые каждую секунду меняют положение стрелок. интересно, что часы остановились в какой-то момент времени, но устройство продолжало работать без проблем ... как будто эта задача больше не выполнялась ... но это могло быть связано с плагином (так как это одна из игр) .. но это могло наверное указывают на проблемы ...

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

в любом случае, большое спасибо за ваши усилия и помощь ... если я найду что-нибудь разумное, я сообщу ...

Это также может означать, что все некоторые услуги в какой-то момент изменились.
Либо он стал доступен, что заставило узлы фактически выполнять больше работы.
Или его больше не было в наличии. ESPeasy пытается выполнить эхо-запрос к хосту, чтобы определить его доступность. Если этот эхо-запрос не удастся, он остановит узел на время тайм-аута.

как делается этот "пинг"? потому что время от времени я вижу какой-то "хост неизвестен" ... может быть, этот тайм-аут довольно велик? или поиск ping или DNS должен иметь короткие таймауты? на самом деле я больше не использую FQDN, только IP, поэтому DNS вряд ли будет проблемой ...

Я просто обновляюсь последней фиксацией ... некоторые модули легко обновляются и довольно быстро, другие очень медленно ...

У меня 4 точки доступа работают с одним и тем же SSID, может быть, он иногда выбирает худшую, а затем возникают проблемы со скоростью?

Я планировал изменить способ пинга на асинхронный.
При попытке установить соединение выполняется проверка доступности хоста. Это делается через пинг.

а это блокирующий звонок?

Это действительно так, поэтому я хочу поменять его на какой-нибудь асинхронный вариант.

хм .. это могло бы объяснить, когда сетевое соединение слабое, что вещи действительно не "плавные" ... особенно при попытке загрузить новый скетч ... можно ли увеличить тайм-аут ping, если в сети много задержки?

Это делается только при подключении.
Испытанная нагрузка повторной попытки подключения MQTT, которая завершится неудачей, намного более заметна.
У нас не так много хостов, с которыми мы подключаемся, поэтому, возможно, должна быть некоторая проверка доступности асинхронного режима, выполняемая в фоновом режиме, чтобы помочь решить, следует ли повторно подключаться.
NB, поиск DNS также может сильно блокировать, если в конечном итоге он не удастся.

может быть, 0.0.0.0 - вторичный DNS?

Я понял это с помощью DNS, поэтому сейчас я использую только IP-адреса ... Я вообще не использую MQTT, только плагин контроллера fhme, а также обычные запросы json (от fhem с плагином HTTPMOD).

одна вещь, которую я, вероятно, собираюсь попробовать, - это отключить сеть UDP между ESPEasy ... Я не могу избавиться от ощущения, что это оказывает некоторое влияние на устройства, особенно при запуске 15+ устройств, которые отправляют регулярные обновления. ..

после обновления всех модулей до последнего мега-коммита, все нагрузки на ЦП вернулись к «нормальному» ... сегодня утром около 8 я перезагрузил Nr. 4 и 9, и посмотрите, что случилось с загрузкой процессора, почти все блоки имели пик около 30 минут. и после этого вернулся в нормальное состояние ....

просто небольшая идея: возможно ли, что полученные события UDP между ESPEasy «перераспределены» на другие устройства и, следовательно, могут создать цикл и заполнить сетевой стек?
image

Я никогда не заглядывал в код этой «связи между ESPeasy», поэтому ничего не могу сказать по этому поводу.
Я ожидал, что этот протокол отправляет только свои собственные данные, а не повторяет остальные.
Этот протокол состоит из 2 частей:

  1. Заявление о собственном присутствии.
  2. Отправка значений параметров плагинов через то, что раньше было «глобальной синхронизацией».

Последний теперь заменен на «controller c_013».

Но не уверен, что петля невозможна. Например, с фиктивными устройствами, импортом MQTT и т. Д.
Также может отличаться поведение старых версий и новых версий, использующих «контроллер 13».

ок, спасибо за быстрый ответ ... сейчас выключу, соотв. установить порт UDP на 0 и посмотреть, не изменится ли что-нибудь ...

Добавить: после его изменения я вижу, что около 50% модулей перезагружаются (без запроса) ... и некоторые сообщения «HTTP: соединение не удалось» в журнале ....

Заметил аналогичную проблему с загрузкой процессора. Wemos использует самокомпилированную прошивку с 13 плагинами. Я использую Rest API с Pimatic. Как видите, по какой-то причине нагрузка уходит до 90% и выше.
image

для информации: поскольку я отключил сеть Inter-ESPEasy, установив порт на 0 в дополнительных настройках, похоже (большинство) мои проблемы исчезли! время безотказной работы всех 20 блоков> 20 мин. и по-прежнему регулярно сообщают значения. web-если запущен и работает. Кроме того, на графике ЦП эти резкие скачки больше не отображаются. Только один юнит перешёл в режим AP, посмотрю, восстановится ли ..
возможно, это необходимо исследовать (в источнике) ... с большим количеством единиц UDP-материал, вероятно, перегружает сетевой стек ...
надеюсь, что это поможет другим, которые сталкиваются с подобными проблемами ...

Вот мой опыт:
6 устройств со статическим IP-адресом и активными сетями Inter-ESPeasy.
Последняя загруженная прошивка была «Mega 20180505 Manual, построенная дважды». (но и предыдущие прошивки работали очень хорошо).
Они работают почти 3 дня без каких-либо проблем.

immagine

Это одна из причин, по которой я хочу подождать несколько дней, прежде чем исправлю Wi-Fi / сеть. Просто дайте ему поработать некоторое время, чтобы увидеть, что на самом деле не так, и попробуйте прочитать некоторые проблемы в списке проблем Arduino.
Я уже заметил, что ряд проблем предлагает отключить управление питанием для некоторых конфигураций Wi-Fi. По-видимому, некоторые комбинации точки доступа ESP8266 + не работают с включенными функциями управления питанием (которые включены по умолчанию)
Так что это возможность добавить в ESPeasy.

Я ищу новые идеи в следующие дни, а в пятницу / субботу у меня будет больше времени на код.

Для справки моя точка доступа - ASUS RT-AC68U с прошивкой Merlin.

Я предполагаю, что большинство проблем связано с заводской прошивкой по умолчанию для более бюджетных моделей и, возможно, с более старыми точками доступа, которые не знали о вариантах энергосбережения современных устройств Wi-Fi.
Остается вопрос, можно ли согласовать такие функции для автоматического обнаружения этих функций.

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

Они также имеют смысл для других целей.
Больше мощности означает больше тепла, а некоторые из них снабжены датчиками ....;)

Помимо высокой загрузки процессора. Я вернулся к прошивке от 16.03 с ядром 2.3.0, и все снова стало нормально. Нагрузки сейчас макс. 25%. Кроме того, время отклика wemos снова намного лучше. И с 08.05, и с 16.03 у меня вообще нет отключений WiFi. По-прежнему не понимаю, что вызвало высокую нагрузку. Также в обоих случаях я не использовал udp.

после отключения UDP устройства работают без проблем, за исключением тех, к которым подключен ЖК-дисплей. Я думаю, что если у вас много говорящих устройств (> 20), они либо слишком заняты декодированием всех сообщений UDP, либо имеют некоторую утечку памяти или что-то подобное. Это также объясняет случайные перезагрузки модулей после запуска другого. просто MHO ... нужно еще отладить, чтобы быть уверенным ...

Это также может быть связано с выполнением более длительных задач без времени для некоторых вызовов yield() , что также происходит при вызове delay() .
Я могу представить, что плагин LCD (и, возможно, некоторые другие) выполняет некоторые задачи, которые занимают> 10 мсек.

устройства с ЖК-дисплеем, похоже, со временем становятся более загруженными ... при попытке перепрограммировать мне нужно сначала их перезагрузить, потому что через несколько часов загрузка больше не работает (или занимает много времени ...)

все остальные устройства теперь работают нормально, но, как уже говорилось, объявление inter ESP должно быть отключено ...

по крайней мере, Wi-Fi работает стабильно, никаких других проблем с подключением пока нет ... (на данный момент работает более 20 устройств)

Есть ли у вас протоколирование включен последовательный порт?
Не могли бы вы, возможно, установить, что «Нет»?

хм .. интересный момент, у меня есть "информация" по умолчанию для журналирования последовательного порта, но я полностью отключил последовательный порт ... может ли это привести к проблемам?

Я собираюсь изменить его на "нет" на устройствах, я посмотрю, имеет ли это значение ..

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

При этом разница между ядром 2.3.0 и 2.4.1. 10 мая я изменил прошивку с 2.4 обратно на 2.3. Настройки и правила для обоих абсолютно одинаковы.
image

@jopiekr : какое программное обеспечение вы используете для печати загрузки процессора?

@ gii1967g пиматично. Пусть он без проблем работает на OrangePi One более года. В качестве резервной копии также на Raspberry Pi. pimatic.org

изменил все серийные журналы на none ... Посмотрю, что будет ...

Что еще примечательно, так это Wi-Fi RSSI ... если устройства получают слабый сигнал, они могут совершенно не реагировать ... поскольку у меня работает 4AP, он кажется немного "случайным", к которому они подключаются, и не всегда выбирают самый сильный один....

Я заметил, что выше -77 дБ они могут перестать отвечать. Также, если они не работают от батареи, проверьте продление срока аренды вашего роутера. Я взял за правило перезагружать их через 12000 минут.
image

Они должны переподключиться к последнему. Первая попытка повторного подключения - к BSSID последнего активного подключения.
Но я думаю, нам стоит добавить в настройки BSSID.

В последние несколько дней я много думал о проблемах с Wi-Fi, и я придумал какой-то обходной путь для ошибок, которые, вероятно, присутствуют либо в основной библиотеке, либо в комбинации с версиями прошивки AP вокруг
В настоящее время основная библиотека выполняет сканирование при попытке подключения, используя только SSID + pwd.
Таким образом, это намного быстрее, если вы предоставляете канал BSSID + при подключении.
Потому что тогда сканировать не нужно.
Так почему бы не выполнить сканирование самостоятельно, найти известный SSID, сохранить все BSSID + канал для соответствующих сетей, а затем попытаться подключиться только с использованием канала BSSID +.
Тогда у вас также есть автоматическое переключение при отказе и полный контроль над тем, когда рассматривать возможность возобновления соединения. (и, таким образом, перезапустите службы)

Вы также знаете самый сильный RSSI, поэтому сначала подключайтесь к самому сильному и всегда старайтесь повторно использовать последний использованный первым.
А когда соединение нестабильно, попробуйте отключить функцию энергосбережения, которая по умолчанию включена в ядре 2.4.x.
Эта функция энергосбережения может привести к повторному подключению Wi-Fi, зависанию при просмотре веб-страниц или даже отказу при подключении.

При включенной функции энергосбережения Wi-Fi отключается на некоторое время, а затем снова включается как раз вовремя, чтобы получить сигнал маяка точки доступа.
Если они не синхронизированы, некоторые пакеты могут не поступить в ESP и будут повторно переданы только при получении следующего маякового сигнала. (что может занять некоторое время)

Я не очень разбираюсь в деталях этих проблем с энергосбережением, но я достаточно знаю о разработке прошивки, чтобы знать, что стандарты могут быть реализованы по-разному среди поставщиков. Поэтому весьма вероятно, что есть некоторые комбинации оборудования, которые будут работать менее оптимально с включенными функциями энергосбережения. Это может быть даже какое-то другое WiFi-устройство, которое задерживает интервал сигнала Wi-Fi точки доступа. Слишком много переменных.

Такое временное отключение также может повлиять на поиск DNS и другие прерывания соединения, которые могут на некоторое время приостановить работу ESP. Это также может повлиять на загрузку ЦП, поскольку это (плохо определенное) значение зависит от того, сколько раз функция loop () запускается за 30 секунд. Если вызов какого-либо запроса разрешения DNS останавливает ESP, количество циклов будет довольно низким и, следовательно, высокой загрузкой ЦП.

@jopiekr Вы также могли бы сделать перезагрузку, я полагаю, из правил.
Сначала я рассмотрю отключение параметров энергосбережения (и, конечно же, сделаю его доступным для выбора).

@ TD-er о работе с WiFi: Полностью согласен с функцией управления питанием. Следует иметь возможность выключить его, так как это может вызвать действительно странные проблемы и тормозящие устройства ...

Что касается повторного подключения к точке доступа, я считаю, что это иначе, я всегда старался подключиться к самой надежной точке доступа, чтобы обеспечить хорошее соединение. только после этого, наверное, возьму последнюю. Просто потому, что если «основная» точка доступа выйдет из строя / перезагрузится / не ответит и т. Д., Устройство подключится к другому. С этого момента и впредь он всегда будет принимать этот (худший) вариант, пока этот тоже не выйдет из строя ... он никогда не вернется к сильному, даже если этот возвращается ... также, если вы перемещаете устройства вокруг , может случиться так, что он выберет предыдущую точку доступа, даже если она находится намного дальше / имеет более слабый сигнал ...

Я согласен с тем, что просканирую ваш код, а затем решу, какой из них выбрать, на основе RSSI и известного BSSID ...

Это только первая попытка переподключиться к последнему известному BSSID.
Это приведет к более стабильному соединению при использовании репитеров.
Эти повторители могут иногда разрывать соединения, когда они слишком заняты другими задачами, и они могут казаться менее надежными при сканировании. У дешевых есть только одно радио для приема и передачи, поэтому, когда они получают данные, возможно, они не транслируют свой радиомаяк в момент выполнения сканирования. Значит, в этот момент RSSI другой точки доступа может оказаться сильнее.

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

При перезагрузке, если первая попытка повторного подключения не удалась, он выполнит сканирование и выберет наиболее точное совпадение для установленного SSID.

Я изменю это на сохранение BSSID предпочтительной точки доступа в настройках, чтобы этот BSSID всегда был предпочтительным.
Повторное подключение происходит очень быстро, если канал также известен. (возможно менее 200 мсек, в зависимости от используемой точки доступа)
Кроме того, установка статического IP-адреса занимает около 20–25 мс, по сравнению с DHCP, который занимает 2,5–10 секунд.
Это было бы идеально для устройств с батарейным питанием.

Так что есть возможности для улучшения :)

Звучит очень многообещающе. До сих пор у меня было 2 месяца автономной работы с 2 батареями AAA с шагом до 3,3 В и одним датчиком DHT, отправляющим каждые 900 с. Это на плате RobotDyn ESP Pro со снятым регулятором напряжения.

@ TD-er Только что попробовал вчерашнюю сборку. Я не вижу разницы во времени подключения, если я использую статический IP или DHCP. Оба подключения занимают около 3 секунд после сброса.

Тогда у вас есть быстрый DHCP-сервер.
Моему Fritzbox требуется около 2,5 секунд для DHCP после 2,5 секунд подключения к Wi-Fi.
Таким образом, установка времени MQTT connect + NTP занимает от 6 до 6,5 секунд с момента загрузки.

Ящик для фрица 7490.

быстрое обновление: после отключения InterESP UDP (и удаления C13 из модулей 1M) и установки журнала последовательного порта на «non» (также отключение последовательного порта) почти все мои устройства работают стабильно в течение последних 30+ часов ... смесь между D1 Mini, D1 pro, Sonoff Basic, Dual и 4ch ... 20+ единиц ... работает на фиксации из mega-20180511, сам компилируется с помощью Arduino IDE ...

У меня 7581 как модем и 3 * 1750E как точки доступа.

Кстати: я использую Mikrotik AP (и один действительно старый USR). Собираюсь обновить юниты последним коммитом от сегодняшнего вечера ...

Последние коммиты в настоящее время имеют дело только с кодом, связанным с JSON (средство просмотра журналов + значения датчиков обновления).
Еще не с кодом Wi-Fi.

конечно, но Wi-Fi кажется "достаточно стабильным" с последними коммитами, поэтому я хочу быть в курсе моих устройств;)

извините, что снова поднимаю этот вопрос, но я все еще выражаю проблему, заключающуюся в том, что ESP считает, что у него IP-адрес 0.0.0.0, и перестает общаться с сервером, бит в сети и на веб-уровне все в порядке! см. приложенный снимок экрана, попробовал с другой комбинацией версий ESPEasy и esp8266 ...
Кто-то еще знает это?
untitled

Действительно, очень странно, так как мне интересно, как вы вообще можете увидеть веб-страницу с такой конфигурацией IP.
Или вы подключаетесь к ESP через его функцию точки доступа?

нет, подключен напрямую через сеть. ping и http работают без проблем, быстро (см. IP клиента 10.0.0.10, это мой ноутбук, внутренняя сеть 10.0.0.0/16) ... да, хотя и довольно странно ..
может быть связано с DHCP или около того .. после перезагрузки все снова в порядке ..

могло ли это быть связано с тем, что я включил только один контроллер (FHEM) и ни один контроллер с поддержкой MQTT? Я видел много кода mqtt в исходниках, за пределами плагина контроллера ... просто предположение ... но я думаю, что это не совсем связано ...

Может быть dhcp просрочен и не продлен?

вполне может быть ... вероятно, сетевой стек все еще имеет активный IP, но если обновление не удается, соответствующая конфигурация обнуляется ... не уверен, как работает код DHCP, но это может объяснить состояние, которое I0m видит.

Также я обнаружил, что когда сервер (в моем случае fhem) не отвечает достаточно быстро несколько раз, устройства через некоторое время начинают перезагружаться. может быть проблема в коде плагина или в базовом стеке tcp ... Я немного подправил производительность на сервере, с тех пор модули работают намного стабильнее (у некоторых сейчас время безотказной работы превышает 48 часов).

Я уже видел 10+ дней безотказной работы (время безотказной работы без переподключения) с последними версиями.
Можно заставить юниты заполнить свой баран множеством запросов.
И я видел, как LWIP делает странные вещи при выполнении большого количества запросов. (чтение из памяти, не содержащей данных, относящихся к этому запросу.)

Сегодня один узел снова перестал отвечать. Он отключился от wifi. Не удалось подключиться к сети "esp". Он перестал отправлять данные контроллеру. Пришлось его перезагрузить. Может быть, сторожевой пес будет хорошим решением. Если например через час отключается от вайфая, перезагружается. А может это можно сделать с помощью правил, но не знаю как :)

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

Возможно ли, что ваш зависший узел никогда не перезагружался после перепрошивки? (нажмите сброс или выключите)

Возможно, после перепрошивки не было перезагрузки. Но это была перепрошивка через www, а не серийник.

ОК, тогда это не имеет значения, если вы прошили OTA.
Если после последовательной прошивки произошел правильный сброс / перезагрузка.

Что ж, после борьбы с множеством проблем со стабильностью и странными проблемами с Wi-Fi с последними выпусками прошивки мне в конце концов пришлось вернуться к более ранним версиям. Например, до недавнего отключения электроэнергии один старый узел ESP12E с mega-20180311dev работал 70 дней, отправляя данные о температуре в ThingSpeak.
На другом узле после обновления до mega-20180522dev я испытывал перезагрузку из-за исключения примерно каждые 24 часа, несмотря на сброс до значений по умолчанию, просто работал без настроенного устройства, без настроенного NTP, без контроллера ... Ни разу не выжил 48 часов. После перехода на mega-20180324 два с половиной дня назад конфиг сохранил, просто снова включил NTP и пока что он работает. Хотя в этих старых версиях есть некоторые ошибки и отсутствующие функции, для меня в настоящее время это лучший выбор.

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

Я знаю, но предпочитаю стабильный узел без перезагрузки по расписанию. Я не знаю, значительно ли снизилась стабильность из-за перехода на ядро ​​2.4.1 (возможно, которое еще не достаточно зрело) или это связано с редизайном ESP Easy, но это произошло, несмотря на максимальные усилия всех участников ESP Easy. Я очень ценю вашу тяжелую работу, но в настоящее время я больше не могу использовать последние версии ESP Easy.

Я думаю, это также связано с используемым плагином или, возможно, комбинацией плагинов.

На прошлой неделе я работал над изучением эффектов таймингов, и я уверен, что они окажут значительное влияние на критические по времени задачи.

Я только что посмотрел на некоторые из моих узлов, все с официальными сборками:

Двоичное имя файла ESP_Easy_mega-20180513_normal_ESP8266_4096.bin

Блок 3

  • Время работы 16 дней 18 часов 26 минут
  • Подключил 5д23х07м
  • Причина последнего отключения (201) Точка доступа не найдена
  • Количество переподключений 2

Блок 5

  • Время работы 11 дней 5 часов 22 минуты
  • Подключил 5д22х57м
  • Причина последнего отключения (201) Точка доступа не найдена
  • Количество переподключений 4

Блок 6

  • Время работы 11 дней 5 часов 23 минуты
  • Подключено 45 м 1 с
  • Причина последнего отключения (201) Точка доступа не найдена
  • Количество переподключений 58

Двоичное имя файла ESP_Easy_mega-20180619_test_ESP8266_4096.bin

Блок 7

  • Время работы 13 дней 20 часов 51 минута
  • Подключил 5д23х05м
  • Причина последнего отключения (202) Ошибка аутентификации
  • Количество переподключений 2

Около 6 дней назад у меня возникли проблемы с одной из точек доступа Wi-Fi, и мне пришлось перезапустить ее.

Блок 6 подключается так же, как блоки 3 и 7, но у него гораздо больше повторных подключений.
Эти 3 устройства находятся рядом друг с другом, в пределах метра друг от друга, чтобы сравнивать различные датчики CO2 (MH-Z19 A, B и SenseAir S8), и все они питаются от одного источника питания (3-портовое USB-зарядное устройство IKEA).

Единственная разница между ними заключается в том, что тот, у которого больше повторных подключений, имеет датчик Senseair.
Таким образом, реализация этого датчика может вызвать большую нагрузку на процедуру WiFi (меньшая задержка вызовов), что может привести к нестабильности WiFi.

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

Я всегда использую официальные сборки, так как не могу подготовить и поддерживать среду разработки для этих устройств.
Упомянутый выпуск mega-20180522dev, как я описал выше, был полностью пустой конфигурацией, поэтому не использовались никакие плагины, никакие правила, в конце я даже удалил контроллер Nr1 по умолчанию. Ничто не могло остановить перезагрузку узла из-за исключения с интервалами около 24-40 часов.

Не знаю, проблема ли это с Wi-Fi - это не похоже, мне удалось установить статические IP-адреса для Wi-Fi, но espeasy по-прежнему получает его с помощью dhcp и устанавливает разные.

1104 : WD   : Uptime 0 ConnectFailures 0 FreeMem 21800
1105 : S
W   : State 1.00
1106 : EVENT: x#w=1.00

scandone

state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 2
c
nt 

connected with BJ3, channel 12
dhcp client start...
4350 : WIFI : Connected! AP: BJ3 (E8:DE:27:4F:66:86) Ch: 12 Duration: 3760 ms
4351 : EVENT: WiFi#ChangedAccesspoint
4355 : IP   : Static IP : 192.168.2.184 GW: 192.168.2.1 SN: 192.168.2.0 DNS: 8.8.8.8
4360 : WIFI : Static IP: 0.0.0.0 (ESP5-5) GW: 0.0.0.0 SN: 0.0.0.0   duration: 11 ms
4367 : EVENT: WiFi#Connected
4374 : Webserver: start
4374 : WIFI  : Arduino wifi status: WL_DISCONNECTED ESPeasy internal wifi status: ESPEASY_WIFI_SERVICES_INITIALIZED
ip:192.168.2.123,mask:255.255.255.0,gw:192.168.2.1
4400 : WIFI : Static IP: 192.168.2.123 (ESP5-5) GW: 192.168.2.1 SN: 255.255.255.0   duration: 50 ms
4401 : EVENT: WiFi#Connected
4406 : WIFI  : Arduino wifi status: WL_CONNECTED ESPeasy internal wifi status: ESPEASY_WIFI_SERVICES_INITIALIZED
4500 : MQTT : Intentional reconnect
4501 : LoadFromFile: config.dat index: 28672 datasize: 724


@ uzi18 Вы установили все поля для статической IP-конфигурации?

Если это так, то я боюсь, что это известная проблема (для меня), когда есть какой-то предыдущий сеанс, хранящийся в регионе, где мы (пока) не стираем данные при сбросе к заводским настройкам.
Это означает, что на данный момент нет другого способа, кроме как стереть всю флэш-память и начать заново с последней версией ESPeasy.
В более поздних версиях установлено значение, чтобы настройки Wi-Fi не сохранялись.

@ TD-er Да, все данные заполнены - как вы видите в логе.
Я прошил НОВЫЙ модуль, с
ИНФОРМАЦИЯ: Плагины: 71 [Нормальный] [Тестирование] (ESP82xx Core 2_4_1, NONOS SDK 2.2.1 (cfd48f3), LWIP: 2.0.3)
и это работает так.
Модуль был только взят из оригинальной сумки и прошит, espeasy никогда здесь не было.

@ TD-er: Две мысли по этому поводу:

  1. Моя не ESPEasy, связанная с трансляцией MQTT, работает безупречно с использованием последней версии клиента pubsub. Делает переподключение и тд. Возможно, наблюдение за подключением ESPEasy мешает тому, что уже было сделано основной библиотекой. Должен ли у нас быть способ отключить все эти дополнительные функции ping-reconnect-wifistate? Просто для тестирования?
  2. Вы знаете об автоматическом отключении Wi-Fi? https://blog.creations.de/?p=149

Было бы неплохо, если бы кто-то с довольно нестабильным Wi-Fi мог проверить этот PR: https://github.com/letscontrolit/ESPEasy/pull/1562

@ TD-er только что наткнулся на https://github.com/esp8266/Arduino/pull/4718
занимается проблемами переподключения lwip. Пока что исправлено. Может быть, вы хотите пропустить это ...

Я всегда использую последнюю версию GIT от esp8266 ... поэтому я, вероятно, больше не вижу проблемы с 0.0.0.0 ...

Вчера снова один узел после перезагрузки роутера потерял связь с сетью.
Правила работали правильно.
Это мой выключатель на стене, его сложно разобрать для сброса.

Чтобы облегчить это в будущем, я изменил правила:

on S1#Switch do
timerSet,1,5 
if [R1#Relay]=1
gpio,12,0
else
gpio,12,1
endif
endon

on S2#Switch do
if [R2#Relay]=1
gpio,13,0
else
gpio,13,1
endif
endon

On Rules#Timer=1 do
if [S1#Switch]=1.00
 reboot
endif
endon

Теперь жизнь станет проще :))

Я перезагружаюсь каждые 24 часа. Это оживляет один узел с прошивкой от 4 недель назад два раза в неделю.
Может быть, это должна быть постоянная функция ....

Это все еще проблема? Если да, пожалуйста, откройте снова.

Наша самая длинная цепочка в списке проблем ....

Была ли эта страница полезной?
0 / 5 - 0 рейтинги