Table des matières:

CloudyData - ESP8266 vers Google Sheets en toute simplicité : 10 étapes (avec photos)
CloudyData - ESP8266 vers Google Sheets en toute simplicité : 10 étapes (avec photos)

Vidéo: CloudyData - ESP8266 vers Google Sheets en toute simplicité : 10 étapes (avec photos)

Vidéo: CloudyData - ESP8266 vers Google Sheets en toute simplicité : 10 étapes (avec photos)
Vidéo: Google spreadsheet to ESP8266, Google Sheets to ESP8266, data from Google Spreadsheet to ESP8266 2024, Juillet
Anonim
CloudyData - ESP8266 vers Google Sheets en toute simplicité
CloudyData - ESP8266 vers Google Sheets en toute simplicité

J'ai longtemps recherché le stockage de données dans le cloud ces dernières années: il est intéressant de surveiller les données de tout type de capteur, mais il est plus intéressant si ces données sont disponibles partout sans aucune difficulté de stockage comme l'utilisation de cartes SD ou similaire, dans le stockage local. Il y a des années, j'avais l'habitude de stocker localement sur des cartes SD des données sur la vitesse du vent, avant que l'IoT et les services cloud ne commencent à être simples à utiliser: désormais, un pas de plus est possible avec des difficultés particulières, même si vous n'êtes pas un expert ou un développeur IoT.

Dans ce instructable, je vais décrire comment je surveille la qualité de l'air à l'intérieur de la maison, en particulier en ce qui concerne la concentration de poussière et de particules près de mon imprimante 3D, en essayant de comprendre si le processus d'impression 3D est dangereux en termes de PM2,5 et comment je suis en utilisant Google Sheets pour stocker des données, sans qu'aucun service tiers ne soit nécessaire.

Étape 1: Objectif général

Objectif général
Objectif général

Je veux savoir si vivre en présence d'une imprimante 3D peut être dangereux.

Pour ce faire, j'ai besoin de données, et les données doivent être stockées dans le cloud.

Je souhaite utiliser Google Sheets car c'est simple et efficace.

Je veux aussi de la confidentialité: partager des données avec Google n'est donc pas mon premier choix, mais c'est mieux que d'utiliser des services tiers, comme le font de nombreux blogueurs.

L'utilisation de Google Sheets est une étape vers le téléchargement de données vers un stockage local personnel tel que Nextcloud sur un simple NAS: cela sera décrit dans un futur instructable.

Étape 2: Première étape: Capteurs

Première étape: capteurs
Première étape: capteurs
Première étape: capteurs
Première étape: capteurs

J'utilise 2 capteurs pour surveiller la qualité de l'air de ma maison:

  • un module de capteur de détection de la qualité de l'air Nova PM Sensor SDS011, un excellent matériel, relativement simple à utiliser avec Arduino et des cartes similaires. Arduino avec bibliothèques. De nombreuses informations peuvent être trouvées ici:

    • inovafitness.com/en/a/chanpinzhongxin/95.ht…
    • www-sd-nf.oss-cn-beijing.aliyuncs.com/%E5%…
    • aqicn.org/sensor/sds011/
  • un shield SHT30 de Wemos, pour Wemos D1 mini: j'ai utilisé une version v1.0.0, la version actuelle est la v2.1.0 mais ils ont la même empreinte, les mêmes fonctionnalités

    wiki.wemos.cc/products:d1_mini_shields:sht…

Étape 3: Deuxième étape: Connexion au microcontrôleur

Deuxième étape: connexion au microcontrôleur
Deuxième étape: connexion au microcontrôleur

Le Wemos D1 mini est probablement le meilleur moyen de prototyper autour de l'ESP8266: connecteur microUSB, led embarquée, jolis shields prêts à l'emploi disponibles.

J'ai connecté directement le shield SHT30 sur Wemos D1 mini (attention à l'orientation !), puis j'ai connecté Nova Air Sensor à Wemos D1 mini comme suit:

Goupille Wemos GND Capteur Nova Air GND

Wemos 5V broche Nova Air capteur 5V

Broche Wemos D5 (broche RX) Capteur Nova Air TX

Broche Wemos D6 (broche TX) Capteur Nova Air RX

Vous pouvez consulter ici pour plus d'informations:

www.hackair.eu/docs/sds011/

www.zerozone.it/tecnologia-e-sicurezza/nov…

www.instructables.com/id/Make-one-PM25-mon…

Étape 4: Troisième étape: Construire une esquisse

Maintenant, vous devez construire un croquis: nous avons de la chance, certains gars ont développé des bibliothèques spécifiques pour Nova Air Sensor afin que vous puissiez écrire facilement votre logiciel.

Le mien utilise également la bibliothèque SHT30 pour mesurer et télécharger les données de température et d'humidité.

J'ai remixé un sketch que j'ai trouvé en ligne, notamment celui de nishant_sahay7, dont le tuto est complet et bourré d'infos. Vous pouvez le trouver ici.

J'ai utilisé cette bibliothèque:

Je ne commenterai que quelques lignes dans le croquis que j'ai généré:

ligne 76-77: réveiller le capteur de poussière pendant un certain temps, puis il se remettra en veille, car les fiches techniques indiquent qu'il est destiné à fonctionner pendant environ 8000 heures, ce qui est plus que suffisant, mais pas infini

sds.wakeup();delay(30000); // travail 30 secondes

ligne 121: les données envoyées sont la température, l'humidité, les PM2,5 et les PM10

sendData(t, h, pm2_5, pm10);

ligne 122-123: je n'utilise pas ESP.deepSleep, j'essaierai à l'avenir; maintenant un simple délai (90000) suffira pour avoir des données envoyées toutes les 30s + 90s = 2 minutes, plus ou moins

//ESP.deepSleep(dataPostDelay);

retard (90000);

ligne 143:

c'est la ligne la plus importante, l'ordre dans lequel vous créez le String_url pour télécharger les données doit être le même que celui que vous utiliserez dans Google Script (voir les étapes suivantes)

URL de chaîne = "/macros/s/" + GAS_ID + "/exec?temperature=" + string_x + "&humidity=" + string_y + "&PM2.5=" + string_z + "&PM10=" + string_k;

Étape 5: Quatrième étape: Préparation de la feuille Google et de son script

Quatrième étape: préparer la feuille Google et son script
Quatrième étape: préparer la feuille Google et son script
Quatrième étape: préparer la feuille Google et son script
Quatrième étape: préparer la feuille Google et son script
Quatrième étape: préparer la feuille Google et son script
Quatrième étape: préparer la feuille Google et son script

Les crédits vont à nishant_sahay7, comme je l'ai dit.

Je republie simplement ici son travail, en ajoutant quelques conseils pour de futures améliorations et modding:

  1. Configuration de Google Sheets

    1. Ouvrez Google Drive et créez une nouvelle feuille de calcul et nommez-la, après quoi donnez les champs avec les paramètres que vous souhaitez définir.
    2. L'ID de la feuille est illustré à la figure 2
    3. Allez dans Tools-Script Editor (figure 3)
    4. Donnez le même nom que Tableur (figure 4)
    5. Choisissez le code d'ici et collez-le dans la fenêtre de l'éditeur de script (figure 5)

      Remplacez le var sheet_id par votre ID de feuille de calcul de l'étape 2

    6. Aller à Publier - Déployer en tant qu'application Web (figure 6)
    7. Changez le type d'accès à n'importe qui, même anonyme, et déployez (figure 7)
    8. Allez dans les autorisations de révision (figure 8)
    9. Choisissez Avancé (figure 9)
    10. Choisissez Aller à (nom du fichier) puis autoriser (figure 10)
    11. Copiez l'URL de l'application Web actuelle et cliquez sur OK (figure 11)
  2. Obtenir l'ID de script Google

    • L'URL copiée ressemblera à: https://script.google.com/macros/s/AKfycbxZGcTwqe… le lien ci-dessus est sous la forme: https://script.google.com/macros/s/AKfycbxZGcTwqe…/exec Voici donc l'identifiant du script Google: AKfycbxZGcTwqeDgF3MBMGj6FJeYD7mcUcyo2V6O20D6tRlLlP2M_wQ Il sera utilisé pour transmettre les données à Google Sheets: Exemple:

      script.google.com/macros/s/AKfycbxZGcTwqeD…

      Coller le lien ci-dessus dans une nouvelle fenêtre et appuyer sur Entrée enverra des données à Google Sheet et un message de confirmation apparaîtra dans la fenêtre. Les données envoyées seront

      • température=1
      • humidité=2
      • PM2,5=3
      • PM10=33.10
  3. Changez selon vos besoins

    vous devez modifier Google Script ET Arduino sketch en conséquence, afin d'ajouter ou de supprimer des valeurs et des colonnes: comparez la figure 5 et la figure 5b

Étape 6: Cinquième étape: Connecter tous ensemble

Cinquième étape: connecter tous ensemble
Cinquième étape: connecter tous ensemble

Maintenant, vous avez un appareil qui envoie des données à Google Sheets, un Google Script capable de recevoir et d'allouer des données, un navigateur suffit pour afficher les données, sur ordinateur ou smartphone ou tout ce que vous voulez.

Le mieux serait de gérer un peu ces données, pour n'en montrer que quelques-unes nécessaires.

Étape 7: Sixième étape: Représentation graphique des données

Sixième étape: Représentation graphique des données
Sixième étape: Représentation graphique des données
Sixième étape: Représentation graphique des données
Sixième étape: Représentation graphique des données

Afin d'avoir un panel simple mais intéressant et utile, j'ai organisé mes données de cette façon:

  1. la feuille google originale, la principale, utilisée pour récupérer son identifiant pour entrer dans Google Script, DOIT être intacte et conserver son ordre
  2. J'ai généré deux autres feuilles, à la suite de la principale

    1. un pour extraire seulement quelques données de l'ensemble, dernières 24 heures par exemplePour extraire des données, j'ai utilisé la fonction SORT et QUERY, en insérant dans la première cellule des données extraites

      =SORT(QUERY(Foglio1!A2:Z, "ordre par A desc limite 694"), 1, 1)

    2. l'autre pour créer des graphiques pour montrer les valeurs, en faisant un simple panneau

Étape 8: Septième étape: Analyser les données

Septième étape: analyser les données
Septième étape: analyser les données

J'ai fait quelques analyses et je peux dire qu'à l'heure actuelle, il ne devrait y avoir aucun danger à utiliser une imprimante 3D (matériau: PLA) en termes de PM2,5 et PM10. Chaque fois que je démarre une nouvelle impression, les valeurs particulaires montent en flèche, seulement pendant un certain temps: je pense que cela est dû à la poussière déposée antérieurement sur le lit de l'imprimante 3D, de sorte que lorsque le ventilateur effecteur atteint la plaque, il commence à voler tout autour. Après quelques minutes, la poussière est partie car les ventilateurs continuent de souffler et les valeurs PM2,5 et PM10 descendent à des valeurs plus basses.

Des données et des analyses supplémentaires sont en effet nécessaires.

Conseillé: