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

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 มี.ค. 2021
  • С помощью библиотеки ArduinоJson 6 на ESP32 делаем парсинг статистики TH-cam, получаем текущую погоду от Openweathermap.org, получаем курсы валют с Privatbank.
    Общие принципы десериализации данных в Json формате.
    Скетч на гуглдрайве - cutt.ly/3xw2jSV

ความคิดเห็น • 23

  • @AE075G
    @AE075G 6 หลายเดือนก่อน

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

  • @DIM171000
    @DIM171000 6 หลายเดือนก่อน

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

  • @tilitilitesto8294
    @tilitilitesto8294 3 ปีที่แล้ว

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

  • @denisjke8394
    @denisjke8394 2 ปีที่แล้ว

    super!

  • @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 Большое спасибо за ответы!

  • @alex_podol
    @alex_podol ปีที่แล้ว

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

  • @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 ปีที่แล้ว

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

  • @isclean69
    @isclean69 2 ปีที่แล้ว +1

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

    • @BootuzDinamontuz
      @BootuzDinamontuz  2 ปีที่แล้ว

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

    • @AMatroskin
      @AMatroskin 2 ปีที่แล้ว +1

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

  • @tilitilitesto8294
    @tilitilitesto8294 3 ปีที่แล้ว

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

  • @vladimirzarifov8610
    @vladimirzarifov8610 ปีที่แล้ว

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

    • @denchela
      @denchela ปีที่แล้ว

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

    • @user-ec6jr3cv4l
      @user-ec6jr3cv4l หลายเดือนก่อน

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

  • @smartrov4413
    @smartrov4413 ปีที่แล้ว

    Видэо.

    • @BootuzDinamontuz
      @BootuzDinamontuz  ปีที่แล้ว

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

    • @smartrov4413
      @smartrov4413 ปีที่แล้ว +1

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