Google API hívás - táblázat, grafikon, online adatgyűjtés

ESP8266, ESP32 chipek és az ESP-xx modulok. Programozási nyelvek, trükkök, hardware tippek.
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Google API hívás - táblázat, grafikon, online adatgyűjtés

Hozzászólás Szerző: SanyiSay »

Sikerült Google táblázat cellájába írnom ESP-vel. :)

Naplózás, Adatbázis kezelés, grafikonok, naptár, űrlapok stb. :)
Amire nálam használva lesz, ezután nem kell külön külön megnyitni az ESP-k config oldalát és ott összehangolgatni őket hanem így remélhetőleg elég csak egy táblázatban rendezgetni. Valamint ha már lesz 3 ESP hőmérő itthon szépen összegyűjtöm a mért adatokat egy grafikonba.

Kis bökkenő hogy csak Google Scripteken keresztül tud az ESP a Google dokumentumokkal kommunikálni, így annak ismerete és használata elkerülhetetlen, de szerencsére az sincs túlbonyolítva, alap szintet ,sikereket gyorsan el lehet érni.

Ha valakinek felcsillanna a szeme, és gyorsan írni kezdené hogy mintakódot küldjek ne tegye, egyenlőre nem így megy sajnos.

Honnan indultam ki:
https://www.youtube.com/watch?v=fVBqUeksR1I

Aztán aminek mennie kellene: (de hibákkal tele a fordító szerint, ugyanakkor a google script-jéből lehet csemegézni )
https://github.com/electronicsguy/ESP82 ... PSRedirect

Aztán ami bevált:
https://github.com/esp8266/Arduino/blob ... equest.ino
Persze nem így, nem ezekkel a paraméterekkel mert ez nem script.google.com HTTPS példa, de az előtte lévő hibásból áttettem bele a csatlakozási adatokat és már ment is.

Szóval ebből is lehet egy szép nagy kibeszélős téma. :)
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Re: Google API hívás - táblázat, grafikon, online adatgyűjtés

Hozzászólás Szerző: SanyiSay »

Haladok.
Már megvan a cellából olvasás is. Nyomi google nem azon a címen küldi vissza az adatokat amin kapja. Így a kapott adatoknak egy újabb klienset kell nyitni.
https://developers.google.com/apps-scri ... es/content
Ezzel együtt viszont már van egy kezdetleges használható kód is a kezünkben.
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Re: Google API hívás - táblázat, grafikon, online adatgyűjtés

Hozzászólás Szerző: SanyiSay »

https://www.youtube.com/watch?v=Lt_dYl7_DiY

Kis kedv csináló videó. :)

hardware:
ESP
DS18B20 hőmérő
(lézerkapu) Lézerdióda és szembe vele az érzékelője

Két feladatot lát el az egység.

Hőmérő:
Meghatározott hőfokelmozdulásra elküldi a mért adatot a Google táblázatnak, oda az épp aktuális dátummal együtt bekerül, aztán abból lesz a csodaszép grafikon.

Lézerkapu:
Ha a fény útjába kerül valami akkor szintén elküldi a táblázatnak, ami ezt a riasztást is rögzíti dátummal együtt a másik oszlopba.

jobb oldalon az ESP soros portra írja ki többek között a script-től kapott válaszokat.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Google API hívás - táblázat, grafikon, online adatgyűjtés

Hozzászólás Szerző: Robert »

Tipp/kérdés:
https://thingspeak.com/ oldal miért nem jó a grafikonos megjelenítéshez?

A google táblázatos megoldás érdekes..... :)
http://www.tavir.hu - a gazda :)
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Re: Google API hívás - táblázat, grafikon, online adatgyűjtés

Hozzászólás Szerző: SanyiSay »

Igazság szerint a linkelt oldalt azt hittem csak az időjárás mániások használják, így azt sem tudom mit csinál.
Másik ok, hogy annak idején pár segédprogramot írtam Microsoft excel visual Basic segítségével, nagyon rászoktam egyszerűségére. Kicsit olyan nekem az efféle adatbázis kezelés mint a JSON forma az adattovábbításba. Átlátható, gyorsan hadba fogható, pont kézre áll. Ezek után mikor megláttam hogy mindezt megtalálom a Gdocs-ban. Nem kérdés hogy miért szántam rá egy hétvégét. :)
A grafikon az igazából csak egy pici része mindannak ami ezzel kaptam, szó se róla roppan korlátozottak és fapadosak a grafikon lehetőségek (is).
Persze lehet hogy mindez meglenne az időjárás oldalon is de azt még sosem használtam, a Google és az MS megoldásai viszont napi használatban vannak, nem csak nálam de sokunk életében azt hiszem.

Mondjuk pld az emil küldés, talán a táblázat és szövegszerkesztő rész is.
Az emilt pld le is írtam, hogy kell az új módszerrel használni. :)
Mondanám hogy megoldja az AT parancsokat használó fórumtársak emilküldő problémáját, de szerintem nem. :(

https://onedrive.live.com/view.aspx?cid ... 5376%2F%29

Gitbook-ot is otthagytam a szöveg szerkesztőjük miatt, sok előnye volt de amikor azzal kell vacakolnom hogy egy oldalt hogy írok meg ahelyett hogy a tartalmára koncentrálnék az felbosszantott. Mondjuk az OneNote sem a szívem csücske, de épp nem találtam még jobbat.
Egyszóval számomra a járt utat a járatlanért ne hagy ott esete forog fenn. :)
Ráadásul a NodeRed és efféle oldalak kényelmét szeretném elérni azok használata nélkül, és most már a google talán ad erre lehetőséget.

Aztán lehet valaki csinál nekem egy meggyőző cikket, videót a linkelt oldal használatáról, lehetőségeiről és másképp látom utána. :D
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Google API hívás - táblázat, grafikon, online adatgyűjtés

Hozzászólás Szerző: Robert »

Az onenote/onedrive oldalon a megjegyzéshez tipp:
A címsorba nem szóközt teszünk, hanem %20-at. Ugyanígy az ékezetes betűk is átadhatóak a google-nak ...
http://www.tavir.hu - a gazda :)
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Re: Google API hívás - táblázat, grafikon, online adatgyűjtés

Hozzászólás Szerző: SanyiSay »

A címsorba nem szóközt teszünk, hanem %20-at. Ugyanígy az ékezetes betűk is átadhatóak a google-nak ...
Nyelvtan a suliban sem volt a kedvencem, mostanában meg folyton ezek az ékezet mizériák. :)
Sajnos jó későn estem haza, de holnap kipróbálom, köszönöm a tippet.
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Re: Google API hívás - táblázat, grafikon, online adatgyűjtés

Hozzászólás Szerző: SanyiSay »

Működik szuper, újra vannak ékezetek. :)

Bár el leszek keseredve, ha ezt csak így lehet megoldani ebben az agyondigitalizált világban. :(
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Google API hívás - táblázat, grafikon, online adatgyűjtés

Hozzászólás Szerző: Robert »

A stringet futtasd át ezen:
http://hardwarefun.com/tutorials/url-en ... in-arduino

Kód: Egész kijelölése

	int c;
	char *hex = "0123456789abcdef";

	while( (c = getchar()) != EOF ){
		if( ('a' <= c && c <= 'z')
		|| ('A' <= c && c <= 'Z')
		|| ('0' <= c && c <= '9') ){
			putchar(c);
		} else {
			putchar('%');
			putchar(hex[c >> 4]);
			putchar(hex[c & 15]);
		}
	}
Vagy tegyél funkcióhívást belőle:

Kód: Egész kijelölése

String URLEncode(const char* msg)
{
    const char *hex = "0123456789abcdef";
    String encodedMsg = "";

    while (*msg!='\0'){
        if( ('a' <= *msg && *msg <= 'z')
                || ('A' <= *msg && *msg <= 'Z')
                || ('0' <= *msg && *msg <= '9') ) {
            encodedMsg += *msg;
        } else {
            encodedMsg += '%';
            encodedMsg += hex[*msg >> 4];
            encodedMsg += hex[*msg & 15];
        }
        msg++;
    }
    return encodedMsg;
}
http://www.tavir.hu - a gazda :)
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Re: Google API hívás - táblázat, grafikon, online adatgyűjtés

Hozzászólás Szerző: SanyiSay »

Hát igen ettől tartottam hogy csak ez a megoldás marad.

A mintakód nem a legjobb nekem ahogy látom.
http://www.w3schools.com/tags/ref_urlencode.asp
ezen az oldalon nekem az utf 8 kódsor a jó, csak azt fogadja el a google.
pld az Ü nem %DC hanem %C3%9C.
Ezzel asszem vacakolok még egy kicsit.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Google API hívás - táblázat, grafikon, online adatgyűjtés

Hozzászólás Szerző: Robert »

http://www.tavir.hu - a gazda :)
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Re: Google API hívás - táblázat, grafikon, online adatgyűjtés

Hozzászólás Szerző: SanyiSay »

Köszi megvizsgálom.

Most épp azzal próbálkozom hogy nem GET hanem POST üzenetben küldöm az adatokat mert akkor nem címsorban megy.
Aztán hátha akkor lehet valahogy fejléc paranccsal állítani mint ajaxban tettem. (text/html; charset=ISO-8859-2) Ez ott bevált. Sajna nem nagyon értek hozzá, talán vak vágyány. Szóköz az szépen átmegy Post-al, de az ékezetek eddig még nem.
Aztán lehet marad az általad ajánlott átkódolás ha más nincs.
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Re: Google API hívás - táblázat, grafikon, online adatgyűjtés

Hozzászólás Szerző: SanyiSay »

Végül is a konvertálás maradt az első link funkcióhívásával, valamint kellett egy kis fejlécmódosítás. Egyenlőre POST üzenetként van magolva. Ezt a megoldást is feltettem az eredeti minta után.
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Re: Google API hívás - táblázat, grafikon, online adatgyűjtés

Hozzászólás Szerző: SanyiSay »

Ugyan még csak alakul a lehetőség használata de egyre jobban tetszik.
Most egyenlőre így néz ki a tervezett oldal.
Képkivágás.PNG

Eddig több esp naplózására nem találtam frappáns megoldást, hát most van. A képen 5 ESP naplózása látszik, persze lehet "akármennyi". Így nem kell külön külön összeszedni az adatokat hanem egyszerre látom mindet. Majd hetente vált egy új lapra ne legyen sok adat. Minden ESP oszlopába benne lesz a neve, az IP, hogy épp mit csinál a lakásban, stb... Ezen kívül mivel ez is csak egy html oldal lehet ESP webszerverére mutató linkeket betenni, így OTA frissítési link, (ez hasznos mert már volt hogy rossz IP-re frissítettem :) ) és a egyéb beállítási és vezérlési gombok. ESP k- mac cím alapján vannak beazonosítva a többi változó adat.
Az is jól fog jönni hogy minden esp felírja ide a saját vezérlési paramétereit. Így nem kell külön összeírnom melyik modult hogy vezérlem és mire képes. Ez főleg akkor szokott kelleni mikor külső HTML vezérlő oldal készül, vagy Nextion konzol, vagy mikor egymást kell vezérelniük. (Szóval gyakran)

Mindezt úgy mintha legózna az ember. Legalább is eddig ami ehhez a legközelebb állt a tervek közül, az egy külső FTP szerver és az adatok megjelenítésére HTML oldal. Már az sem volt esélytelen de ehhez képest sok meló lett volna abban.

Ja legóról jut eszembe.
Ez nagyon tetszik.
https://www.kickstarter.com/projects/st ... n=f47a8bd8
Ha lenne olyan gyerekem aki kicsit is érdeklődik az elektronika iránt csinálnék neki ilyent WeMos Belsővel. :)


Persze ha nincs internet kapcsolat valamiért akkor nem naplóz. Azt ugyan meg lehet csinálni, hogy addig menti az adatokat és amikor van google elérés akkor feltölti, de ennyire nem lesz kidolgozva szerintem. Nem Marsra szállásra készülök.
Nincs meg a kellő jogosultságod a hozzászóláshoz csatolt állományok megtekintéséhez.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Google API hívás - táblázat, grafikon, online adatgyűjtés

Hozzászólás Szerző: Robert »

Itt a hátránya ugyanaz, mint az előnye:
- külső szolgáltató felhőjétől függsz :(
Viszont a helyi LOG-olás nem ördögtől való: ha esemény van, akkor a helyi adatokat bányászod úgyis és ott a 3MB filetárhely. FIFO elven meg kezelhető lenne az adathalom... És megjegyzés, hogy már feltöltött adat, vagy még nem, vagy nem is kell feltölteni, mert lokális hibaok (pl. nincs router/AP).


A LEGO esetén a kickstarterben egy pontot zűrösnek érzek: Az UNO illesztés ATMega16U2-jét úgy mutatja be, hogy milyen jó, hogy ott van, mert átkonfigurálható a programja és ne csak egyszerű soros I/O legyen. És mellette ott a Mega328 chip is...

Miért nem tesz be egyszerűen egy Mega32U4-et? Innentől minden problémát megoldana:
- UNO illesztő firmware-ja jogilag ingoványos terület
- 32U4 minden rendelkezésre áll, és a Leonardo/Pro micro kódok azonnal mennek
- drága lesz a két külön IC a sallangjaival:(

A LEDO rendszerből amiket használ - nem a legjobb árúak. És különben is - miért nincsen DUPLO méretben? Egyszerűbb játékokhoz a kis 2-3 évesnek is már oda lehetne adni :)
http://www.tavir.hu - a gazda :)
Válasz küldése