Inhaltsverzeichnis:

CloudyData - ESP8266 zu Google Sheets leicht gemacht - Gunook
CloudyData - ESP8266 zu Google Sheets leicht gemacht - Gunook

Video: CloudyData - ESP8266 zu Google Sheets leicht gemacht - Gunook

Video: CloudyData - ESP8266 zu Google Sheets leicht gemacht - Gunook
Video: Test Update ESP8266 + Google Spreadsheets https Redirect V2.0 : PDAControl 2024, November
Anonim
CloudyData - ESP8266 zu Google Tabellen leicht gemacht
CloudyData - ESP8266 zu Google Tabellen leicht gemacht

Ich habe in den letzten Jahren lange nach einer Cloud-Datenspeicherung gesucht: Es ist interessant, Daten von jeder Art von Sensor zu überwachen, aber interessanter ist es, wenn diese Daten überall ohne Speicherschwierigkeiten verfügbar sind, z ähnlich, in lokaler Speicherung. Früher habe ich Windgeschwindigkeitsdaten lokal auf SD-Karten gespeichert, bevor IoT und Cloud-Dienste einfach zu bedienen waren: Jetzt ist ein Schritt darüber hinaus mit besonderen Schwierigkeiten möglich, auch wenn Sie kein IoT-Experte oder Entwickler sind.

In diesem anweisbaren werde ich beschreiben, wie ich meine Luftqualität zu Hause überwache, insbesondere in Bezug auf die Staub- und Partikelkonzentration in der Nähe meines 3D-Druckers, und versuche zu verstehen, ob der 3D-Druckprozess in Bezug auf PM2.5 gefährlich ist und wie ich bin Verwenden von Google Tabellen zum Speichern von Daten, ohne dass ein Drittanbieterdienst erforderlich ist.

Schritt 1: Allgemeines Ziel

Allgemeines Ziel
Allgemeines Ziel

Ich möchte wissen, ob es gefährlich sein kann, in Gegenwart eines 3D-Druckers zu leben.

Dazu benötige ich Daten, und die Daten müssen in der Cloud gespeichert werden.

Ich möchte Google Sheets verwenden, da es einfach und effektiv ist.

Ich möchte auch Privatsphäre: Daher ist das Teilen von Daten mit Google nicht meine erste Wahl, aber es ist besser, als Dienste von Drittanbietern zu nutzen, wie es viele Blogger tun.

Die Verwendung von Google Sheets ist ein Schritt zum Hochladen von Daten in einen persönlichen lokalen Speicher wie Nextcloud auf einem einfachen NAS: Dies wird in einer zukünftigen Anleitung beschrieben.

Schritt 2: Erster Schritt: Sensoren

Erster Schritt: Sensoren
Erster Schritt: Sensoren
Erster Schritt: Sensoren
Erster Schritt: Sensoren

