Im folgenden ist der Code für die Sprachsteuerung dargestellt. Diesen Code könnt Ihr einfach kopieren und bei euch einfügen.

Damit jedoch alles funktioniert fehlen noch wichtige Daten in eurem Code. Ihr müsst folgende Codezeilen verändern:

#define WLAN_SSID "xxx" // tragt hier euer WLAN Namen (SSID) ein
#define WLAN_PASS "1234" // hier das WLAN Passwort

In diese Codezeilen tragt Ihr euren WLAN Namen und darunter das zugehörige Passwort ein.
Damit sich der ESP32 mit dem Adafruit Server verbinden kann fehlen noch die folgenden Informationen:


#define AIO_USERNAME    "max_mustermann"        // Benutzername Adafruit IO Server eintragen
#define AIO_KEY         "sdfgjhdfgtzkjgzh"      // Key eintragen


Unter Nutzername tragt Ihr eure Anmeldenamen vom Adafruit IO Server ein. Jetzt geht ihr auf die Adafruit IO Seite und Klickt bei eurem Dashboard auf MyKey.

Key WO?
Abbildung: Key für den Arduino Code ermitteln     Quelle:Welcome to Adafruit IO



/****************************************************/
#include <WiFi.h>
#include "Adafruit_MQTT.h"
#include "Adafruit_MQTT_Client.h"




/**********************************************************/


#define PIN             12  
#define WLAN_SSID       "xxx" // WLAN Name eintrage
#define WLAN_PASS       "1234" // WLAN Passwort eintragen

/************************* Adafruit.io Setup *********************************/

#define AIO_SERVER      "io.adafruit.com"
#define AIO_SERVERPORT  1883                    // use 8883 for SSL
#define AIO_USERNAME    "max_mustermann"        // Benutzername Adafruit eintragen
#define AIO_KEY         "sdfgjhdfgtzkjgzh"      // Key eintragen
/**********************************************************/

WiFiClient client;

/*************login Data*****************/
Adafruit_MQTT_Client mqtt(&client, AIO_SERVER, AIO_SERVERPORT, AIO_USERNAME, AIO_KEY);


/****************************** Feeds ***************************************/

Adafruit_MQTT_Subscribe LED = Adafruit_MQTT_Subscribe(&mqtt, AIO_USERNAME "/feeds/led");


/*************************** Sketch Code ************************************/


void MQTT_connect();

void setup() {
 
  Serial.begin(9600); //Serieller monitor Baud Rate definieren
  
  delay(10);
  pinMode(26, OUTPUT); //Pins für die Leds definieren
  pinMode(25, OUTPUT); //Pins für die Leds definieren
  pinMode(33, OUTPUT); //Pins für die Leds definieren
  pinMode(32, OUTPUT); //Pins für die Leds definieren
Serial.println(F("Xplorer Garage DEMO")); //Ausgabe auf dem Seriellen Monitor // Connect to WiFi access point. Serial.println(); Serial.println(); Serial.print("Verbindet mit"); Serial.println(WLAN_SSID); WiFi.begin(WLAN_SSID, WLAN_PASS); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(); Serial.println("WiFi verbunden"); //Ausgabe WLAN verbunden Serial.println("IP Adresse: "); Serial.println(WiFi.localIP()); //Ausgabe der vergebenen IP Adresse des EPS32 // Setup MQTT subscription for onoff feed. mqtt.subscribe(&LED); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void loop() { MQTT_connect(); //aufrufen des Konstruktors MQTT_connect() zum verbinden des ESP32 mit dem Adafruit IO Server
//Abfragen des Zustandes der Leds (ob an oder aus) Adafruit_MQTT_Subscribe *subscription; while ((subscription = mqtt.readSubscription(5000))) { if (subscription == &LED) { Serial.print(F("Got: ")); Serial.println((char *)LED.lastread); int led_State = atoi((char *)LED.lastread); switch(led_State) { //schalten der Leds case 0: digitalWrite(26, LOW); // turn the LED off by making the voltage LOW digitalWrite(25, LOW); digitalWrite(33, LOW); digitalWrite(32, LOW); break; case 1: digitalWrite(26, HIGH); // turn the LED on (HIGH is the voltage level) digitalWrite(25, HIGH); digitalWrite(33, HIGH); digitalWrite(32, HIGH); break; } } } } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Konstruktor zum verbinden des Adafruit IO Servers mit dem ESP32 void MQTT_connect() { int8_t ret; if (mqtt.connected()) { return; } Serial.print("Connecting to MQTT... "); uint8_t retries = 3; while ((ret = mqtt.connect()) != 0) { Serial.println(mqtt.connectErrorString(ret)); Serial.println("Nochmal MQTT verbinden in 5 sek..."); mqtt.disconnect(); delay(5000); retries--; if (retries == 0) { while (1); } } Serial.println("MQTT Connected!"); }
Zuletzt geändert: Montag, 31. Januar 2022, 14:19