Inhaltsverzeichnis:

IoT-fähiges Sensordatenerfassungszentrum mit ESP8266 & PubNub - Gunook
IoT-fähiges Sensordatenerfassungszentrum mit ESP8266 & PubNub - Gunook

Video: IoT-fähiges Sensordatenerfassungszentrum mit ESP8266 & PubNub - Gunook

Video: IoT-fähiges Sensordatenerfassungszentrum mit ESP8266 & PubNub - Gunook
Video: Blockchain Europe: Blockchain-fähiges IoT-Device 2024, November
Anonim
IoT-fähiges Sensordatenerfassungszentrum mit ESP8266 & PubNub
IoT-fähiges Sensordatenerfassungszentrum mit ESP8266 & PubNub
IoT-fähiges Sensordatenerfassungszentrum mit ESP8266 & PubNub
IoT-fähiges Sensordatenerfassungszentrum mit ESP8266 & PubNub

Die meisten Tutorials zu ESP8266 sind entweder auf Anfängerniveau (ein LED aus der Ferne blinken) oder zu komplex für jemanden, der nach etwas sucht, um seine LED-Blinkfähigkeiten zu verbessern und zu aktualisieren. Diese Anleitung zielt darauf ab, diese Lücke zu schließen, um einen Sensor-Hub zu schaffen ESP8266 verwenden und die gesammelten Daten an PubNub senden. Das Hauptziel ist es, den Zeitaufwand für den Aufbau der Hardware zu minimieren und sich stattdessen auf die Datenanalyse und Visualisierung mit den gesammelten Daten zu konzentrieren.

Für Personen, die mit ESP8266 / NodeMCU nicht vertraut sind, empfehlen wir Ihnen, ein grundlegendes Verständnis des Flashens und Programmierens über ESPLORER zu erlangen. Es gibt viele Tutorials / Anleitungen, die dies wie Get-Started-with-ESP8266-Using-AT. anbieten -Befehle-NodeMCU.

Am Ende dieser Anleitung können Sie mit Hilfe von PubNub Ihren eigenen Sensordatenerfassungs-Hub und eine grundlegende Echtzeit-Diagrammvisualisierung erstellen

Willkommen zur ESP8266-NodeMCU-Lektion - 102 !!

Schritt 1: Im Projekt verwendete Komponenten

Im Projekt verwendete Komponenten
Im Projekt verwendete Komponenten

Die folgenden Komponenten werden benötigt, um das Projekt abzuschließen

  • Eine ESP8266-Platine. Die Platine, die für dieses instructable verwendet wird, ist NodeMCU devKit v1.0 (Modul 143 hier einfügen)
  • Jeder Sensor, dessen Daten gesammelt und protokolliert werden müssen. Hier wird ein einfaches Potentiometer als analoger Sensor verwendet
  • Ein Schiebeschalter
  • Ein Mikro-zu-USB-Kabel (Typ männlich), um den Code auf NodeMCU devKit v1.0 hochzuladen und das Gerät mit Strom zu versorgen
  • 2 LEDs für Modusanzeige
  • Einige Kabel von Mann zu Mann und Steckbrett
  • Ein PubNub-Konto mit Veröffentlichungsschlüssel, Aboschlüssel und einem Kanal

Laden Sie die folgenden Dateien herunter. Wenn Sie nichts ändern möchten und es nur zum Funktionieren benötigen, laden Sie die vorkompilierte Version herunter (fügen Sie den ZIP-Ordner der kompilierten Version hier ein). Wenn Sie verstehen möchten, wie es funktioniert und sich die Hände schmutzig machen möchten dann können Sie auch den Hauptquellcode herunterladen (Quellcodeversion hier einfügen)

Schritt 2: Schaltungsdesign

Wenn Sie gekauft haben (Link des Endprodukts hier einfügen), können Sie diesen Schritt überspringen

Schritt 3: Hochladen von Code in das NodeMCU-Kit mit ESPlorer

Hochladen von Code in das NodeMCU-Kit mit ESPlorer
Hochladen von Code in das NodeMCU-Kit mit ESPlorer
Hochladen von Code in das NodeMCU-Kit mit ESPlorer
Hochladen von Code in das NodeMCU-Kit mit ESPlorer

Sobald Sie die ESPlorer-Anwendung öffnen, sieht der Startbildschirm wie das erste Bild aus. Wählen Sie den COM-Port aus der Dropdown-Liste oben aus. Wenn der COM-Port nicht angezeigt wird, auch wenn das Gerät angeschlossen ist, öffnen Sie einfach die Anwendung erneut.

Jetzt gibt es zwei Möglichkeiten, wie Sie weitermachen und dieses anweisbare vervollständigen können

Beenden Sie den Sensor-Hub-Hardwareteil so schnell wie möglich und fahren Sie fort, um mit den Daten zu spielen

Verstehen Sie die Funktionsweise von NodeMCU und lua-Skript und passen Sie sie an Ihre Bedürfnisse an

wenn(Option==1)

Laden Sie alle vorkompilierten Dateien (.lc-Dateien) hoch und fahren Sie mit dem nächsten Schritt fort

sonst if(option==2)

Öffnen Sie einfach die Quellcodedateien (.lua) in ESPlorer und spielen Sie mit dem Code. Springen Sie zu Schritt 5, um eine Beschreibung zu erhalten

Schritt 4: Konfigurieren des Sensor-Hubs

Konfigurieren des Sensor-Hubs
Konfigurieren des Sensor-Hubs
Konfigurieren des Sensor-Hubs
Konfigurieren des Sensor-Hubs

Schieben Sie nun den Schalter in Richtung Konfigurationsmodus und starten Sie das Modul neu. Die LED für den Konfigurationsmodus sollte leuchten.

Wie im ersten Bild gezeigt, wird ein drahtloses Netzwerk mit dem Namen "configMode" erstellt und sichtbar. Verbinden Sie sich mit dem Passwort als "password1234" von jedem Computer, Laptop oder Handy aus mit diesem Netzwerk.

Öffnen Sie einen beliebigen Browser und geben Sie die folgende URL ein

192.168.4.1/?username='wifi_network_name'&pwd='password'&apipubkey='publish_key'&apisubkey='subscribe_key'&channel='Channel_name'&sensorOneName='Sensor_1_name'&check=1

Ersetzen Sie die Parameter in Anführungszeichen mit Ihrem eigenen WLAN (mit Internetzugang), Benutzernamen, Passwortwerten und PubNub-Schlüsseln. Die endgültige URL sollte in etwa wie folgt lauten

192.168.4.1/?username=MyWiFi&pwd=123456&apipubkey=pub_kjabdc_56513akhbcqio3_ad&apisubkey=sub_ajkd23d_sf23_24'&channel=channel1&sensorOneName=sensor1&check=1

Wenn der Sensor Hub richtig konfiguriert ist, erlischt die Konfigurationsmodus-LED und die Datenmodus-LED schaltet sich ein und das drahtlose Netzwerk "configMode" verschwindet. Wenn Sie verstehen möchten, wie dies funktioniert oder einige Parameter ändern möchten, sehen Sie sich den nächsten Schritt an, ansonsten springen Sie zu Schritt 8

Schritt 5: Anpassen der Konfiguration

Anpassen der Konfiguration
Anpassen der Konfiguration

Der ESP8266 fungiert also als Router und erstellt ein drahtloses Netzwerk mit der angegebenen ssid, dem Benutzernamen und der IP-Adresse, zu dem Sie eine Verbindung herstellen können. Die Konfiguration erfolgt durch Eingabe der Parameter im unten angegebenen Format und Drücken der folgenden URL von einem beliebigen Browser aus jedes Gerät, das mit dem konfigurierten drahtlosen Netzwerk verbunden ist.

192.168.4.1/?username='wifi_network_name'&pwd='password'&apipubkey='publish_key'&apisubkey='subscribe_key'&channel='Channel_name'&sensorOneName='Sensor_1_name'&check=1

Öffnen Sie die Datei ap.lua in ESPlorer. Dieses Skript ist für die Erstkonfiguration des Sensor-Hubs verantwortlich. Es generiert zwei Dateien basierend auf den vom Benutzer angegebenen Daten

  • station.lua (enthält die Netzwerk-Ssid und das Passwort, das über Internetzugang verfügt, um die Daten zu posten)
  • api_file.lua (enthält die PubNub-Schlüssel, Kanalname mit den Sensornamen)

So passen Sie die IP-Adresse an:

Die IP kann auf jede gültige Adresse eingestellt werden, die in der URL geändert werden sollte. Die Standardadresse ist "192.168.4.1". Wie im ersten Bild zu sehen, sind die ersten 3 Zeilen für die Einstellung der IP-Adresse und des Gateways verantwortlich. Sie können überprüfen wenn die Adresse richtig ist, indem Sie den Befehl "=wifi.sta.getip()" senden

So passen Sie den SSD-Namen an

Der nächste Codesatz im gleichen Bild ist für das Festlegen der ssid und des Passworts für das drahtlose Netzwerk verantwortlich.

Denken Sie daran, wenn Sie Änderungen in der.lua-Datei vorgenommen haben, müssen Sie diese kompilieren, damit die Änderungen nach dem Neustart widergespiegelt werden

  1. Laden Sie die geänderte.lua-Datei hoch. Zum Beispiel eine ap.lua-Datei
  2. Senden Sie den Befehl "node.compile(ap.lua)", indem Sie unten im ESPlorer auf die Schaltfläche "Senden" klicken
  3. Jetzt werden Ihre lua-Dateien kompiliert und neue.lc-Dateien werden generiert

