Парсинг Json через ArduinoJSON 6. Счетчик подписчиков Youtube, погода, курсы валют с банков.

Поділитися
Вставка
  • Опубліковано 11 лис 2024
  • С помощью библиотеки ArduinоJson 6 на ESP32 делаем парсинг статистики UA-cam, получаем текущую погоду от Openweathermap.org, получаем курсы валют с Privatbank.
    Общие принципы десериализации данных в Json формате.
    Скетч на гуглдрайве - cutt.ly/3xw2jSV

КОМЕНТАРІ • 23

  • @AE075G
    @AE075G 11 місяців тому

    Полезное видео. Сейчас начинаю изучать JSON, как систему хранения данных настроек на EEPROM.

  • @DIM171000
    @DIM171000 11 місяців тому

    Информация была полезна! если можно расскажите про работу с json на питоне. спасибо 🙏

  • @alex_podol
    @alex_podol 2 роки тому

    Для получения температуры в градусах Цельсия просто добавьте к запросу &units=metric и тогда не нужна математика с пересчетом

  • @tilitilitesto8294
    @tilitilitesto8294 3 роки тому

    Интересно. Я тут для гайверовской лампы пытался прошивку поковырять, там как раз в json сохранялись настройки лампы (прошивка от lakec). Неделю ковырялся, ничего не смог сделать. Попробую еще раз.

  • @evgeniykukoba3637
    @evgeniykukoba3637 3 роки тому

    Здравствуйте, сразу извиняюсь за свою возможную некомпетентность. Подскажите вы для гугла используете WiFiClientSecure client, if (!client.connect(hostyoutube, 443)) 443 порт значит этот запрос идет по HTTPS (защищенное соединение данные не в открытом виде) верно? Но я в вашем скетче не видел где вы прописываете сертификат, для esp8266 вроде как это нужно делать или для ESP32 для работы через защищенное соединение не нужно дополнительно прописывать сертификаты? Я просто хочу использовать ESP для получения данных со своего веб сервера и не хочется их гонять по http в открытом виде. Был бы очень благодарен вам за ответ.

    • @BootuzDinamontuz
      @BootuzDinamontuz  3 роки тому

      SSL сертификаты устанавливаются на стороне веб сайта, т.е. сервера. На стороне клиента их установка не нужна. SSL нужен для того, чтобы не подставляли чужие сайты вместо вашего. А вот SSH - это как раз о защите соединения. Но используется SSH на ftp и telnet. Вам не нужно на стороне esp32 esp8266 прописывать сертификат. Но есть еще такое понятие как версии ssl. Есть ssl 1.0, 1.1, 1.2 , есть tls. И старые браузеры не понимают супер новых версий ssl.

    • @evgeniykukoba3637
      @evgeniykukoba3637 3 роки тому

      ​@@BootuzDinamontuzПодскажите если сильно не углубляться в детали при использовании ESP32 или esp8266, WiFiClientSecure client; client.connect(hostyoutube, 443); и подобного запроса String request = String("GET /youtube/v3/channels?part=statistics&id=") + CHANNEL_ID + "&key=" + API_KEY+ " HTTP/1.1
      " +"Host: " + hostyoutube + "
      User-Agent: ESP32/1.1
      Connection: close

      "; можно ли получить доступ к данным CHANNEL_ID и API_KEY если к примеру перерезать витую пару по которой передается интернет, сунуть в разрыв хаб и с него считать весь трафик.

    • @BootuzDinamontuz
      @BootuzDinamontuz  3 роки тому

      SSL не отвечает за безопасность соединения. Так что если сильно не углубляться, то да ( очень теоретически). А вот разрезать провод и сунуть в разрыв свой сайт и сказать, что это youtube.com - вот тут как раз SSL и не даст этого сделать.

    • @evgeniykukoba3637
      @evgeniykukoba3637 3 роки тому

      @@BootuzDinamontuz Большое спасибо за ответы!

  • @isclean69
    @isclean69 2 роки тому +1

    Увидел в рекомендациях, очень интересное и полезное видео, но столкнулся с проблемой.
    уже всю голову себе сломал. У меня есть скетч с погодой, но писал я его еще на пятомjsone. хотел добавить пару фишек из твоего скетча, но блин не знаю как переделать имеющийся у себя скетч, под шестую версию

    • @BootuzDinamontuz
      @BootuzDinamontuz  2 роки тому

      Я переделывал, но давно.

    • @AMatroskin
      @AMatroskin 2 роки тому +1

      тоже по вопросу миграции с пятого на шестой тут оказался, автору спасибо, я в итоге заново под шестой все переписал.

  • @evgeniykukoba3637
    @evgeniykukoba3637 3 роки тому

    Здравствуйте, сегодня попробовал попробовать ваш скетчь, а именно кусок получения курсов с апи приватбанка. В общем оно у меня не заработало,
    if (!client.connect("api.privatbank.ua", 443)) {
    Serial.println("connection to api.privatbank.ua");
    return;
    }
    Вот тут всегда на return уходило, собственно заработало после того как я перед этим кодом установил client.setInsecure(); после этого сало работать нормально, я так понимаю это как раз к вопросу отсутствия сертификата. Ну и не понятно чего оно вам апи отдает без client.setInsecure(); а мне не отдает :(

    • @BootuzDinamontuz
      @BootuzDinamontuz  3 роки тому

      Явно включение секюрности стоит где-то выше в коде, например в предыдущем куске, и из-за этого отдаётся.

  • @vladimirzarifov8610
    @vladimirzarifov8610 2 роки тому

    Правильно наверно будет сказать, что [ ] это список, { } это массив. Ну или как в Python словарь)

    • @denchela
      @denchela Рік тому

      JSON - он от JavaScripta и он верно назвал. Если [ ] то эта array (массив), если { } то эта object (объект).

    • @Реальныйобзор-л7п
      @Реальныйобзор-л7п 6 місяців тому

      В Python массив называется списком [ ], другого нет.

  • @denisjke8394
    @denisjke8394 3 роки тому

    super!

  • @tilitilitesto8294
    @tilitilitesto8294 3 роки тому

    Скетч забыл выложить. Выложи, плиз.

  • @smartrov4413
    @smartrov4413 2 роки тому

    Видэо.

    • @BootuzDinamontuz
      @BootuzDinamontuz  2 роки тому

      В моей деревне говорят видэо.

    • @smartrov4413
      @smartrov4413 2 роки тому +1

      @@BootuzDinamontuz та я ж не против. Забавно, просто.