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

Habilite o controle Alexa para o seu ventilador de teto

Componentes e suprimentos

Raspberry Pi 3 Modelo B
× 1
Arduino UNO
× 1
Relé (genérico)
um relé de 5 V para que você possa interagir diretamente com o arduino ou uma placa de interface de relé seria o suficiente
× 1
Regulador de ventilador
você pode usar qualquer tipo, desde que encontre um terminal para fornecer energia ao mesmo. Eu sugeriria reguladores de tipo mais antigo que usavam blocos resistivos para reduzir a tensão fornecida
× 1

Ferramentas e máquinas necessárias

Ferro de soldar (genérico)

Aplicativos e serviços online

Arduino IDE
Amazon Alexa Skills Kit
Ngrok

Sobre este projeto


Eu estarei detalhando aqui como tornei meu ventilador de teto regular inteligente integrando o Amazon Alexa para controle de velocidade do mesmo. Estaremos usando o conjunto de habilidades amazon alexa para iniciar a mudança de velocidade e será ngrok serviço de tunelamento para rotear a solicitação para nosso servidor RPi hospedado localmente, que dirá ao nosso Arduino uno para ligar o relé relacionado.





Configurando nosso servidor Raspberry Pi local


precisamos dos seguintes serviços para fazer uso de nosso servidor.
  • Python Python:para instalar pacotes python, se você estiver usando python 2.7 ou 3 pip será instalado por padrão, portanto, você pode evitar esta etapa
  sudo apt-get install python-pip  
  • Flask:Flask é um pacote servidor para python que o ajudará a implementar servidores python facilmente.
  pip install flask  
  • flask ask:uma extensão de flask usada para criar programas alexa frendly facilmente.
  pip install flask-ask  
  • pyserial:módulo de comunicação serial para python
  sudo apt-get install pyserial  
  • libpython2.7-dev
  sudo apt-get intall libpython2.7-dev  

todos os módulos necessários são instalados na hora de definir o servidor em execução. precisamos inserir o script python para o mesmo
  from flask import Flaskfrom flask_ask import Ask, statementimport requestsimport jsonimport serial ser =serial.Serial ("/ dev / ttyAMA0", 9600) app =Flask (__ name __) ask =Ask (app, '/') @ [email protected] ("FanOn") def on ():ser.write (b'1 ') declaração de retorno ("Ventilador de teto ligado.") @ ask.intent ("FanOff") def off () :ser.write (b'0 ') return statement ("Ventilador de teto desligado.") @ ask.intent ("FanLevelUp") def up ():ser.write (b' + ') return statement ("Ventilador de teto acelerar. ") @ ask.intent (" FanLevelDown ") def down ():ser.write (b'- ') return statement (" Ceiling Fan speed down. ") if __name__ ==" __main__ ":app.run (debug =True)  

Execute este script python e inscreva-o na lista de inicialização automática do seu RPi.

3. Baixar Ngrok

Ngrok é uma plataforma de tunelamento segura para tornar seu dispositivo online. Com esta plataforma você pode fazer sua aplicação web ou qualquer aplicação ficar online de uma forma muito simples. Para fazer o download, acesse o site oficial e faça o download para ARM.

https://ngrok.com/

Descompacte-o e vá para o diretório de onde você o extraiu. Execute-o usando o comando
  ./ngrok http 5000  





Habilidade Alexa


Vá para a página do desenvolvedor amazon e inscreva-se para sua conta de desenvolvedor

https://developer.amazon.com/

Entre no console do desenvolvedor depois de entrar e agora selecione "Alexa skill kit"

agora selecione "Adicionar nova habilidade"

Insira o nome da sua habilidade e insira um nome de invocação. certifique-se de que seu nome de invocação atenda às condições necessárias

salve e prossiga para a próxima etapa

aqui, insira as intenções de invocação da habilidade e exemplos de uso, ou seja, as combinações de palavras para iniciar cada intenção.

as intenções são as seguintes
  {"intents":[{"intent":"FanOn"}, {"intent":"FanOff"}, {"intent":"FanLevelUp"}, {"intent":"FanLevelDown" }]}  

exemplos de expressões
  FanOn dizer fan onFanOn dizer onFanOff dizer offFanOff dizer fan offFanLevelUp dizer fan level upFanLevelUp dizer aumentar fan speedFanLevelDown dizer fan level downFanLevelDown dizer diminuir fan speed  



Salve e prossiga para a próxima etapa. aqui você terá que inserir o local para o qual deve enviar os dados assim que um intuito for invocado.

já que estamos usando ngrok , selecione HTTPS, e digite o link seguro gerado no ngrok serve, salve-o e prossiga para a próxima etapa

escolha a segunda opção para o Certificado SSL e prossiga

Para verificar se nossa configuração está funcionando ou não. Certifique-se de que seu servidor ngrok esteja funcionando e que o script Python também esteja em execução, caso contrário, ele não funcionará.

podemos ver que os servidores estão recebendo solicitações e atualizando-as.

Código Arduino

carregue o esboço anexado ao seu arduino e conecte-o ao raspberry pi conforme explicado no esquema.
  int Ventilador [] ={13,12,11,10,9,8}; int n =0; void reset (); void set (char); void setup () {// coloque seu código de configuração aqui, para executar uma vez:for (int i =0; i <6; i ++) {pinMode (Fan [i], SAÍDA); } Serial.begin (9600); } void loop () {char x; if (Serial.available ()) {x =Serial.read (); Redefinir(); set (x);}} void reset () {for (int i =0; i <6; i ++) {digitalWrite (Fan [i], LOW); }} void set (char x) {switch (x) {case '1':n =1; pausa; caso '+':n ++; pausa; case '-':n--; pausa; caso '0':n =0; pausa; } digitalWrite (Fan [n], HIGH);}  





Hardware


conecte o hardware conforme mostrado no esquema





Feliz fabricação. tornar qualquer outro aparelho ativado por voz de maneira semelhante :)

Código

  • esboço do arduino
  • Código do servidor Python
esboço do arduino Arduino
carregue este código para o seu arduino e conecte-o ao seu servidor raspberry pi
 int Fan [] ={13,12,11,10,9,8}; int n =0; void reset (); void set (char); void setup () {// coloque seu código de configuração aqui, para executar uma vez:for (int i =0; i <6; i ++) {pinMode (Fan [i], SAÍDA); } Serial.begin (9600); } void loop () {char x; if (Serial.available ()) {x =Serial.read (); Redefinir(); set (x);}} void reset () {for (int i =0; i <6; i ++) {digitalWrite (Fan [i], LOW); }} void set (char x) {switch (x) {case '1':n =1; pausa; caso '+':n ++; pausa; case '-':n--; pausa; caso '0':n =0; pausa; } digitalWrite (Fan [n], HIGH);} 
Código do servidor Python Python
un este código em seu spython após o ngrok ser configurado para receber dados
 do flask import Flaskfrom flask_ask import Ask, statementimport requestsimport jsonimport serial ser =serial.Serial ("/ dev / ttyAMA0", 9600) app =Flask (__ name__ ) ask =Ask (app, '/')@[email protected]("FanOn")def on ():ser.write (b'1') return statement ("Ventilador de teto ligado.") @ ask.intent ("FanOff") def off ():ser.write (b'0 ') return statement ("Ventilador de teto desligado.") @ ask.intent ("FanLevelUp") def up ():ser.write (b '+') return statement ("Ceiling Fan speed up.") @ ask.intent ("FanLevelDown") def down ():ser.write (b'- ') return statement ("Ceiling Fan speed down." ) if __name__ =="__main__":app.run (debug =True) 

Esquemas

é assim que você conecta os dispositivos juntos

Processo de manufatura

  1. Construindo uma rede de sensores sem fio em sua casa
  2. Aceitar moeda de controle com Arduino
  3. Arduino Control Center
  4. LEDs controlados por Alexa através do Raspberry Pi
  5. Arduino com Bluetooth para controlar um LED!
  6. Controle do umidificador Arduino
  7. Arduino Nano:Controle 2 motores de passo com joystick
  8. Controle o seu LED com a Cortana
  9. Controle total de sua TV usando Alexa e Arduino IoT Cloud
  10. Controle de ventilador PWM de 4 pinos de 25 kHz com Arduino Uno