Codebox: Az érzékelőadatok mentése a Google Táblázatokba - 💡 Fix My Ideas

Codebox: Az érzékelőadatok mentése a Google Táblázatokba

Codebox: Az érzékelőadatok mentése a Google Táblázatokba


Szerző: Ethan Holmes, 2019

A Feldolgozás első lépése 11. fejezetében a „Hello Arduino” fejezet bemutatja, hogyan kell az adatokat feldolgozni az Arduino feldolgozásból. Dióhéjban az Arduino kód (a könyv 11-6. Példája) egy fényérzékelőtől érkező adatokat olvassa, és a soros portra írja. Ezután a szakasz több, egyre kifinomultabb vázlatot ír le, amelyek a szenzoradatokat a Feldolgozó Soros könyvtárával visszakeresik és megjelenítik.

Ez a Codebox megmutatja, hogyan mentheti ezt az érzékelő adatot egy Google Táblázatba. A hűvös dolog az, hogy a Google által rendelkezésre bocsátott finomságokat (diagramok, modulok, térképek stb.) Közvetlenül felhasználhatja az adatokkal. Míg a fényérzékelő elég egyszerű, ezt az alapvető beállítást használhatja a kifinomultabb érzékelőkről, például a Parallax GPS vevőegységről származó adatok rögzítésére a Google Spreadsheets-be, majd hozzon létre egy térképet arról, hogy hol voltál, modult.

A vázlat a Google API klienskönyvtárára támaszkodik, amely kódkönyvtárak a Google különböző szolgáltatásaival való kölcsönhatásra (nem csak a táblázatokra). A cikk kutatása során találtam nagyszerű ihletet a feldolgozó guru Jer Thorpe cikkének Open Science, H1N1, feldolgozása és a Google Spreadsheet API. Bár az API egy régebbi változatán alapul (1.0-as verzió, míg az API-k most már a 3.0-s verzióig terjednek), nagyszerű bemutatója a Google-nak való kölcsönhatásnak. Kösz, Jer!

Hozza létre a táblázatkezelőt

A projekt első lépése egy Google-táblázat létrehozása. Ehhez szüksége lesz egy Google-fiókra (nyilvánvalóan!). Jelentkezzen be, majd lépjen be a dokumentumokba, hogy létrehozzon egy új táblázatot, amelynek neve „érzékelőnapló”. Ezután adja hozzá az első sorban az alábbi oszlopokat: „dátum”, „idő” és „olvasás”. az oszlopfejléceket a táblázatban használják a táblázatkezelő adataihoz. Ezután mentse el a táblázatot. (Hagyja azonban nyitva.)

Állítsa be a vázlatot

Ezután egy kis takarítás. A Google adat ügyfélkönyvtárai generikus és egyéb jótékonysági elemeket használnak a Java 1.5-ben, így szükség lehet a Feldolgozás verziójának frissítésére a 0136-os vagy újabb verzióra. Ha nem biztos benne, hogy melyik verziót használja, töltse le a Processing legújabb verzióját, hogy megbizonyosodjon róla. Ellenkező esetben sok fejrögzítésre van szüksége.

Miután megerősítette, hogy a 0136+ kiadásban van, töltse le a gdata-samples.java-1.40.0.zip Java kliens könyvtárat. [NB: Ez a könyvtárak egy kicsit régebbi verziója - vannak olyan problémák, amelyek a legfrissebb verzióban lógnak egy Mac-en, így az emberek azt ajánlották, hogy addig csökkentsék a minősítést, amíg a Google nem oldja meg a problémát.] Szükséged lesz Guava-ra, a Google Gyűjtemény könyvtárára is.

Miután letöltötte és kicsomagolta a fájlokat, tegye fel a feldolgozást és illessze be a google_spreadsheet_writer.pde fájlt a vázlatterületre:

Ezután adja hozzá a következő négy fájlt a projekthez a korábban letöltött könyvtárakból (használja a Vázlat -> Fájlok hozzáadása menüpontot):

kicsomagolt gdata könyvtár/java/java/lib/gdata-client-1.0.jar

kicsomagolt gdata könyvtár/java/java/lib/gdata-core-1.0.jar

kicsomagolt gdata könyvtár/java/java/lib/gdata-spreadsheet-3.0.jar

kicsomagolt guava könyvtár/guava-r07.jar

Végül frissítenie kell néhány változót a vázlatban, hogy megadja felhasználónevét, jelszavát; meg kell győződnie arról is, hogy beírja a projekt kezdetén létrehozott táblázatkezelő * pontos * nevét. Íme a sorok, amelyeket módosítani kell:

String uname = "[adja meg a Google-fiókodat itt]"; // A Google-fiók felhasználói neve String pwd = "[adja meg itt a Google-fiókod jelszavát]"; // A Google-fiókod jelszava String táblázatkezelő_név = "érzékelőnapló"; // Adatbeviteli táblázat neve. Pontosan meg kell egyeznie, beleértve az esetet is.

Ha elkészült, tedd ki a vázlatot. Feltételezve, hogy az Arduino kódot az Első lépések a feldolgozással 11-6. Példa szerint futtatja, el kell kezdeni, hogy a táblázatkezelő 2 másodpercenként töltse ki az érzékelő adatait.

Vita

Őszintén szólok: ennek a projektnek a legnehezebb része a könyvtárak helyes beállítása. Amint megtörtént, valójában nem olyan sok a kódot. A fejlesztő útmutatója: A Java dokumentáció jó munkát ír le, amiről többet tudnia kell. (Ne feledje, hogy ez a dokumentáció régebbi változata. Sokkal világosabbnak találtam, mint a legfrissebb verzió, amelyet a Developer's Guide (v3.0).)

Ahogy látni fogja a beállít() A vázlat a hitelesítő adatok hitelesítésével kezdődik. Feltételezve, hogy kijelentkezik, akkor húz egy listát az összes táblázatból, és megtalálja azt, amely ugyanazzal a címmel rendelkezik, mint amit a SPREADSHEET_NAME változó. Végül kihúzza az első munkalapot (ezek a táblázat különböző lapjai), és elmenti a későbbi felhasználásra. Innen a vázlat a húz() módszerrel, amely időzítőt használ, hogy rendszeresen felhívja a t továbbítja () funkció.

továbbítja () ahol a munka nagy része történik. Ez egy pár karakterlánc létrehozásával kezdődik, amelyek az aktuális dátumot és időt tárolják, majd létrehoz egy újat ListEntry, amely az elsődleges adatosztály, amelyet a munkalapokkal való interakcióhoz használtak. Az osztály módszer getCustomElements (). setValueLocal () a feldolgozási változók leképezésére szolgál a munkalapon lévő oszlopnevekre, a következő ábra szerint:

Miután megkapta ezt a vázlatot, a lehetőségek végtelenek. Nos, rendben, nem végtelen. Végesek. De sok lehetőség van.

Élvez!

További: Az összes Codebox oszlop megtalálható itt

A Maker Shedben:


Első lépések a feldolgozással Ismerje meg a számítógépes programozást a feldolgozással egyszerű módon, amely lehetővé teszi a kódok használatát rajzok, animációk és interaktív grafikák létrehozásához. A programozási kurzusok általában az elméletből indulnak ki, de ez a könyv lehetővé teszi a kreatív és szórakoztató projektekbe való ugrást. Ideális azok számára, akik alapvető programozást akarnak tanulni, és egyszerű bemutatkozásként szolgálnak a programozáshoz szükséges grafikák számára.



Lehet, Hogy Érdekli

Toronto Mini Maker Faire: Robotok, Tűz, 3D nyomtatás és még sok más

Toronto Mini Maker Faire: Robotok, Tűz, 3D nyomtatás és még sok más


Fun, Thrills, (és Learning) a Maker Faire Oktatási Napon

Fun, Thrills, (és Learning) a Maker Faire Oktatási Napon


Sawaya olvadó ember: a tégla művészete

Sawaya olvadó ember: a tégla művészete


Készítők: Földre van szüksége!

Készítők: Földre van szüksége!