Часы на ESP-01(NodeMCU) + MAX7219 + WEB интерфейс

Тема в разделе "Глядите, что я сделал", создана пользователем IvanUA, 28 авг 2017.

  1. Oleksandr54

    Oleksandr54 Нерд

  2. Oleksandr54

    Oleksandr54 Нерд

    Эксперименты с памятью не помогли, видно NodeMcu бракованный. Перешел на ESP-12, сейчас тестирую. И заметил один косяк: погода на завтра может проскакивать от одного до больше десяти раз подряд (на NodeMcu тоже такое замечал). Где подправить в скетче?
     
  3. IvanUA

    IvanUA Гик

    Сегодня тоже поймал глюк со сбросом настроек.
    В файле конфигурации все стерто. Удалил файл - вернулся к начальным установкам.
    У меня пока два предположения, или глюк в FS.h или в ArduinoJson.h
    От FS.h можно уйти если переписать программу и для хранения данных использовать жестко закрепленные ячейки памяти.
    От ArduinoJson.h - тоже есть куча примеров как самому собирать и разбирать эти строки.
    NodeMcu использует туже ESP-12. Разница может быть только в объеме памяти.

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

    PPS. У меня последнее время складывается устойчивое чувство что ESP-12 - еще как-то сыровата. Иногда вылезают совершенно неожиданные глюки (это я о других своих игрушках). И я все больше убеждаюсь что надо уходить от использования библиотек - к написанию конкретного блока кодов под конкретную ситуацию.

    PPPS И вдогонку возникла вот такая вот мысль.
    Попробуйте закомментировать строку 427 (// saveConfig();)
    При этом значения часов не будут каждый раз перезаписывать файл конфигурации.
     
  4. Oleksandr54

    Oleksandr54 Нерд

    Зачем значения часов каждый раз перезаписывать в файл конфигурации ?
     
    Последнее редактирование: 22 сен 2017
  5. IvanUA

    IvanUA Гик

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

    Я же писал, что это третья версия этого проекта. Сейчас в голове есть задумка кардинально переделать проект в части хранения веб листов не на отдельных .htm страницах, а в теле проекта.
    Это будет уже четвертая версия.
    Когда то руки дойдут до курсов валют.
    Сколько их будет еще.... я не знаю.
    Но в любом случае для того что бы "вылизать" все нюансы, надо время ну и конечно же помощь пользователей(как вы например)))).
     
  6. IvanUA

    IvanUA Гик

    ПС. У нас уже вторую ночь пропадает интернет где то так до 8-9 утра.
    И что самое интересное, проект часов-информера и проект контроля бойлера-кухни, останавливаются до появления интернета, а эти часики нормально "переживают"- пропажу. Точки только моргают по другому))))
     
  7. Oleksandr54

    Oleksandr54 Нерд

    Согласен часики нормально "переживают"- пропажу интернета, а по поводу пропажи света на "пару секунд (пробки выбило)" нет особого смысла записывать "время" в память целый год (до момента когда пробки выбьет), или не будет света на время от пяти минут и больше и после этого некоторое время не будет интернета, то запись в файл ничего не изменит, показания на часах будут с разницей от пяти минут и больше с реальным временем. Так что я, наверно, закомментирую строку 427 (// saveConfig() чуть позже.
    Сначала проверю работу на ESP-12, разница в том что поменял #define DIN_PIN 15 (GPIO 15 !) на #define DIN_PIN 16 для ESP-12, так как отказывался работать по-другому.
     
    Последнее редактирование: 23 сен 2017
  8. Oleksandr54

    Oleksandr54 Нерд

    Такое впечатление, как будто глюк появляется перед переходом часов на показания в дневной режим (в ночном режиме). Толи это связано с временем перехода, толи с яркостью дисплея. Буду тестировать.
     
    Последнее редактирование: 23 сен 2017
  9. IvanUA

    IvanUA Гик

    Немного изменил скейтч.
    Все WEB страницы перенес в тело скейтча, теперь не нужно их отдельно загружать.
    Добавил еще термометр DS18B20.

    https://drive.google.com/file/d/0B1xzsAFF0-Jwb0J3aWhsSWZncGc/view?usp=sharing

    На скорую руку собрал макетик, поставил пока на тесты
    [​IMG]
    [​IMG]
     
  10. Oleksandr54

    Oleksandr54 Нерд

    Температуру DS18B20 можно организовать таким видом: -?
     

    Вложения:

    • temp1.jpg
      temp1.jpg
      Размер файла:
      28,9 КБ
      Просмотров:
      100
  11. Oleksandr54

    Oleksandr54 Нерд

    С прогнозом на "на завтра" проблем (повтором подряд несколько раз) ни разу не замечали ? И напишите версию Arduino IDE и библиотеки ArduinoJson.
     
  12. IvanUA

    IvanUA Гик

    Да можно, ниже в картинке видно как устроена программа вывода значений температуры.
    Подбирайте себе шрифт, и размещайте символы в свои позиции.
    По поводу повторов прогноза не замечал...
    ИДЕ 1.8.1
    Библиотека - не помню откуда я ее ставил((((

    [​IMG][​IMG]
     
    Последнее редактирование: 24 сен 2017
  13. Oleksandr54

    Oleksandr54 Нерд

  14. IvanUA

    IvanUA Гик

    ArduinoJson 5.11.1
     
  15. Oleksandr54

    Oleksandr54 Нерд

    Спасибо, сделал как на картинке. В редакторе подправил font.
     

    Вложения:

    • fonts.h
      Размер файла:
      19,4 КБ
      Просмотров:
      68
    • FONT_cor.jpg
      FONT_cor.jpg
      Размер файла:
      27,9 КБ
      Просмотров:
      72
    Последнее редактирование: 25 сен 2017
  16. Oleksandr54

    Oleksandr54 Нерд

    В перспективе можно будет поиграться с отображением отрицательных температур :rolleyes:
     
  17. IvanUA

    IvanUA Гик

    Конечно можно ;)
    Но в данном случае я планирую это устройство использовать как часы в детской комнате (с выводом температуры на MQTT сервер, и последующим дополнением в MajorDoMo) и надеюсь что там не будет отрицательных температур)))

    [​IMG]
     
  18. IvanUA

    IvanUA Гик

    Кстати в зале у меня сейчас тестируются аналогичные часики-информер, но уже не с 4-мя, а с 10-ю матрицами.
    Так вот идея состоит в том что через MQTT сервер можно будет на эти девайсы посылать сообщения, к примеру о том что в кухне уровень газа превысил допустимое значение (ед) или что кто-то позвонил в дверной звонок, ну или еще какую информацию.
     
  19. Oleksandr54

    Oleksandr54 Нерд

    У меня в квартире нет ни газа ни отопления, все на электричестве, боюсь отрицательных температур (шучу). А по поводу сообщений - задумка интересная, только голосовой модуль надо цеплять:
    https://ru.aliexpress.com/item/Mini...lgo_pvid=d744383c-fc39-4acc-b0c6-21139ff36c87
     
  20. IvanUA

    IvanUA Гик

    Ну раз голосовой, то тогда стоит научить часики и время говорить и колокола бить))))
    Была у меня такая задумка, но.... потом решил что бипер меня устраивает на 99,9%
    На аларм газа и на охранку у меня есть сирена)))))))))))))))))