Skocz do zawartości

Odczytywanie API strony przez Arduino


Zapiety

Pomocna odpowiedź

Cześć,

W związku ze smogiem i tym, że mam 3 miesięczne dziecko w domu, chciałem zbudować urządzenie, które będzie stale informować, czy można wietrzyć mieszkanie, albo czy warto wybrać się na spacer, czy zdrowiej kisić się w domu.

Wymyśliłem sobie to tak, że będę korzystać ze stacji Airly, która jest zaledwie kilkaset metrów od mojego mieszkania i za pomocą udostępnianego przez nich API będę wyświetlał wartości pomiarów na małym wyświetlaczu LCD i kolorowej diodzie powiadomień LED. Generalnie z tą drugą częścią nie mam najmniejszych problemów, problem za to stanowi odczytywanie ich API.

Myślełem, że poradzę sobie przy pomocy biblioteki HttpClient, ale przykładowe zapytania na ich stronie nie są akceptowane przez tą bibliotekę.

https://developer.airly.eu/docs#endpoints.meta.indexes

Proszę o pomoc. Może istnieje jakaś biblioteka, które umożliwiłaby mi odczytywanie danych zgodnie z dokumentacją dostarczoną przez Airly. Na chwilę obecną chciałbym korzystać z języka Arduino.

Pozdrawiam serdecznie
MM

Edytowano przez Zapiety
Link do komentarza
Share on other sites

@Zapiety, witam na forum 😉 Widzę, że to Twoje pierwsze kroki na Forbocie, oto najważniejsze informacje na start:

  • Chcesz przywitać się z innymi członkami naszej społeczności? Skorzystaj z tematu powitania użytkowników.
  • Opis najciekawszych funkcji, które ułatwiają korzystanie z forum znajdziesz w temacie instrukcja korzystania z forum - co warto wiedzieć?
  • Poszczególne posty możesz oceniać (pozytywnie i negatywnie) za pomocą reakcji - ikona serca w prawym dolnym rogu każdej wiadomości.

1 godzinę temu, Zapiety napisał:

Myślełem, że poradzę sobie przy pomocy biblioteki HttpClient, ale przykładowe zapytania na ich stronie nie są akceptowane przez tą bibliotekę.

A możesz zdradzić jak to się objawia? Jeśli podasz więcej informacji na temat błędów to łatwiej będzie pomóc. Alternatywnie możesz od razu poszukać innych bibliotek i próbować. Nie korzystałem, ale przed chwilą znalazłem np. coś takiego: https://github.com/csquared/arduino-restclient Możliwe, że tutaj się sprawdzi 😉 Daj znać gdzie dokładnie leży problem to będzie łatwiej pomóc.

Link do komentarza
Share on other sites

Dziękuje za odpowiedź!

Pytanie nie jest odczytywane poprawnie przez bibliotekę. Myślę, że problemem jest brak umiejętności konstruowania zapytań curl lub HttpClient nie potrafi odczytać zapytania w strukturze curl.

Wieczorem prześlę kod. Teraz praca w zupełnie innej branży

 

MM

Link do komentarza
Share on other sites

11 godzin temu, Zapiety napisał:

Dziękuje za odpowiedź!

Pytanie nie jest odczytywane poprawnie przez bibliotekę. Myślę, że problemem jest brak umiejętności konstruowania zapytań curl lub HttpClient nie potrafi odczytać zapytania w strukturze curl.

Wieczorem prześlę kod. Teraz praca w zupełnie innej branży

 

MM

Cześć,

API tej strony jest oparte na formacie obiektów Javascript - JSON. Jest to wyraźnie opisane tutaj:

https://developer.airly.eu/docs#general.gzip

Proponuję zatem uzyć biblioteki do obsługi standardu JSON. Np. takiej dla Arduino:

https://github.com/bblanchon/ArduinoJson

Co prawda Arduino UNO też jest na liście kompatybilności, ale ze względu na ilość zasobów sprzętowych na tej płytce nie sądzę, aby parsowanie JSON było efektywne. Raczej użyłbym tanich płytek z ESP8266 lub ESP32 z firmware umożliwiającym programowanie z "Arduino IDE".

Tutaj masz jeszcze kilka pomocniczych linków:

Pozdrawiam

  • Lubię! 1
  • Pomogłeś! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.