Je Arduino Besturen met Google Assistant – Complete Stapsgewijze Tutorial
Onderdelen en benodigdheden
| Arduino UNO | 1 |
| Espressif ESP8266 ESP-01 module | 1 |
Apps en online diensten
- Arduino IDE
- Microsoft Visual Studio 2017 (voor servercode)
- IFTTT account
- Google Assistant (op Android/iOS)
Over dit project
Leer hoe je een verbinding maakt tussen een internetdienst en een Arduino-board. Aan het einde van deze tutorial kun je:
- Data van Google Assistant ontvangen
- IFTTT applets gebruiken
- Webhooks en HTTP-requests begrijpen
- Met je Arduino praten via spraakcommando's

Google Assistant & IFTTT Applets
Google Assistant is Google's AI virtuele assistent, beschikbaar op mobiele apparaten en smart home devices. Het ondersteunt tweerichtingsgesprekken, herkent spraak uitstekend en reageert snel. IFTTT (If This Then That) is een gratis webservice om eenvoudige conditionele kettingen (applets) te maken tussen diensten zoals Gmail, Facebook, Telegram, enz.

Webhook & JSON
Een webhook is een HTTP-callback die een webapplicatie kan activeren. JSON (JavaScript Object Notation) is een lichtgewicht dataformaat voor asynchrone communicatie, vaak als vervanger van XML.

Google Assistant naar Arduino
We sturen een string van Google Assistant via IFTTT webhook naar een server/database. De ESP8266 haalt de data op en stuurt het via seriële poort naar de Arduino, die de opdracht uitvoert (bijv. PWM instellen, pin schakelen).
Schakeling

ESP-01 TX/RX verbonden met Arduino Serial (bijv. pins 0/1 of SoftwareSerial). ESP-01 voeding 3,3V (let op: niet 5V!). Arduino UNO via USB gevoed.
Implementatie
- Google Assistant apparaat: Android telefoon of ondersteund device. Ga naar assistant.google.com.
- IFTTT applet aanmaken:
- Ga naar ifttt.com, maak account, klik My Applets → New Applet.
- THIS: zoek Google Assistant, kies Say a phrase with a number ingredient. Voorbeeldzin:
Set PWM of pin 9 to #(de#is het getal). Voeg alternatieve zinnen toe. Antwoord: The PWM is updated. - THAT: zoek Webhooks, kies Make a web request. URL: jouw server endpoint. Method:
POST, Content-Type:application/json. Body:{"Number":"{{NumberField}}"}.

Server en Database
Voorbeeldservercode (C# ASP.NET) om IFTTT-webhooks te ontvangen en in database op te slaan. Downloadbaar via projectlink. Pas modellen aan naar wens.
ESP8266 & Arduino Code
Installeer ArduinoJson library via Library Manager in Arduino IDE.
ESP-01 Code (haalt data op van server)
#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://yourip/api/Home/GetAllApp"); // jouw endpoint
int httpCode = http.GET();
if (httpCode > 0) {
String payload = http.getString();
Serial.println(payload); // stuurt JSON naar Arduino
}
http.end();
}
delay(3000);
}
Arduino Code (voert commando uit)
String inputString = "";
String buff;
bool stringComplete = false;
bool id;
int f, buf;
char x;
void setup() {
Serial.begin(9600);
inputString.reserve(200);
}
void loop() {
if (stringComplete) {
// zoek "id" in JSON
f = 0;
while (f < 100) {
if (inputString.substring(f, f+2) == "id") { id = true; break; }
f++;
}
if (id) {
x = inputString.charAt(f + 4); // verwacht "id":4 voor PWM pin 9
}
if (x == '4') {
f = 0;
while (f < 100) {
if (inputString.substring(f, f+6) == "number") {
f += 9; // spring naar waarde
buff = "";
for (int i = 0; i < 3; i++) {
char c = inputString.charAt(f + i);
if (c == '\"') break;
buff += c;
}
buf = buff.toInt();
analogWrite(9, buf); // PWM op pin 9
break;
}
f++;
}
}
inputString = "";
stringComplete = false;
}
}
void serialEvent() {
while (Serial.available()) {
char inChar = (char)Serial.read();
inputString += inChar;
if (inChar == '\n') stringComplete = true;
}
}


Wat kun je er verder mee?
- Voeg commando's toe voor digitale pinnen, relaismodules, verlichting, enz.
- Stuur data van Arduino terug naar Google Assistant (bijv. sensorwaarden).
Productieproces
- Geïntegreerde QR, RFID en Temperatuurverificatie Toegangscontrolesysteem
- Universele Android-afstandsbediening bouwen met Arduino, 1Sheeld en IR-besturing
- Slimme spaarpot bouwen: Muntenacceptor besturen met Arduino Nano
- Een LED bedienen via Bluetooth met Arduino – Eenvoudige DIY Handleiding
- Twee Stappenmotors Sturen met Arduino Nano & Joystick – Simpele Tutorial
- Arduino & MPU6050: Precieze Servomotor Besturing met SG90 & MG996R
- Spraakgestuurde huishoudapparaten: Bluetooth-besturing met Google Assistant
- u-blox LEA‑6H GPS Module: Arduino & Python Integratie Handleiding
- Spraakherkenning & Synthese Meesteren op Arduino Due
- ThimbleKrox: Vingergemonteerde Muizenbesturing met Arduino Micro & MPU-6050
- Real-time RFID aanwezigheidssysteem met Arduino en Google Sheets