Jak odesílat data přes JSON nebo XML z Arduina nebo ESP32 na Foxtrot?
(1/1)
RadovanNemec:
Už někdo zkoušel odesílat data přes JSON nebo XML z Arduina nebo ESP32 na Foxtrot? Potřeboval bych poradit jak na to.
Miroslav Krhounek:
Foxtrot nabizi TecoApi - je to prehledne zdokumentovane
Tzn. nastavite si promennou viditelnou pres tecoapi direktivou {PUBLIC_API} a pak je mozne ji cist/nastavovat pomoci JSONu pres internetove endpoity /tecoapi/getObject a dalsi metody setObject, putObject... musite mit teda jeste nastavene jmeno s heslem pro TecoApi ve webmakru.
Pro komunikaci s TecoApi jsou dve standardni moznosti autorizace pres http; pro produkci se doporucuje "Digest Auth", kde se neposilaji credentials otevrene.
TecoApi se vpodstate chova jako publikovane promenne pres direktivu {PUBLIC}.
Tzn. neni to klasicka "forma" nejakeho obecneho weboveho serveru kde napr. na zaklade hodnot v dotazu (zaslanem JSONU v body nebo promennych v querystringu) vytvarite "vlastni" odpoved. U TecoApi je odpovedi jen informace, jestli vse probehlo v poradku pripadne nejaka chyba.
Pokud byste chtel pri posilani url requestu neco provest a na zaklade toho odeslat specifickou odpoved, musite si to udelat "po svem" a vyuzit funkcni blok fbRecvFrom s odpovedi fbSendTo a mit prislusne nakonfigurovan e ETH_UNI rozhrani. Pak si ale musite http request parsovat sam. Tady pak pozor na zpracovavani delsich odpovedi, at to nejede v ramci jednoho cyklu a nezdruzuje vykonavani ostatniho kodu/programu.
Na strane Arduina (s ethernet shieldem) nebo ESP s integrovanou wifi si dejte neco vyhledat, existuje nespocet navodu, jak odeslat http request, resp. i vzorovych prikladu primo v Arduino IDE pokud si naimportujete ESP knihovnu.
Navigace
[0] Index zpráv