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

Capteur 3D Intelligent : Contrôle Vocal de Lampe pour Amazon Echo

Composants et fournitures

Amazon Echo (Alexa) ×1
Walabot Creator (capteur 3D RF) ×1
Arduino Leonardo ×1
Relais (genérique) ×2
LattePanda 2G/32GB (activé) ×1
Écran 7" 1024×600 IPS pour LattePanda ×1
Lampe ×2

À propos de ce projet

Introduction

Si vous possédez Alexa ou un haut-parleur intelligent avec domotique, vous connaissez ce problème : il faut se souvenir du nom exact de chaque appareil pour le commander. J'ai beaucoup d'appareils connectés et retenir tous les noms est difficile.

Trois scénarios typiques :

Mes enfants adorent : « Alexa, allume TOUTES les lumières ». Toute la maison s'illumine comme un sapin de Noël. Pas drôle au milieu de la nuit !

Comment faire ?

Et si je disais simplement : « Alexa, allume cette lampe » ?

Capteur 3D Intelligent : Contrôle Vocal de Lampe pour Amazon Echo

Alexa détecte ma position par rapport à l'appareil et sait de quoi je parle. Bonne idée, non ?

Une caméra dans la pièce pour suivre les mouvements ? Trop intrusif. Je ne veux pas de caméras ni de reconnaissance d'image chez moi.

C'est là qu'intervient Walabot :

Walabot

Qu'est-ce que Walabot ?

Walabot est un capteur 3D programmable idéal pour l'électronique DIY. C'est un nouveau type de capteur d'imagerie 3D utilisant la radiofréquence (RF) qui révèle ce qui est caché autour de vous. Il est portable, programmable, avec un SDK (kit de développement) offrant diverses capacités d'imagerie et une API pour créer vos applications personnalisées.

Il suit les mouvements par radiofréquence.

Capteur 3D Intelligent : Contrôle Vocal de Lampe pour Amazon Echo

LattePanda

LattePanda est un SBC x86/x64 à quadruple cœur Intel Atom x8300 « Cherrytrail » sous Windows 10. Il intègre 2 ou 4 Go RAM, Bluetooth 4.0, WiFi 802.11n, 1×USB 3.0, 2×USB 2.0, HDMI, et un co-processeur ATMega32u4 (comme Arduino Leonardo) avec GPIO – le tout sur une carte de la taille d'une main !

Capteur 3D Intelligent : Contrôle Vocal de Lampe pour Amazon Echo

Cette architecture rend LattePanda idéal pour plusieurs scénarios. Ici, on exploite le microcontrôleur intégré. Associé au processeur Intel Atom, il permet de connecter Walabot et Arduino ensemble.

Capteur 3D Intelligent : Contrôle Vocal de Lampe pour Amazon Echo

Node-RED

Node-RED est un outil visuel dans le navigateur pour créer rapidement de la logique IoT : abonnement TCP, écoute requêtes Alexa, lecture/écriture bases de données, publication MQTT, réponses HTTP. Il permet de définir des fonctions JavaScript pour logique complexe, avec une interface glisser-déposer facile.

Node-RED est un runtime léger basé sur Node.js, profitant de son modèle événementiel non-bloquant.

Si on connecte les données Walabot à Node-RED, cela ouvre énormément de possibilités en domotique. Paquets utilisés :

Documentation Firmata : https://nodered.org/docs/hardware/arduino.html

Fonctionnement

Capteur 3D Intelligent : Contrôle Vocal de Lampe pour Amazon Echo

Matériel

Installation

Étape 1. SDK Walabot

Téléchargez et installez le SDK : https://walabot.com/getting-started

Étape 2. Configurer Arduino sur Walabot

https://docs.lattepanda.com/content/hardware/accessPinoutsFromVS/

  1. Activez le mode développeur sur Windows.
  2. Capteur 3D Intelligent : Contrôle Vocal de Lampe pour Amazon Echo
    Capteur 3D Intelligent : Contrôle Vocal de Lampe pour Amazon Echo
    Capteur 3D Intelligent : Contrôle Vocal de Lampe pour Amazon Echo

Étape 3. Configurer l'Arduino

  1. Ouvrez Arduino, sélectionnez « StandardFirmata » :
  2. Capteur 3D Intelligent : Contrôle Vocal de Lampe pour Amazon Echo
  3. Sélectionnez « Arduino Leonardo » :
  4. Capteur 3D Intelligent : Contrôle Vocal de Lampe pour Amazon Echo
  5. Sélectionnez votre port COM :
  6. Capteur 3D Intelligent : Contrôle Vocal de Lampe pour Amazon Echo
  7. Téléversez le croquis :
  8. Capteur 3D Intelligent : Contrôle Vocal de Lampe pour Amazon Echo
  9. Terminé !
  10. Capteur 3D Intelligent : Contrôle Vocal de Lampe pour Amazon Echo

Connectez les relais au LattePanda.

Capteur 3D Intelligent : Contrôle Vocal de Lampe pour Amazon Echo

Étape 4. Installez Node.js et Node-RED :

Étape 5. Téléchargez et installez Python 3 :

Capteur 3D Intelligent : Contrôle Vocal de Lampe pour Amazon Echo

Étape 6. Dépôt du projet : https://github.com/rondagdag/smart3DSensorForAlexa

Téléchargez et extrayez le ZIP :

> npm install
> npm start

Étape 7. Assurez-vous d'être sur le même Wi-Fi et d'avoir activé les « Smart Home Skills » dans l'app Alexa. Dites : « Alexa, découvre les appareils ». Alexa trouvera la lampe. Pour voir/modifier les flux Node-RED : https://localhost:8080/red/

Vous pouvez maintenant connecter d'autres broches Arduino sur LattePanda, ou utiliser MQTT et d'autres modules Node-RED.

Le flux complet se compose de 3 étapes :

  1. Gestion du service Walabot : programme Python lisant le capteur Walabot et diffusant les données sur port TCP 1890.
  2. Récupération et sauvegarde des données d'objet Walabot : lit les données via port 1890, stocke la dernière position connue de l'objet détecté.
  3. Gestion des commandes Alexa : se déclenche sur commande Alexa, détermine la broche Arduino à actionner (relais) selon la dernière position connue.
Capteur 3D Intelligent : Contrôle Vocal de Lampe pour Amazon Echo

Gestion du service Walabot

Capteur 3D Intelligent : Contrôle Vocal de Lampe pour Amazon Echo
Capteur 3D Intelligent : Contrôle Vocal de Lampe pour Amazon Echo

Code Python Walabot : lit les données et envoie une chaîne JSON via TCP.

from __future__ import print_function
from sys import platform
from os import system
from imp import load_source
WalabotAPI = load_source('WalabotAPI', 'C:\\Program Files\\Walabot\\WalabotSDK\\python\\WalabotAPI.py')
import socket, sys

if __name__ == '__main__':
    WalabotAPI.Init()
    WalabotAPI.SetSettingsFolder()
    WalabotAPI.ConnectAny()
    WalabotAPI.SetProfile(WalabotAPI.PROF_SENSOR)
    WalabotAPI.SetThreshold(35)
    WalabotAPI.SetArenaR(50, 400, 4)
    WalabotAPI.SetArenaPhi(-45, 45, 2)
    WalabotAPI.SetArenaTheta(-20, 20, 10)
    WalabotAPI.SetDynamicImageFilter(WalabotAPI.FILTER_TYPE_MTI)
    WalabotAPI.Start()
    system('cls' if platform == 'win32' else 'clear')
    numOfTargetsToDisplay = 1
    if len(sys.argv) == 2:
        TCP_IP = '127.0.0.1'
        TCP_PORT = int(sys.argv[1])
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.bind((TCP_IP, TCP_PORT))
        s.listen(1)
        conn, addr = s.accept()
        while True:
            WalabotAPI.Trigger()
            targets = WalabotAPI.GetSensorTargets()
            finds = '{"targets": ['
            index = 0
            for i, t in enumerate(targets):
                if i < numOfTargetsToDisplay:
                    index += 1
                    print('Target {}\nx = {}\ny = {}\nz = {}\n'.format(i+1, t.xPosCm, t.yPosCm, t.zPosCm))
                    finds += '{"x": "%s", "y": "%s", "z": "%s"}' % (t.xPosCm, t.yPosCm, t.zPosCm)
            finds += ']}'
            conn.sendall(str.encode(finds))
            conn.close()
            WalabotAPI.Stop()
            WalabotAPI.Disconnect()

Récupération et sauvegarde des données d'objet Walabot

Reçoit les données du port 1890, parse le JSON pour définir des variables globales.

Capteur 3D Intelligent : Contrôle Vocal de Lampe pour Amazon Echo

Code de conversion en tableau JSON :

raw = msg.payload.toString('UTF-8')
j = JSON.parse(raw);
var msg1 = { payload: raw };
var msg2 = { payload: j };
if (raw.length > 20) {
  X = msg2.payload.targets[0].x;
  Y = msg2.payload.targets[0].y;
  Z = msg2.payload.targets[0].z;
  global.set("X", X);
  global.set("Y", Y);
  global.set("Z", Z);
  var msg3 = { payload: X };
  var msg4 = { payload: Y };
  var msg5 = { payload: Z };
}
return [ msg1, msg2, msg3, msg4, msg5];

Gestion des commandes Alexa

Utilise node-red-contrib-alexa-local. Logique de routage de la commande vers la bonne broche selon la dernière position connue de la personne.

Capteur 3D Intelligent : Contrôle Vocal de Lampe pour Amazon Echo

Si ce projet vous a intéressé pour Amazon Echo, Walabot, LattePanda, Node-RED, Python, ou si vous passez une excellente journée, cliquez « Respect project » et suivez-moi. Si cela vous a aidé, laissez un message !

Note : Aucune Skill Alexa personnalisée n'est utilisée. Le projet exploite la fonctionnalité Smart Home native d'Echo (contrôle ampoules Philips Hue). Le nœud node-red-contrib-alexa-local simule simplement des « Ampoules » personnalisées qu'Alexa peut commander !

Code

Smart 3D Sensor for Alexa

https://github.com/rondagdag/smart3DSensorForAlexa

Processus de fabrication

  1. Capteur de mouvement SmartThings par vision par ordinateur sur Raspberry Pi 3
  2. Construire un capteur de mouvement infrarouge DIY pour Raspberry Pi – Guide étape par étape
  3. Poubelle intelligente : Une solution IoT cellulaire pour la gestion automatisée des déchets
  4. Contrôler votre Chromecast avec Amazon Alexa via un Raspberry Pi et Python
  5. Feu de circulation intelligent : Éclairage public adaptatif alimenté par l'IoT
  6. Construire un robot évitant les obstacles avec Raspberry Pi – Guide débutant
  7. Stylo intelligent : Suivi temps réel de l'écriture et du mouvement avec Raspberry Pi et IMU
  8. Vêtements chauffants : l'innovation textile intelligent leader, selon les experts
  9. Capteur de déformation ultra-sensible et durable pour textiles intelligents