Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Selles Blogtutis saadame SHT25 anduri näidud Google'i lehtedele, kasutades Adafruit huzzah ESP8266, mis aitab andmeid Internetti saata.
- Andmete saatmine Google'i lehe lahtrisse on palju kasulik ja lihtne viis, mis salvestab andmed veebis tabelina.
- Selle asemel, et kasutada mis tahes spetsiaalset silda, näiteks kasti lükkamist või MQTT NODE RED või mis tahes muud tüüpi REST API -d, saadame andmed Google'i skripti abil, mis võtab andmed andurilt hõlpsalt vastu, kasutades skripti linki, mille pakub google'i skriptirakendus pärast avaldamist
- Skriptide abil saame andmeid saata Google'i lehelt, dokumentidest või isegi Google Drive'i.
- Lihtsalt ärge lõpetage siin, võite ühendada Google'i lehed mis tahes veebipõhise rakendusega, millega jagada andmeid kasutajatega nii, nagu nad soovisid
- Erinevalt teistest siinsetest veebiserveritest ei pea lisatasusid maksma ning saate kasutajakontole salvestada kuni 10 GB andmeid ja kasutada
- Üks parimaid jõupingutusi on see, et saate teada, kuidas seda tüüpi reaalajas rakendusega hõlpsalt andmeid Internetiga ühendada.
- Kasutame I2C ühendust, mis täidab ülem-alam protokolli, et jagada andmeid paindlikult Google'i lehtedega.
- I2C protokolliplatvorm ühendab anduri riistvara ja töötab korraga umbes 256 anduriga, kasutades anduriandmete edastamiseks 8 -bitises riistvaras ainult 2 juhtmega tõmmet
Samm: riistvara
Adafruit Feather HUZZAH komplektid
Adafruit Feather Huzzah juhatus
Adafruit I2C integreeritud ja USB -adapter
SHT25 temperatuuri ja niiskuse andur
I2C kaabel
2. toiming: kuidas asjad toimivad
Andurite reaalajas andmete lugemise toomine ESP8266 kaudu ja andmete saatmine erinevatele pilveplatvormidele on palju lihtsam.
Kasutame Wire.h raamatukogu Arduino IDE -s, et luua kahe traadiga side Adafruit Huzzah Boardi ja SHT25 anduri I2C mooduli ning I2C kaabli vahel.
Märkus: keeruka juhtmestiku vältimiseks kasutan I2C -adapterit Adafruit Huzzah jaoks, mis on mõeldud I2C -anduri ühendamiseks.
Algaja Esp8266 seadistamiseks peab läbima ESP8266 seadistuse
Esmalt initsialiseerige raamatukogud:
- Traatraamatukogu
- ESP8266WiFi
- WiFiClientSecure
Samm: I2C mooduli täitmisprotsess Arduino IDE -s
Pärast raamatukogude lähtestamist määratleme I2C protsessi, mida kasutatakse andurite näitude teisendamiseks ja 8 -bitiste andmete nihutamiseks vastavalt nõuetele:
Vormistage registrid kahe juhtmega I2C protokollis I2C andurimooduli jaoks
#define Addr 0x40
- Alustage I2C edastamist ja vormindage registrid ning taotlege 2 baiti andmeid, kust loeme andurite andmeid.
- Kui saadaval on 2 baiti andmeid, lugege anduri andmeid ja kasutades allpool toodud valemeid, teisendame soovitud väärtused
ujuki niiskus = (((andmed [0] * 256,0 + andmed [1]) * 125,0) / 65536,0) - 6;
ujuk cTemp = (((andmed [0] * 256,0 + andmed [1]) * 175,72) / 65536,0) - 46,85;
ujuk fTemp = (cTemp * 1,8) + 32;
Printige väärtused jadamonitori ekraanile
Samm: ESP8266 ühendus WiFi ja Google'i arvutustabeli abil
Pärast I2C -moodulite täitmist õpime, kuidas andmeid hankida ning WiFi -teekide ja hosti -ID ning API -võtmete abil andmete Google'i lehtedele saatmiseks.
- Määrake ESP8266 -s ülemaailmselt WiFi -mandaat, mis aitab meil tahvlit Internetiga ühendada
- Kuna me hakkame kasutama HTTP klienti ja määratleme HTTPS = 443 protokolli HTTP tee kaitsmiseks, kuna skript töötab ainult turvalisel teel.
- Vormindage hosti andmed koodis
const char* host = "script.google.com";
const int httpsPort = 443;
String SCRIPT_ID = "maini skripti ID -d, nagu on mainitud";
Märkus. Skripti ID on mainitud „veebirakenduste URL -is”, samal ajal kui Gscripti kood avaldatakse, lihtsalt kopeerige ja kleepige allpool nimetatud ID ja vormindage ülaltoodud käskudes
- Kasutades ka muutujaga volatile, lähtestame muutuja globaalselt, mis tõmbab andmed I2C moodulist ja saadab need URL -i skriptile, mis edastab andmed sihtkohta.
- Kasutades ESP8266 WiFi raamatukogu, saame plaadi Internetiga ühendada
- Anduri andmed hostitakse iga 5 sekundi järel kohalikku serverisse.
- URL -i skripti abil hostitakse andmed iga 15 sekundi järel Google'i skripti avaldatud lingile Aktiivne leht.
5. samm: automatiseerige Google'i leht GScripti redigeerija abil
Kuna meil kõigil on Google'i konto, et oma kontoga Google'i lehele sisse logida
- Märkige väärtused, mida peate saama ESP8266 -ga ühendatud andurilt
- Avage Tööriistad> Skriptiredaktor
- Sündmuste vastuvõtmiseks kasutage funktsiooni „Doget”
- Funktsioonis „Doget” arvutustabeli API võtme lähtestamiseks ja aktiivse lehe ühendamiseks sinna, kuhu soovite anduri väärtused saata
- Koodis mainitud automaatikafunktsiooni abil on lihtne ridade ja veergude andmeid esitada.
- Lõpuks salvestage andmed ja klõpsake nuppu „Avalda” >> Klõpsake „Juuruta veebirakendustena”
- Veenduge alati, kui muudatusi tehakse, et valida „projekti versioon” >> „Uus” >> vajutage nuppu „Värskenda”
Praegune veebirakenduse URL kuvatakse järgmiselt.
script.google.com/macros/s/”GScripti ID”/exec:
kasutatakse täiendavalt ESP8266 koodis andurite andmete toomiseks
Kasutame HTTPS -i hankimise taotlust andmete ühendamiseks gscripti redaktoris mainitud hosti ID -ga, kus me kodeerisime oma andmed Google'i lehega ühenduse loomiseks edasi.
funktsioon doGet (e) {Logger.log (JSON.stringify (e)); // vaata parameetreid var result = 'Ok'; // eeldada edu, kui (e.parameter == 'undefined') {result = 'Parameetreid pole'; } else {var sheet_id = ''; // Arvutustabeli ID var sheet = SpreadsheetApp.openById (sheet_id).getActiveSheet (); var newRow = sheet.getLastRow () + 1; var rowData = ; } Logger.log (JSON.stringify (rowData)); // Kirjuta uus rida alla var newRange = sheet.getRange (newRow, 1, 1, rowData.length); newRange.setValues ([reaandmed]); }
6. samm: piirangud:
- See projekt piirdub ainult I2C anduri andmete salvestamisega Google'i lehtedesse
- Kasutame HTTPS GET päringut väärtuste saamiseks I2C funktsioonide kaudu
- Peame muutma väärtust stringivormingus ja seejärel saatma andmed gscripti URL -i lingile.
7. samm: kood, autorid, viide
Githubi kood:
github.com/varul29/SHT25_GoogleSheets_Goog…
Viide
I2C kood:
Google'i skripti õpetus:
Sisseehitatud pood:
Õpetusblogi: