Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Tässä Blogtutissa aiomme lähettää SHT25 -anturin lukemat Google -arkeille käyttämällä Adafruit huzzah ESP8266: ta, joka auttaa lähettämään tiedot Internetiin.
- Tietojen lähettäminen Google -taulukon soluun on erittäin hyödyllinen ja yksinkertainen tapa tallentaa tiedot taulukkomuodossa verkossa.
- Sen sijaan, että käyttäisimme minkäänlaista erityistä siltaa, kuten laatikon työntämistä tai MQTT NODE RED: ää tai muuta REST -sovellusliittymää, aiomme lähettää tiedot käyttämällä Google -komentosarjaa, joka vastaanottaa tiedot helposti anturista käyttämällä skriptilinkkiä. google script -sovellus julkaisun jälkeen
- Voimme käyttää komentosarjoja lähettääksesi tiedot Google -taulukosta, asiakirjoista tai jopa Google -asemaan.
- Älä lopeta tähän pidemmälle, voit yhdistää Google-taulukot mihin tahansa verkkopohjaiseen sovellukseen, johon tiedot jaetaan käyttäjien kanssa haluamallaan tavalla
- Ei ylimääräisiä maksuja, toisin kuin muut täällä olevat verkkopalvelimet, ja voit tallentaa tietoja enintään 10 Gt asti käyttäjätilille ja käyttää
- Yksi parhaista pyrkimyksistä on oppia tietojen yhdistäminen Internetiin tällaisella reaaliaikaisella sovelluksella helposti.
- Aiomme käyttää I2C-yhteyttä, joka suorittaa isäntä-orja-protokollan tietojen jakamiseen Google-arkkien kanssa joustavasti.
- I2C -protokolla -alusta yhdistää anturilaitteiston ja toimii noin 256 anturin kanssa kerrallaan käyttämällä vain kahta langallista vedintä anturitietojen siirtämiseen 8 -bittisessä laitteistossa
Vaihe 1: Laitteisto
Adafruit Feather HUZZAH -sarjat
Adafruit Feather Huzzah Board
Integroitu Adafruit I2C ja USB -sovitin
SHT25 Lämpötila- ja kosteusanturi
I2C -kaapeli
Vaihe 2: Kuinka asiat toimivat
Antureiden reaaliaikaisten tietojen lukujen noutaminen ESP8266: n kautta ja tietojen lähettäminen eri pilvialustoille on paljon yksinkertaisempaa.
Aiomme käyttää Wire.h -kirjastoa Arduino IDE: ssä kahden langallisen tiedonsiirron luomiseksi Adafruit Huzzah Boardin ja SHT25 -anturin I2C -moduulin ja I2C -kaapelin välillä.
Huomautus: Monimutkaisen johdotusrakenteen välttämiseksi aion käyttää I2C -sovitinta Adafruit Huzzahille, joka on suunniteltu yhdistämään I2C -anturi.
Jotta aloittelija voi perustaa Esp8266 yo: n, sinun on suoritettava ESP8266 -asennus
Alusta ensin kirjastot:
- Lankakirjasto
- ESP8266WiFi
- WiFiClientSecure
Vaihe 3: I2C -moduulin suoritusprosessi Arduino IDE: ssä
Kirjastojen alustamisen jälkeen määritämme I2C -prosessin, jota käytetään noutamaan anturilukemat muuntamaan ne ja siirtämään 8 -bittiset tiedot vaatimusten mukaisesti:
Alusta rekisterit kaksijohtimisella I2C -protokollalla I2C -anturimoduulille
#define Addr 0x40
- Aloita I2C -lähetys ja alusta rekisterit ja pyydä 2 tavun dataa, josta luemme anturitiedot.
- Jos 2 tavun tiedot ovat saatavilla, lue anturitiedot ja käyttämällä alla olevia kaavoja muunnamme halutut arvot
kellukosteus = ((((tiedot [0] * 256,0 + tiedot [1]) * 125,0) / 65536,0) - 6;
float cTemp = (((data [0] * 256,0 + data [1]) * 175,72) / 65536,0) - 46,85;
kelluva fTemp = (cTemp * 1,8) + 32;
Tulosta arvot sarjamonitorinäytössä
Vaihe 4: ESP8266 -yhteys WiFi- ja Google -laskentataulukon kanssa
Suorituksen jälkeen I2C -moduulit aiomme oppia tietojen noutamisesta ja käyttämällä WiFi -kirjastoja ja isäntätunnusta sekä API -avaimia tietojen lähettämiseksi Google -arkeille.
- Määritä WiFi -tunnistetiedot maailmanlaajuisesti ESP8266: ssa, mikä auttaa meitä yhdistämään levyn Internetiin
- Koska aiomme käyttää HTTP -asiakasta ja määrittelemme HTTPS = 443 -protokollan HTTP -polun suojaamiseksi, koska komentosarja toimii vain suojatulla polulla.
- Alusta isäntätiedot koodissa
const char* host = "script.google.com";
const int httpsPort = 443;
String SCRIPT_ID = "mainitse komentosarjan tunnus, kuten mainoksissa on mainittu";
Huomautus: Skriptitunnus mainitaan verkkosovellusten URL -osoitteessa, kun Gscript -koodi julkaistaan, kopioi ja liitä alla mainittu tunnus ja alusta yllä oleviin komentoihin
- Käyttämällä myös volatilea muuttujan kanssa, aiomme alustaa muuttujan maailmanlaajuisesti, joka hakee tiedot I2C -moduulista ja lähettää sen URL -komentosarjalle, joka lähettää tiedot edelleen kohteeseen.
- ESP8266 WiFi -kirjastoa käyttämällä voimme yhdistää levyn Internetiin
- Anturitiedot isännöidään paikalliselle palvelimelle 5 sekunnin välein.
- URL -komentosarjan avulla tiedot isännöidään Googlen skriptin julkaistulle linkille Aktiivinen sivu 15 sekunnin välein.
Vaihe 5: Google Sheetin automatisointi GScript Editorin avulla
Koska meillä kaikilla on Google -tili, jolla voit kirjautua Google -taulukkoon tililläsi
- Mainitse arvot, jotka sinun on saatava ESP8266: een liitetystä anturista
- Siirry kohtaan Työkalut> Skriptieditori
- Käytä”Doget” -toimintoa tapahtumien vastaanottamiseen
- "Doget" -toiminnolla voit alustaa laskentataulukon sovellusliittymän avaimen ja yhdistää aktiivisen taulukon, johon haluat lähettää anturin arvot
- Automaatiotoiminnon avulla, joka on mainittu koodissa, edustamaan tietoja riveillä ja sarakkeilla helposti.
- Tallenna tiedot lopuksi ja napsauta "Julkaise" >> Napsauta "Ota käyttöön verkkosovelluksina"
- Varmista aina, kun projektin versio valitaan muuttuessa >> "Uusi" >> paina "päivitä"
Nykyisen verkkosovelluksen URL -osoite näkyy alla:
script.google.com/macros/s/”GScript -tunnus”/exec:
käytetään edelleen ESP8266 -koodissa tietojen hakemiseksi antureista
Aiomme käyttää HTTPS -pyyntöä tietojen yhdistämiseen gscript -editorissa mainittuun isäntätunnukseen, jossa koodasimme tietomme edelleen, jotta voimme muodostaa yhteyden Google -taulukkoon.
toiminto doGet (e) {Logger.log (JSON.stringify (e)); // Näytä parametrit var result = 'Ok'; // olettaa menestystä, jos (e.parameter == 'undefined') {result = 'Ei parametreja'; } else {var sheet_id = ''; // Laskentataulukon tunnus var sheet = SpreadsheetApp.openById (sheet_id).getActiveSheet (); var newRow = sheet.getLastRow () + 1; var rowData = ; } Logger.log (JSON.stringify (rowData)); // Kirjoita uusi rivi alle var newRange = sheet.getRange (newRow, 1, 1, rowData.length); newRange.setValues ([rowData]); }
Vaihe 6: Rajoitukset:
- Tämä projekti on rajoitettu vain I2C -anturin tietojen tallentamiseen Google -arkeihin
- Käytämme HTTPS GET -pyyntöä arvojen vastaanottamiseen I2C -toimintojen kautta
- Meidän on muutettava arvo merkkijonomuodossa ja lähetettävä tiedot sitten gscript URL -linkkiin.
Vaihe 7: Koodi, hyvitykset, viite
Github -koodi:
github.com/varul29/SHT25_GoogleSheets_Goog…
Viite
I2C -koodi:
Google Script -opetusohjelma:
Sulautettu kauppa:
Opetusblogi: