Arbeiten mit dem Cayenne Dashboard - einfacher Sensor (Teil 1) - AZ-Delivery

Cayenne werkt net als OpenHAB vereist geen eigen server. Cayenne is een gratis internet service aangeboden door MyDevices , waardoor het heel gemakkelijk is om IoT-projecten te visualiseren. Omdat Cayenne een internetservice is, hebben we overal toegang tot informatie uit ons IoT-project. Er is ook een smartphone-app om toegang te krijgen tot de gegevens.

Zoals in voorbeeld, laten we een eenvoudig IoT-apparaat bouwen op basis van een D1 Mini Deed Leest A DHT11 temperatuur- en vochtigheidssensor en Stations A relaismodule . Beide modules zijn ook opgenomen in de 35 in 1 sensorset  . De structuur is heel eenvoudig. De DHT11 is aangesloten op D1 van de D1 Mini en de D2 van de D1 Mini. Daarnaast zijn beide modules aangesloten op de GND-connector en de 3.3V connector van de D1 Mini.

 

Om Cayenne te kunnen gebruiken hebben we een account nodig. We kunnen. Bezoek De MyDevices Website  voor een gratis account.

Voor een nieuw account verschijnt het startscherm. We kiezen voor "Alle apparaten"

We gaan naar de apparaatselectie en selecteren 'Generieke ESP8266'

Dit wordt gevolgd door het installatiescherm voor het geselecteerde apparaat. We noemen het apparaat bijvoorbeeld "D1 Mini". Cayenne wacht nu op een apparaat om in te loggen met de opgegeven referenties (gebruikersnaam, wachtwoord en client-ID). Om dit te doen, moeten we de toegangsgegevens voor MQTT en WLAN in de volgende schets bewerken en vervolgens laden op de D1 Mini. 

 Schets:

Bord voor Arduino IDE = NodeMCU1.0(ESP-12F Module)

 

 

/*ESP8266 met DHT11 sensor en relais geregeld via MQTT Dashboard Cayenne
 * https://mydevices.com
 */
#define CAYENNE_DEBUG
#define CAYENNE_PRINT Seriële
#include <CayenneMQTTESP8266.H>
#include <DHTesp DHTesp.H>

WiFi-netwerkinformatie.
#define Ssid ""
#define WIFIPASSWORD ""

Cayenne toegang tot gegevens. We krijgen dit van het Cayenne Dashboard.
#define Gebruikersnaam ""
#define Wachtwoord ""
#define Clientid ""

Kanalen om met het dashboard te communiceren
#define KANAL_TEMPERATUR 1
#define KANAL_FEUCHTE 2
#define KANAL_RELAIS 3
#define KANAL_STATUS 4

#define PIN_DHT 5
#define PIN_RELAIS 4

globale variabelen
Booleaanse relais_status = 0;
TempAndHumidity nieuwe waarden;
DHTesp DHTesp Dht;

Void Setup() {
	Seriële.Beginnen(115200);   pinMode(PIN_RELAIS,Output);   digitalWrite(PIN_RELAIS,relais_status);   Dht.Setup(PIN_DHT, DHTesp DHTesp::DHT11);
	Cayenne.Beginnen(Gebruikersnaam, Wachtwoord, Clientid, Ssid, WIFIPASSWORD);
}

Void Lus() {
	Cayenne.Lus();
}

Deze functie wordt met regelmatige tussenpozen door Cayenne.loop aangeroepen
Hier moeten de gegevens van de sensoren worden verzonden
CAYENNE_OUT_DEFAULT()
{   nieuwe waarden = Dht.getTempAndHumidity();   Als (Dht.Status getstatus() == 0) {     Cayenne.celsiusSchrijf(KANAL_TEMPERATUR,nieuwe waarden.Temperatuur);     Cayenne.virtualWrite(KANAL_FEUCHTE,nieuwe waarden.Vochtigheid,TYPE_RELATIVE_HUMIDITY,UNIT_PERCENT);   }   Cayenne.digitalSensorWrite(KANAL_STATUS,relais_status);
}

Deze functie wordt aangeroepen door Cayenne.loop wanneer gegevens in behandeling zijn voor Cayenne actuatoren
Hier moet u reageren op deze gegevens
CAYENNE_IN_DEFAULT()
{   Als (Verzoek.Kanaal == KANAL_RELAIS) {     relais_status = Getvalue.asInt();     digitalWrite(PIN_RELAIS,relais_status);   }
}


 

Nadat de schets is samengesteld en geüpload, moet de Cayenne webpagina de volgende afbeelding na een korte tijd weergeven. Een herlading in de browser kan nodig zijn.

We zien links het apparaat D1 Mini en op het dashboard de drie waarden die de D1 Mini naar de MQTT-server stuurt. Vervolgens willen we het dashboard een beetje mooier maken en een knop toevoegen om het relais in te schakelen.

Eerst klikken we op het groene "+" teken rechtsboven van elk van de widgets. Hiermee wordt de widget aan het dashboard toegevoegd. Nu u de widgets verplaatsen en wijzigen in uiterlijk en grootte. Als u het uiterlijk wilt wijzigen, klikken we op het tandwielpictogram rechtsboven en selecteren we Instellingen. De instellingen van de widget die we kunnen wijzigen, worden weergegeven.

 

Nu willen we ook een widget toevoegen om het relais te schakelen. We klikken op "Nieuw toevoegen...." in de linkerbovenhoek en selecteer 'Apparaten/widgets' in het menu. Op de pagina Apparaat en widget selecteren we 'Aangepaste widgets'. In de lijst rechts selecteren we "Button". Het invoerformulier voor de knop Instellingen wordt weergegeven:

Nadat alle velden zijn ingesteld in het formulier (in overeenstemming met de schets, moet Kanaal 3 worden geselecteerd), kunnen we op de knop Widget toevoegen klikken, die de nieuwe widget aan het dashboard toevoegt. We kunnen de relaisknop meteen proberen. Als u op de knop klikt, moet u het relais inschakelen in onze testopstelling. Na maximaal 10 seconden moeten we ook de feedback in de status ontvangen.

Last but not least willen we een trigger toevoegen die het relais inschakelt (bijvoorbeeld voor een kachel) wanneer de temperatuur onder de 18°C zakt en weer uitschakelt wanneer de temperatuur boven de 22°C stijgt. Om dit te doen, klikken we op het tandwielpictogram van een widget en selecteren we Trigger. Het triggerformulier wordt weergegeven. Met Drag & Drop slepen we het D1 Mini-apparaat naar het "als"-oppervlak en naar het 'toen'-oppervlak. Voor het gebied "als" selecteren we temperatuur als trigger en stellen we de gewenste waarden in. Voor het gebied "dan" kiezen we relais als actie. Het formulier moet er zo uitzien.

Als alles correct is ingevuld, kunnen we op Opslaan klikken. Op dezelfde manier maken we een tweede trigger die het relais uitschakelt wanneer de temperatuur boven de 22°C stijgt.

Dus dat is het. Veel plezier experimenteren. 

Esp-8266Projekte für anfänger

18 Reacties

DonBoy

DonBoy

Wer nicht unbedingt von ausserhalb einen Zugriff benötigt, kann sich statt MyDevices und Cayenne z.B. einen Raspberry Pi ins Netzwerk holen und das fertige Image von dem Node-Red darauf installieren. Dessen Dashboard hat mehr Möglichkeiten (sogar WebCams anzeigen) und es gibt 1000de von Custom-Nodes. Man kann per Drag&Drop seine Flows zusammenstellen und/oder per JS eigenen Code auf dem Server verwenden. Ich hab mit den D1-Modulen von AZ-Delivery hier den kompletten Garten im Überblick und Steuere meine Rollos zum Teil automatisiert anhand Sonnenauf- und Untergang.

Stefan

Stefan

@Joachim: Einbinden von libraries (Bibliotheken) gehört zur C oder auch Arduino Grundausbildung. Ich denke wenn die von AZ soweit unten anfangen werden die Anleitungen deutlich zu lang.
Bei der Arduino IDE kann mit mit Strg+Shift+I (=Sketch/Bibliothek/Bibliothekverwalter) die 2. h-Dateien einfach in die Zeile oben rechts eingeben, suchen und dann unten die gefundenen Bibs. installieren. Jetzt sollten die Fehlermeldungen weg sein.
@Manfred: Gute Idee, ich hab von 1&1 eine Homepage für ca. 25Euros, da werde ich es mal versuchen.

Joachim

Joachim

Beim kompilieren läuft man auf die Fehlermeldung, dass die Dateien CayenneMQTTESP8266.h und DHTesp.h nicht gefunden werden können. Kann mir jemand weiterhelfen und sagen, wo ich diese Dateien finden kann, bzw. wo ich sie einfügen muss? Vielen Dank

Grundsätzlich finde ich es super, dass es Leute gibt, die Ihre Ideen mit anderen teilen und sogar entsprechende Anleitungen hier einstellen. Umso ärgerlicher ist, wenn dann relevante Informationen fehlen und das Nachvollziehen daran scheitert. Wenn wir hier alles Spezialisten wären, die sich auskennen und selbst helfen können , dann bräuchten wir diese Anleitungen nicht. Ich denke aber, hier gibt es eine Menge Einsteiger, die über diesen Weg in die Materie reinkommen möchten. Und da wären dann VOLLSTÄNDIGE Informationen hilfreich

Joachim

Joachim

