Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Contrôlez votre Arduino avec Google Assistant - Tutoriel complet étape par étape

Composants et fournitures

Arduino UNO × 1
Module ESP8266 ESP-01 (Espressif) × 1

Applications et services en ligne

À propos du projet

Dans ce projet, nous apprendrons à créer une connexion entre un service Internet et des cartes Arduino. À la fin, vous saurez :

Contrôlez votre Arduino avec Google Assistant - Tutoriel complet étape par étape

Google Assistant & Applets IFTTT

Google Assistant est un assistant virtuel propulsé par l'IA, disponible sur mobile et appareils domotiques. Contrairement à Google Now, il gère des conversations bidirectionnelles, reconnaît la parole avec précision et répond rapidement. Interaction principalement vocale (clavier aussi supporté). Capacités : recherche Internet, agenda, alarmes, réglages matériel, infos compte Google, reconnaissance d'objets via caméra, achats, identification de chansons.

IFTTT (If This Then That) est un service web gratuit pour créer des chaînes conditionnelles simples appelées "applets". Un applet se déclenche par des changements dans d'autres services (Gmail, Facebook, Telegram, Instagram, Pinterest...). Exemple : envoyer un email si tweet avec hashtag, ou sauvegarder une photo Facebook si identifié. Disponible sur iOS/Android. En 2015, ~20 millions de "recettes" créées par jour.

Contrôlez votre Arduino avec Google Assistant - Tutoriel complet étape par étape

Webhook & Contenu JSON

Un webhook est une méthode pour augmenter ou modifier le comportement d'une page/application web via des rappels (callbacks) personnalisés. Ces callbacks peuvent être gérés par des tiers non affiliés au site d'origine. Terme inventé par Jeff Lindsay en 2007.

JSON (JavaScript Object Notation) est un format d'échange de données ouvert, lisible par l'homme, transmettant des objets de données (paires attribut-valeur, tableaux). Très utilisé pour communication asynchrone navigateur-serveur, alternative à XML dans AJAX.

Contrôlez votre Arduino avec Google Assistant - Tutoriel complet étape par étape

Google Assistant vers Arduino

Objectif : contrôler différentes parties d'un Arduino (pins I/O, PWM, port série...) en envoyant une chaîne depuis Google Assistant vers le port série Arduino. Étapes :

  1. Définir des phrases spécifiques pour Google Assistant
  2. Créer un applet IFTTT reliant Google Assistant à notre base de données
  3. Lire les données depuis la base par le module ESP8266 et les envoyer à l'Arduino

Circuit

Contrôlez votre Arduino avec Google Assistant - Tutoriel complet étape par étape

Implémentation

1. Configurer Google Assistant : Dispositif compatible (téléphone Android utilisé ici). Aller sur assistant.google.com pour voir les appareils supportés.

2. Créer un compte IFTTT : Sur ifttt.com, se connecter, cliquer "My Applets" → "New Applet".

3. Partie THIS (Déclencheur) : Cliquer "THIS", chercher "Google Assistant". 4 choix de phrases. Choisir "phrase with a number ingredient". Exemple : "Set PWM of pin 9 to 255" → remplacer "255" par "#". Ajouter variantes : "PWM 9 to 255". Réponse de l'Assistant : "The PWM is updated". Cliquer "Create Trigger".

4. Partie THAT (Action) : Chercher "Webhooks", choisir "Make a web request". Ajouter l'URL de votre serveur. Méthode : POST. Content-Type : application/json. Corps : {"Number":"{{NumberField}}"}. Cliquer "Create action".

Contrôlez votre Arduino avec Google Assistant - Tutoriel complet étape par étape

Serveur et base de données

Code exemple de serveur pour recevoir données IFTTT et stocker en base. Modèles modifiables selon vos besoins. Téléchargement disponible.

Code ESP8266 & Arduino

D'abord, code pour ESP-01 : récupère données de la base et les envoie à l'Arduino via port série. Ensuite, code Arduino : reçoit données de l'ESP-01 et exécute la commande (ex: changer PWM). Utiliser Arduino IDE pour compiler et téléverser les deux.

Bibliothèque ArduinoJson requise : Vérifier dans Gestionnaire de bibliothèques (Croquis → Inclure bibliothèque → Gérer les bibliothèques → rechercher "ArduinoJson"). Si pas "INSTALLED", cliquer installer.

Contrôlez votre Arduino avec Google Assistant - Tutoriel complet étape par étape

Code ESP-01

#include "ESP8266WiFi.h"
#include "ESP8266HTTPClient.h"
#include "ArduinoJson.h"

// Paramètres WiFi
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");
    int httpCode = http.GET();
    if (httpCode > 0) {
      String payload = http.getString();
      // TODO: Parsing JSON
      Serial.println(payload);
    }
    http.end();
  }
  delay(3000);
}

Code Arduino (réception commandes)

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) {
    // Recherche "id" dans la chaîne
    while (f < 100) {
      if (inputString.substring(f) == "id") {
        id = true;
        break;
      }
      f++;
    }
    if (id == true) {
      x = inputString.charAt(f + 4);
    }
    // Si commande pour PWM pin 9
    if (x == '4') {
      f = 0;
      while (f < 100) {
        if (inputString.substring(f) == "number") {
          f += 9;
          for (int i = 0; i < 3; i++) {
            if (inputString.charAt(f + i) == '"') i = 3;
            else buff += inputString.charAt(f + i);
          }
          buf = buff.toInt();
          analogWrite(9, buf);
          break;
        }
        f++;
      }
    }
    inputString = "";
    stringComplete = false;
  }
}

void serialEvent() {
  while (Serial.available()) {
    char inChar = (char)Serial.read();
    inputString += inChar;
    if (inChar == '\n') stringComplete = true;
  }
}
Contrôlez votre Arduino avec Google Assistant - Tutoriel complet étape par étape

Prochaines étapes

Améliorations possibles :

Processus de fabrication

  1. Système de contrôle d'accès intégré QR, RFID et vérification de température
  2. Construire une télécommande Android universelle avec Arduino, 1Sheeld et contrôle IR
  3. Construire une Tirelire Intelligente : Contrôler un Accepteur de Pièces avec Arduino Nano
  4. Contrôler une LED par Bluetooth avec Arduino et MIT App Inventor
  5. Contrôler 2 moteurs pas-à-pas avec Arduino Nano et joystick – Tutoriel Visuino
  6. Arduino et MPU6050 : Contrôle précis de servo-moteur avec SG90 et MG996R
  7. Appareils électroménagers à commande vocale : contrôle Bluetooth avec Google Assistant
  8. Module GPS u-blox LEA‑6H 02 : guide d'intégration Arduino et Python
  9. Maîtriser la reconnaissance et la synthèse vocale sur Arduino Due