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

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

Метки:
  1. ИгорьК

    ИгорьК Гуру

    Это мусор, хвостом остался. Уберу.

    Для нормального запуска часов не возбраняется указывать зону времени.
    Она действительно присутствует в двух местах. В init.lua глобальная переменная удаляется после выполнения _setuser.lua, где либо будет новая, либо дефолтная.

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


    Это может влиять. Я поправлю.

    Не нужен народный мониторинг - комментируем ключи, и таблица ни на что не влияет.

    (Сейчас в другом проекте, голова уже далека от этих часов. Я сделал то их давненько, минимум полгода, только опубликовал недавно)
     
    Последнее редактирование: 14 ноя 2024 в 14:16
    Voik нравится это.
  2. Voik

    Voik Гик

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

    Если кому интересно:
    в _setuser.lua дописать переменную kaunter=20
    20 (примерно 20 секунд) можно менять как хотите, но натуральное число.

    В main.lua находим
    строку 8 и меняем local counter = 0 на local counter = -1 * kaunter
    в строке 92 меняем counter = 1 на counter = -1 * kaunter

    Хотя можно и без переменной просто подкорректировать в main.lua строки 8 и 92 на отрицательное число.
     
    Последнее редактирование: 14 ноя 2024 в 16:33
    ИгорьК нравится это.
  3. ИгорьК

    ИгорьК Гуру

    В функции tiktak() переменная counter показывает когда меняются показания. Можно поменять числа и условия показа там как нравится.

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

    Voik Гик

    Скажите пожалуйста в чём разница между
    dat.nghtmod и dat.shownight?

    Ещё есть в коде dat.askw. Используется в это1 версии?
    это в тестах
     
    Последнее редактирование: 15 ноя 2024 в 13:46
    ИгорьК нравится это.
  5. ИгорьК

    ИгорьК Гуру

    Это предпосылка к рефакторингу. :) Остаток от прошлых задумок. Ни в чем не участвует.

    Смотрите как удобно отвечать на такие вопросы в VS Code:
    upload_2024-11-15_20-50-42.png

    Видно, что переменная есть только в файле установки и старом main.lua, что остался в папке test.


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

    Спасибо вам огромное за внимание к коду.

    ============================


    Часы рождались так.

    Сначала была ESP8266 и интерес научиться работать с MAX7219 - сделал.
    Надо что-то отражать: время - сделал.
    Можно забрать данные с народного мониторинга - забрал.
    Можно забрать данные с MQTT - забрал.
    Можно отправлять данные на брокер и в Home Assistant - сделал.
    Можно отправить данные на Народный мониторинг - отправил.
    Можно взять погоду с сервера - взял.
    Включил несколько датчиков, оставил DS18b20.

    Посмотрел на другие часы - подход изменился. Потом опять изменился. Вы сделали ряд дельных предложений и замечаний.

    С другой стороны - проект достаточно большой.

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

    Хотя на ESP32 код значительно переписан и не просто для МК, а где-то наполовину концептуально.

    То есть, никакой особой изначальной концепции
     
    Последнее редактирование: 15 ноя 2024 в 21:52
    Voik нравится это.
  6. Voik

    Voik Гик

    Благодарю Вас за ответ!
    У меня ещё вопрос про синхронизацию времени: как часто идёт обращение к ntp серверу?
    Ибо в коде я нашёл только единыжды: в _init.lua time.initntp()
     
    ИгорьК нравится это.
  7. ИгорьК

    ИгорьК Гуру

    Модуль time подразумевает только запуск службы ntp, синхронизация осуществляется автоматически.

    Кстати, ко мне приехала пара SCD30 :) Скоро можно ожидать применения.
     
    Voik нравится это.