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

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

?

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

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

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

    22 голосов
    31,4%
  3. Да, не однократно

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

    IvanUA Гик

    Таки нашел.
    Наш перевод тут ни к чему. Дело в том что в строке
    Код (C++):
    String weatherLang = "ua";                                                              // Мова отримання прогнозу погоди
    Мы указываем язык получения прогноза... Не знаю почему но с сервера погоды прилетает только один параметр (["weather"]["description"]) на указанном нами языке.
    А наш переводчик ждет что прилетит английская версия события, вот и получается такая петрушка.

    Раньше такого не было. Какой бы язык не указывал всегда прилетала английская версия данных.

    Так что сейчас пишем String weatherLang = "en" - и тогда работает наш переводчик,
    или указываем свой язык и переводчик не нужен.
     
  2. lcf11

    lcf11 Нуб

    Т.е достаточно поменять на "ru" и будет русский язык, или перевести ручками все и поменять на "ru"?
    Не могли бы дать совет как перевести на другой язык?
     
  3. IvanUA

    IvanUA Гик

    Не совсем. Если указать язык русский, то на русском будет приходить только описание погоды (ясно, снег, ливень и т.д.)
    У меня совет один. Ставим в настройках язык "en". И переводим все ручками. Так вы точно будете уверенны что вся точность перевода зависит только от вас))))
     
  4. lcf11

    lcf11 Нуб

    Еще вопрос, хорошо я перевел делов то ))). Не будет проблем с Fonts.h? Просто это мой первый проект. И пару постов назад вы давали ссылку на версию 5,2.Т.е она актуальная на данный момент. Или скачать с шапки 5,1?
    Спасибо что откликнулись.
     
  5. IvanUA

    IvanUA Гик

    Я думаю что не должно быть))))
     
  6. lcf11

    lcf11 Нуб

    Код (C++):
    void convertWeatherDes(){
      if(weatherDescription == "clear sky") weatherDescription = "  чисте небо  "; // 0-8% тучи
      else if(weatherDescription == "few clouds") weatherDescription = "  малохмарно  "; //12-20% тучи
      else if(weatherDescription == "scattered clouds") weatherDescription = "  розкидані хмари  "; //40% тучи
      else if(weatherDescription == "broken clouds") weatherDescription = "  хмарно з проясненнями  "; //75% тучи
      else if(weatherDescription == "overcast clouds") weatherDescription = "  дужа хмарність  "; //  93% тучи
      else if(weatherDescription == "light rain") weatherDescription = "  невеликий дощ  "; //  влажность  588-606 ммРс давление  36% тучи 93-97%
      else if(weatherDescription == "moderate rain") weatherDescription = "  помірний дощ  "; // 83% влажность  731ммРс давление  % тучи
      else if(weatherDescription == "light intensity shower rain") weatherDescription = "  легкий проливний дощ  ";
      else if(weatherDescription == "thunderstorm") weatherDescription = "  гроза  ";
      else if(weatherDescription == "haze") weatherDescription = "  туман  "; // 56% влажность 725-731ммРс давление  75% тучи
      else if(weatherDescription == "mist") weatherDescription = "  густий туман  "; // 100% влажность 735ммРс давление  75% тучи
      else if(weatherDescription == "shower sleet") weatherDescription = "  снег с дождем  ";
      else if(weatherDescription == "light shower snow") weatherDescription = "  небольшой снегопад  ";
    Где можно найти эти данные и сравнить, т.к нет "light snow" и в показе эта строка по английский. Даже без перевода так.
     
    Последнее редактирование: 28 дек 2017
  7. Deniskyn

    Deniskyn Гик

    Если EN то все показывает на инглише, если UA то как и было (некоторые строчки не переводит), если RU то на русском, но не так как в скетче вписано руками.... Странно...
     
  8. IvanUA

    IvanUA Гик

    Боюсь что ни где... Я эти данные сам собирал.
    То есть, приходило сообщение на английском, я его переводил на украинский и вписывал в переводчик.

    Вот и сегодня прилетело новое слово "fog".
    Переключил язык на "ua" - оказалось что это туман. Хотя туман уже был.
    Так и записал....
    Код (C++):
      else if(weatherDescription == "haze") weatherDescription = "  туман  ";
      else if(weatherDescription == "fog") weatherDescription = "  туман  ";
     
     
  9. IvanUA

    IvanUA Гик

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

    Не знаю, понятно пояснил, или наоборот запутал((((
     
  10. IvanUA

    IvanUA Гик

    Вот теперь в моей табличке появилась еще одна новая запись))))
    Код (C++):
      else if(weatherDescription == "shower sleet") weatherDescription = "  сніг з дощем  ";
      else if(weatherDescription == "light snow") weatherDescription = "  легкий сніг  ";
      else if(weatherDescription == "light shower snow") weatherDescription = "  невеликий снігопад  ";
     
  11. Deniskyn

    Deniskyn Гик

    Т.е. грубо, ново прилетевшие строчки просто добавлять в скетч? =)
     
  12. lcf11

    lcf11 Нуб

    Да это я и хотел понять, думал на сайте openweathermap.org где-то это есть, типа пункта для разработчика.Искал но там чуть другое, именно этого не нашел. Хорошо с этим разобрались.
    Еще хотелось бы поправить показ даты, проблема в том что конец строки даты не доезжает до конца, быстро гаснет и затем следующая информация. Не ткнете носом где эта часть кода, хотелось что бы и дата прокатилась от и до с задержкой printStringWithShift?
    Спасибо!
     
    Последнее редактирование: 28 дек 2017
  13. IvanUA

    IvanUA Гик

    Да.

    ПС. Если выбирать прогноз городов из разных точек планеты, то дело пойдет быстрее)))
     
    Последнее редактирование: 28 дек 2017
  14. IvanUA

    IvanUA Гик

    Я тоже этого не нашел.
    Код (C++):
      date="     "+dw+", "+String(day)+" "+_month+" "+String(year)+"р.          ";
    после +"р. "; надо добавить пробелов.
     
  15. big_alex

    big_alex Нерд

  16. IvanUA

    IvanUA Гик

    Пока не планируется дорабатывать.
    В скетчах были наработки, так что если есть желание, то можете доработать.
     
  17. lcf11

    lcf11 Нуб

    Подскажите пожалуйста пины ds18b20. 10pin, gnd, 3v?
    Как подключить 2й ds18b20? Ведь там t в доме и на улице.
    Как подключить buzzer, подключаю к 14 пину и к gnd это правильно? А то после оповещения buzzer продолжает выдавать шумы.Или нужен резистор, может buzzer такой, взял со старых часов.
    Еще такой вопрос поменял на "ru" приходит все на русском языке, но с маленькой буквы.
    Это не зависит от строки!
    elseif(weatherDescription =="light shower snow") weatherDescription =" Небольшой снегопад ";
    Нужно как то по другому выставить заглавную букву.Как?
    Всем спасибо за помощь. Прошу не пинать больно то, я только учусь :(
     
    Последнее редактирование: 29 дек 2017
  18. IvanUA

    IvanUA Гик

    [​IMG][​IMG]

    Второй датчик температуры - передает данные через инет по протоколу MQTT.

    Попробуйте базер подключить через конденсатор 1мкф.

    Переводчик (вот те строки что вы пишите в коде) работает только с языком "en"
     
    Последнее редактирование: 29 дек 2017
    Securbond нравится это.
  19. big_alex

    big_alex Нерд

  20. Deniskyn

    Deniskyn Гик

    не знаю в чем фокус, но пропала погода на сейчас, показывает только на завтра....