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

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

?

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

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

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

    28 голосов
    35,0%
  3. Да, не однократно

    44 голосов
    55,0%
Можно выбрать сразу несколько вариантов.
  1. IvanUA

    IvanUA Гуру

    Ну тут я дал маху и забыл эту букву вообще нарисовать)))). По возможности постараюсь таки добавить))))
    Сейчас не совсем удобно что то поправлять, если что, можете вот в этой строчке добавить в конце больше пробелов?
    Код (C++):
    weatherStringZ += "     \214 " + wDegString + String(wSpeed, 1) + tSpeed + "     " + weatherDescription + "             ";
    По идее должно помочь. Отпишитесь?
    Попробуйте перед прошивкой нового скетча, вычистить память... Проверьте.
     
  2. IvanUA

    IvanUA Гуру

  3. IvanUA

    IvanUA Гуру

    Найдите в коде вот такую строчку
    Код (C++):
    #define NUM_MAX 10
    Если там действительно 10-а. то меняйте ее на свое количество матриц - 4
    Дело в том что у меня как тестовые часики с 10 матрицами, и вполне может быть что я просто забываю сменить этот параметр на 4...
     
  4. chipmoca

    chipmoca Нерд

    Стоит 4.
    Попробовал добавить пробелы в конце (4 шт.) после этого IP-шники стали нормально показываться).
    Погода перестала напрочь обновляться (ключ древний), поэтому не получилось проверить пробел после прогноза.
    Память вычистил. Пока полет нормальный не сбрасываются..
    Как теперь можно прогноз восстановить?

    PS Что такое сервис АРIXU (Сирийский город?)
     
    Последнее редактирование: 7 ноя 2018
  5. Deniskyn

    Deniskyn Гик

    https://www.apixu.com/
     
    IvanUA нравится это.
  6. IvanUA

    IvanUA Гуру

    Две последние прошивки немного поправил, можно перекачать.
    Денис дал ссылку на сервис, но единственное что вам там будет нужно, так это получить API weather key.

    Ну а если вкратце, то это погодный сервис. Есть мысли, что дальше будем работать только на нем.
     
  7. BenBen

    BenBen Нерд

    Не поделитесь опытом работы с MQTT? Меня в основном интересует настройка subscribe для датчика внешней температуры...
     
  8. BenBen

    BenBen Нерд

    посмотрел последнюю версию, обнаружил, что код города там не кодируется функцией urlencode.
    в моей версии она была, без нее не получится загнать в cityID пробелы, запятые и т.д
    а они нужны во многих случаях...
     
    IvanUA нравится это.
  9. chipmoca

    chipmoca Нерд

    Спасибо! Сейчас с погодой и "паузами" все нормально.
    1. Если только, когда включаешь напоминание например (отведи ребенка в школу) паузы нет. Слово школа практически не читается.
    2. Если стоит будильник на 9 час. И напоминание (отведи....) Происходят накладки какие-то (одновременно два задания). Может имеет смысл будильник и напоминание объединить? Тем более я ребенка уже отвел в школу, а он мне все напоминает ))
    3. После изменения названия памятной даты (через web) с сохранением - после перезагрузки все настройки, включая поворот дисплея слетают. Все поля пустые.
    PS На сколько интересно хватит ресурса eeprom если каждую минуту записывать.? Как понимаю эта функция поможет если свет отключали на минуты, а если на час - два отключат?
    PSS Только не подумайте, что я придираюсь или что-то там еще ) Я и детей-то в школу уже давно не вожу..
    И часы мне без этих наворотов ОЧЕНЬ нравятся.
     
    IvanUA нравится это.
  10. IvanUA

    IvanUA Гуру

    +
    ОК. Спасибо. Вечером проверю.
     
  11. IvanUA

    IvanUA Гуру

    Не переживайте)))) Мы же обсуждаем....
    По поводу наворотов. Я целенаправленно всех стараюсь мотивировать, хоть немного, но начинать разбирать и понимать код. По этому даю исходники, каждый может модернизировать эти часики под свои нужны. Так сказать выкинуть все лишнее, добавить чего не хватает...
    ПС. Ну или как вариант можно воспользоваться антиподом часов из параллельной ветки. Там все просто как 5 копеек... Правда пока их соберешь)))
     
  12. chipmoca

    chipmoca Нерд

    Понятно). Но я пока даже показаания датчика AM2302 не могу подкорректировать, а Вы говорите..) Ну и Ё-моё за Вами )

    Забыл еще. Раньше на веб странице часов была ссылка на форум, и желательно на github.
    Удобно.
     
    Последнее редактирование: 8 ноя 2018
  13. ИгорьК

    ИгорьК Давно здесь

    Не, приходят запросы, как оставить только часы - включил и забыл. Так что упрощать еще есть куда.

    Иван, ты о чем? О том что я настройки в отдельный файл не вынес? Так это чтобы юзвери не скучали и гордились своими победами :)
     
  14. BenBen

    BenBen Нерд

    Несколько страниц назад было сообщение о проблеме с переходом на зимнее время. Подтверждаю - у меня то же самое. Прошлось выключить автоматический переход, иначе время показывает с разницей на час.
    Плюс иногда наблюдаются скачки часов при включении и переходе на новый час.
    Такое впечатление, что внутреннее время часов отличается от текущего в данной стране и не учитывает часовой пояс и/или зимнее время. И в некоторых ситуациях выводится это внутреннее время на какой-то период.
    Решение для этого перехода вообще-то задача нетривиальная. Правила в разных странах все время меняются. Помню, как то ехал из Болгарии в Турцию пару лет назад. У них всегда было одинаковое время, а в тот год турки внезапно отменили переход на зимнее время. Чудом не опоздал на самолет.
    В Европе тоже собрались отменять переход на зимнее время, и скорее всего коррекция весной 2019 года будет последней.
    Поэтому я бы брал текущую timezone с внешнего сервера, можно у Google. Там все по аналогии в сервером погоды, нужно получить API ключик, запросить сервер и получить json ответ. Координаты можно у сервера погоды брать.
    Они утверждают, что работает в любой точке мира:
    https://developers.google.com/maps/documentation/timezone/intro
     
  15. BenBen

    BenBen Нерд

    Кстати, локальное время выдает и сервер apuxu. Он, наверно, не настолько крутой, как Google, может в каких-то странах будет глючить. А может и нет...
    Для наших целей по моему вполне подойдет, нужно только выключатель ему сделать. Займусь на досуге.
     
  16. ig0r75

    ig0r75 Нуб

    не компилируется выдаёт:
    C:\Users\TOSH\Desktop\ESP8266_Clock_Weather-station_Informer_with_WEB_interface-master\LED_clock_weath_v25.10.2018\LED_clock_weath_v25.10.2018.ino: In function 'void setup()':

    LED_clock_weath_v25.10.2018:276:15: error: 'wifiConnect' was not declared in this scope

    wifiConnect();

    ^

    C:\Users\TOSH\Desktop\ESP8266_Clock_Weather-station_Informer_with_WEB_interface-master\LED_clock_weath_v25.10.2018\LED_clock_weath_v25.10.2018.ino: In function 'void loop()':

    LED_clock_weath_v25.10.2018:501:21: error: 'wifiConnect' was not declared in this scope

    wifiConnect();

    ^

    C:\Users\TOSH\Desktop\ESP8266_Clock_Weather-station_Informer_with_WEB_interface-master\LED_clock_weath_v25.10.2018\LED_clock_weath_v25.10.2018.ino: In function 'void getWeatherData()':

    LED_clock_weath_v25.10.2018:1038:3: error: 'DynamicJsonBuffer' was not declared in this scope

    DynamicJsonBuffer jsonBuf;

    ^

    LED_clock_weath_v25.10.2018:1038:21: error: expected ';' before 'jsonBuf'

    DynamicJsonBuffer jsonBuf;

    ^

    LED_clock_weath_v25.10.2018:1039:20: error: 'jsonBuf' was not declared in this scope

    JsonObject &root=jsonBuf.parseObject(line);

    ^

    LED_clock_weath_v25.10.2018:1042:12: error: 'class ArduinoJson650_0_0::JsonObject' has no member named 'success'

    if(!root.success()){

    ^

    C:\Users\TOSH\Desktop\ESP8266_Clock_Weather-station_Informer_with_WEB_interface-master\LED_clock_weath_v25.10.2018\LED_clock_weath_v25.10.2018.ino: In function 'void getWeatherDataz()':

    LED_clock_weath_v25.10.2018:1116:3: error: 'DynamicJsonBuffer' was not declared in this scope

    DynamicJsonBuffer jsonBuf;

    ^

    LED_clock_weath_v25.10.2018:1116:21: error: expected ';' before 'jsonBuf'

    DynamicJsonBuffer jsonBuf;

    ^

    LED_clock_weath_v25.10.2018:1117:22: error: 'jsonBuf' was not declared in this scope

    JsonObject &root = jsonBuf.parseObject(tempz);

    ^

    LED_clock_weath_v25.10.2018:1118:12: error: 'class ArduinoJson650_0_0::JsonObject' has no member named 'success'

    if(!root.success()){

    ^

    C:\Users\TOSH\Desktop\ESP8266_Clock_Weather-station_Informer_with_WEB_interface-master\LED_clock_weath_v25.10.2018\LED_clock_weath_v25.10.2018.ino: At global scope:

    LED_clock_weath_v25.10.2018:1146:2: error: expected unqualified-id before '/' token

    */

    ^

    LED_clock_weath_v25.10.2018:1146:2: error: expected constructor, destructor, or type conversion before '/' token

    Несколько библиотек найдено для "OneWire.h"
    Используется: C:\Users\TOSH\Documents\Arduino\libraries\OneWire-master
    Не используется: C:\Program Files (x86)\Arduino\libraries\OneWire-master
    Несколько библиотек найдено для "PubSubClient.h"
    Используется: C:\Users\TOSH\Documents\Arduino\libraries\PubSubClient
    Не используется: C:\Program Files (x86)\Arduino\libraries\pubsubclient-master
    Несколько библиотек найдено для "Adafruit_Si7021.h"
    Используется: C:\Users\TOSH\Documents\Arduino\libraries\Adafruit_Si7021-master
    Не используется: C:\Program Files (x86)\Arduino\libraries\Adafruit_Si7021-master
    Несколько библиотек найдено для "Adafruit_Sensor.h"
    Используется: C:\Users\TOSH\Documents\Arduino\libraries\Adafruit_Sensor-master
    Не используется: C:\Program Files (x86)\Arduino\libraries\Adafruit_Sensor-master
    Несколько библиотек найдено для "Adafruit_BMP280.h"
    Используется: C:\Users\TOSH\Documents\Arduino\libraries\Adafruit_BMP280_Library-master
    Не используется: C:\Program Files (x86)\Arduino\libraries\Adafruit_BMP280_Library-master
    Несколько библиотек найдено для "BlueDot_BME280.h"
    Используется: C:\Users\TOSH\Documents\Arduino\libraries\BlueDot_BME280-master
    Не используется: C:\Program Files (x86)\Arduino\libraries\BlueDot_BME280-master
    Несколько библиотек найдено для "SimpleDHT.h"
    Используется: C:\Users\TOSH\Documents\Arduino\libraries\SimpleDHT
    Не используется: C:\Users\TOSH\Documents\Arduino\libraries\SimpleDHT-master
    Не используется: C:\Program Files (x86)\Arduino\libraries\SimpleDHT-master
    Несколько библиотек найдено для "ArduinoJson.h"
    Используется: C:\Users\TOSH\Documents\Arduino\libraries\ArduinoJson
    Не используется: C:\Users\TOSH\Documents\Arduino\libraries\ArduinoJson-master
    Не используется: C:\Program Files (x86)\Arduino\libraries\ArduinoJson-master
    exit status 1
    'wifiConnect' was not declared in this scope
     
  17. ig0r75

    ig0r75 Нуб

    все библиотеки есть
     
  18. chipmoca

    chipmoca Нерд

    У меня тоже при компиляции LED_clock_weath_v25.10.2018 выдает ошибку.
    2018-11-08_19-53-27.png

    а вот LED_clock_weath_v25.10.2018_APIXU компилируется без всяких ошибок.
     
  19. chipmoca

    chipmoca Нерд

    Эта ошибка убралась после удаления строчки 1145 или 1146 (не помню) в ней было только */
     
    IvanUA нравится это.
  20. obuhanoe

    obuhanoe Гик

    Добрый день. Вчера зарегистрировался на сайте apixu.com, активировал учетную запись, но зайти не могу.
    Ошибка: Your login attempt was not successful. Please try again.
    Через учетную запись google+ ошибка перехода на страницу, других учетных записей не имеется (facebook, github).
    Сброс пароля не помогает.
    У всех такая беда?