Часы, календарь, погода на esp32 + lcd2004

Тема в разделе "Глядите, что я сделал", создана пользователем issaom, 26 авг 2020.

  1. issaom

    issaom Гуру

    Дык это легко проверить....
    Добавьте одну строчку кода Serial.println(serverPath);
    Код (C++):
        // Формируем строку для получения API
        String serverPath = "http://api.openweathermap.org/data/2.5/weather?id=" + cityID + "&appid=" + openWeatherMapApiKey;
        // Выводим в COM потр строку для AIP
        Serial.println(serverPath);
    В com порт должна будет вылететь строка запроса погоды
     
  2. andr_us

    andr_us Нуб

    Сделал, как Вы написали. Строка вылетает в com порт. Но... В ответ получает:
    18:48:01.521 -> HTTP Response code: 401
    18:48:01.521 -> {"cod":401, "message": "Invalid API key. Please see http://openweathermap.org/faq#error401 for more info."}
     
  3. issaom

    issaom Гуру

    Дак вы сравните её с правильной строкой и посмотрите чо там не хватает )))
     
  4. andr_us

    andr_us Нуб

    Не знаю, что считать правильной строкой. Пробовал по-разному. Результат тот же. Вот что выходит в com порт:
    19:03:32.194 -> http://api.openweathermap.org/data/...nweathermap.org/data/2.5/weather?q=Pavlovskiy Posad, RU&appid=0f47096f1eb155f8b277692876fb963e
    19:03:32.227 ->
    19:03:32.334 -> HTTP Response code: 401
    19:03:32.334 -> {"cod":401, "message": "Invalid API key. Please see http://openweathermap.org/faq#error401 for more info."}
     
  5. issaom

    issaom Гуру

    правильная та которая работает, с COM порт вы печатаете строку для того чтобы понять правильно она сформировалась или нет
    У вас же есть уже рабочий вариант строки, сравните его ГЛАЗАМИ с тем который получаете программно
     
  6. andr_us

    andr_us Нуб

  7. andr_us

    andr_us Нуб

    Разобрался. Получилось. в строке: String openWeatherMapApiKey = должен быть только ключ. А у меня была строка вызова полностью. Поэтому она и вылетала второй раз.
     
  8. andr_us

    andr_us Нуб

    Теперь бы понять, почему название города не выходит?
     
  9. issaom

    issaom Гуру

    19:46:22.570 -> {"coord":{"lon":38.6506,"lat":55.7847},"weather":[{"id":601,"main":"Snow","description":"snow","icon":"13n"}],"base":"stations","main":{"temp":257.52,"feels_like":249.83,"temp_min":257.15,"temp_max":258.15,"pressure":1004,"humidity":85},"visibility":1900,"wind":{"speed":6,"deg":310},"snow":{"1h":0.5},"clouds":{"all":40},"dt":1610815425,"sys":{"type":1,"id":9020,"country":"RU","sunrise":1610775850,"sunset":1610803543},"timezone":10800,"id":512023,"name":"Pavlovskiy Posad","cod":200}

    Строка такая возвращается при запуске ?
     
  10. issaom

    issaom Гуру

    Прикольно....
    Код (C++):
    String openWeatherMapApiKey = "0f47096f1eb155f8b277692876fb963e"; // ApiKey
    String cityID = "512023";                                         // ID города
    Так прописали ?
     
  11. andr_us

    andr_us Нуб

    Имеется ввиду, выходит в ком порт? Если так, то да:
    Вот, что выходит в ком порт:
    19:49:22.084 -> {"coord":{"lon":38.6506,"lat":55.7847},"weather":[{"id":601,"main":"Snow","description":"snow","icon":"13n"}],"base":"stations","main":{"temp":257.52,"feels_like":249.83,"temp_min":257.15,"temp_max":258.15,"pressure":1004,"humidity":85},"visibility":1900,"wind":{"speed":6,"deg":310},"snow":{"1h":0.56},"clouds":{"all":40},"dt":1610815825,"sys":{"type":1,"id":9020,"country":"RU","sunrise":1610775850,"sunset":1610803543},"timezone":10800,"id":512023,"name":"Pavlovskiy Posad","cod":200}
     
  12. andr_us

    andr_us Нуб

    Именно так!
     
  13. issaom

    issaom Гуру

    Увеличьте размер буфера
    Код (C++):
    StaticJsonDocument<850> doc;
     
  14. andr_us

    andr_us Нуб

    Ок. Получилось! Спасибо!!!
     
  15. Deniskyn

    Deniskyn Гик

    Ув. автор, перенесите проект на есп8266, 32я слишком "по богатому"
     
  16. issaom

    issaom Гуру

    А мне оно зачем ? Я планировал к ним сенсорные кнопки приделать..... и вот тут уже получится гораздо дешевле (без кавычек) чем есп8266
     
  17. aas84

    aas84 Нуб

    Доброго дня всем! у меня, при компиляции появляется ошибка в 75 строке:
    WiFi.begin(ssid, password);
    пытаюсь разобраться, но пока не понял, в чем проблема. прикрепляю скрин и текстовый файл с сообщением ошибки. буду рад помощи.
     

    Вложения:

  18. issaom

    issaom Гуру

    Дык у Вас вроде как там плата на ESP8266 судя по скрину..... а у меня ESP32
     
  19. aas84

    aas84 Нуб

    точно. даже и не подумал внимание обратить. спасибо.
    на али несколько вариантов:
    ESP-32 30Pin
    ESP-32 38Pin
    ESP32-WROOM-32U
    ESP32-WROOM-32D.
    вы писали:
    ESP-WROOM-32 DevKit v1
    брать можно любой?
     
  20. Catbear

    Catbear Гик

    главное-правильно подключить, а так одно и тоже для этой конструкции. Сомнения-берите как у автора.