Arduino IoT Cloud

Dieses Beispiel zeigt einen Code zur Kommunikation mit der Arduino IoT Cloud. Ziel ist es, eine Verbindung zur Arduino IoT Cloud herzustellen und mit Cloud-Variablen zu interagieren. Hier senden wir die vom DHT11-Sensor gelesenen Temperaturwerte an die Arduino IoT Cloud, was uns ermöglicht, diese aus der Cloud zu überwachen.

../_images/02_cloud.png

Benötigte Komponenten

Für dieses Projekt benötigen wir die folgenden Komponenten.

Es ist definitiv praktisch, ein ganzes Kit zu kaufen, hier ist der Link:

Name

ARTIKEL IN DIESEM KIT

LINK

Elite Explorer Kit

300+

Elite Explorer Kit

Sie können diese auch separat über die untenstehenden Links kaufen.

KOMPONENTENBESCHREIBUNG

KAUF-LINK

Arduino Uno R4 WiFi

-

Steckbrett

BUY

Jumperkabel

BUY

Feuchtigkeitssensor-Modul

BUY

Verdrahtung

../_images/02_arduino_iot_cloud_bb.png

Schaltplan

../_images/02_arduino_iot_cloud_schematic.png

Installation des Arduino Create Agent

  1. Besuchen Sie die Adresse https://create.arduino.cc/getting-started/plugin/welcome.

  2. Klicken Sie auf START.

../_images/02_install_agent_2.png
  1. Wählen Sie die Version, die zu Ihrem Computer passt, und es wird ein Installationspaket heruntergeladen.

../_images/02_install_agent_3.png
  1. Installieren Sie den Agent.

../_images/02_install_agent_4.png
  1. Nach der Installation gehen Sie zurück zu Ihrem Browser, und Sie sehen die folgende Oberfläche.

../_images/02_install_agent_5.png
  1. Klicken Sie auf WEITER, und dann können Sie ZUM Web-Editor GEHEN.

../_images/02_install_agent_6.png

Verwendung der Arduino IoT Cloud

  1. Zuerst müssen Sie sich bei Arduino anmelden oder registrieren.

  1. Nach dem Einloggen klicken Sie oben rechts auf IoT Cloud.

    ../_images/02_iot_cloud_2.png
  2. Erstellen Sie ein neues „Thing“ (Objekt).

    ../_images/02_iot_cloud_3.png
  3. Verknüpfen Sie Ihr Gerät.

    ../_images/02_iot_cloud_4.png
  4. Richten Sie ein neues Gerät ein.

    ../_images/02_iot_cloud_5.png
  5. Wählen Sie Ihr Arduino-Board aus.

    ../_images/02_iot_cloud_6.png
  6. Warten Sie einen Moment, bis Ihr UNO R4 WiFi erkannt wird. Fahren Sie fort, indem Sie auf Konfigurieren klicken.

    ../_images/02_iot_cloud_7.png
  7. Geben Sie Ihrem Gerät einen Namen.

../_images/02_iot_cloud_8.png
  1. Machen Sie Ihr Gerät IoT-fähig und denken Sie daran, den geheimen Schlüssel zu speichern.

../_images/02_iot_cloud_9.png
  1. Warten Sie einige Minuten.

../_images/02_iot_cloud_10.png
  1. Konfigurieren Sie WiFi.

../_images/02_iot_cloud_11.png
  1. Hier müssen Sie Ihr WiFi-Passwort und den geheimen Schlüssel eingeben.

../_images/02_iot_cloud_12.png
  1. Fügen Sie eine Variable hinzu.

../_images/02_iot_cloud_13.png
  1. Hier möchten wir die Temperatur in der IoT Cloud anzeigen, also konfigurieren wir eine schreibgeschützte Gleitkommavariable.

../_images/02_iot_cloud_14.png
  1. Nach Fertigstellung gehen Sie zum Sketch.

../_images/02_iot_cloud_15.png
  1. Öffnen Sie den Voll-Editor.

../_images/02_iot_cloud_16.png
  1. Klicken Sie auf der rechten Seite auf Bibliotheken, dann auf Bibliotheks-Manager.

../_images/02_iot_cloud_17.png
  1. Suchen Sie die DHT-Sensorbibliothek und markieren Sie sie.

../_images/02_iot_cloud_18.png
  1. Jetzt müssen wir den Code bearbeiten. Sie sehen, dass der Editor bereits den IoT Cloud-bezogenen Code für Sie vorbereitet hat. Sie müssen nur die spezifische Funktionalität hinzufügen, die Sie benötigen. In diesem Beispiel haben wir Code hinzugefügt, um die Temperatur mit dem DHT11-Sensor zu lesen.

// DHT sensor library - Version: Latest
#include <DHT.h>
#include <DHT_U.h>

