Table des matières:

Données météo à l'aide de Google Sheets et de Google Script : 7 étapes
Données météo à l'aide de Google Sheets et de Google Script : 7 étapes

Vidéo: Données météo à l'aide de Google Sheets et de Google Script : 7 étapes

Vidéo: Données météo à l'aide de Google Sheets et de Google Script : 7 étapes
Vidéo: Гугл таблицы для бизнеса - бесплатная CRM система | Автоматизация бизнеса в Google таблицы 2024, Novembre
Anonim
Données météo à l'aide de Google Sheets et de Google Script
Données météo à l'aide de Google Sheets et de Google Script

Dans ce Blogtut, nous allons envoyer les lectures du capteur SHT25 à Google Sheets à l'aide d'Adafruit huzzah ESP8266 qui permet d'envoyer les données sur Internet.

  • L'envoi de données à la cellule de la feuille Google est un moyen très utile et basique qui enregistre les données sous forme de tableau en ligne.
  • Au lieu d'utiliser n'importe quel type de pont spécial comme pousser une boîte ou MQTT NODE RED ou tout autre type d'API REST, nous allons envoyer les données en utilisant le script google qui reçoit facilement les données du capteur en utilisant le lien de script fourni par le application de script google après publication
  • Nous pouvons utiliser le script pour envoyer les données de google sheet, docs ou même google drive.
  • Ne vous arrêtez pas plus loin, vous pouvez connecter les feuilles Google à n'importe quelle application Web à laquelle partager les données avec les utilisateurs comme ils le souhaitent.
  • Pas de frais supplémentaires à payer contrairement aux autres serveurs en ligne ici et vous pouvez stocker les données jusqu'à 10 Go maximum dans le compte utilisateur et pouvez utiliser
  • L'un des meilleurs efforts est que vous pouvez apprendre à connecter facilement les données à Internet avec ce type d'application en temps réel.
  • Nous allons utiliser la connexion I2C qui exécute le protocole maître-esclave pour partager les données avec Google Sheets de manière flexible.
  • La plate-forme de protocole I2C connecte le matériel du capteur et fonctionne avec environ 256 capteurs à la fois en utilisant seulement 2 pull up câblés pour transférer les données du capteur dans du matériel 8 bits

Étape 1: Matériel

Kits HUZZAH Plume Adafruit

Planche Adafruit Feather Huzzah

Adaptateur Adafruit I2C intégré et USB

Capteur de température et d'humidité SHT25

Câble I2C

Étape 2: Comment les choses fonctionnent

Récupérer les lectures des données en temps réel des capteurs via ESP8266 et envoyer les données à différentes plates-formes Cloud est très simple.

Nous allons utiliser la bibliothèque Wire.h dans Arduino IDE pour créer la communication à deux fils entre la carte Adafruit Huzzah et le module I2C du capteur SHT25 et le câble I2C.

Remarque: pour éviter la structure de câblage complexe, je vais utiliser l'adaptateur I2C pour Adafruit Huzzah conçu pour connecter le capteur I2C.

Pour que le débutant configure l'Esp8266, vous devez passer par la configuration de l'ESP8266

Initialisez d'abord les bibliothèques:

  • Bibliothèque de fils
  • ESP8266Wi-Fi
  • WiFiClientSécurisé

Étape 3: Processus d'exécution du module I2C dans Arduino IDE

Après avoir initialisé les bibliothèques, nous définirons le processus I2C à utiliser pour récupérer les lectures des capteurs, les convertir et décaler les données 8 bits selon les exigences:

Initialiser les registres en protocole I2C à deux fils pour le module capteur I2C

#define Adr 0x40

  • Démarrez la transmission I2C et initialisez les registres et demandez des données de 2 octets à partir desquelles nous lirons les données du capteur.
  • Si des données de 2 octets seront disponibles, lisez les données du capteur et en utilisant les formules mentionnées ci-dessous, nous convertissons les valeurs souhaitées

humidité flottante = (((données[0] * 256,0 + données[1]) * 125,0) / 65536,0) - 6;

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

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

Imprimer les valeurs sur un écran de moniteur série

Étape 4: Connexion ESP8266 avec WiFi et feuille de calcul Google

Après l'exécution des modules I2C, nous allons apprendre à récupérer les données et à utiliser les bibliothèques WiFi et l'identifiant de l'hôte ainsi que les clés API pour envoyer les données aux feuilles de Google.

  • Définissez les informations d'identification WiFi dans le monde entier dans ESP8266, ce qui nous aidera à connecter la carte à Internet
  • Comme nous allons utiliser le client HTTP et définir le protocole HTTPS = 443 pour sécuriser le chemin HTTP, car le script fonctionnera uniquement dans le chemin sécurisé.
  • Initialiser les détails de l'hôte dans le code

const char* hôte = "script.google.com";

const int httpsPort = 443;

String SCRIPT_ID = "mentionnez l'ID du script tel que mentionné dans les snaps";

Remarque: L'ID du script est mentionné dans « URL des applications Web » tandis que le code Gscript sera publié, il suffit de copier et de coller l'ID mentionné ci-dessous et de l'initialiser dans les commandes ci-dessus

  • En utilisant également volatile avec variable, nous allons initialiser globalement la variable qui récupère les données du module I2C et les envoie au script URL qui enverra ensuite les données à la destination.
  • En utilisant la bibliothèque WiFi ESP8266, nous pourrons connecter la carte à Internet
  • Les données du capteur seront hébergées sur un serveur local toutes les 5 secondes.

  • Avec l'aide du script URL, les données seront hébergées sur la page active du lien publié par le script google toutes les 15 secondes.

Étape 5: Automatisez la feuille Google à l'aide de l'éditeur GScript

Automatiser la feuille Google à l'aide de l'éditeur GScript
Automatiser la feuille Google à l'aide de l'éditeur GScript
Automatiser la feuille Google à l'aide de l'éditeur GScript
Automatiser la feuille Google à l'aide de l'éditeur GScript
Automatiser la feuille Google à l'aide de l'éditeur GScript
Automatiser la feuille Google à l'aide de l'éditeur GScript

Comme nous avons tous un compte google pour se connecter à la feuille google avec votre compte

  • Mentionnez les valeurs que vous devez obtenir du capteur connecté avec ESP8266
  • Allez dans Outils>Éditeur de scripts
  • Utilisez la fonction "Doget" pour recevoir les événements
  • Dans la fonction "Doget" pour initialiser la clé API du tableur ainsi que connecter la feuille active où vous souhaitez envoyer les valeurs du capteur
  • Avec l'aide de la fonction d'automatisation mentionnée dans le code pour représenter facilement les données dans les lignes et les colonnes.
  • Enfin, enregistrez les données et cliquez sur "Publier">> Cliquez sur "Déployer en tant qu'applications Web"
  • Assurez-vous que chaque fois qu'il y aura un changement pour sélectionner la "version du projet" >> "Nouveau">> appuyez sur "mettre à jour"

L'URL de l'application Web actuelle apparaîtra comme ci-dessous:

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

en outre utilisé dans le code ESP8266 pour récupérer les données des capteurs

Connexions d'hébergementNous allons utiliser la requête HTTPS Get pour connecter les données à l'identifiant de l'hôte mentionné dans l'éditeur gscript où nous avons codé nos données davantage pour nous connecter à la feuille google.

function doGet(e) { Logger.log(JSON.stringify(e)); // afficher les paramètres var result = 'Ok'; // suppose le succès if (e.parameter == 'undefined') { result = 'No Parameters'; } else { var sheet_id = ''; // ID de feuille de calcul var sheet = SpreadsheetApp.openById(sheet_id).getActiveSheet(); var newRow = feuille.getLastRow() + 1; var rowData = ; } Logger.log(JSON.stringify(rowData)); // Écrire une nouvelle ligne sous var newRange = sheet.getRange(newRow, 1, 1, rowData.length); newRange.setValues([rowData]); }

Étape 6: Limites:

Limites
Limites
  • Ce projet se limite uniquement à stocker les données du capteur I2C dans les feuilles de Google
  • Nous utilisons la requête HTTPS GET pour recevoir les valeurs via les fonctions I2C
  • Nous devons modifier la valeur au format chaîne, puis envoyer les données au lien URL gscript.

Étape 7: Code, Crédits, Référence

Code Github:

github.com/varul29/SHT25_GoogleSheets_Goog…

Référence

Code I2C:

Tutoriel Google Script:

Boutique intégrée:

Tutoriel Blog:

Conseillé: