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

WiFi лампа-будильник. Обсуждение приложения от KOTEYKA
Обсуждение приложения для лампы от KOTEYKA

ЗДЕСЬ ОБСУЖДАЕТСЯ ТОЛЬКО РАБОТА ПРИЛОЖЕНИЯ FireLamp

Альтернатива приложению LedLamp от Gunner47
Делалось под прошивку от Gunner47, но работает и с некоторыми другими

Правила темы:
Прежде, чем задать вопрос, пройдитесь по теме, возможно ответ на него уже есть.
Поищите ответ на свой вопрос в шапке темы.
Если отвечаете кому-то, не цитируйте всё сообщение. Цитируйте только строку или часть строки, на которую будет Ваш ответ.
Если Вы считаете ваше сообщение важным и его нужно поднять в шапку, пишите мне в личку с пометкой "Сообщение в шапку"


ЕСЛИ У КОГО-ТО ЭЛЕМЕНТЫ ПРИЛОЖЕНИЯ НЕ ВМЕЩАЮТСЯ В ЭКРАН, ПРОСЬБА ОТПРАВЛЯТЬ СКРИН ЭТОГО ЭКРАНА
С УКАЗАНИЕМ РАЗРЕШЕНИЯ ВАШЕГО ТЕЛЕФОНА


ПО ВОПРОСАМ РАБОТЫ ПРОШИВОК ИДЕМ В ЭТУ ТЕМУ

ПОСЛЕДНЯЯ ВЕРСИЯ 3.2.4 от 19.09.2021 (последние изменения ниже, последние в списке)
Изменения не всегда пополняются!!!


1. Текст для бегущей строки сохраняется в памяти телефона.
2. Сетка для рисования оптимизирована под разные разрешения.
3. Реализована возможность сохранения различных конфигураций настроек (до пяти) в файлы
4. Добавлена кнопка "СБРОСИТЬ WIFI" в настройках соединения. Для тех, кто хочет перенести лампу в другую сеть, но не имеет физической кнопки или она отключена в константах.
5. Реализована функция авто обновления приложения. При запуске проверяется наличие новой версии. Если есть обновление, то предлагает обновить.
6. Исправлена выгрузка настроек эффектов в лампу и выводится информация об изменениях при авто проверке обновлений.
7. Проверка обновлений теперь только раз в сутки при первом запуске.
8. Добавлены виброотклики при переключении эффектов и при поиске лампы (если лампа найдена)
9. Меню приложения сделано боковым.
10. Эффект "Смена цвета" - сделана более медленная смена цветов
11. Исправлен вылет приложения если количество эффектов в лампе больше, чем в приложении
12. Настройки приложения и Настройки эффектов теперь в разных меню
13. Добавлен переключатель "Использовать вибро"
14. Таймер увеличен до 3-х часов
15. При выходе из режима рисования любым способом (кроме сворачивания) рисование отключается
16. Добавлена возможность изменения толщины, цвета и размера регуляторов (пока только круглых)
17. Меняются цвета прямых регуляторов
18. Добавлен интерфейс НЕОН (свечение элементов)
19. Выводит имя лампы при поиске
20. Добавлен украинский язык

Screenshot_2020-04-03-11-56-48-594_com.koteyka.superfirelamp.jpg Screenshot_2020-04-03-11-56-54-959_com.koteyka.superfirelamp.jpg Screenshot_2020-04-03-11-57-01-294_com.koteyka.superfirelamp.jpg Screenshot_2020-04-03-11-57-37-620_com.koteyka.superfirelamp.jpg Screenshot_2020-04-03-11-57-47-615_com.koteyka.superfirelamp.jpg Screenshot_2020-04-03-11-57-57-603_com.koteyka.superfirelamp.jpg
Screenshot_2020-04-03-11-58-24-170_com.koteyka.superfirelamp.jpg Screenshot_2020-04-03-11-58-41-901_com.koteyka.superfirelamp.jpg Screenshot_2020-04-03-11-59-01-773_com.koteyka.superfirelamp.jpg Screenshot_2020-04-03-11-59-35-546_com.koteyka.superfirelamp.jpg Screenshot_2020-04-03-11-59-48-707_com.koteyka.superfirelamp.jpg Screenshot_2020-04-03-11-59-56-989_com.koteyka.superfirelamp.jpg
НОВЫЙ (МНОГОЯЗЫЧНЫЙ) САЙТ С ПРИЛОЖЕНИЕМ И ПРОШИВКОЙ
На новом сайте в разделе ЗАГРУЗКИ все ссылки.
Старый сайт пока функционирует, но все обновления будут уже на новом

ГЕНЕРАТОР ТЕКСТОВОГО ФАЙЛА НАСТРОЕК ЭФФЕКТОВ для просмотра примера введите [email protected] и нажмите загрузить

Приложение в Google Play
 
Изменено:

Комментарии

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
935
556
54
Днепр, Украина
firelamp.pp.ua
Обсуждение приложения для лампы от KOTEYKA

ЗДЕСЬ ОБСУЖДАЕТСЯ ТОЛЬКО РАБОТА ПРИЛОЖЕНИЯ FireLamp

Альтернатива приложению LedLamp от Gunner47
Делалось под прошивку от Gunner47, но работает и с некоторыми другими

Правила темы:
Прежде, чем задать вопрос, пройдитесь по теме, возможно ответ на него уже есть.
Поищите ответ на свой вопрос в шапке темы.
Если отвечаете кому-то, не цитируйте всё сообщение. Цитируйте только строку или часть строки, на которую будет Ваш ответ.
Если Вы считаете ваше сообщение важным и его нужно поднять в шапку, пишите мне в личку с пометкой "Сообщение в шапку"


ЕСЛИ У КОГО-ТО ЭЛЕМЕНТЫ ПРИЛОЖЕНИЯ НЕ ВМЕЩАЮТСЯ В ЭКРАН, ПРОСЬБА ОТПРАВЛЯТЬ СКРИН ЭТОГО ЭКРАНА
С УКАЗАНИЕМ РАЗРЕШЕНИЯ ВАШЕГО ТЕЛЕФОНА


ПО ВОПРОСАМ РАБОТЫ ПРОШИВОК ИДЕМ В ЭТУ ТЕМУ

ПОСЛЕДНЯЯ ВЕРСИЯ 3.2.4 от 19.09.2021 (последние изменения ниже, последние в списке)
Изменения не всегда пополняются!!!


1. Текст для бегущей строки сохраняется в памяти телефона.
2. Сетка для рисования оптимизирована под разные разрешения.
3. Реализована возможность сохранения различных конфигураций настроек (до пяти) в файлы
4. Добавлена кнопка "СБРОСИТЬ WIFI" в настройках соединения. Для тех, кто хочет перенести лампу в другую сеть, но не имеет физической кнопки или она отключена в константах.
5. Реализована функция авто обновления приложения. При запуске проверяется наличие новой версии. Если есть обновление, то предлагает обновить.
6. Исправлена выгрузка настроек эффектов в лампу и выводится информация об изменениях при авто проверке обновлений.
7. Проверка обновлений теперь только раз в сутки при первом запуске.
8. Добавлены виброотклики при переключении эффектов и при поиске лампы (если лампа найдена)
9. Меню приложения сделано боковым.
10. Эффект "Смена цвета" - сделана более медленная смена цветов
11. Исправлен вылет приложения если количество эффектов в лампе больше, чем в приложении
12. Настройки приложения и Настройки эффектов теперь в разных меню
13. Добавлен переключатель "Использовать вибро"
14. Таймер увеличен до 3-х часов
15. При выходе из режима рисования любым способом (кроме сворачивания) рисование отключается
16. Добавлена возможность изменения толщины, цвета и размера регуляторов (пока только круглых)
17. Меняются цвета прямых регуляторов
18. Добавлен интерфейс НЕОН (свечение элементов)
19. Выводит имя лампы при поиске
20. Добавлен украинский язык

Screenshot_2020-04-03-11-56-48-594_com.koteyka.superfirelamp.jpg Screenshot_2020-04-03-11-56-54-959_com.koteyka.superfirelamp.jpg Screenshot_2020-04-03-11-57-01-294_com.koteyka.superfirelamp.jpg Screenshot_2020-04-03-11-57-37-620_com.koteyka.superfirelamp.jpg Screenshot_2020-04-03-11-57-47-615_com.koteyka.superfirelamp.jpg Screenshot_2020-04-03-11-57-57-603_com.koteyka.superfirelamp.jpg
Screenshot_2020-04-03-11-58-24-170_com.koteyka.superfirelamp.jpg Screenshot_2020-04-03-11-58-41-901_com.koteyka.superfirelamp.jpg Screenshot_2020-04-03-11-59-01-773_com.koteyka.superfirelamp.jpg Screenshot_2020-04-03-11-59-35-546_com.koteyka.superfirelamp.jpg Screenshot_2020-04-03-11-59-48-707_com.koteyka.superfirelamp.jpg Screenshot_2020-04-03-11-59-56-989_com.koteyka.superfirelamp.jpg
НОВЫЙ (МНОГОЯЗЫЧНЫЙ) САЙТ С ПРИЛОЖЕНИЕМ И ПРОШИВКОЙ
На новом сайте в разделе ЗАГРУЗКИ все ссылки.
Старый сайт пока функционирует, но все обновления будут уже на новом

ГЕНЕРАТОР ТЕКСТОВОГО ФАЙЛА НАСТРОЕК ЭФФЕКТОВ для просмотра примера введите [email protected] и нажмите загрузить

Приложение в Google Play
 
Изменено:

Sierra

✩✩✩✩✩✩✩
13 Янв 2020
3
3
Доброго дна всем )) Подскажите пожалуйста, вылетает приложение при сохранений ип лампы. В дальнейшем при попытке открыть приложение вылетает сразу. Отключаешь вайфай на телефоне приложение открывается. То есть вылет происходит именно когда сохраняешь адрес ... Кто ни будь подскажите пожалуйста решение проблемы.
 

Сотнег

★★★★★★★
15 Янв 2020
4,340
1,492
@Sierra,
в Часто возникающих вопросах есть, вроде бы, про вашу проблему.
Это в описании прошивки, где ссылка на архив с прошивкой.
 
  • Лойс +1
Реакции: Sierra

Rothmans13

✩✩✩✩✩✩✩
27 Июн 2020
15
0
Скиньте файл инструкции, в шапке не грузится, не могу включить лампу!
 

Сотнег

★★★★★★★
15 Янв 2020
4,340
1,492
Скиньте файл инструкции, в шапке не грузится, не могу включить лампу!
 

Rothmans13

✩✩✩✩✩✩✩
27 Июн 2020
15
0
ребят не работает, точнее к лампе в настройках вайфай подключился, загрузил эффекты из лампы, все переключает, но это я так понимаю в режиме точка доступа! в браузере вбиваю адрес 192.168.4.1 и оно негрузится, хочется в режиме роутера, второй день бьюсь, подскажите!
 

Сотнег

★★★★★★★
15 Янв 2020
4,340
1,492
@Rothmans13, а почему не читаете Часто возникающие вопросы?
В описании прошивки есть. Там, где вы ссылку на архив брали.
 
Изменено:

SergLightman

✩✩✩✩✩✩✩
31 Июл 2020
47
7
Здравствуйте, можно ли в программе реализовать выбор режима "цикл", как в аудио проигрывателе, - - по порядку/случайно, для выбранных эффектов? И ввести соответствующий переключатель в окне настройки цикла. БлагоДарю.
 
Изменено:

alvikskor

★★★✩✩✩✩
18 Янв 2021
388
130
Днепр. Украина
@Koteyka 🐱, Добрый день. Я добавляю управление режимом Цикл в web интерфейс прошивки, и в процессе тестирования обнаружил небольшой баг приложения, Выключатель режима Цикл на главном экране приложения обновляет своё состояние только при старте самого приложения. Если после запуска приложения изменить состояние режима цикл (переменная FavoritesRunning) , например из web интерфейса, то переключатель в приложении не меняет своего состояния после захода в настройки режима Цикл приложения. Остальные элементы ("Запомнить состояние", "Интервал смены эффектов", "+случайное время", выбор эффектов) нормально реагируют. При изменении извне соответствующих им переменных и заходе в настройки режима Цикл , меняют своё состояние. Строка по GET запросу приложения формируется правильно (первая цифра меняется в зависимости от состояния FavoritesRunning) но переключатель состояния Цикла на это реагирует только при старте приложения. Если не затруднит , поправьте пожалуйста. Для тестов можно взять моё приложение отсюда. Это пока не релизная версия, но часть по управлению циклом готова.
 
  • Лойс +1
Реакции: kDn

alvikskor

★★★✩✩✩✩
18 Янв 2021
388
130
Днепр. Украина
Дело в том, что прошивка на запрос GET не отдает состояние режима цикл.
Вы не внимательно читали мой пост.
Строка по GET запросу приложения формируется правильно (первая цифра меняется в зависимости от состояния FavoritesRunning) но переключатель состояния Цикла на это реагирует только при старте приложения.
Просто нужно проверять её во всех GET запросах, а не только в первом (при старте приложения).
 

Сотнег

★★★★★★★
15 Янв 2020
4,340
1,492
@alvikskor,
вы что-то путаете.
В обычном GET-запросе нет информации о цикле.
Оно всё в запросе FAV.
C-like:
void sendCurrent(char *outputBuffer)
{
  sprintf_P(outputBuffer, PSTR("CURR %u %u %u %u %u %u"),
    currentMode,
    modes[currentMode].Brightness,
    modes[currentMode].Speed,
    modes[currentMode].Scale,
    ONflag,
    espMode);
 

alvikskor

★★★✩✩✩✩
18 Янв 2021
388
130
Днепр. Украина
@SergLightman, можно, но нужно и в прошивке прописать необходимый код
Это по поводу переключения эффектов в цикле по порядку/случайно. @Сотнег и все желающие, кто в теме , подключайтесь. Нужно придумать совместимый способ передачи в приложение и из приложения состояния переменных static bool rndCycle;// Перемешивать цикл или нет и uint8_t random_on;//Случайные настройки эффектов в цикле. Тип переменной random_on может быть bool. Если не поддерживать совместимость со старыми (включая текущую) версиями приложения, то можно просто первую цифру строки состояния , передающую состояние переменной FavoritesRunning, сделать от 0 до 8 и переменные привязать к соответствующему биту. Но тогда старые приложения всегда будут обнулять переменные привязанные к первому и второму битам. Даже если эти переменные изменить, например в web интерфейсе. А хочется совместимость вниз. Прошу предлагать идеи.
 

Сотнег

★★★★★★★
15 Янв 2020
4,340
1,492
@alvikskor,
Состояния, которые не требуют постоянной актуальности, можно выделить в отдельную команду для запроса.
Типа "RND_G".
И в ответ на него передавать все состояния (включен или нет "random=on" и ваше второе).
Смену состояния тоже лучше в команды "RND" добавить.

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

alvikskor

★★★✩✩✩✩
18 Янв 2021
388
130
Днепр. Украина
вы что-то путаете.
Да возможно. Я имел ввиду этот метод
C++:
    static void SetStatus(char* statusText)                 // помещает в statusText состояние режима работы избранных эффектов
    {
      char buff[6];
      strcpy_P(statusText, PSTR("FAV "));

      itoa(FavoritesRunning, buff, 10);
      strcat(statusText, buff);
      strcat_P(statusText, PSTR(" "));
      buff[0] = '\0';

      itoa(Interval, buff, 10);
      strcat(statusText, buff);
      strcat_P(statusText, PSTR(" "));
      buff[0] = '\0';

      itoa(Dispersion, buff, 10);
      strcat(statusText, buff);
      strcat_P(statusText, PSTR(" "));
      buff[0] = '\0';

      itoa(UseSavedFavoritesRunning, buff, 10);
      strcat(statusText, buff);
      strcat_P(statusText, PSTR(" "));
      buff[0] = '\0';

      for (uint8_t i = 0; i < MODE_AMOUNT; i++)
      {
        itoa(FavoriteModes[i], buff, 10);
        strcat(statusText, buff);
        if (i < MODE_AMOUNT - 1) strcat_P(statusText, PSTR(" "));
        buff[0] = '\0';
      }
Он вызывается при приходе комманды FAV. Меня монитор сбил с толку видимо. Или спать сильно хотелось :)
 
Изменено:

alvikskor

★★★✩✩✩✩
18 Янв 2021
388
130
Днепр. Украина
Смену состояния тоже лучше в команды "RND" добавить.
Если речь о состоянии Цикл вкл/выкл , то оно уже передаётся (см. выше) . Хотя можно и добавить, чтобы были в одной группе . А за одно и состояние переключателя static uint8_t UseSavedFavoritesRunning;// флаг, определяющий, нужно ли использовать сохранённое значение FavoritesRunning при перезапуске; еслин нет, "избранное" будет выключено при старте. И делать этот запрос , скажем, раз в секунду, как компромис. Чтобы сильно не напрягать контроллер и пользователя ожиданием.

PS: И тогда надо будет сделать команду RND_S для установки этих переменных. Можно , конечно, передавать их вместе с RND_G, но тогда каждый раз нужно будет её парсить и устанавливать переменные. А это некоторый груз для контроллера каждую секунду.
 
Изменено:

Сотнег

★★★★★★★
15 Янв 2020
4,340
1,492
делать этот запрос , скажем, раз в секунду
Не понял, зачем каждую секунду вам что-то нужно актуализировать.
Если беспокоитесь, чтобы веб-интерфейс синхронизировался с приложением, то предлагаю на это забить.
Пускай приложение один раз делает запрос после своего открытия (если было свёрнуто или перезапущено).
 

alvikskor

★★★✩✩✩✩
18 Янв 2021
388
130
Днепр. Украина
Если беспокоитесь, чтобы веб-интерфейс синхронизировался с приложением, то предлагаю на это забить.
Так не интересно. Вы сколько раз объясняли пользователям про переключатель отключающий кнопку лампы, который тоже не синхронизируется с лампой.

PS: Кстати , по состоянию на сейчас, web интерфейс корректно видит все изменения состояния лампы со всех источников этих изменений. Я больше за приложение переживаю. Но , в принципе, если это никому не надо, могу и забить. :)
 
