Часы на NodeMCU Lua + MAX7219 минус все лишнее.

Тема в разделе "Глядите, что я сделал", создана пользователем ИгорьК, 4 сен 2018.

Метки:
  1. mikhail09p

    mikhail09p Гик

    Здравствуйте, Игорь.
    Вот что сегодня вылезло.
    Не уплатил я интернет. Где то пол дня не было инета. WI-FI точка была включена.
    Часы от питания не отключались (вроде как...) Была надпись - "думаю". По чему я и увидел, что нету инета...
    То есть они точку видели и не смогли подключится и вывалились?
    Когда точки нету, они тИкают, я тоже проверил - день работали.
     
  2. ИгорьК

    ИгорьК Гуру

    Видишь какая фигня - у меня если есть wifi - значит и интернет есть. Поэтому в таком режиме часы не тестировались.

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

    Но. Уже работает 4 версия, где я эту проблему (наверно) решил и может завтра опубликую. Почему наверно? Потому что кое-что зависит и от реализации этого модуля разработчиками. Но глубокого тестирования на длительное отсутствие интернета при наличии wifi я проводить не буду все таки. Суть часов - качать время из Интернета, не так ли.
    В 4 версии - данные по MQTT и приоритет температуры в парной. Ну и еще пару фич.
     
  3. mikhail09p

    mikhail09p Гик

    А когда ресурс кончается? Как узнать?
     
  4. ИгорьК

    ИгорьК Гуру

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

    По крайней мере я не увидел такого способа.
    Однако кое-что в новой версии поправил. Насколько это эффективно для такой ситуации - проверите если хотите.

    Если это для вас типовая ситуация - можно отказаться от проверки по ntp и брать время из заголовков ответов серверов.
    Или вернуться к пингованию серверов. В общем, решения есть.
     
  5. mikhail09p

    mikhail09p Гик

    Это немного сложно...
     
  6. mikhail09p

    mikhail09p Гик

    Когда можно увидеть новую версию?
     
  7. ИгорьК

    ИгорьК Гуру

    Выложу сегодня. А вот расписать пошаговую настройку времени не будет точно.
     
  8. ИгорьК

    ИгорьК Гуру

    Не боги горшки обжигает. Вопрос - состоит ли овчинка выделки.
    В данном случае, перезагрузка и останов часов сыграли доброе дело - указали что интернет не проплачен . Может так даже и хорошо? Не последние же часы в доме :)

    Обнаружилась недокументированная функция :)
     
    mikhail09p нравится это.
  9. ИгорьК

    ИгорьК Гуру

    Версия 4.
    Добавлено (видимые изменения, код переделан существенно).
    • прием данных об уличной температуре от MQTT брокера. Имеет приоритет над narodmon.ru и выключает его;
    • прием данных о температуре в парной и вывод их вместо всего, пока температура держится выше 40 градусов (ради этого изменение и затевалось), когда температура выше 60 - часы мерцают, слегка изменяя яркость;
    • передача на брокер тучи информации;
    • внесение изменения в код через сетку.
    Если не заполнены данные по бане - естественно работает без них.
    Если не заполнены данные по mqtt датчику температуры - работает как версия 3.
    Если не заполнены данные по Народу - работает как версия 1.

    Однако данные по mqtt брокеру заполнять надо - туда гонится отчетная информация и, в частности, о времени и причине перезагрузки.

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


    Если вам не нужны функции этих часов - используйте первую или третью версии.

    Вот оно как выглядит со стороны подписчика:
    upload_2019-4-19_9-43-18.png

    В парной:
    SmartSelect_20190422-230626_Photos.jpg
     

    Вложения:

    Последнее редактирование: 19 май 2019
  10. ИгорьК

    ИгорьК Гуру

    Править файлы через notepad++(!!!):
    _wifi.lua:
    upload_2019-4-19_10-11-56.png

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

    setusers.lua:

    upload_2019-4-19_10-8-56.png
    dat.clnt - Имя вашего mqtt клиента
    wth.city - Местность, где находятся часы (отправка на брокер, просто информация)
    dat.mqt - подписка на уличный термометр
    dat.ban - подписка на термометр в парной

    mqtt.set:
    upload_2019-4-19_10-5-6.png


    _narodask.lua:
    upload_2019-4-19_10-6-15.png

    _apixuask.lua:
    upload_2019-4-19_10-7-15.png

    Файлы _narodask.lua и _apixuask.lua можно запускать для проверки без запуска всей программы, при условии, что интернет уже настроен через файл _wifi.lua.
     
    Последнее редактирование: 23 апр 2019
    mikhail09p нравится это.
  11. eevgeniy1957

    eevgeniy1957 Нерд

    Здравствуйте! После замены 1003 кода на "Дымка" все работает, но раньше при хорошей погоде показывало "Ясно", теперь показывает "Дымка", "Ясно" ни разу не вылезло, может весна влияет, посмотрим что будет летом)
     
  12. ИгорьК

    ИгорьК Гуру

    Ну... Поверьте, 1003 - это именно "ясно" :)
     
    mikhail09p и eevgeniy1957 нравится это.
  13. mikhail09p

    mikhail09p Гик

    Ну так Вы же сами сделали - 1003 = "Дымка" ! :)
    Исправьте - 1003 = "Ясно" и будет солнышко!
    Я себе ещё добавил "Хмарки" - я с Украины. И "Дощик" - это если маленький. :)
     
    eevgeniy1957 и ИгорьК нравится это.
  14. eevgeniy1957

    eevgeniy1957 Нерд

    Мне казалось, что 1000 - это "Ясно" а 1003 - это "Дымка" или я не прав?
     
  15. ИгорьК

    ИгорьК Гуру

    Прав. Но apixu слишком часто отличную погоду показывает как 1003. Чаще чем на самом деле.
     
    eevgeniy1957 нравится это.
  16. eevgeniy1957

    eevgeniy1957 Нерд

    Спасибо, Игорь.
     
  17. fotograf17

    fotograf17 Нуб

    Здравствуйте, подскажите, пожалуйста. Можно ли как-то подключить к этой плате? Я всё вроде прошил, но как подключить к имеющимся на этой плате пинам к модулю MAX7219 мне совершенно непонятно. Я так понимаю, у меня нет пинов D5,D7,D8? Можно ли что-то сделать? Ссылка на распиновку платы https://robotdyn.com/pub/media/0G-0...0005215==UNO+WiFi-R3-AT328-ESP8266-CH340G.pdf, ссылка на сайт платы https://robotdyn.com/uno-wifi-r3-atmega328p-esp8266-32mb-flash-usb-ttl-ch340g-micro-usb.html

    [​IMG]
     
  18. ИгорьК

    ИгорьК Гуру

    К сожалению, нет. В часах задействован железный SPI и поменять обязательные 5 (CLK) и 7 (MOSI) ноги нельзя. Ногу 8 изменить можно, но это уже не поможет.
    В вашей плате выведенные GPIO14 и GPIO13 не обнаруживаются.

    Вот ваши:

    SmartSelect_20190509-061054_FBReader Premium.jpg


    Вот необходимые:

    [​IMG]

    ИМХО, лучшая плата для этих часов - здесь. (И она там практически всегда есть). Из Китая лишь чуть дешевле, но дольше.

    Не думаю, что стоит расстраиваться, поскольку с такой огромной платой сделать приличные готовые часы вряд ли возможно, ибо по размерам она больше матрицы. А навык заливки вы уже получили и, по-видимому, у вас все работает.
     
    Последнее редактирование: 9 май 2019
    fotograf17 нравится это.
  19. fotograf17

    fotograf17 Нуб

    Спасибо за ответ, Игорь! Теперь всё понятно, я и сам хотел для часов использовать другую плату, сейчас просто как временный вариант хотелось попробовать на той плате, что есть у меня.
     
  20. maxbarich

    maxbarich Нуб

    Приветствую всех, подскажите, работали часики работали, сегодня встали, " Думаю" и все. В порт шлет
    Got Internet!
    NTP failed!
    Как лечить ? к wi-fi подключен , погоду считывает.