Taula de continguts:

Dades meteorològiques mitjançant Fulls de càlcul i Google Script: 7 passos
Dades meteorològiques mitjançant Fulls de càlcul i Google Script: 7 passos

Vídeo: Dades meteorològiques mitjançant Fulls de càlcul i Google Script: 7 passos

Vídeo: Dades meteorològiques mitjançant Fulls de càlcul i Google Script: 7 passos
Vídeo: Импорт данных из Google Sheets в Excel – Проще простого! 2024, De novembre
Anonim
Dades meteorològiques mitjançant Fulls de càlcul de Google i Google Script
Dades meteorològiques mitjançant Fulls de càlcul de Google i Google Script

En aquest Blogtut, enviarem les lectures del sensor SHT25 a fulls de google mitjançant Adafruit huzzah ESP8266, que ajuda a enviar les dades a Internet.

  • L’enviament de dades a la cel·la de full de Google és una manera bàsica i molt útil d’emmagatzemar les dades en format tabular en línia.
  • En lloc d’utilitzar qualsevol tipus de pont especial com prémer una caixa o MQTT NODE RED o qualsevol altre tipus d’API REST, enviarem les dades mitjançant un script de Google que rep fàcilment les dades del sensor mitjançant l’ús de l’enllaç script proporcionat per aplicació de google script després de publicar-la
  • Podem utilitzar la seqüència d’ordres per enviar les dades des de fulls de Google, documents o fins i tot a Google Drive.
  • No acabeu aquí més, podeu connectar els fulls de google amb qualsevol aplicació basada en web a la qual compartiu les dades amb els usuaris de la manera que desitgessin
  • No es paguen càrrecs addicionals a diferència dels altres servidors en línia d’aquí i podeu emmagatzemar les dades fins a 10 GB com a màxim al compte d’usuari i podeu utilitzar-les
  • Un dels millors esforços és que podeu obtenir informació sobre com connectar les dades a Internet amb aquest tipus d’aplicacions en temps real fàcilment.
  • Utilitzarem la connexió I2C que realitza el protocol mestre-esclau per compartir les dades amb fulls de google d’una manera flexible.
  • La plataforma de protocol I2C connecta el maquinari del sensor i funciona amb al voltant de 256 sensors alhora utilitzant només 2 extraccions per cable per transferir les dades del sensor en maquinari de 8 bits.

Pas 1: maquinari

Kits HUZZAH de Ploma Adafruit

Adafruit Feather Huzzah Board

Adafruit I2C integrat i adaptador USB

Sensor de temperatura i humitat SHT25

Cable I2C

Pas 2: Com funcionen les coses

Obtenir les lectures de dades en temps real de sensors mitjançant ESP8266 i enviar les dades a diferents plataformes del núvol és molt senzill.

Utilitzarem la biblioteca Wire.h a Arduino IDE per crear les dues comunicacions per cable entre Adafruit Huzzah Board i el mòdul I2C del sensor SHT25 i el cable I2C.

Nota: Per evitar la complexa estructura de cablejat, faré servir l'adaptador I2C per a Adafruit Huzzah dissenyat per connectar el sensor I2C.

Perquè el principiant pugui configurar l'Esp8266, cal que feu la configuració de l'ESP8266

Primer inicialitzeu les biblioteques:

  • Biblioteca de cables
  • ESP8266WiFi
  • WiFiClientSecure

Pas 3: Procés d’execució del mòdul I2C a Arduino IDE

Després d'inicialitzar les biblioteques, definirem el procés I2C que s'utilitzarà per obtenir les lectures del sensor que les converteixen i canviarem les dades de 8 bits segons els requisits:

Inicialitzeu els registres en protocol I2C de dos fils per al mòdul de sensor I2C

#define Addr 0x40

  • Inicieu la transmissió I2C i inicialitzeu els registres i sol·liciteu dades de 2 bytes des d’on llegirem les dades del sensor.
  • Si les dades de 2 bytes estaran disponibles, llegiu les dades del sensor i utilitzant les fórmules esmentades a continuació, estem convertint els valors desitjats

humitat flotant = (((dades [0] * 256,0 + dades [1]) * 125,0) / 65536.0) - 6;

float cTemp = (((dades [0] * 256,0 + dades [1]) * 175,72) / 65536,0) - 46,85;

float fTemp = (cTemp * 1,8) + 32;

Imprimiu els valors en una pantalla de monitor sèrie

Pas 4: connexió ESP8266 amb WiFi i full de càlcul de Google

Després de l'execució dels mòduls I2C, anem a aprendre sobre com obtenir les dades i utilitzant biblioteques WiFi i identificador d'amfitrió, així com claus API per enviar les dades a fulls de Google.

  • Definiu les credencials WiFi globalment a ESP8266 que ens ajudaran a connectar la placa amb Internet
  • Com que utilitzarem el client HTTP i definirem el protocol HTTPS = 443 per assegurar el camí HTTP, ja que l'script només funcionarà al camí segur.
  • Inicialitzeu els detalls de l’amfitrió al codi

const char * host = "script.google.com";

const int httpsPort = 443;

String SCRIPT_ID = "mencioneu l'identificador de l'script tal com s'esmenta a les instantànies";

Nota: L'identificador d'escriptura s'esmenta a "URL d'aplicacions web" mentre es publicarà el codi Gscript, només cal que copieu i enganxeu l'identificador esmentat a continuació i inicialitzeu-lo a les ordres anteriors

  • També utilitzant volàtil amb variable, inicialitzarem la variable a nivell mundial, que recollirà les dades del mòdul I2C i les enviarem a l'script URL que enviarà les dades a la destinació.
  • Mitjançant la Biblioteca WiFi ESP8266 podrem connectar la placa amb internet
  • Les dades del sensor s’allotjaran a un servidor local cada 5 segons.

  • Amb l'ajut de l'URL script, les dades s'allotjaran a l'enllaç publicat a Google Script a la pàgina activa cada 15 segons.

Pas 5: automatitzeu el full de Google amb l’editor GScript

Automatitzeu el full de Google amb l’editor GScript
Automatitzeu el full de Google amb l’editor GScript
Automatitzeu el full de Google amb l’editor GScript
Automatitzeu el full de Google amb l’editor GScript
Automatitzeu el full de Google mitjançant l’editor GScript
Automatitzeu el full de Google mitjançant l’editor GScript

Com que tots tenim un compte de google per iniciar la sessió al full de Google amb el vostre compte

  • Esmenta els valors que cal obtenir del sensor connectat amb ESP8266
  • Aneu a Eines> Editor de scripts
  • Utilitzeu la funció "Doget" per rebre els esdeveniments
  • A la funció "Doget" per inicialitzar la clau de l'API del full de càlcul i connectar el full actiu on vulgueu enviar els valors del sensor
  • Amb l'ajut de la funció d'automatització esmentada al codi per representar les dades en files i columnes fàcilment.
  • Finalment, deseu les dades i feu clic a "Publica" >> Feu clic a "Desplega com a aplicacions web"
  • Assegureu-vos que sempre que hi haurà algun canvi per seleccionar la "versió del projecte" >> "Nou" >> premeu "actualitzar"

L'URL actual de l'aplicació web apareixerà de la següent manera:

script.google.com/macros/s/"GScript ID "/ exec:

més utilitzat al codi ESP8266 per obtenir les dades dels sensors

Utilitzarem la sol·licitud HTTPS Get per connectar les dades a l’identificador d’amfitrió esmentat a l’editor gscript on hem codificat més les nostres dades per connectar-nos amb el full de Google.

funció doGet (e) {Logger.log (JSON.stringify (e)); // visualitza els paràmetres var result = 'Ok'; // assumir l'èxit si (e.parameter == 'undefined') {result = 'Sense paràmetres'; } else {var sheet_id = ""; // ID de full de càlcul var sheet = SpreadsheetApp.openById (sheet_id).getActiveSheet (); var newRow = sheet.getLastRow () + 1; var rowData = ; } Logger.log (JSON.stringify (filaDades)); // Escriviu una nova fila sota var newRange = sheet.getRange (newRow, 1, 1, rowData.length); newRange.setValues ([rowData]); }

Pas 6: limitacions:

Limitacions
Limitacions
  • Aquest projecte només es limita a emmagatzemar les dades del sensor I2C a fulls de Google
  • Estem fent servir la sol·licitud GET HTTPS per rebre els valors mitjançant les funcions I2C
  • Hem de canviar el valor en format de cadena i després enviar les dades a l'enllaç URL gscript.

Pas 7: codi, crèdits, referència

Codi Github:

github.com/varul29/SHT25_GoogleSheets_Goog…

Referència

Codi I2C:

Tutorial de Google Script:

Botiga incrustada:

Bloc de tutoria:

Recomanat: