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

Cayenne funciona de forma muy similar a OpenHAB no requiere su propio servidor. Cayenne es un servicio de internet gratuito ofrecido por MyDevices , lo que hace que sea muy fácil visualizar proyectos de IoT. Debido a que Cayenne es un servicio de Internet, podemos acceder a la información de nuestro proyecto de IoT desde cualquier lugar. También hay una aplicación para teléfonos inteligentes para acceder a los datos.

Como en ejemplo, vamos a crear un dispositivo IoT simple basado en un D1 Mini ¿Lo hizo Lee Un DHT11 sensor de temperatura y humedad y Unidades Un módulo de relé . Ambos módulos también se incluyen en el 35 en 1 conjunto de sensores  . La estructura es muy simple. El DHT11 está conectado a D1 del D1 Mini y al D2 del D1 Mini. Además, ambos módulos están conectados al conector GND y al conector 3.3V del D1 Mini.

 

Para poder utilizar Cayenne necesitamos una cuenta. Podemos Visitar el MyDevices Sitio web  para una cuenta gratuita.

Para una cuenta nueva, aparece la pantalla de inicio. Elegimos "Todos los dispositivos"

Vamos a la selección del dispositivo y seleccionamos "EsP8266 genérico"

Esto es seguido por la pantalla de configuración para el dispositivo seleccionado. Llamamos al dispositivo, por ejemplo, "D1 Mini". Cayenne ahora está esperando a que un dispositivo inicie sesión con las credenciales especificadas (nombre de usuario, contraseña e ID de cliente). Para ello, tenemos que editar los datos de acceso para MQTT y WLAN en el siguiente boceto y luego cargarlos en el D1 Mini. 

 Bosquejo:

Placa para Arduino IDE - NodeMCU1.0(Módulo ESP-12F)

 

 

/*ESP8266 con sensor DHT11 y relé controlado a través del panel MQTT Cayenne
 * https://mydevices.com
 */
CAYENNE_DEBUG #define
#define CAYENNE_PRINT Serial
#include <CayenneMQTTESP8266.H>
#include <DHTesp.H>

Información de la red WiFi.
#define Ssid ""
#define WIFIPASSWORD ""

Datos de acceso cayena. Lo obtenemos del panel de Cayenne.
#define nombre de usuario ""
#define Contraseña ""
#define Clientid ""

Canales para comunicarse con el panel
#define KANAL_TEMPERATUR 1
#define KANAL_FEUCHTE 2
#define KANAL_RELAIS 3
#define KANAL_STATUS 4

#define PIN_DHT 5
#define PIN_RELAIS 4

variables globales
Booleana relais_status = 0;
TempAndHumidity newvalues;
DHTesp Dht;

Vacío Configuración() {
	Serial.Comenzar(115200);   pinMode(PIN_RELAIS,Salida);   digitalWrite(PIN_RELAIS,relais_status);   Dht.Configuración(PIN_DHT, DHTesp::DHT11);
	Cayena.Comenzar(nombre de usuario, Contraseña, Clientid, Ssid, WIFIPASSWORD);
}

Vacío Bucle() {
	Cayena.Bucle();
}

Cayenne.loop llama a esta función a intervalos regulares
Aquí los datos de los sensores deben ser transmitidos
CAYENNE_OUT_DEFAULT()
{   newvalues = Dht.getTempAndHumidity();   Si (Dht.Getstatus() == 0) {     Cayena.celsiusWrite(KANAL_TEMPERATUR,newvalues.Temperatura);     Cayena.virtualWrite(KANAL_FEUCHTE,newvalues.Humedad,TYPE_RELATIVE_HUMIDITY,UNIT_PERCENT);   }   Cayena.digitalSensorWrite(KANAL_STATUS,relais_status);
}

Cayenne.loop llama a esta función cuando los datos están pendientes para los actuadores Cayenne
Aquí es donde debe reaccionar a estos datos
CAYENNE_IN_DEFAULT()
{   Si (Petición.Canal == KANAL_RELAIS) {     relais_status = Getvalue.asInt();     digitalWrite(PIN_RELAIS,relais_status);   }
}


 

Después de compilar y cargar el boceto, la página web de Cayenne debe mostrar la siguiente imagen después de un corto período de tiempo. Puede ser necesaria una recarga en el navegador.

Vemos a la izquierda el dispositivo D1 Mini y en el panel los tres valores que el D1 Mini envía al servidor MQTT. A continuación, queremos hacer el tablero un poco más agradable y añadir un botón para encender el relé.

En primer lugar, hacemos clic en el signo verde "+" en la parte superior derecha de cada uno de los widgets. Esto asigna el widget al panel. Ahora puede mover los widgets y cambiarlos en apariencia y tamaño. Para cambiar la apariencia, hacemos clic en el icono de engranaje en la parte superior derecha y seleccionamos Configuración. Aparecerá la configuración del widget que podemos cambiar.

 

Ahora también queremos añadir un widget para cambiar el relé. Hacemos clic en "Añadir nuevo..." en la esquina superior izquierda y seleccione "Dispositivos/Widgets" en el menú. En la página Dispositivo y widget, seleccionamos "Widgets personalizados". En la lista de la derecha seleccionamos "Botón". Aparece el formulario de entrada para el botón Configuración:

Después de que todos los campos se establecen en el formulario (de acuerdo con el boceto, el canal 3 debe ser seleccionado), podemos hacer clic en el botón "Agregar widget", que agrega el nuevo widget al tablero. Podemos probar el botón de relé de inmediato. Al hacer clic en el botón debe encender el relé en nuestra configuración de prueba. Después de un máximo de 10 segundos, también deberíamos recibir los comentarios en el estado.

Por último, pero no menos importante, queremos añadir un gatillo que encienda el relé (por ejemplo, para un calentador) cuando la temperatura baje de 18oC y se apague de nuevo cuando la temperatura suba por encima de 22oC. Para ello, hacemos clic en el icono de engranaje de un widget y seleccionamos Desencadenar. Aparece el formulario de desencadenador. Con Arrastrar y soltar arrastramos el dispositivo D1 Mini a la superficie "si" y a la superficie "entonces". Para el área "si", seleccionamos la temperatura como disparador y establecemos los valores deseados. Para el área "entonces", elegimos relés como acción. El formulario debería tener este aspecto.

Si todo se rellena correctamente, podemos hacer clic en Guardar. De la misma manera, creamos un segundo gatillo que apaga el relé cuando la temperatura sube por encima de 22oC.

Así que eso es todo. Diviértete experimentando. 

Esp-8266Projekte für anfänger

18 comentarios

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

Deja un comentario

Todos los comentarios son moderados antes de ser publicados