Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Arduino per Google Assistant steuern – Schritt-für-Schritt-Anleitung

Komponenten & Zubehör

Arduino UNO 1
ESP8266 ESP-01 (WiFi-Modul) 1

Software & Dienste

Projektidee

Steuerung von Arduino-I/O-Pins, PWM, Serial-Port etc. per Sprachbefehl über Google Assistant. Der Weg: Google Assistant → IFTTT Applet → Webhook (HTTP POST mit JSON) → eigener Server/Datenbank → ESP8266 holt Daten per HTTP GET → sendet Befehl per Serial an Arduino.

Grundlagen

Schaltung

ESP-01 an Arduino Serial (TX/RX) oder SoftSerial. ESP-01 wird mit 3,3 V versorgt (nicht 5 V!). Arduino UNO liefert 3,3 V über onboard Regler (max. ~50 mA) – besser separater 3,3 V-Regler für ESP-01.

Implementierungsschritte

  1. IFTTT Applet erstellen:
    • This: Google Assistant – „Say phrase with a number ingredient“. Beispiel: „Set PWM pin 9 to #“. Antwort: „PWM updated“.
    • That: Webhooks – „Make a web request“. URL: Ihr Server-Endpunkt. Method: POST. Content-Type: application/json. Body: {"Number":"{{NumberField}}"}.
  2. Server & Datenbank: Beispielcode (C#/ASP.NET) empfängt POST, speichert Wert in DB. (Download im Originalprojekt).
  3. ESP8266 Code: Verbindet sich mit WLAN, pollt alle 3 s Server-API (GET /api/Home/GetAllApp), parst JSON mit ArduinoJson, sendet Befehl an Arduino Serial.
  4. Arduino Code: Liest Serial, sucht nach „id“ und „number“, setzt PWM auf Pin 9 (analogWrite(9, value)).

Code-Beispiele

ESP8266 (Arduino IDE)

#include <ESP8266WiFi.h> #include <ESP8266HTTPClient.h> #include <ArduinoJson.h>
const char* ssid = "YOUR_SSID"; const char* password = "YOUR_PASSWORD";
void setup() { Serial.begin(115200); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Connecting..."); } }
void loop() {
  if (WiFi.status() == WL_CONNECTED) {
    HTTPClient http; http.begin("https://yourserver/api/Home/GetAllApp");
    int httpCode = http.GET();
    if (httpCode > 0) { String payload = http.getString(); Serial.println(payload); /* JSON parsen & an Arduino senden */ }
    http.end();
  }
  delay(3000);
}

Arduino UNO

String inputString = ""; bool stringComplete = false;
void setup() { Serial.begin(9600); inputString.reserve(200); }
void loop() {
  if (stringComplete) {
    // Einfaches Parsing: nach "id" und "number" suchen
    int f = 0; bool idFound = false; char pinChar = 0; String numStr = "";
    while (f < inputString.length()) {
      if (inputString.substring(f, f+2) == "id") { idFound = true; break; }
      f++;
    }
    if (idFound) {
      // Beispiel: ... "number": "255" ...
      int numIdx = inputString.indexOf("number");
      if (numIdx > 0) {
        int colon = inputString.indexOf(':', numIdx);
        int quote1 = inputString.indexOf('"', colon);
        int quote2 = inputString.indexOf('"', quote1+1);
        numStr = inputString.substring(quote1+1, quote2);
        int val = numStr.toInt();
        analogWrite(9, val); // PWM Pin 9
      }
    }
    inputString = ""; stringComplete = false;
  }
}
void serialEvent() {
  while (Serial.available()) {
    char c = (char)Serial.read(); inputString += c;
    if (c == '\n') stringComplete = true;
  }
}

Weiterentwicklung

Herstellungsprozess

  1. Integriertes QR-, RFID- und Temperatur-Verifikations-Zugangskontrollsystem
  2. Universelle Android-Fernbedienung mit Arduino, 1Sheeld & IR-Steuerung
  3. Smartes Sparschwein: Münzprüfer mit Arduino Nano steuern
  4. LED per Bluetooth mit Arduino steuern – Einfache DIY-Anleitung
  5. Zwei Schrittmotoren mit Arduino Nano & Joystick steuern – Einfaches Tutorial
  6. Arduino & MPU6050: Präzise Servomotor-Steuerung mit SG90 & MG996R
  7. Sprachgesteuerte Haushaltsgeräte: Bluetooth-Steuerung mit Google Assistant
  8. u-blox LEA-6H 02 GPS-Modul: Arduino & Python Integrationsanleitung
  9. Spracherkennung & Sprachsynthese auf Arduino Due meistern
  10. ThimbleKrox: Fingermontierte Maussteuerung mit Arduino Micro & MPU-6050