Изменено:

Сотнег

★★★★★★★
15 Янв 2020
4,340
1,492
@alvikskor,
люди чаще лампой из приложения с двух разных телефонов управляют.
Так и то, никто не жаловался на рассинхрон.

А у вас вопрос про одновременное использование двумя разными интерфейсами на двух разных устройствах.
 

alvikskor

★★★✩✩✩✩
18 Янв 2021
388
130
Днепр. Украина
люди чаще лампой из приложения с двух разных телефонов управляют.
Так в этом случае тоже рассинхронизация будет в приложениях. Вообще- то, я думал, что этот вопрос, прежде всего для вас интересен будет. И хотел поучаствовать. У меня - то в веб всё синхронизировано. Хоть с десяти браузеров управляй и приложениями помогай. Только страничку обновить надо. А ваш вариант прошивки только из приложения управляется. Вот ему бы и не помешала бы нормальная работа интерфейса приложения и дополнительные функции.
PS: Мы с вами делим шкуру не убитого медведя. Запрос приложение слать будет. Приложением занимается @Koteyka 🐱 . Он и будет решать , как часто этот запрос отправлять. :)
 

Сотнег

★★★★★★★
15 Янв 2020
4,340
1,492
@alvikskor, запрос GET и так терроризирует плату постоянно.

Он это, кстати, раз в 2 секунды делает, а не каждую.

Если расширять список непрерывно передаваемых статусов, тогда нужно их добавлять в GET.
Как быть с обратной совместимостью - не знаю. Наверное, для второй версии протокола общения нужно использовать GE2 (get 2.0) или типа того.
 

alvikskor

★★★✩✩✩✩
18 Янв 2021
388
130
Днепр. Украина
Как быть с обратной совместимостью - не знаю. Наверное, для второй версии протокола общения нужно использовать GE2 (get 2.0) или типа того.
При старте приложение выдаёт запрос GE2 (или что-то типа того) . Если получает на него ответ, то дальше его и шлёт этой лампе. Если ответа нет (На 2-3 запроса на всякий случай), значит лампа со старой прошивкой и шлёт ей старый запрос GET.
 

Dhorohiy

★✩✩✩✩✩✩
30 Июл 2020
41
10
@Koteyka 🐱, а почему в Play market обычном поиске приложение не ищется? Случайно ограничений по регионам нету? (если что я с Украины)