/*
Sketch generated by the Arduino IoT Cloud Thing "Untitled"
https://create.arduino.cc/cloud/things/260edac8-34f9-4e2e-9214-ba0c20994220

Arduino IoT Cloud Variables description

The following variables are automatically generated and updated when changes are made to the Thing

float temperature;

Variables which are marked as READ/WRITE in the Cloud Thing will also have functions
which are called when their values are changed from the Dashboard.
These functions are generated with the Thing and added at the end of this sketch.
*/

#include "thingProperties.h"

#define DHTPIN 11
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);

void setup() {
    // Initialize serial and wait for port to open:
    Serial.begin(9600);
    // This delay gives the chance to wait for a Serial Monitor without blocking if none is found
    delay(1500);

    dht.begin();

    // Defined in thingProperties.h
    initProperties();

    // Connect to Arduino IoT Cloud
    ArduinoCloud.begin(ArduinoIoTPreferredConnection);

    /*
        The following function allows you to obtain more information
        related to the state of network and IoT Cloud connection and errors
        the higher number the more granular information you’ll get.
        The default is 0 (only errors).
        Maximum is 4
    */
    setDebugMessageLevel(2);
    ArduinoCloud.printDebugInfo();
}

void loop() {
    ArduinoCloud.update();
    // Your code here

    float temp = dht.readTemperature();
    temperature = temp;

}
  1. Laden Sie den Code hoch. Es könnte eine Aufforderung zur Aktualisierung erscheinen; folgen Sie den Anweisungen, um den Vorgang abzuschließen.

../_images/02_iot_cloud_20.png
  1. Kehren Sie zum IoT CLOUD zurück.

../_images/02_iot_cloud_21.png
  1. Klicken Sie auf das Menü in der oberen linken Ecke.

../_images/02_iot_cloud_22.png
  1. Klicken Sie auf das Dashboard.

../_images/02_iot_cloud_23.png
  1. Erstellen Sie ein Dashboard.

../_images/02_iot_cloud_24.png
  1. Es stehen viele Widgets zur Verfügung; hier wählen wir ein Wert-Widget zur Anzeige der Temperatur.

../_images/02_iot_cloud_25.png
  1. Nach dem Klicken erscheint eine Widget-Einstellungsoberfläche, auf der Sie das Widget mit der zuvor erstellten Cloud-Variablen verbinden können.

../_images/02_iot_cloud_26.png
  1. Nun können Sie die Sensordaten im Arduino IoT Cloud einsehen.

../_images/02_iot_cloud_27.png

Wie funktioniert des?

Nachdem Sie die IoT Cloud konfiguriert haben (Geräteeinrichtung, Netzwerkeinrichtung, Erstellung von Cloud-Variablen), werden Sie feststellen, dass sich der Sketch in der Cloud automatisch aktualisiert. Daher ist der Großteil des Codes bereits für Sie geschrieben.

Öffnen Sie den Editor, und Sie werden sehen, dass dieser Sketch aus vier Dateien besteht:

main.ino: Wird verwendet, um das Arduino zu initialisieren und die Hauptaufgaben der Schleife auszuführen. Zusätzlich beinhaltet es die Logik für die Verbindung und Kommunikation mit der Arduino IoT Cloud.

thingProperties.h: Diese Datei wird verwendet, um Variablen und Funktionen in der Arduino IoT Cloud zu definieren. Sie enthält Deklarationen von Cloud-Variablen und deren zugehörigen Rückruffunktionen. Im bereitgestellten Code wird sie verwendet, um Cloud-Eigenschaften zu initialisieren (z. B. die Temperaturvariable) und eine Verbindung zur Arduino IoT Cloud herzustellen.

Secret: Wird verwendet, um sensible oder private Informationen wie WLAN-Passwörter oder API-Schlüssel zu speichern. Diese sensiblen Informationen werden typischerweise nicht direkt im Code offengelegt, sondern im Secret-File gespeichert, um die Sicherheit zu erhöhen.

ReadMe.adoc: Enthält Projektdokumentation oder andere relevante Informationen für ein einfacheres Verständnis und die Nutzung des Projekts. Diese Datei enthält normalerweise keinen ausführbaren Code, sondern Dokumente und beschreibende Informationen.

Wir müssen etwas Code für den DHT11-Sensor hinzufügen. Dieser Code ist identisch mit dem, den Sie in Ihrer lokalen IDE verwenden würden. Der einzige Unterschied besteht darin, dass Sie den vom DHT11 gelesenen Wert der Cloud-Variablen temperature zuweisen müssen.

(Hinweis: Sie sollten niemals thingProperties.h und Secret ändern. Sie werden geändert, wenn Sie Änderungen mit dem Thing-Editor vornehmen.)