8.6 Temperatur- und Feuchtigkeitsüberwachung mit Adafruit IO

In diesem Projekt werden wir Ihnen zeigen, wie Sie eine beliebte IoT-Plattform verwenden können. Es gibt viele kostenlose (oder kostengünstige) Plattformen online für Programmierbegeisterte. Einige Beispiele sind Adafruit IO, Blynk, Arduino Cloud, ThingSpeak und so weiter. Die Nutzung dieser Plattformen ist recht ähnlich. Hier konzentrieren wir uns auf Adafruit IO.

Wir werden ein Arduino-Programm schreiben, das den DHT11-Sensor verwendet, um Temperatur- und Feuchtigkeitsmessungen an das Dashboard von Adafruit IO zu senden. Sie können auch eine LED im Schaltkreis über einen Schalter im Dashboard steuern.

Benötigte Komponenten

Für dieses Projekt benötigen wir folgende Komponenten.

Es ist definitiv praktisch, ein komplettes Set zu kaufen. Hier ist der Link:

Name

ARTIKEL IN DIESEM KIT

LINK

ESP32 Starter Kit

320+

ESP32 Starter Kit

Sie können sie auch einzeln über die untenstehenden Links kaufen.

KOMPONENTENVORSTELLUNG

KAUF-LINK

ESP32 WROOM 32E

BUY

ESP32-Kameraerweiterung

-

Steckbrett

BUY

Überbrückungsdrähte

BUY

Widerstand

BUY

LED

BUY

DHT11 Feuchtigkeits- und Temperatursensor

BUY

Einrichten des Dashboards

  1. Besuchen Sie Adafruit IO und klicken Sie auf Start for free, um ein kostenloses Konto zu erstellen.

    ../../_images/sp230516_102503.png
  2. Füllen Sie das Formular aus, um ein Konto zu erstellen.

    ../../_images/sp230516_102629.png
  3. Nachdem Sie ein Adafruit-Konto erstellt haben, müssen Sie Adafruit io erneut öffnen. Klicken Sie auf Dashboards und dann auf New Dashboard.

    ../../_images/sp230516_103347.png
  4. Erstellen Sie ein New Dashboard.

    ../../_images/sp230516_103744.png
  5. Betreten Sie das neu erstellte Dashboard und erstellen Sie einen neuen Block.

    ../../_images/sp230516_104234.png
  6. Erstellen Sie 1 Toggle-Block.

    ../../_images/sp230516_105727.png
  7. Als Nächstes müssen Sie hier einen neuen Feed erstellen. Dieser Toggle wird verwendet, um die LED zu steuern, und wir nennen diesen Feed „LED“.

    ../../_images/sp230516_105641.png
  8. Überprüfen Sie den LED-Feed und gehen Sie dann zum nächsten Schritt über.

    ../../_images/sp230516_105925.png
  9. Vervollständigen Sie die Blockeinstellungen (hauptsächlich Blocktitel, On-Text und Off-Text) und klicken Sie dann unten rechts auf den Button Create block, um den Vorgang abzuschließen.

    ../../_images/sp230516_110124.png
  10. Als Nächstes müssen wir zwei Text Blocks erstellen. Sie werden verwendet, um Temperatur und Luftfeuchtigkeit anzuzeigen. Erstellen Sie also zwei Feeds mit den Namen temperature und humidity.

    ../../_images/sp230516_110657.png
  11. Nach der Erstellung sollte Ihr Dashboard ungefähr so aussehen:

    ../../_images/sp230516_111134.png
  12. Sie können das Layout mit der Option Edit Layout auf dem Dashboard anpassen.

    ../../_images/sp230516_111240.png
  13. Klicken Sie auf API KEY, und Ihr Benutzername und API KEY werden angezeigt. Notieren Sie sich diese, da Sie sie für Ihren Code benötigen.

    ../../_images/sp230516_111641.png

Code ausführen

  1. Bauen Sie den Schaltkreis.

    ../../_images/iot_6_adafruit_io_bb.png
  2. Verbinden Sie dann ESP32-WROOM-32E mit dem Computer über das USB-Kabel.

    ../../_images/plugin_esp32.png
  3. Öffnen Sie den Code.

    • Öffnen Sie die Datei iot_6_adafruit_io.ino, die sich im Verzeichnis esp32-starter-kit-main\c\codes\iot_6_adafruit_io befindet, oder kopieren Sie den Code in die Arduino IDE.

    • Nachdem Sie das Board (ESP32 Dev Module) und den passenden Port ausgewählt haben, klicken Sie auf den Upload-Knopf.

    • „Unbekanntes COMxx“ wird immer angezeigt?

    • Hier werden die Bibliotheken Adafruit_MQTT Library und DHT sensor library verwendet, die Sie über den Library Manager installieren können.

  4. Finden Sie die folgenden Zeilen und ersetzen Sie <SSID> und <PASSWORD> mit den spezifischen Details Ihres WLAN-Netzwerks.

    /************************* WiFi Access Point  *********************************/
    
    #define WLAN_SSID "<SSID>"
    #define WLAN_PASS "<PASSWORD>"
    
  5. Ersetzen Sie dann <YOUR_ADAFRUIT_IO_USERNAME> mit Ihrem Adafruit IO-Benutzernamen und <YOUR_ADAFRUIT_IO_KEY> mit dem API KEY, den Sie gerade kopiert haben.

    // Adafruit IO Account Configuration
    // (to obtain these values, visit https://io.adafruit.com and click on Active Key)
    #define AIO_USERNAME "<YOUR_ADAFRUIT_IO_USERNAME>"
    #define AIO_KEY      "<YOUR_ADAFRUIT_IO_KEY>"
    
  6. Nachdem Sie das richtige Board (ESP32 Dev Module) und den Port ausgewählt haben, klicken Sie auf den Upload-Knopf.

  7. Sobald der Code erfolgreich hochgeladen wurde, werden Sie die folgende Meldung im seriellen Monitor beobachten, die auf eine erfolgreiche Kommunikation mit Adafruit IO hinweist.

    Adafruit IO MQTTS (SSL/TLS) Example
    
    
    Connecting to xxxxx
    WiFi connected
    IP address:
    192.168.18.76
    Connecting to MQTT... MQTT Connected!
    Temperature: 27.10
    Humidity: 61.00
    
  8. Navigieren Sie zurück zu Adafruit IO. Jetzt können Sie die Temperatur- und Luftfeuchtigkeitsmessungen auf dem Dashboard beobachten oder den LED-Kippschalter nutzen, um den Ein-/Ausschaltzustand der externen LED zu steuern, die mit dem Schaltkreis verbunden ist.

    ../../_images/sp230516_143220.png