Ich verwende 2 Sensoren, um die Luftqualität zu Hause zu überwachen:

  • ein Nova PM Sensor SDS011 Luftqualitätserkennungs-Sensormodul, eine großartige Hardware, die relativ einfach mit Arduino und ähnlichen Boards zu verwenden ist. Sie können es mit seiner eigenen Software verwenden (nur Windows!:-() und USB-Adapter oder Verbindung mit Arduino mit Bibliotheken Viele Infos finden Sie hier:

    • inovafitness.com/en/a/chanpinzhongxin/95.ht…
    • www-sd-nf.oss-cn-beijing.aliyuncs.com/%E5%…
    • aqicn.org/sensor/sds011/
  • ein SHT30-Schild von Wemos, für Wemos D1 mini: Ich habe eine v1.0.0-Version verwendet, die aktuelle Version ist v2.1.0, aber sie haben den gleichen Footprint, die gleichen Funktionalitäten

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

Schritt 3: Zweiter Schritt: Anschließen an den Mikrocontroller

Zweiter Schritt: Anschließen an Mikrocontroller
Zweiter Schritt: Anschließen an Mikrocontroller

Wemos D1 mini ist wahrscheinlich der beste Weg, um ESP8266 zu prototypieren: microUSB-Anschluss, Onboard-LED, nette Shields, die sofort einsatzbereit sind.

SHT30 Shield habe ich direkt am Wemos D1 mini angeschlossen (Orientierung beachten!), dann habe ich Nova Air Sensor wie folgt an Wemos D1 mini angeschlossen:

Wemos GND-Pin Nova Luftsensor GND

Wemos 5V Pin Nova Luftsensor 5V

Wemos D5-Pin (RX-Pin) Nova Air-Sensor TX

Wemos D6-Pin (TX-Pin) Nova Air-Sensor RX

Sie können hier für weitere Informationen nachschauen:

www.hackair.eu/docs/sds011/

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

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

Schritt 4: Dritter Schritt: Erstellen einer Skizze

Jetzt müssen Sie eine Skizze erstellen: Wir haben Glück, einige Leute haben spezielle Bibliotheken für Nova Air Sensor entwickelt, damit Sie Ihre Software einfach aufschreiben können.

Meine verwendet auch die SHT30-Bibliothek, um Temperatur- und Feuchtigkeitsdaten zu messen und hochzuladen.

Ich habe einige Skizzen, die ich online gefunden habe, neu gemischt, insbesondere die von nishant_sahay7, deren Tutorial vollständig und voller Informationen ist. Sie finden es hier.

Ich habe diese Bibliothek verwendet:

Ich werde nur ein paar Zeilen in der erstellten Skizze kommentieren:

Zeile 76-77: den Staubsensor für eine Weile aufwecken, dann wird er wieder schlafen gehen, da in den Datenblättern angegeben ist, dass er für etwa 8000 Stunden arbeiten soll, was mehr als genug ist, aber nicht unendlich

sds.wakeup (); Verzögerung (30000); // 30 Sekunden arbeiten

Zeile 121: gesendete Daten sind Temperatur, Luftfeuchtigkeit, PM2.5 und PM10

sendData(t, h, pm2_5, pm10);

Zeile 122-123: ESP.deepSleep verwende ich nicht, ich werde es in Zukunft versuchen; Inzwischen reicht eine einfache Verzögerung (90000) aus, um alle 30s + 90s = 2 Minuten mehr oder weniger zu senden

//ESP.deepSleep(dataPostDelay);

Verzögerung (90000);

Zeile 143:

Dies ist die wichtigste Zeile, die Reihenfolge, in der Sie die String_url zum Hochladen von Daten erstellen, muss dieselbe sein, die Sie in Google Script verwenden (siehe nächste Schritte)

String-URL = "/macros/s/" + GAS_ID + "/exec?temperature=" + string_x + "&humidity=" + string_y + "&PM2.5=" + string_z + "&PM10=" + string_k;

Schritt 5: Vierter Schritt: Vorbereiten von Google Sheet und seinem Skript

Vierter Schritt: Vorbereiten von Google Sheet und seinem Skript
Vierter Schritt: Vorbereiten von Google Sheet und seinem Skript
Vierter Schritt: Vorbereiten von Google Sheet und seinem Skript
Vierter Schritt: Vorbereiten von Google Sheet und seinem Skript
Vierter Schritt: Vorbereiten von Google Sheet und seinem Skript
Vierter Schritt: Vorbereiten von Google Sheet und seinem Skript

Credits gehen an nishant_sahay7, wie ich schon sagte.

Ich veröffentliche hier einfach seine Arbeit erneut und füge einige Tipps für zukünftige Verbesserungen und Modding hinzu:

  1. Einrichten von Google Tabellen

    1. Öffnen Sie Google Drive und erstellen Sie eine neue Tabelle und benennen Sie sie. Geben Sie anschließend die Felder mit den Parametern ein, die Sie definieren möchten.
    2. Blatt-ID wird in Abbildung 2 gezeigt
    3. Gehen Sie zu Tools-Skript-Editor (Abbildung 3)
    4. Geben Sie den gleichen Namen wie in Spreadsheet (Abbildung 4)
    5. Wählen Sie hier den Code aus und fügen Sie ihn in das Skript-Editor-Fenster ein (Abbildung 5).

      Ersetzen Sie die var sheet_id durch Ihre Spreadsheet-ID aus Schritt 2

    6. Gehen Sie zu Veröffentlichen – Als Web-App bereitstellen (Abbildung 6)
    7. Ändern Sie den Zugriffstyp auf jeden, auch anonym, und stellen Sie ihn bereit (Abbildung 7)
    8. Gehen Sie zu Überprüfungsberechtigungen (Abbildung 8)
    9. Wählen Sie Erweitert (Abbildung 9)
    10. Wählen Sie Gehe zu (Dateiname) und dann zulassen (Abbildung 10).
    11. Kopieren Sie die aktuelle Web-App-URL und klicken Sie auf OK (Abbildung 11).
  2. Google-Skript-ID abrufen

    • Die kopierte URL sieht in etwa so aus: https://script.google.com/macros/s/AKfycbxZGcTwqe… obiger Link hat die Form: https://script.google.com/macros/s/AKfycbxZGcTwqe…/exec Hier lautet die Google-Skript-ID: AKfycbxZGcTwqeDgF3MBMGj6FJeYD7mcUcyo2V6O20D6tRlLlP2M_wQ Sie wird verwendet, um die Daten an Google Sheets zu übertragen: Beispiel:

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

      Wenn Sie den obigen Link in ein neues Fenster einfügen und die Eingabetaste drücken, werden Daten an Google Sheet gesendet und eine Bestätigungsmeldung wird im Fenster angezeigt. Die gesendeten Daten werden

      • Temperatur=1
      • Luftfeuchtigkeit=2
      • PM2,5=3
      • PM10=33,10
  3. Ändern Sie Ihre Bedürfnisse

    Sie müssen Google Script UND Arduino Sketch entsprechend ändern, um Werte und Spalten hinzuzufügen oder zu entfernen: vergleichen Sie Abbildung 5 und Abbildung 5b

Schritt 6: Fünfter Schritt: Alle miteinander verbinden

Fünfter Schritt: Alle miteinander verbinden
Fünfter Schritt: Alle miteinander verbinden

Jetzt haben Sie ein Gerät, das Daten an Google Sheets sendet, ein Google-Skript, das Daten empfangen und zuordnen kann, ein Browser reicht aus, um Daten anzuzeigen, auf einem Computer oder Smartphone oder was auch immer Sie möchten.

Das Beste wäre, diese Daten ein wenig zu verwalten, um nur einige wenige anzuzeigen, die benötigt werden.

Schritt 7: Sechster Schritt: Daten grafisch darstellen

Sechster Schritt: Daten grafisch darstellen
Sechster Schritt: Daten grafisch darstellen
Sechster Schritt: Daten grafisch darstellen
Sechster Schritt: Daten grafisch darstellen

Um ein einfaches, aber interessantes und nützliches Panel zu haben, habe ich meine Daten so organisiert:

  1. Das ursprüngliche Google-Blatt, das Hauptblatt, das verwendet wird, um seine ID für die Eingabe in Google Script abzurufen, MUSS unberührt bleiben und seine Reihenfolge beibehalten
  2. Ich habe zwei weitere Blätter erstellt, die dem Hauptblatt folgen

    1. eine, um nur ein paar Daten aus dem ganzen Zeug zu extrahieren, zum Beispiel die letzten 24 Stunden Um Daten zu extrahieren, habe ich die SORT- und QUERY-Funktion verwendet und in die erste Zelle der extrahierten Daten eingefügt

      =SORT(QUERY(Foglio1!A2:Z, "Ordnung nach A desc limit 694"), 1, 1)

    2. die andere, um Diagramme zu erstellen, um Werte anzuzeigen, um ein einfaches Panel zu erstellen

Schritt 8: Siebter Schritt: Daten analysieren

Siebter Schritt: Daten analysieren
Siebter Schritt: Daten analysieren

Ich habe ein paar Analysen gemacht und kann sagen, dass beim 3D-Drucker (Material: PLA) keine Gefahr in Bezug auf PM2,5 und PM10 bestehen sollte. Jedes Mal, wenn ich einen neuen Druck starte, gehen die Partikelwerte in die Höhe, nur für eine Weile: Ich denke, das liegt an zuvor abgelagertem Staub auf dem 3D-Druckerbett, so dass der Effektorlüfter, wenn er die Platte erreicht, überall herumfliegt. Nach ein paar Minuten ist der Staub weg, da die Lüfter weiter blasen und die PM2,5- und PM10-Werte auf niedrigere Werte sinken.

Es werden in der Tat weitere Daten und Analysen benötigt.

Empfohlen: