Índice:
- Etapa 1: Vinculando o Heroku ao GitHub
- Etapa 2: Amazon
- Etapa 3: Arduino
- Etapa 4: descrição do componente
- Etapa 5: conexões
- Etapa 6: verificando todas as coisas
- Etapa 7: Diagrama de VUI (interface de voz do usuário)
- Etapa 8: demonstração
- Etapa 9: Esquemático
Vídeo: Switch controlado por voz usando Alexa e Arduino: 10 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
O objetivo principal deste projeto é utilizar sensor de temperatura para controle de chave (relé) para ligar ou desligar o dispositivo.
Lista de materiais
- Módulo de Relé 12V ==> $ 4,2
- Arduino uno ==> $ 8
- Sensor de temperatura DHT11 ==> $ 3
- Módulo ESP8266 ==> $ 4,74
- Optoacoplador N26 ==> $ 0,60
- Regulador de tensão LM1117 ==> $ 0,60
- Breadboard ==> $ 2,2
- Fios de ligação ==> $ 2,5
- Botão de pressão ==> $ 2,5
O custo total do projeto é de cerca de US $ 30 dólares. Este projeto está dividido em três partes. Primeiro, usamos o heroku para criar um aplicativo. Em segundo lugar, construímos uma habilidade do Amazon Alexa para implementar nosso trabalho (a parte mais importante). Terceiro, configuramos nosso hardware e o programamos usando o IDE Arduino.
Etapa 1: Vinculando o Heroku ao GitHub
Heroku é uma plataforma de nuvem como serviço (PaaS) que suporta várias linguagens de programação que é usada como um modelo de implementação de aplicativo da web. Primeiro, vá para o site do heroku, crie uma nova conta ou faça o login lá. O link é fornecido abaixo
Site Heroku
Vamos começar com a criação de um novo aplicativo. Dei o nome do meu aplicativo "iottempswitch" quando você implanta o aplicativo, o link é gerado.
Depois de fazer o aplicativo, vá para GitHub. GitHub /
Faça login lá ou cadastre-se se você não tiver uma conta. Uma vez logado, crie um novo repositório. Dê qualquer nome que você deseja escolher e pressione criar repositório. Na próxima página clique em README, nesta página dê a descrição que você deseja compartilhar com outras pessoas. Depois disso, clique em "commitar novo arquivo". Em seguida, clique no botão de upload.
Existem duas opções: você arrasta e solta a pasta ou escolhe o arquivo. Baixe os arquivos necessários abaixo. Depois de selecionar os arquivos, pressione confirmar as alterações. Abra o aplicativo que você criou no Heroku e vá para a seção de implantação. Depois disso, clique em GitHub. Give o nome do repositório que você criou no lado do GitHub. No meu caso, é o Smart-Relay. Copie e cole aqui. Assim que seu link for mostrado, clique em conectar. Em seguida, clique em implantar branch (manual). Após a implantação, você pode ver o link no log de construção ou pode ver o link nas configurações. Precisamos desse link mais tarde, quando estivermos desenvolvendo as habilidades da Amazon.
Etapa 2: Amazon
Últimas imagens da habilidade Alexa
No site do Amazon Developer, usamos a habilidade da Amazon para controlar o gatilho do interruptor, definindo a temperatura e a umidade.
Vá para o site do desenvolvedor da Amazon. O link é fornecido abaixo.
Site do desenvolvedor Amazon
- Vá para o console do desenvolvedor no canto superior direito, conforme mostrado na figura i4
- Vá para Alexa, selecione Alexa Skill Kit e crie uma nova habilidade clicando em Adicionar nova habilidade.
Ao adicionar uma nova habilidade, você verá a página de informações da habilidade.
1. Informações de habilidade (como mostrado na imagem i7)
temos que fornecer o tipo de habilidade, idioma, nome, nome de invocação.
Tipo de habilidade ==> selecione personalizado
- Nome ==> selecione qualquer nome.
- Nome de invocação ==> que você usa enquanto se comunica com Alexa. Por exemplo; - Alexa, peça ao sensor para ligar o gatilho ou Alexa, peça luz acesa aqui, os nomes de invocação são sensor e luz.
- Idioma ==> Inglês (Índia). Selecione de acordo com seu país
clique em Salvar e depois em Avançar
2. Modelo de interação
Aqui, usaremos o construtor de habilidades. Então, clique em Launch Skill Builder. você verá a página conforme mostrado na imagem i8.
Primeiro, criamos novas intenções. Clique em Adicionar (no lado esquerdo) e dê o nome que quiser, usei "smartswitch"
- Dê o nome do tipo de slot "medição_type" e os valores de slot "temperatura" e "umidade", conforme mostrado na imagem i9.
- Depois disso, adicione o nome do tipo de slot "consulta" e os valores de slot são "o que" e "é", conforme mostrado na imagem i10.
- Depois disso, adicione o tipo de slot "switchstate" e os valores de slot são "on" e "off", conforme mostrado na imagem i11.
- Adicione outro tipo de slot "tempscale" e os valores de slot são "fahrenheit" e "celcuis", conforme mostrado na imagem i12.
- Depois de adicionar um novo tipo de slot aqui, usamos o tipo de slot existente, para isso temos que clicar em usar slot existente. No slot existente, pesquise amazon.number e selecione-o e adicione-o. Depois de adicioná-lo, você o verá em tipos de slot, conforme mostrado na imagem i13.
Então, terminamos com os tipos de slot, o tipo total de slot que estamos usando é 5. Agora, vá para a próxima etapa. Clique na intenção que criamos, no meu caso é inteligente. No lado direito, você verá o slot de intenção, conforme mostrado na imagem i14.
- Crie um novo slot, dê a ele o nome "Switch_State" e mapeie-o para "switchstate" usando o botão suspenso conforme mostrado na imagem i15.
- Crie um novo slot, dê a ele o nome "Sensor_Values" e mapeie-o para "measure_type" como mostrado na imagem i16.
- Crie um novo slot, dê a ele o nome de "consulta" e mapeie-o para "consulta", conforme mostrado na imagem i17.
- Depois disso, crie um novo slot "tmp_scale" e mapeie-o para "tempscale", conforme mostrado na imagem i18.
- Crie um novo slot "Numbers" e mapeie-o para "Amazon. Numbers" conforme mostrado na imagem i19.
Agora terminamos com os slots de Intent. Estamos usando 5 slots de intenção. Depois disso, passamos para os exemplos de enunciados, conforme mostrado na imagem i20.
Adicione esta amostra de enunciados.
defina o gatilho do interruptor para {Numbers} por cento {tmp_scale}
{query} é o estado do switch
{Switch_State} interruptor gatilho
defina o gatilho do interruptor para {Numbers} graus {tmp_scale}
vire o interruptor {Switch_State}
{query} mudar {Switch_State}
{query} é o {Sensor_Values} atual
Depois disso, salve o modelo e construa-o. Aguarde a construção do modelo e clique em configuração. Após a construção, você verá a mensagem mostrada nas imagens i21 e i22.
3. Configuração
Selecione HTTPS e adicione o link que foi gerado durante a criação do aplicativo heroku. No meu caso, é https://iottempswitch.herokuapp.com/. Após adicionar o link, clique em Avançar, conforme mostrado na imagem i23.
4. Certificado SSL Selecione a segunda opção e clique em Avançar, conforme mostrado na imagem i24.
nós criamos nossa habilidade com sucesso.
Etapa 3: Arduino
Abra o Arduino IDE. Em seguida, vá para Arquivo ==> Preferências
No Gerenciador de placas adicionais, copie e cole o URL e clique em ok conforme mostrado na imagem i26.
arduino.esp8266.com/versions/2.4.0/package_…
- Abra o Board Manager indo para Tools ==> Board ==> Board Manager.
- Abra o Gerenciador de placas e pesquise por nodemcu, conforme mostrado na imagem i27.
- Depois disso, baixe a biblioteca ESP8266WiFi. Abra o gerenciador da biblioteca: Sketch ==> Incluir biblioteca ==> Gerenciar Bibliotecas.
- Pesquise a biblioteca ESP8266WiFi e instale-a.
- Selecione placa ==> Módulo ESP8266 Genérico.
- Antes de enviar o código, precisamos de três bibliotecas.
Bibliotecas necessárias
Mova essas bibliotecas para a pasta de bibliotecas do Arduino
Você tem que alterar três coisas no código SSID, PWD e no link do seu aplicativo heroku. Depois disso, faça upload do código. Para o Módulo ESP, você deve pressionar o botão do flash enquanto carrega o código e, em seguida, pressionar o botão de reinicialização uma vez e, em seguida, soltar o botão do flash. Após fazer o upload do código, abra o terminal. você verá a saída.
Etapa 4: descrição do componente
1. O que é um relé
O relé é um dispositivo eletromagnético utilizado para isolar eletricamente dois circuitos e conectá-los magneticamente. Eles são dispositivos muito úteis e permitem que um circuito troque outro enquanto eles estão completamente separados. Eles são freqüentemente usados para fazer a interface de um circuito eletrônico (trabalhando em baixa tensão) com um circuito elétrico que funciona em uma tensão muito alta. Por exemplo, um relé pode fazer um circuito de bateria de 5 Vcc para alternar um circuito principal de 230 Vca.
Como funciona
Uma chave de relé pode ser dividida em duas partes: entrada e saída. A seção de entrada possui uma bobina que gera um campo magnético quando uma pequena tensão de um circuito eletrônico é aplicada a ela. Essa tensão é chamada de tensão operacional. Os relés comumente usados estão disponíveis em diferentes configurações de tensões de operação, como 6 V, 9 V, 12 V, 24 V, etc. A seção de saída consiste em contatores que se conectam ou desconectam mecanicamente. Em um relé básico, existem três contatores: normalmente aberto (NO), normalmente fechado (NC) e comum (COM). Em nenhum estado de entrada, o COM está conectado ao NC. Quando a tensão de operação é aplicada, a bobina do relé é energizada e o contato COM muda para NÃO. Diferentes configurações de relé estão disponíveis, como SPST, SPDT, DPDT etc, que têm diferentes números de contatos de transição. Usando a combinação adequada de contatores, o circuito elétrico pode ser ligado e desligado. Obtenha detalhes internos sobre a estrutura de uma chave de relé.
O terminal COM é o terminal comum. Se os terminais COIL forem energizados com a tensão nominal, os terminais COM e NO têm continuidade. Se os terminais COIL não estiverem energizados, os terminais COM e NO não têm continuidade.
O terminal NC é o terminal Normalmente Fechado. É o terminal que pode ser ligado mesmo que o relé não receba nenhuma tensão ou tensão suficiente para operar.
O terminal NO é o terminal Normalmente aberto. É o terminal onde você coloca a saída que deseja quando o relé recebe sua tensão nominal. Se não houver tensão nos terminais da COIL ou tensão insuficiente, a saída será aberta e não receberá tensão. Quando os terminais COIL recebem a tensão nominal ou um pouco abaixo, o terminal NO recebe tensão suficiente e pode ligar o dispositivo na saída.
2. Sensor de temperatura DHT
O DHT11 é um sensor de umidade e temperatura, que gera saída digital calibrada. O DHT11 pode fazer interface com qualquer microcontrolador como Arduino, Raspberry Pi, etc. e obter resultados instantâneos. O DHT11 é um sensor de umidade e temperatura de baixo custo que oferece alta confiabilidade e estabilidade de longo prazo.
3. ESP8266 Descrição Completa
O Módulo WiFi ESP8266 é um SOC independente com pilha de protocolo TCP / IP integrada que pode dar a qualquer microcontrolador acesso à sua rede WiFi. O ESP8266 é capaz de hospedar funções de rede de um aplicativo de outro aplicativo. Cada módulo ESP8266 vem pré-programado com um comando AT.
O ESP8266 suporta APSD para aplicações VoIP e interfaces de coexistência Bluetooth, contém um RF autocalibrado permitindo que funcione em todas as condições operacionais e não requer peças externas de RF.
Recursos
- 802.11 b / g / n
- Wi-Fi Direct (P2P),
- Pilha de protocolos TCP / IP integrada soft-AP
- Interruptor TR integrado, balun, LNA, amplificador de potência e rede correspondente
- PLLs integrados, reguladores, DCXO e unidades de gerenciamento de energia
- + 19,5dBm de potência de saída no modo 802.11b
- Desligue a corrente de fuga de <10uA
- 1 MB de memória flash
- CPU integrada de 32 bits de baixa potência pode ser usada como processador de aplicativo
- SDIO 1.1 / 2.0, SPI, UART
- STBC, 1 × 1 MIMO, 2 × 1 MIMOA-MPDU e agregação A-MSDU e intervalo de guarda de 0,4 ms
- Acorde e transmita pacotes em <2ms
- Consumo de energia em espera de <1,0mW (DTIM3)
Descrição do pino conforme mostrado na imagem i34.
Para conectar o Módulo ESP com o Arduino UNO, precisamos do regulador de tensão Lm1117 3.3 ou qualquer regulador porque o Arduino não é capaz de fornecer 3,3 V ao ESP8266.
Nota: - Ao carregar o código, pressione o botão flash e, a seguir, pressione o botão reset uma vez e, a seguir, solte o botão flash como mostrado na imagem i29.
Para conectar o sensor DHT11 e o relé, usamos dois pinos GPIO do Módulo ESP8266. Depois de enviar o código, você pode desconectar os pinos RX, TX, GPIO0. Usei GPIO0 para sensor DHT11 e GPIO2 para relés. O sensor DHT11 funciona bem com ESP8266, mas para relés, precisamos de uma coisa extra, ou seja, opto-isolador ou opto-acoplador. Veja as imagens i30, i31, i32 e i33.
Etapa 5: conexões
ESP8266 ===> DHT11GPIO0 ===> Pino de saída
ESP8266 ===> RelayGPIO2 ===> Entrada
ARDUINO ===> ESP8266
Gnd ===> GndTX ===> TX
RX ===> RX
Botão Reset ===> RST
Botão Flash ===> GPIO0
Etapa 6: verificando todas as coisas
Nós criamos com sucesso nosso aplicativo, habilidade e nosso hardware está pronto. Então, é hora de verificar.
Para isso, seu ESP8266 está ligado porque nosso servidor está rodando em ESP8266. Aqui não conectei nenhum sensor ao ESP8266, estou apenas verificando se está funcionando ou não, mas dá para conectar sensor, relé ao ESP8266. Assim que estiver conectado ao Heroku, você o verá conectado. Para testar, vá para a habilidade da Amazon que você criou e clique na página de teste. Assim que for verificado que está funcionando, conectarei meu sensor ao ESP8266. Você pode ver os resultados conforme mostrado nas imagens i35, i36, 37, 38, 39, 40.
Se você usá-lo sem conectar o ESP8266, obterá este erro, conforme mostrado na imagem i41.
Expressão que você pode usar
defina o gatilho do interruptor para {Numbers} por cento {tmp_scale}
ex: - definir o gatilho do interruptor para 50 por cento de umidade
{query} é o estado do switch
ex- ligado / desligado é o estado do interruptor
{Switch_State} interruptor gatilho
gatilho do interruptor ex -on / off
defina o gatilho do interruptor para {Numbers} graus {tmp_scale}
ex - definir o gatilho do interruptor para 76 graus Fahrenheit
ex - definir o gatilho do interruptor para 24 graus Celsius
vire o interruptor {Switch_State}
ex - liga / desliga o interruptor
Veja as imagens i41 a i46 para ver os resultados.
Enquanto fala com AlexaAlexa, peça ao arduino para ligar / desligar o gatilho
Alexa, peça ao Arduino para definir o gatilho do interruptor para 24 graus Celsius.
Alexa, peça ao Arduino para definir o gatilho do interruptor para 50 por cento de umidade
Alexa, peça ao Arduino para ligar / desligar o interruptor
Etapa 7: Diagrama de VUI (interface de voz do usuário)
Etapa 8: demonstração
1. Defina o gatilho para temperatura e umidade.
2. Defina o gatilho para 20 graus Celsius.
3. Ajuste o gatilho para 80 por cento de umidade.
Etapa 9: Esquemático
Recomendado:
Lançador de foguete controlado por voz baseado em Alexa: 9 etapas (com imagens)
Lançador de foguete controlado por voz baseado em Alexa: Conforme a temporada de inverno se aproxima; chega aquela época do ano em que o festival das luzes é celebrado. Sim, estamos falando de Diwali, que é um verdadeiro festival indiano celebrado em todo o mundo. Este ano, Diwali já acabou, e vendo pessoas
Comutador de relé IOT controlado por voz baseado em Arduino (com suporte para Google Home e Alexa): 11 etapas
Comutador de relé IOT controlado por voz baseado em Arduino (com suporte para Google Home e Alexa): Este projeto descreve como fazer um comutador de relé IOT controlado por voz baseado em Arduino. Este é um relé que você pode ligar e desligar remotamente usando um aplicativo para iOS e Android, bem como vinculá-lo ao IFTTT e controlá-lo com sua voz usando Goog
Robô Arduino com distância, direção e grau de rotação (leste, oeste, norte, sul) controlado por voz usando o módulo Bluetooth e movimento autônomo do robô: 6 etapas
Robô Arduino com distância, direção e grau de rotação (leste, oeste, norte, sul) controlado por voz usando o módulo Bluetooth e movimento autônomo do robô .: Este Instructable explica como fazer o robô Arduino que pode ser movido na direção necessária (para frente, para trás , Esquerda, Direita, Leste, Oeste, Norte, Sul) Distância necessária em centímetros usando o comando de voz. O robô também pode ser movido de forma autônoma
Robô controlado por voz usando o microcontrolador 8051: 4 etapas (com imagens)
Robô controlado por voz usando o microcontrolador 8051: Um robô controlado por voz assume o comando especificado na forma de voz. Qualquer que seja o comando dado através do módulo de voz ou módulo Bluetooth, ele é decodificado pelo controlador existente e, portanto, o comando dado é executado. Aqui neste projeto, eu
Dispositivos de mídia ativados por voz usando Alexa: 9 etapas (com imagens)
Dispositivos de mídia ativados por voz usando Alexa: A unidade desenvolvida aqui faz com que seus dispositivos como TV, amplificador, CD e DVD players controlem com comandos de voz usando Alexa e Arduino. A vantagem desta unidade é que você só precisa dar comandos de voz. Esta unidade pode funcionar com todos os aparelhos que