Beim kompilieren läuft man auf die Fehlermeldung, dass die Dateien CayenneMQTTESP8266.h und DHTesp.h nicht gefunden werden können. Kann mir jemand weiterhelfen und sagen, wo ich diese Dateien finden kann, bzw. wo ich sie einfügen muss? Vielen Dank

Grundsätzlich finde ich es super, dass es Leute gibt, die Ihre Ideen mit anderen teilen und sogar entsprechende Anleitungen hier einstellen. Umso ärgerlicher ist, wenn dann relevante Informationen fehlen und das Nachvollziehen daran scheitert. Wenn wir hier alles Spezialisten wären, die sich auskennen und selbst helfen können , dann bräuchten wir diese Anleitungen nicht. Ich denke aber, hier gibt es eine Menge Einsteiger, die über diesen Weg in die Materie reinkommen möchten. Und da wären dann VOLLSTÄNDIGE Informationen hilfreich

Manfred Blum

Manfred Blum

Hat schon mal einer versucht sich von solchen Anbietern wie MyDevices abzunabeln und die Devices selbst zu programmieren?
Das einfachste wäre bei 4-Eins, 1und1, etc. eine preisgünstige Domäne (Server) zu erwerben und die Darstellungsprobleme mit HTPL in Verbindung mit PHP in den Griff zu bekommen??? Die Kosten mit 60 bis 70€/Jahr dürften zu stemmen sein.

Oder mit XAMPP auf seinem eigenen Rechner einen eigenen Server aufzubauen. Ist gar nicht so schwer und der Lerneffekt ist kolossal und kostenlos.

Manfred Blum

Manfred Blum

Es wäre lobenswert, wenn die sichtbare Seite so breit wäre, dass man die Code-Zeilen bis zum Ende lesen könnte.

Christof

Christof

Mach doch “einfach” deinen eigenen Server .. Google-Suche nach “create my own mqtt server” oder schau mal hier:
https://obrienlabs.net/how-to-setup-your-own-mqtt-broker/

Gunther

Gunther

Zitat:
“Our business operations and the computer servers that handle data collected via the Services are hosted in the United States. If you are accessing or using the Services in the European Union or other regions with laws governing data collection and use that may differ from U.S. law, then please note that your personal information will be transferred to the United States and you consent to such transfer.”

Das heißt: Es gelten NICHT die europäischen Datenschutzgesetze!!!
Dann kann man ja auch die chinesischen Clouddienste nutzen…

Sven

Sven

Beim Cayenne Dashboard Sketch kompiliert kommt immer Fehler kann die *.h dateinen nicht finden. Es ist mühselig die einzelner Dateien in den Ordner ein zu fügen, wer hilfreich wenn eine Liste mit den benötigten datein dabei wäre.

michael

michael

Man hätte vieleicht auch mal für neulinge den genauen ablauf beschreiben können, für die account registrierung.
vielen dank
michael

Jens

Jens

In dem Sketch ist das Relaymodul an 3V3 angeschlossen obwohl es lt. Datenblatt ein 5V Modul ist. Funktioniert das trotzdem? Ansonsten VCC für das Relaismodul von den 5V des D1mini versorgen. Auch sind die Farben für GND und VCC zum Relaismodul mit rot für GND und schwarz für VCC ungünstig gewählt. Vorsicht also beim Nachbau! Mit freundlichen Grüßen, Jens Gabrikowski

Wolfgang Petzold

Wolfgang Petzold

Ich bin leider in der englischen Sprache nicht so bewandert. Könntet Ihr die ersten 3 Absätze dieses Artikels auch in die deutsche Sprache übersetzen?

Danke

Andre Schubert

Andre Schubert

Gibt es die Möglichkeit, Daten vom Dashboard einzulesen ? Also von Cayenne abholen und in nen ESP8266 seriell ausgeben ?

Gerald Lechner

Gerald Lechner

Hallo Andre
Danke für den Hinweis die Pins 4 und 5 waren vertauscht. Ich habe den Sketch korrigiert.
Für den DHT 22 muss die vierte Zeile im Setup geändert werden

dht.setup(PIN_DHT, DHTesp::DHT22);

Gruß Gerald

Andre Schubert

Andre Schubert

PIN 4 und PIN 5 im Sketch müssen getauscht werden

Rene

Rene

Geil

Andre Schubert

Andre Schubert

Ich versuche den Aufbau mit einem DHT22 und bekomme keine Werte geliefert. Wo muss ich den Sketch anpassen ?

Jürgen

Jürgen

Hallo, gibt es auch Anbieter, wie MyDevices,
die den Standort in Deutschland haben? Mir wäre wohler dabei. Gruß Jürgen

Laat een reactie achter

Alle opmerkingen worden voor publicatie gecontroleerd door een moderator

Aanbevolen blogberichten

  1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
  2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
  4. ESP32 - das Multitalent - AZ-Delivery