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

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

  1. IvanUA

    IvanUA Гик

    Сегодня часики получили новый корпус и последнюю свою прошивку v5.55))))
    Все хотелки реализованы, спасибо откликнувшимся.
    Ну и маленькое видео...

     
    ИгорьК и lcf11 нравится это.
  2. lcf11

    lcf11 Нуб

    Класс, поделитесь скетчем.
    По поводу "en"
    Если ставить на английском, то "light snow" не переводит( погоду на завтра), даже если я добавляю строку.
    Код (C++):
    else if(weatherDescription == "light snow") weatherDescription = "  легкий сніг  ";
    Остальные значения переводит, а именно "light snow" так и пишет. "ru" исправляет эту проблему, но выводит с маленькой буквы.
    UPD:
    Сейчас пробовал копировал строки погоды с сегодня на завтра т.к на сегодня то переводит, и вставил их в погоду на завтра, в результате строки на английском. Проблема где-то в показе на завтра?
    Да.
    Сейчас отдал черное оргстекло на гравировку,поставлю впереди фильтр-рамку и на подставку.
    Поделюсь.:) Но надо еще датчики температуры подождать.
     
    Последнее редактирование: 30 дек 2017
  3. IvanUA

    IvanUA Гик

    Ну в Вашем случае, мне кажется что это лишнее.)))
    Я ведь правильно понял что ваша цель не скопировать, а разобраться как оно работает?
    В скетче в получении погоды на сегодня есть такая строка
    Код (C++):
      if(printCom) Serial.println(line);
    Её же можно добавить и в прогноз погоды.
    Эта строка выводит в ком порт данные в json формате получаемые от сервера погоды.
    скопируйте это название "light snow" - из порта к себе в код.
    Там просто может быть добавлен пробел, а для переводчика - это тоже знак.
    Будет интересно.
     
  4. IvanUA
    Огромное Вам Спасибо за отличный проект.
     
    Последнее редактирование: 31 дек 2017
    IvanUA нравится это.
  5. saha74

    saha74 Нуб

    Подскажите в какую папку надо поместить в ардуино иде эти файлы
    #include "P_funct.js.h"
    #include "P_style.css.h"
    #include "P_boot.css.h"
    #include "P_edit.h"
    #include "P_index.h"
    #include "P_time.h"
    #include "P_weat.h"
    #include "P_led.h"
    #include "P_update.h"
    #include "P_help.h"
    а то компилятор выдаёт ошибки
     
  6. IvanUA

    IvanUA Гик

    В туже папку что и скетч
     
  7. saha74

    saha74 Нуб

    Выдаёт вот такую ошибку при компеляции
    no matching function for call to 'PubSubClient::pubSubClient(WiFiClient&)'

    Где поправить?
     
  8. IvanUA

    IvanUA Гик

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

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

    Так становишься рабом темы.
     
    IvanUA нравится это.
  10. IvanUA

    IvanUA Гик

    Это и не удивительно. Обычно создатель темы (по крайней мере в этой ветке) является самым опытным в данном вопросе, и ему легче помочь остальным понять что он сделал))))). Не на всех форумах и не во всех темах можно задать (вменяемый) вопрос и получить нормальный ответ.
    ПС. Какое то время еще буду по возможности отвечать в теме, но голова больше забита другими темами))))
     
  11. Deniskyn

    Deniskyn Нуб

    скетч можно и не просить? =)
     
  12. IvanUA

    IvanUA Гик

    А смысл? Вы прекрасно справились с задачей перевода данного скетча на русский язык. Курс приват банка Вам я так понимаю не нужен))) Так что думаю, что вы и сами можете теперь поделиться своим "творением" с другими людьми))))
    Кстати я обновил первый пост. Теперь там есть аж три финальные варианта скетча, я так понимаю на все случаи жизни... Качайте, меняйте, улучшайте))))) Творческих успехов!
     
  13. saha74

    saha74 Нуб

    Если бы еще Вы выложили библиотеки которые использовали в проекте а то не как не получается скомпелировать скеч.
     
  14. IvanUA

    IvanUA Гик

    Библиотеки все стандартные, устанавливались через меню в Arduino IDE. Многие уже повторили проект, проблем с библиотеками не возникало. Если у вас проблемы с библиотеками, то или переназначьте новый путь для сохранения скетчей(он же и для библиотек) и по новой скачайте библиотеки, или переустановите Arduino IDE.
     
  15. big_alex

    big_alex Нерд

    Аналогично, Вы не нашли решение?
     
  16. IvanUA

    IvanUA Гик

    Погоду не передает сам сервер. Я проверил на других городах погода была. У меня на днях не отображалась Варшава, сейчас Кривой Рог (703845). Поменял на другой город - идет прогноз.
    ПС. Кстати проверьте, отображается у Вас Кривой Рог?
    Если отображается, то возможно что проблема может возникать из-за частых обращений к серверу.... Если не отображается, то вполне может быть что сервер просто не имеет каких то данных на определенные города - вот и не дает.
    ППС. Я и раньше замечал что периодически пропадал прогноз на некоторых городах, можно было конечно гонять по экрану старые данные, но я подумал что уж лучше их просто не отображать.

    ПППС... Прошло 12 минут - уже отображается....(причем на обоих устройствах)
     
    Последнее редактирование: 3 янв 2018
  17. big_alex

    big_alex Нерд

    Проверил в браузере, сервер отдает и Киев (703448) и Вышгород (688723) и Кривой Рог
    http://api.openweathermap.org/data/2.5/weather?id=703845&appid=ваш_API_KEY&lang=ru

    ПС. в строке перед "Завтра" добавил cityName - не выводится на дисплей, только начиная с Завтра

    ППС. Попробовал Кривой Рог в часах, есть погода, а Киева нет. В браузере все есть, странно.

    ПППС. Добавил Житомир, есть погода по двум городам, заменил Житомир на Киев - погода только по Кривому Рогу, заменил Кривой Рог на Вышгород - продолжает выводить Кривой Рог
     
    Последнее редактирование: 3 янв 2018
  18. IvanUA

    IvanUA Гик

    По идее и не должно)))
    Добавьте еще cityName = root ["name"] .as<String>(); перед тем как формировать строку...
    А если еще и хотите что бы название конвертировалась, то еще и такую строку после первой
    cityId = root ["id"];
    convertCity();
     
    Последнее редактирование: 3 янв 2018
  19. openweathermap.org (перевод машинный)

    Если Вы не получили ответа от сервера, не пытайтесь повторить Ваш запрос немедленно, а только через 10 мин. Также мы рекомендуем хранить ваши предыдущие данные запроса.
    Ограничение доступа:
    Если счет превышает лимиты, то отправляется уведомление о превышении лимитов. Если она повторяется снова, то учетная запись блокируется на час. Таким образом, срок блокировки увеличивается на один час, пока блок не будет установлен на 4 часа. При блокировке повторяется пятый раз, то период блокировки длится 24 часа. Это правило циклическое. Пожалуйста, будьте осторожны с количеством вызовов API завершения.
     
  20. IvanUA

    IvanUA Гик

    Это скорее рекомендация чем правило.
    Дело в том, что при получении погоды и прогноза для двух городов, мы отправляем сразу 4-ре запроса.
    Если на один из городов к примеру запрос №2 или №4 (прогноз на завтра) не получен ответ, то через минуту все одно будут отправлены новые 4-ре запроса. Пока блокировки учетной записи, я не встречал.

    ПС. И по поводу лимитов запросов, думаю что речь скорее всего идет к примеру о 1000 запросов в час, или 100 запросов в минуту или еще чего. Мне пока о лимитах ничего не известно.