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

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

?

Вы повторили это проект?

  1. Нет (просто ознакомился)

    14 голосов
    10,1%
  2. Да, один раз (попробовал)

    61 голосов
    43,9%
  3. Да, не однократно

    66 голосов
    47,5%
Можно выбрать сразу несколько вариантов.
  1. ИгорьК

    ИгорьК Оракул Модератор

    Инструкция вполне подробная. Но - да, мыслить в голову надо. Не все это любят.
     
  2. IvanUA

    IvanUA Гуру

    Ок. Спасибо поправил)
     
  3. chipmoca

    chipmoca Гик

    Иван, если не сложно примерчик хотя=бы приведите как поправить температуру и влажность.
     
  4. IvanUA

    IvanUA Гуру

    А так что не работает?
    Код (C++):
    humiDht22 = ((int) humiDht22) - 2;
     
    chipmoca нравится это.
  5. om1212

    om1212 Нерд

    Чем смогу, конечно.
    У меня Domoticz, к нему через RFLink gateway (https://www.domoticz.com/wiki/RFLink) подключён уличный датчик (температуры и влажности, совмещённый). Из Domoticz температуру передаю по MQTT на часики.
    Domoticz крутится на апельсинке, там же MQTT брокер и сервер точного времени.
    Вы откуда получаете данные о температуре? Если у вас датчик на микроконтроллере, то для передачи температуры по MQTT нужно поставить где-то в сети MQTT брокер, который будет обрабатывать сообщения в топиках и дописАть код в своём датчике (можно взять из часов Ивана) для передачи температуры в топике. Все клиенты подписанные на данный топик будут получать эти сообщения.
    Почитать о работе MQTT на русском - https://habr.com/company/unet/blog/407867/
     
  6. chipmoca

    chipmoca Гик

    Спасибо! Дома попробую. Да нет так-то все работает, датчик где-то на 2 грд. завышает и влажность тоже врет.
     
  7. ИгорьК

    ИгорьК Оракул Модератор

    Вы можете воспользоваться бесплатным и ничего не устанавливать.
    iot.eclipse.org - вполне работоспособен. Главное устройство свое обзовите как-то уникально. Никого там ваша "секретная" температура интересовать не будет.
     
    om1212 нравится это.
  8. RuGOST

    RuGOST Нерд

    Залил версию LED_clock_weath_v10.08.2018_lite сегодня на улице -2 градуса датчик BME280 показывает какие то иероглифы, если на улице + температура то все нормально.
     
  9. om1212

    om1212 Нерд

    Раньше разбиралось, поищите поиском. Попробуйте версию поновее.
     
  10. BenBen

    BenBen Нерд

    Вот меня как раз интересует передача по MQTT на часики.
    У меня работают несколько датчиков - DHT22, Si7021, есть Bosch BME680 с газоанализатором, датчики углекислого газа 2х типов, датчик освещенности BH1750 и т.д.
    Все они прикручены к разным ESP8266 модулям и пишут в thingspeak.com API обычным HTTP GET.
    Thingspeak также поддерживает MQTT, и я могу из него считывать свои датчики десктопным MQTT клиентом, у меня стоит MQTT.fx
    Но в часы эти данные не могу передать. Все параметры настроил в часах - username, password, server, port, topic for external temperature. MQTT.fx с этими параметрами данные получает, а часы нет.
    У вас, как я понял, локальный брокер брокер стоит. Я тоже думаю поставить на Raspberry Pi, может поможет.
    Но с другой стороны, десктопный клиент работает с удаленным брокером нормально. Может у часов нюансы с версиями протокола MQTT? Их там вроде 3 версии есть, и скоро V.5 обещают.
    Не покажете, как выглядят MQTT настройки часов у вас? Вы через веб страницу настраивали?
     
  11. IvanUA

    IvanUA Гуру

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

    В погодном сервисе apixu понравилось что не нужно искать код города. Можно ввести первые буквы города или его координаты.
    Понятное дело что есть города с одинаковым названием. Для этого после сохранения названия надо обновить страницу. На странице будет, то название города, что сервис подобрал, название области, страны и времени последнего обновления прогноза погоды.
    [​IMG][​IMG]

    PS. Вот так помалу и получили новую версию часов. Городить все это на старой, и потом поправлять на гитхабе, у меня как то нервов не хватило)))
    PPS. Последний скетч работает только с сервисом apixu. Пока еще не решено, будем ли дальше работать с openweathermap.org или же отправим его на "скамейку запасных".
     
    Последнее редактирование: 10 ноя 2018
    Valerchik, Юра 80, om1212 и ещё 1-му нравится это.
  12. om1212

    om1212 Нерд

    Посмотрите в MQTT.fx в каком виде приходят данные или установите и запустите на десктопе клиент Mosquitto_sub (https://mosquitto.org/man/mosquitto_sub-1.html, примеры - http://www.steves-internet-guide.com/mosquitto_pub-sub-clients/), подпишитесь на все топики (кажется так - mosquitto_sub -h ip.address.xxx.xxx -v -t "#") и посмотрите что приходит от MQTT брокера, как написал Иван.
     
    Последнее редактирование: 10 ноя 2018
  13. BenBen

    BenBen Нерд

    OK спасибо, понял я в чем проблема.
    У часов максимальная длина параметров MQTT 25 символов всего, а у thingspeak.com они больше, часы их просто обрезают.
     
  14. yri26

    yri26 Нуб

    Подскажите пожалуйста, как и с какого сайта получить данные уличной температуры по MQTT чужого датчика в пределах своего города как наподобие народмон? Еще вопрос как правильно заполнить настройки ESP в веб интерфейсе? В народмоне есть ID датчика, как его прикрутить к MQTT?
     

    Вложения:

    • 1.jpg
      1.jpg
      Размер файла:
      207,1 КБ
      Просмотров:
      317
    • 2.jpg
      2.jpg
      Размер файла:
      222,4 КБ
      Просмотров:
      140
    Последнее редактирование: 10 ноя 2018
  15. Seaven

    Seaven Нерд

    А у меня в новой прошивке погода от apixu не заработала:
    21:44:46 Getting weather forecast for City Perm...
    w.
    line =
    Parse weather forecast - FAILED!!!
    line2=
    Parse weather forecast for tomorrow - FAILED!!!
    Ключ получил, все заполнил по образцу. Название города попробовал в разных видах (на сайте apixu город находится без проблем)
    Спасибо за тему и за ответы!!
     
  16. Estet

    Estet Нуб

    Я тоже когда ключ получил сразу попробывал эту прошивку, тоже не заработала, через 2 дня опять попытался и все работает, попробуй подождать. Сервер времени пришлось сменить, с украинского не тянул время, весело на индикаторе температура датчика 85 градусов и показывало только его.
     
  17. ИгорьК

    ИгорьК Оракул Модератор

    Только если договориться с хозяином о доступе - общение по MQTT вещь приватная.

    Чужие датчики с народого мониторинга по протоколу mqtt читать не получится.
     
    yri26 нравится это.
  18. IvanUA

    IvanUA Гуру

    У вас строки лине - пустые.
    Значит вы не получаете ответ от сервера в формате json.
    А это в свою очередь может означать что или ключ или город (вероятнее всего) не верные.
     
  19. Estet

    Estet Нуб

    калуга.PNG
    по запарке на сайте ввел город по русски, прокатило )
     
  20. RuGOST

    RuGOST Нерд

    Спаял по этой схеме, показывает 85 градусов, нажимаю кнопку показывает время, когда кнопку отпускаю снова показывает 85С, что не так?
     

    Вложения:

    • 1.jpg
      1.jpg
      Размер файла:
      42,9 КБ
      Просмотров:
      192