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

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

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

    ИгорьК Гуру

    На Гитхабе часы с датчиками DS18b20 и MZH19b.

    Часы на ESP32.

    upload_2024-10-24_16-18-54.png

    Сохраняется подход из первого поста - меньше мультипликации и ненужных данных. Существенно изменены две вещи: (1) вывод информации (2) погодный сервер.

    1. Поскольку Lua не работает с числами в двоичном формате, в часах на ESP-8266 приходилось считать циферки, пусть и нехитрым, но очень неинформативным способом. ESP32 имеет много памяти, и вывод данных организован через работу со string. Как оказалось, этот string преобразуется в разные ништяки еще удобнее чем двоичный формат.

    Теперь при выводе времени у цифр нет знакомест. Все складывается в один блок.

    Плата за удобство - больше места в памяти. Но чего ее жалеть?

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

    Код, как мне кажется, очень простой.

    --------

    2. Погода переехала на Open Meteo, благодаря тов @Voik . Плюсов этого решения несколько, но с точки зрения юзера - не нужна регистрация и получение ключа. Нужны только координаты.

    --------

    Из менее важного.

    Данные о текущей уличной температуре можно получать со своего уличного датчика через mqtt. Они имеют приоритет перед данными с Народного Мониторинга. Если нет ни тех ни других - улица получается от Open Meteo.

    Данные о температуре в помещении можно получать с mqtt брокера, и они имеют приоритет перед данными с датчика.

    Часы публикуют информацию на народный мониторинг.

    ----

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

    Все что есть публикуется на MQTT брокер.
    -----

    Но. За все приходится... Работать с ESPlorer уже не получится, и потребуется установка VSCode или VSCodium.
     
    Последнее редактирование: 28 окт 2024
    Voik нравится это.
  2. ИгорьК

    ИгорьК Гуру

    1. Прошивка Lua находится в папке bin.

    Шьем через Flash Download Tool так:
    upload_2024-10-24_15-38-19.png

    2. VSCode/VScodium обязательна установка двух плагинов:

    upload_2024-10-24_15-49-36.png

    3. После установки плагинов появляется такая вкладка:
    upload_2024-10-24_15-52-36.png

    Через манипуляции с мышью вы подключаетесь к микроконтроллеру.
    4. Находим папку .output и правой мышью делаем так:

    upload_2024-10-24_16-0-46.png

    Должна пройти загрузка файла, кое-какие действия и МК перезагрузится. Обязательно должен перезагрузиться.

    5. Правим файл:
    upload_2024-10-24_16-2-54.png

    6. Правой кнопкой мыши отправляем файл на МК:
    upload_2024-10-24_16-4-8.png

    7. Таким же образом отправляем файлы из двух папок:
    upload_2024-10-24_16-5-27.png

    8. Жмем кнопку и оно должно работать:
    upload_2024-10-24_16-6-22.png

    9. Если работает, жмем:
    upload_2024-10-24_16-7-7.png

    и забываем о происходящем.

    Другие пояснения и работа над ошибками в следующий раз.

     
    Последнее редактирование: 24 окт 2024
    Voik нравится это.
  3. Voik

    Voik Гик

    Таки придётся заказать платку и поковырять код - хобби такое ;)
    Благодарю!
    З.ы. если памяти много, то, может быть, удастся реализовать веб-интерфейс для забития первичных настроек, как-то: wi-fi и долгота/широта?
     
    Последнее редактирование: 24 окт 2024
    ИгорьК нравится это.
  4. ИгорьК

    ИгорьК Гуру

    В коде присутствуют драйвера для DS18b20, MZH19b, SPS30, SCD41 НО эта версия под первые два. (Драйвера там все равно есть)

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

    Когда-нибудь сделаю...

    Позже, на следующей неделе пообъясняю что и как там править.
     
    Voik нравится это.
  5. ИгорьК

    ИгорьК Гуру

    Оно как обычно и без датчиков работает, кстати. Только ESP и MAX7219
     
    Voik нравится это.
  6. Voik

    Voik Гик

    Я так и думаю.
    Когда-то хотел я измерять СО2 другим проектом. И даже прикупил для этого модуль сенсора SCD30 от компании Sensirion.
    Так что может и с него удастся данные получить...
     

    Вложения:

    ИгорьК нравится это.
  7. Voik

    Voik Гик

    Сегодня произошел шторм, и в результате этого временно пропало электроснабжение.
    После восстановления подачи тока часы сразу же пытаются подключиться к Wi-Fi и зависают (надпись "Думаю"), потому что роутер еще не готов к работе.
    Думаю, что стоит сделать паузу в две-три минуты после включения, чтобы дать возможность роутеру полностью запуститься и войти в рабочее состояние. Это может помочь избежать проблем с подключением и обеспечить стабильную работу часов
    Это всё про прошлые версии, до esp32 не добрался ещё...
     
    ИгорьК нравится это.
  8. ИгорьК

    ИгорьК Гуру

    Знаю об этой проблеме. С ESP32 этого не будет. Старые часы - там немного не так сделать надо. Чуть позже покажу что исправить.
     
    Voik нравится это.