Schritt 6: Hinzufügen von Sensoren zum Hub und PubNub

Hinzufügen von Sensoren zum Hub und PubNub
Hinzufügen von Sensoren zum Hub und PubNub
Hinzufügen von Sensoren zum Hub und PubNub
Hinzufügen von Sensoren zum Hub und PubNub

Um mehr Sensoren hinzuzufügen

Standardmäßig sendet der Code nur einen Sensordaten, der mit dem analogen Pin 0 verbunden ist. Sie können weitere Sensoren hinzufügen, um Daten gleichzeitig zu senden. Befolgen Sie die folgenden Schritte

  1. Fügen Sie den Sensornamen wie in Fettdruck gezeigt in die URL ein. Die URL sieht jetzt wie folgt aus: https://192.168.4.1/?username='wifi_network_name'&pwd='password'&apipubkey='publish_key'&apisubkey='subscribe_key'&channel=' Channel_name'&sensorOneName='Sensor_1_name'&sensorTwoName='Sensor_2_name'&check=1
  2. Der entsprechende Name sollte der Datei ap.lua hinzugefügt werden, wie in Bild 1sensorTwo=_GET.sensorTwoName print(sensorTwo) gezeigt. (Dies dient nur zum Anzeigen und Überprüfen der Daten)
  3. Der letzte Schritt besteht darin, es am Ende zum api_file-Generierungsteil hinzuzufügen, wie in Bild 2 gezeigt{ "eon": { "'..sensorOne..'":\'..adc.read(0)..\', "'..sensorTwo..'":\'..gpio.read(2)..\' }} Wiederholen Sie den gleichen Schritt für jede Sensorzugabe. Denken Sie daran, gpio.read(pin#) für digitale und adc.read(pin#) für analog-digitale Signale zu verwenden

Denken Sie daran, wenn Sie Änderungen in der.lua-Datei vorgenommen haben, müssen Sie diese kompilieren, damit die Änderungen nach dem Neustart widergespiegelt werden

  1. Laden Sie die geänderte.lua-Datei hoch. Zum Beispiel eine ap.lua-Datei
  2. Senden Sie den Befehl "node.compile(ap.lua)", indem Sie unten im ESPlorer auf die Schaltfläche "Senden" klicken
  3. Jetzt werden Ihre lua-Dateien kompiliert und neue.lc-Dateien werden generiert

Schritt 7: Initialisieren der Datenerfassung und Senden an PubNub

Initialisieren der Datenerfassung und Senden an PubNub
Initialisieren der Datenerfassung und Senden an PubNub

Sobald die Konfiguration richtig durchgeführt wurde, wird die Datenmodus-LED eingeschaltet.

Im Grunde bedeutet dies, dass die Sensordaten basierend auf den Konfigurationseinstellungen, die Sie in den vorherigen Schritten angegeben haben, an PubNub gesendet werden.

Standardmäßig sendet der Hub alle 5 Sekunden Daten an PubNub. Wenn Sie dies konfigurieren möchten, führen Sie die folgenden Schritte aus.

So passen Sie die Häufigkeit der Datenerfassung an:

  • Öffne main.lua in ESPlorer
  • Gehen Sie zu der im Bild markierten Zeile
  • Der dort angegebene Wert sollte in Millisekunden angegeben werden. Es empfiehlt sich, mindestens 2 Sekunden zu halten, um Datenverlust zu vermeiden.
  • Laden Sie die Datei main.lua in esp hoch und kompilieren Sie die Datei, um eine.lc-Datei zu generieren
  • Starten Sie das Modul neu und überprüfen Sie

Schritt 8: Einfache HTML-Seite für die Echtzeitanzeige von Daten aus PubNub

Einfache HTML-Seite zur Echtzeitanzeige von Daten aus PubNub
Einfache HTML-Seite zur Echtzeitanzeige von Daten aus PubNub
Einfache HTML-Seite zur Echtzeitanzeige von Daten aus PubNub
Einfache HTML-Seite zur Echtzeitanzeige von Daten aus PubNub

Öffnen Sie die Datei Sample.html aus den heruntergeladenen Dateien. Dies ist nur eine einfache HTML-Seite, um ein Echtzeitdiagramm der gesammelten Daten anzuzeigen.

Wie in Bild 1 zu sehen ist, müssen Sie es nur mit Ihren eigenen PubNub-Schlüsseln und Kanalnamen konfigurieren.

Sie können dies auch zu jeder von Ihnen entwickelten Website hinzufügen und eine noch beeindruckendere Visualisierung erstellen. Weitere Informationen finden Sie unter PunNub EON.

Schritt 9: Fehlerbehebung & FAQ

Wird in Kürze aktualisiert

Empfohlen: