IoT, ESP, NODE WiFi лампа-будильник. Обсуждение прошивки от GUNNER47

mechanic

Сверлит текстолит когтями
Команда форума
30.07.2018
406
114
53
#1
ЗДЕСЬ ОБСУЖДАЕМ ТОЛЬКО ДАННУЮ ПРОШИВКУ
ВСЕ ЧТО НЕ ПО СИЯ ТЕМЕ И ПРОШИВКЕ, ВСЕ СНОСИТСЯ НА@@@!

Очень просим не делать репост "ЦИТИРОВАНИЕ" сообщений! Делать только в КРАЙНЕЙ необходимости (у нас не ЧАТ)!
Иначе опять будет 160 страниц и 0 пользы ....


Для ответа КОНКРЕТНОМУ пользователю, достаточно нажать " ОТВЕТ"

Три вещи, которые нужно делать в любой непонятной ситуации:
  1. Посмотреть комментарии в коде, основная часть которых находится в файле Constants.h. Это даст понимание очень многих настроек и снимет много сязанных с этим вопросов.
  2. Открыть монитор порта и посмотреть отладочные сообщения, там понятным языком написано, что делает и как настроена лампа. Особенно ценны первые сообщения сразу после старта лампы.
  3. В случае совсем необъяснимого и нежелательного поведения лампы нужно перепрошить её с полной очисткой flash памяти - в меню Arduino IDE "Инструменты" - "Erase Flash" нужно выбрать "All Flash Contents". Это сотрёт ВСЕ настройки лампы, но и также проинициализирует необходимые настройки значениями по умолчанию при первом запуске.
И только после этого можно задавать вопрос на форуме. Иначе есть все шансы зафлудить форум так, что знающие энтузиасты не будут успевать ответить на все публикуемые вопросы.

FAQ
В: Почему не работает android приложение?
О: К прошивке от gunner47 подходят android приложения от gunner47 и koteyka. Убедитесь в том, что установлено правильное приложение и правильная его версия. Для android приложения от gunner47 это означает, что приложение должно быть из того же архива, что и прошивка.

В: Почему после первого запуска не появляется точка доступа лампы с запросом WiFi настроек для подключения к домашней WiFi сети в рабочем режиме ESP_MODE 1?
О: Точка доступа для запроса WiFi настроек должна появиться при первом запуске после прошивки. Она ожидает подключения и ввода настроек 5 минут. После этого лампа переключается в рабочий режим ESP_MODE 0, сохраняет его и перезагружается, точка доступа для ввода WiFi настроек уже появляться не будет. При последующих рестартах лампа также будет работать в рабочем режиме ESP_MODE 0. Для переключения в рабочий режим ESP_MODE 1 нужно семикратно коснуться кнопки - лампа переключит и сохранит новый рабочий режим, перезагрузится и запросит WiFi настройки.
Если всё было сделано правильно, а страница с запросом WiFi настроек http://192.168.4.1 не может быть загружена, нужно проверить, к какой WiFi точке доступа в данный момент подключено мобильное устройство или ноутбук, с которого производится настройка, лучше выключить/включить WiFi и повторно подключиться. В случае мобильного устройства, нужно отключить мобильный интернет и проверить, чтобы не было активно VPN соединение (и в настройках android, и в настройках браузера - см. "турбо режим", "экономия трафика", "сжатие трафика", "оптимизация загрузки изображений, аудио и видео"... всё это в настройках браузера нужно отключить или использовать браузер без таких опций).

В: Как стереть WiFi настройки? Как перенести лампу в новую WiFi сеть?
О: Если после старта в рабочем режиме ESP_MODE 1 лампа не находит заданную WiFi сеть (толстые стены, модуль esp в металлической экранирующей трубе, уровень WiFi сигнала меньше 8%, выключен или не успел загрузиться после сбоя питания роутер и т.д.), то разворачивается WiFi точка доступа для ввода новых параметров WiFi сети. В это время матрица не светится, лампа не реагирует на одиночные клики по кнопке. Ожидание ввода WiFi параметров длится 5 минут. Это означает, что для переноса в новую WiFi сеть принудительно ничего стирать не нужно, нужно заново ввести WiFi параметры на новом месте после первого запуска лампы.
Но способ принудительно очистить WiFi параметры есть. Для этого в файле Constants.h нужно найти строку "#define ESP_RESET_ON_START (false)" и установить true вместо false. Затем нужно в течение 1 секунды после подачи питания коснуться кнопки - лампа сотрёт сохранённые WiFi параметры.

В: Почему не работает будильник, в android приложении нельзя им управлять?
О: Будильник и некоторые другие функции, например, вывод времени бегущей строкой недоступны, если лампе не удалось синхронизировать время с сервером времени в интернете, указанном в прошивке в параметре NTP_ADDRESS. Это может произойти, если лампа работает в режиме ESP_MODE 0, если нет доступа в интернет или сеть сконфигурирована так, что препятствует обмену ntp пакетами. Доступность сервера времени можно проверить, напрмер, утилитой NTPTool, введя в неё адрес сервера времени. Если ответ от сервера пришёл, он отобразится в окне утилиты. В сети должен быть открыт порт 123. Лампа запрашивает время сразу после старта и далее раз в полчаса. Если первая попытка была неудачной, лампа будет запрашивать время раз в 5 минут до первой удачной попытки.

В: Какой выбрать сервер времени?
О: Территориально ближайший. В принципе, это не критично, подойдёт любой рабочий, т.к. лампе не требуется точность времени на уровне микросекунд.

В: Что делать, если сервера времени недоступны/сеть блокирует доступ к ним?
О: Закомментировать в прошивке строку "#define USE_NTP". В таком случае лампа не будет отсылать запросы и ждать ответа. Функции, связанные со временем, работать не будут.

В: Почему невозможно прошить лампу по воздуху?
О: Причин может быть несколько: от файерволов и настроек сети (при настройке сети в windows как публичной операционная система может препятствовать обмену данными - обновление по воздуху не работает) и до ограничений esp8266. В ней доступны всего 4 сетевых сокета, т.е., одновременно открытых сетевых подключения. Лампа использует одно подключение для управления аднроид приложением, синхронизирует время, у неё есть возможность вывода логов в telnet, может быть включен mqtt, плюс перепрошивка по сети - может не хватить доступных сетевых подключений. Если проблема в esp, то лечится так: нужно ввести пароль от лампы при запросе в Arduino IDE, но не нажимать Enter, а оставить окно висеть. Тем временем нужно перезагузить лампу, не подключаясь приложением, сразу запросить прошивку OTA (двумя четырёхкратными тапами по кнопке) и после включения эффекта "Матрица" нажать Enter в Arduino IDE в окне запроса пароля.
Также нужно убедиться, что компьютер с Arduino IDE находится в той же сети, что и лампа. И это не должна быть точка доступа лампы.

В: Почему android приложение недоступно в google play market'е?
О: Пока жалко денег на девелоперскую учётку, но вполне возможно, в скором будущем приложение там появится.

В: Как посмотреть отладочные сообщения?
О: В Constants.h найти и раскомментировать строку "#define GENERAL_DEBUG", если она закомментиррована. Прошить esp8266. Открыть монитор порта в arduino IDE, установить скорость порта 115200. В монитор будут выводиться все предусмотренные в прошивке отладочные сообщения. Этот метод работает только, если esp8266 подключен к компьютеру с Arduino IDE usb кабелем.
Есть способ получить отладочную информацию по сети (по воздуху). Для этого нужно в файле Constants.h найти строку "#define GENERAL_DEBUG_TELNET (false)" и установить true вместо false. После чего основная часть отладочных сообщений будет выводиться в telnet ВМЕСТО монитора порта (serial). Чтобы подключиться к лампе по сети нужно установить и запустить любую программу, способную получать данные по telnet, например, putty. В ней указать ip адрес лампы и порт 23. Важно! Данный способ работает только в рабочем режиме ESP_MODE 1, и можно увидеть сообщения только после получения лампой ip адреса в сети, т.е., начальные сообщения, выводимые сразу после старта лампы, увидеть нельзя.

Голосовое управление лампой Гайвера, через Яндекс Алису (прошивка Gunner47).

Яндекс диск Файл ПДФ. Актуально на 27.01.2020г
наш сервер НЕ ОБНОВЛЯЕТСЯ, от 27.01.2020г

ВНИМАНИЕ! Если у вас не компилируется или не загружается скетч - значит вы сделали что-то неправильно. Специально для вас созданы две темы:
ESP8266, проблема с компиляцией скетча
ESP8266, проблема с загрузкой скетча
Читайте (ЧИТАЙТЕ! Не пишите!) эти темы, там уже есть решение вашей проблемы.
Здесь подобные вопросы считаются оффтопом и молча удаляются, а авторы получают баллы нарушений.
 
Последнее редактирование модератором:

Palpalych

Новичок
23.12.2019
434
253
63
@ssp1971, то есть замыкание на массу, HIGH_PULL, контакты естественно NORM_OPEN?
Попробуй подменить этот файл. Отпишись потом.
 

Вложения

Последнее редактирование:
@Palpalych, да пароль то как раз у меня стойкий =) просто когда роутер "Украина" регион был выбран. не хотело подключаться и отваливалось...
Сменил на США и все пашет, а я два дня голову ломал что же не так :( А да, на частоты пока всем пофигу.

Библиотеку качку, спасибо. Зависимость от библитек и версий это еще тот геморой :( Я так понимаю ваша прошивка она для приложения ГайверЛамп? Для LedLamp не будет работать или будет тоже?

Я еще почему насчет длинны пароля подумал, потому что есть еще https://github.com/vvip-68/GyverStringWiFi в приложении тут указано "пароль макс 16 символов", а у меня 21. вот бы еще тут как то пароль чтобы больше 16 символов сохраняло пофиксить... Если знаете и можете подсказать буду признателен.
 

Palpalych

Новичок
23.12.2019
434
253
63
@SoulBlighter, чисто теоретически, приложение от Gunner47 должно работать, но будут недоступны эффекты вне этого списка. Если выбирать эти эффекты кнопкой, то может быть приложение будет вылетать...

на счет пароля пока не разбирался, но учту на будущее, если дойдут руки до этого вопроса.
 
30.11.2019
41
12
8
@Palpalych, С 3-й версией прошивки лампа сразу появилась в сети, только не смог подключить к роутеру (правда поздно уже было долго не ковырялся).
Значит, моргает белый светодиод, затем красная и зелёная полоски, так продолжается н-ое количество раз, затем синии полоски и всё по новой.
Как я понял из вашего описания слабый сигнал, хотя если верить программке уровень сигнала в пределах 66-78 дб.
Вечером попробую сначала к точке доступа подключиться, затем к локальной. Посмотрим, что будет.
 
@ssp1971, Такая же история .Прошивал по разному. и скетчем и полной зачисткой . Шнурком и по воздуху ,при компиляции ошибок не было .
 
Последнее редактирование:
@Palpalych, После подмены файла ,лампа запускается и работает от кнопки. При нажатии 7 раз,переходит в режим точки доступа и все на этом . В этом режиме к ней возможно подключиться приложением ,тупо прописав адрес, Меню поиска сети wifi не выводит.
С кнопки прекрасно меняет эффекты в мониторе это хорошо видно))
 
30.01.2020
51
7
8
@Palpalych, вторая и третья версии- загружаются, но не работают:(. Красный светодиод потом зеленый и так покругу. Запись с полным стиранием. Снова загрузил первую- все работает!:)
 

Вложения

30.11.2019
41
12
8
@Vados2020, у нас с вами бракованная плата :)
хотя у меня со второй лампа в сети не появилась, а прошился по воздуху всё пучком
с третьей у меня немного дальше проходит после карсно зелёных попыток идёт набор синих, почти до верха доходит и по новой красный зелёный...
 

Palpalych

Новичок
23.12.2019
434
253
63
@Николай_викт, Есть 2 режима, так сказать, точки доступа - Это ESP_MODE 0 - это когда, допустим, забираете лампу в деревню, где напрямую можете с телефона управлять по адресу 192.168.4.1. Никакого выпадающего списка сетей не будет! Второй случай, когда ESP_MODE 1 - при нажатой кнопке при включении, временно лампа переходит в режим АП, чтобы как раз показать этот список для постоянного последующего подключения к роутеру.

@Vados2020, Попробуй пререлиз 4й беты, возможно поменялись некоторые функции, из-за которой она сбрасывается. На всякий случай проверь установки, в частности ленты (У меня она сейчас подпаяна на другой пин, возможно что он как-то задействован в твоей лампе)
 

Вложения

Palpalych

Новичок
23.12.2019
434
253
63
У кого сбрасывается 3 бета, пришлите логи примерно этого места, и укажите, на всякий тип платы.
1585211750301.png

еще, изменил
- единый Hostname для всех типов сетей LedLamp_XXXXXX, где XXXXXX - id контроллера
может по старому имени не появляется?
 

Palpalych

Новичок
23.12.2019
434
253
63
Все, понял что с загрузчиком.
На всякий случай, обновите wifi.manager до последней версии в диспетчере библиотек
Обновил версию беты до 04 - (короткая бета)
-поправлены значки в тексте перехода эффектов/бэкграунла
- вертикальная и горизонтальные радуги (новый движок)
 

Вложения

19.11.2019
31
3
8
Короче на второй день подключил к роутеру. А дело вот в чём, Palpalych пишет -"ESP_MODE 1 - при нажатой кнопке при включении". Нет так режим не включается, а включается он если включить лампу и когда загорится красный светодиод только тогда нажимаешь на кнопку и лампа заливается синим цветом и уже вводишь свой пароль от wifi. И ещё в приложении регулятор скорости работает на оборот во многих эффектах ,а эффект "snow" работает только верхний ряд светодиодов. У меня так по крайней мере.
 
19.01.2020
1
0
1
Добрый день, вчера собрал светильник, первый проект😉
Подскажите, видел в описании констант что есть возможность сделать звуковой будильник, будьте добры, подскажите новичку как это сделать)
Можно ли обновлять прошивку "по воздуху" если компьютер и лампа в одной сети, но компьютер подключен к роутеру по проводу?
 

Palpalych

Новичок
23.12.2019
434
253
63
@vitus73,
с кнопкой там такая фигня... Когда она опрашивается в цикле, то все понятно, а когда вручную, а тем более после инициализации, то нгепонятно в каком она состоянии, тем более для различных типов кнопок. Нет статистики нажата - не нажата, нажималась ли или нет, удерживается ли? Тем более, что при включении сенсорные могут еще какое-то время входить в режим... Сейчас вроде прописал алгоритм с несколькими опросами, чтобы исключить неоднозначности. Нужно посмотреть, как она будет вести себя дальше...
С регулятором другая фича - в классической схеме скорость зависела от задержки, у меня, для новых эффектов, реализован принцип в не зависящий от задержки поэтому индикатор с этой точки - правильный! ))) Попробую обойти эту "неисправность" в следующих релизах.