Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Alexa, ligue ESTA lâmpada:Sensor 3D inteligente para Amazon Echo

Componentes e suprimentos

Amazon Alexa Amazon Echo
× 1
Walabot Creator
× 1
Arduino Leonardo
× 1
Relé (genérico)
× 2
LattePanda 2G / 32GB (ativado)
× 1
Tela LattePanda de 7 polegadas 1024 x 600 IPS
× 1
Lâmpada
× 2

Sobre este projeto





Introdução


Se você já possuiu uma Alexa ou qualquer alto-falante inteligente e tem integração com a casa inteligente, você teve esse problema em que precisa se lembrar do nome do dispositivo para controlar. Tenho muitos dispositivos domésticos inteligentes e às vezes é difícil lembrar o nome de cada um.

Às vezes eu dizia:

3 coisas vão acontecer:
  • Acabou confundindo Alexa, ligando um dispositivo inteligente diferente.
  • Xingando Alexa (você sabe do que estou falando, admita)
  • Ou desistir, ficar frustrado e dizer a ela:'Esqueça Alexa, eu mesmo faço isso' ... caminhando a contragosto em direção ao switch.

Meus filhos costumam gostar deste comando:"Alexa, acenda TODAS as luzes". E, claro, toda a casa ficará iluminada como uma árvore de Natal. Não é divertido quando alguém faz isso no meio da noite!





Como fazer


E se eu puder apenas dizer:Alexa, acenda essa lâmpada?

Faça Alexa detectar onde estou próximo ao dispositivo. E sabe do que estou falando ... não seria uma ótima ideia?

Bem, uma solução possível é montar uma câmera na minha sala e monitorar os movimentos e tal. Mas isso seria MUITO ASSUSTADOR. Não quero câmeras dentro da minha casa para fazer reconhecimento de imagem.





É aí que entra o Walabot:





Walabot


O que é um Walabot?

Walabot é um sensor 3D programável perfeito para projetos eletrônicos DIY. Walabot é um novo tipo de sensor de imagem 3D. Ele usa frequência de rádio (RFID) e irá revelar todos os tipos de coisas ocultas no mundo ao seu redor. É portátil, programável e nosso SDK (kit de desenvolvimento de software) contém uma variedade de recursos de imagem e nossa API permitirá que você crie seus próprios aplicativos personalizados para ele.

Ele pode acompanhar os movimentos usando RFID.





LattePanda


LattePanda é um x86 / x64 SBC com processador quad-core Intel Atom x8300 “Cherrytrail” que pode executar Windows 10. Inclui 2 GB ou 4 GB de RAM com Bluetooth 4.0 integrado e 802.11 n WiFi, 1 x USB 3.0, 2 x USB 2.0, saída HDMI e um co-processador ATMega32u4 integrado - como você encontraria em um Arduino Leonardo - com GPIO acompanhante - tudo em uma placa do tamanho da palma da mão!

Esta configuração torna o LattePanda ideal para vários cenários. Neste tutorial, o foco será nas vantagens do microcontrolador integrado do LattePanda. Quando este microcontrolador é usado em conjunto com o processador Intel Atom, você pode conectar o walabot e o arduino.





Nó-Vermelho


Node-Red é uma ferramenta baseada em navegador que permite construir de forma rápida e fácil sua própria lógica de tratamento de vários dispositivos IoT, incluindo a assinatura de mensagens TCP, ouvir solicitações Alexa, ler e gravar em bancos de dados, publicar em corretores MQTT e responder a solicitações HTTP . Ele também permite que você defina funções específicas escritas em JavaScript para fornecer operações lógicas complexas, enquanto usa uma interface de usuário visual, fácil de usar, de arrastar e soltar para vincular diferentes componentes e lógicas.

Node-Red é um tempo de execução muito leve construído sobre Node.js, aproveitando ao máximo seu modelo de operação orientado por eventos e sem bloqueio.

Se pudermos ter o plug de dados Walabot no Node-Red, isso abrirá muitas coisas que podemos fazer, especialmente em automação residencial. Existem alguns pacotes que usei para conectar Alexa e Arduino:
  • node-red-contrib-alexa-local:um nó simples para adicionar o recurso Alexa ao seu fluxo NodeRED.
  • node-red-node-arduino:um nó Node-RED para falar com um Arduino

Aqui estão algumas documentações que você pode usar para configurar o firmata:https://nodered.org/docs/hardware/arduino.html





Como funciona





Hardware

  • LattePanda
  • Tela de 7 polegadas 1024 x 600 IPS para LattePanda
  • Teclado e mouse USB sem fio
  • Walabot
  • Hub alimentado por USB
  • Relés
  • lâmpada





Instalação


Etapa 1. Walabot SDK

Baixe o SDK e instale-o:https://walabot.com/getting-started

Etapa 2. Configure o Arduino no Walabot

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

1. Habilite o modo de desenvolvedor em seu sistema operacional





Etapa 3. Configurar o Arduino

1. Abra o Arduino. E selecione o “StandardFirmata”

2. Selecione “Arduino Leonardo”

3. Selecione sua porta COM

4. Faça upload do esboço

5. Upload concluído!

Conecte os relés ao LattePanda.

Etapa 4 . Instale e baixe NodeJS e Node-Red

Se você não estiver familiarizado com NodeJS e node-red, aqui estão alguns links:
  • https://nodejs.org/en/
  • http://docs.lattepanda.com/content/projects/NodeRED/
  • https://nodered.org/docs/getting-started/installation

Etapa 5. Baixe Python3 e instale

Etapa 6 . Este é o repositório do projeto:https://github.com/rondagdag/smart3DSensorForAlexa

Baixe e extraia o arquivo zip:
 > npm install> npm start  

Etapa 7 . Certifique-se de que você está no mesmo wi-fi e habilitou o Smart Home Skills em seu aplicativo Alexa. Diga:'Alexa, descubra dispositivos'. Alexa encontraria a lâmpada. Se você deseja ver os fluxos do Node-Red e modificá-los:http:// localhost:8080 / red /

Agora você pode conectá-lo a um pino diferente nos pinos do Arduino no LattePanda. Ou conecte-o com MQTT ou outros módulos Node-Red.

Todo o fluxo é assim ...

3 etapas:
  • Gerenciar serviço Walabot :um programa python que lê dados do sensor walabot e transmite dados para uma porta tcp 1890
  • Obtenha e salve dados de objetos Walabot :lê dados do serviço walabot através da porta 1890 e armazena a última localização de objeto detectada conhecida
  • Lidar com comandos Alexa :é executado quando um comando é recebido do Alexa e, com base no último local conhecido, determina o pino do Arduino para alternar conectado a um relé.
  • Gerenciar serviço Walabot



Aqui está o código Walabot Python. Ele lê os dados do Walabot e transmite uma string JSON via 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') importar socket, sysif __name__ =='__main__':WalabotAPI.Init () # carrega o WalabotSDK para o wrapper Python WalabotAPI.SetSettingsFolder () # define o caminho para os arquivos de banco de dados essenciais WalabotAPI.ConnectAny () # estabelece comunicação com o Walabot WalabotAPI. SetProfile (WalabotAPI.PROF_SENSOR) # definir perfil de digitalização fora das possibilidades 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 o filtro para usar WalabotAPI.Start () # inicia o Walabot em preparação para o sistema de digitalização ('cls' if platform =='win32' else 'clear') # limpa o terminal numOfTargetsToDisplay =1 se 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 () enquanto True:WalabotAPI .Trigger () # inicia uma varredura e registra os sinais alvos =WalabotAPI.GetSensorTargets () # fornece uma lista de alvos identificados achados ='{"alvos":[' índice =0 para i, t em enumerar (alvos):se i  
  • Obtenha e salve dados de objetos Walabot

Isso receberá dados da porta 1890, analise os dados json para definir as variáveis ​​globais de acordo.

Este é o código a ser convertido em array json
  raw =msg.payload.toString ('UTF-8') j =JSON.parse (raw); var msg1 ={carga útil:bruta}; 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}; } retorno [msg1, msg2, msg3, msg4, msg5];  
  • Lidar com comandos Alexa

Para lidar com os comandos Alexa, estamos usando o node-red-contrib-alexa-local. Então detectaríamos nesta lógica qual rotear o comando com base na última posição conhecida da pessoa.

Se este projeto despertou seu interesse em aprender mais sobre Amazon Echo, Walabot, LattePanda, Node-Red, Python, ou se você está apenas tendo um dia incrível, basta clicar no botão 'Respeitar projeto' e seguir-me. se isso ajudou você a construir um projeto, deixe uma mensagem e nos dê um feedback. Eu quero ouvir como este projeto ajudou você.

Observe que não há nenhuma habilidade Alexa customizada sendo usada para este projeto, ela usa a funcionalidade de casa inteligente Amazon Echo que controla as lâmpadas Phillips Hue. O nó node-red-contrib-alexa-local no Node-Red apenas falsifica qualquer "Bulbs" personalizado que você deseja controlar com o Alexa!


Código

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

Processo de manufatura

  1. Visão computacional como sensor de movimento para SmartThings
  2. Sistema de sensor de movimento infravermelho faça você mesmo para Raspberry Pi
  3. IoT celular:Lixeira inteligente
  4. Amazon Alexa Controlando um Chromecast
  5. Semáforo inteligente
  6. Construir robôs Raspberry Pi:Melhor tutorial para iniciantes
  7. Smart Pen:Projeto Final para ECE5725
  8. Este é o ‘aplicativo matador’ para têxteis inteligentes?
  9. Sensor ultra-sensível e resiliente para têxteis inteligentes
  10. Sensor ultrafino para lentes de contato inteligentes