Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Alexa, enciende ESTA lámpara:Sensor 3D inteligente para Amazon Echo

Componentes y suministros

Amazon Alexa Amazon Echo
× 1
Creador de Walabot
× 1
Arduino Leonardo
× 1
Retransmisión (genérico)
× 2
LattePanda 2G / 32GB (activado)
× 1
Pantalla LattePanda de 7 pulgadas 1024 x 600 IPS
× 1
Lámpara
× 2

Acerca de este proyecto

Introducción

Si ha tenido una Alexa o cualquier altavoz inteligente y tiene la integración de Smart Home, ha experimentado este problema en el que debe recordar el nombre del dispositivo para controlar. Tengo muchos dispositivos domésticos inteligentes y, a veces, recordar los nombres de cada uno es complicado.

A veces diría:

Ocurrirán 3 cosas:

  • Terminó confundiendo a Alexa, encendiendo un dispositivo inteligente diferente.
  • Maldecir a Alexa (ya sabes de lo que estoy hablando, admítelo)
  • O darse por vencido, frustrarse y decirle:'Olvídalo Alexa, lo haré yo misma' ... caminando de mala gana hacia el interruptor.

A mis hijos normalmente les gusta este comando:"Alexa, enciende TODAS las luces". Y, por supuesto, toda la casa estará iluminada como un árbol de Navidad. ¡No es divertido cuando alguien hace eso en medio de la noche!

Cómo hacerlo

¿Qué pasa si solo puedo decir:Alexa, enciende esta lámpara?

Haz que Alexa detecte dónde estoy cerca del dispositivo. Y sabe de lo que estoy hablando ... ¿no sería una gran idea?

Bueno, una posible solución es montar una cámara en mi habitación y monitorear los movimientos y demás. Pero eso sería DEMASIADO INCREÍBLE. No quiero cámaras dentro de mi casa y reconocimiento de imágenes.

Ahí es donde entra Walabot:

Walabot

¿Qué es un Walabot?

Walabot es un sensor 3d programable perfecto para proyectos de electrónica de bricolaje. Walabot es un nuevo tipo de sensor de imágenes 3D. Utiliza radiofrecuencia (RFID) y revelará todo tipo de cosas ocultas en el mundo que te rodea. Es portátil, programable y nuestro SDK (kit de desarrollo de software) Contiene una variedad de capacidades de imágenes y nuestra API le permitirá crear sus propias aplicaciones personalizadas para él.

Puede realizar un seguimiento de los movimientos mediante RFID.

LattePanda

LattePanda es un SBC x86 / x64 con un procesador Intel Atom x8300 "Cherrytrail" de cuatro núcleos que puede ejecutar Windows 10. Incluye 2 GB o 4 GB de RAM con Bluetooth 4.0 integrado y WiFi 802.11 n, 1 x USB 3.0, 2 x USB 2.0, salida HDMI y un coprocesador ATMega32u4 integrado, como lo encontraría en un Arduino Leonardo, con GPIO adjunto, ¡todo en una placa del tamaño de la palma de la mano!

Esta configuración hace que LattePanda sea ideal para varios escenarios. En este tutorial se centrará en las ventajas del microcontrolador integrado de LattePanda. Cuando este microcontrolador se utiliza junto con el procesador Intel Atom, puede conectar el walabot y el arduino juntos.

Nodo rojo

Node-Red es una herramienta basada en navegador que le permite construir rápida y fácilmente su propia lógica para manejar varios dispositivos de IoT, incluida la suscripción de mensajes TCP, escuchar las solicitudes de Alexa, leer y escribir en bases de datos, publicar en agentes MQTT y responder a solicitudes HTTP. . También le permite definir funciones específicas escritas en JavaScript para proporcionar operaciones lógicas complejas, mientras usa una interfaz de usuario visual, fácil de usar, de arrastrar y soltar para vincular diferentes componentes y lógica.

Node-Red es un tiempo de ejecución muy liviano creado sobre Node.js, que aprovecha al máximo su modelo de operación sin bloqueos y controlado por eventos.

Si podemos hacer que los datos de Walabot se conecten a Node-Red, se abren muchas cosas que podemos hacer, especialmente en domótica. Hay algunos paquetes que utilicé para conectar Alexa y Arduino:

  • node-red-contrib-alexa-local:un nodo completamente simple para agregar la capacidad de Alexa a su flujo de NodeRED.
  • node-red-node-arduino:un nodo Node-RED para hablar con un Arduino

Aquí hay documentación que puede utilizar para configurar firmata:https://nodered.org/docs/hardware/arduino.html

Cómo funciona

Hardware

  • LattePanda
  • Pantalla IPS de 7 pulgadas 1024x600 para LattePanda
  • Teclado y mouse inalámbricos USB
  • Walabot
  • Concentrador alimentado por USB
  • Relés
  • Lámpara

Instalación

Paso 1. SDK de Walabot

Descargue el SDK e instálelo:https://walabot.com/getting-started

Paso 2. Configura Arduino en Walabot

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

1. Habilite el modo de desarrollador en su sistema operativo

Paso 3. Configura el Arduino

1. Abra Arduino. Y seleccione "StandardFirmata"

2. Seleccione "Arduino Leonardo"

3. Seleccione su puerto COM

4. Sube el boceto

5. Carga completa.

Conecte los relés al LattePanda.

Paso 4 . Instale y descargue NodeJS y Node-Red

Si no está familiarizado con NodeJS y node-red, aquí hay algunos enlaces:

  • https://nodejs.org/en/
  • http://docs.lattepanda.com/content/projects/NodeRED/
  • https://nodered.org/docs/getting-started/installation

Paso 5. Descarga Python3 e instálalo

Paso 6 . Aquí está el repositorio del proyecto:https://github.com/rondagdag/smart3DSensorForAlexa

Descargue y extraiga el archivo zip:

 > npm install> npm start  

Paso 7 . Asegúrate de estar en el mismo wifi y de haber habilitado Smart Home Skills en tu aplicación Alexa. Diga:'Alexa, descubre dispositivos'. Alexa encontraría la lámpara. Si desea ver los flujos de Node-Red y modificarlos:http:// localhost:8080 / red /

Ahora puede conectarlo a diferentes pines en los pines Arduino en LattePanda. O conéctelo con MQTT u otros módulos Node-Red.

Todo el flujo se ve así ...

3 pasos:

  • Manejar el servicio de Walabot :un programa de Python que lee datos del sensor walabot y transmite datos a un puerto tcp 1890
  • Obtener y guardar datos de objetos de Walabot :lee datos del servicio walabot a través del puerto 1890 y almacena la última ubicación conocida del objeto detectado
  • Manejar los comandos de Alexa :se ejecuta cuando se recibe un comando de Alexa y, en función de la última ubicación conocida, determina el pin de Arduino para cambiar conectado a un relé.
  • Gestionar el servicio de Walabot

Aquí está el código Python de Walabot. Lee los datos de Walabot y transmite una cadena JSON a través de TCP.

  from __future__ import print_functionfrom sys import platformfrom os import systemfrom imp import load_sourceWalabotAPI =load_source ('WalabotAPI', 'C:\\ Program Files \\ Walabot \\ WalabotSDK \\ python \\ WalabotAPI.py') import socket, sysif __name__ =='__main__':WalabotAPI.Init () # carga el WalabotSDK al contenedor de Python WalabotAPI.SetSettingsFolder () # establece la ruta a los archivos de base de datos esenciales WalabotAPI.ConnectAny () # establece comunicación con Walabot WalabotAPI. SetProfile (WalabotAPI.PROF_SENSOR) # establece el perfil de escaneo fuera de las posibilidades WalabotAPI.SetThreshold (35) WalabotAPI.SetArenaR (50,400,4) WalabotAPI.SetArenaPhi (-45,45,2) WalabotAPI.SetArenaTheta (-20,20,10) WalabotAPI.SetDynamicImageFilter (WalabotAPI.FILTER_TYPE_MTI) # especifica el filtro para usar WalabotAPI.Start () # inicia Walabot en preparación para el sistema de escaneo ('cls' if platform =='win32' else 'clear') # clear the terminal 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 () # inicia un escaneo y registra señales de objetivos =WalabotAPI.GetSensorTargets () # proporciona una lista de objetivos identificados encuentra ='{"objetivos":[' índice =0 para i, t en enumerar (objetivos):si i  
  • Obtener y guardar datos de objetos de Walabot

Esto recibirá datos del puerto 1890, analizará los datos json para establecer las variables globales en consecuencia.

Aquí está el código para convertir a una matriz json

  raw =msg.payload.toString ('UTF-8') j =JSON.parse (raw); var msg1 ={payload:raw}; var msg2 ={carga útil: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 ={carga útil:X}; var msg4 ={carga útil:Y}; var msg5 ={carga útil:Z}; } return [msg1, msg2, msg3, msg4, msg5];  
  • Manejar los comandos de Alexa

Para manejar los comandos de Alexa, usamos el nodo-rojo-contrib-alexa-local. Entonces detectaríamos en esta lógica cuál dirigir el comando basado en la última posición conocida de la persona.

Si este proyecto hizo que se interesara en aprender más sobre Amazon Echo, Walabot, LattePanda, Node-Red, Python, o simplemente está teniendo un día increíble, simplemente haga clic en el botón 'Respetar proyecto' y sígame. Si esto le ayudó a construir un proyecto, deje un mensaje y envíenos sus comentarios. Quiero saber cómo te ayudó este proyecto.

Tenga en cuenta que no se está utilizando una habilidad de Alexa personalizada real para este proyecto, utiliza la funcionalidad de hogar inteligente incorporada de Amazon Echo que controla las bombillas Phillips Hue. ¡El nodo node-red-contrib-alexa-local en Node-Red simplemente falsifica cualquier "Bulbo" personalizado que desee controlar con Alexa!

Código

Sensor 3D inteligente para Alexa
https://github.com/rondagdag/smart3DSensorForAlexa

Proceso de manufactura

  1. Visión por computadora como sensor de movimiento para SmartThings
  2. Sistema de sensor de movimiento por infrarrojos de bricolaje para Raspberry Pi
  3. IoT celular:cubo de basura inteligente
  4. Amazon Alexa Controlando un Chromecast
  5. Semáforo inteligente
  6. Construye robots Raspberry Pi:el mejor tutorial para principiantes
  7. Smart Pen:Proyecto final para ECE5725
  8. ¿Es esta la "aplicación asesina" para textiles inteligentes?
  9. Sensor ultrasensible y resistente para textiles inteligentes
  10. Sensor ultrafino para lentes de contacto inteligentes
  11. Película de sensores para la industria aeroespacial