Já imaginou adicionar comandos de voz aos seus equipamentos?
Ou ter eles respondendo por voz sobre sua condição atual?
Adicione esta funcionalidade ao seu monitoramento IoT!
E de forma muito simples, no-code e em poucos minutos!
Cenário Atual
A Amazon disponibiliza aos dispositivos Alexa a possibilidade de criarmos “habilidades personalizadas” (Custom Skills). Desta forma, desenvolvedores podem adicionar suporte a voz a uma grande variedade de dispositivos.
Porém, ainda é necessário um esforço de desenvolvimento, uso de código, existem opções em que é preciso a hospedagem em servidor próprio, entre outras barreiras encontradas.
A Solução WEG
Através de nosso workflow visual da Plataforma WEGnology® tudo isto se torna muito fácil, não necessitando aplicação de nenhuma linha de código nem mesmo de possuir um servidor próprio para hospedar a aplicação.
O passo a passo traz em poucos minutos esta funcionalidade, acompanhe:
1 – Criação do Webhook WEGnology® e seu Workflow
Uma “Alexa Skill” pode ser implementada com um servidor web. A Alexa enviará detalhes do que o usuário disse ao servidor e você pode determinar o que a Alexa responderá. Com a utilização dos webhooks, você pode receber estas mensagens da Alexa sem precisar configurar um servidor.
Crie uma nova aplicação na Plataforma WEGnology ®. Em seguida, crie um Webhook no menu principal “Webhooks”.
- Defina o nome.
- Marque a opção “Wait for reply from Workflow”.
- Deixe as outras configurações de verificação como padrão.
Depois de clicar em “Criar Webhook”, será mostrado seu URL. Em breve utilizaremos ele.
Após a criação do WebHook, já podemos criar o workflow associado a ele, basta abrir o menu “workflows” e clicar em “Create Workflow”.
Neste momento será criado o workflow que cujo “disparo” será gerado quando a Alexa fizer a requisição do URL anteriormente citado.
Por enquanto, podemos deixar o workflow desta forma. Pode clicar em “Save & Deploy”.
Note que ele já vem com os principais blocos: um “trigger” “webhook” que a Alexa irá “chamar”, depois através do Reply iremos “informar o que a Alexa vai falar”. Simples assim…
Aí agora fica por conta da sua criatividade e necessidade. Porque, entre a pergunta e a resposta é possível ler dados e “montar a resposta” com os valores monitorados.
Logo mais iremos incrementar este workflow, aguardem…
2 – Configurar Alexa
Garanta que seu dispositivo Echo Dot, ou semelhante já esteja conectado à sua conta Amazon e funcional. Em seguida, faça login no Portal de Desenvolvimento Alexa da Amazon.
Será usado o “Alexa Skills Kit” para adicionar uma nova habilidade.
Clique em “Get Started”
Portal de Desenvolvimento Alexa da Amazon
Em seguida, clique em “Create Skill”
Agora você seguirá os 4 passos para a criação da habilidade Alexa:
2.1 – Forneça um nome e pode direcionar à localidade Portuguese (BR)
2.2 – Defina a Experiência de Usuário, modelo e tipo de servido. Pode deixar como “Other”, “Custom” e “Alexa-Hosted” com região padrão, respectivamente.
2.3 – Escolha o Template, utilizamos um em vazio “Start From Scratch”
2.4 - No último passo será para revisar e confirmar as opções selecionadas.
Finalize pressionando “Create Skill”.
Será criada a habilidade:
Ao término da criação da Skill você será direcionado ao menu de edição.
Vamos percorrer nas principais configurações, não entraremos em muitos detalhes, recomendamos que conheçam melhor as ferramentas da Alexa Developer Console para aprofundar nas opções disponíveis e customizar mais a sua experiência.
Skill Invocation Name
Esta é uma das principais configurações, é a partir dela que a habilidade “será ativada por voz”.
Vamos criar uma chamada simples: “ler temperatura”
Configurar Endpoint
Lembram do link (URL) gerado na plataforma no passo 1?
Agora é o momento de copiar ele para o console da Alexa.
1 - Clique no Menu Endpoint
2 - Selecione “HTTPS”
3 - Copie e cole o link do Webhook
4 – Selecione a opção “My development endpoint is a sub-domain of a domain…”
Por fim, clique em “Save”.
Construir a habilidade (Build Skill)
Volte no menu, “Skill Invocation Name”e clique em “Build skill”. Aguarde a conclusão.
Testes iniciais…
Neste momento as duas aplicações já estarão com a comunicação configurada.
Deixe o workflow da plataforma com o debug aberto para acompanhar.
1 - No console Alexa, entre no menu “Test”,
2- selecione Skill testing is enabled in “Development
3 – Digite a frase configurada no passo 2.4 em “Skill Invocation Name”, que no nosso exemplo foi: “ler temperatura” e tecle ENTER.
4 – Note que, no debug aparece que nosso webhook recebeu uma requisição.
5 – Porém, no console Alexa, retornou uma mensagem de erro
6 – Isto se deve ao fato de que não configuramos ainda o “reply” para a formatação esperada na Alexa. Isto deve ser estudado na documentação da Amazon, não traremos detalhamento sobre o console de terceiros, apenas traremos um dos exemplos funcionais.
Agora podemos alterar a resposta desejada alterando o campo “Reply Body”do bloco “webhook Reply” para:
{
"version": "1.0",
"response": {
"outputSpeech": {
"type": "PlainText",
"text": "Seja Bem vindo!"
},
"shouldEndSession": true
}
}
Observe o objeto “shouldEndSession” está configurado para “true”, ou seja, após executar esta resposta, a Alexa deverá encerrar a sessão.
Futuramente, quando quisermos “continuar conversando” e solicitando outras variáveis, este objeto deve ser configurado como “false”.
Vamos fazer a Alexa falar um valor de uma variável nossa?
Combinando os conhecimentos na Plataforma WEGnology:
-
obter dados dispositivos (bloco “device Get”)
-
concatenar variáveis tipo string.
Vamos obter dados de um atributo chamado “temperatura” e iremos “montar” a string que substituirá a frase “Bem vindo!”
O Workflow ficará assim:
Um bloco ativado pela Alexa via Webhook, um bloco para ler o dispositivo, um bloco de resposta à Alexa
Explicando resumidamente o fluxo da informação:
1 – o usuário da Alexa faz a pergunta, no ambiente de testes pode ser por texto ou fala.
2 – Caso a fala seja a programada no console Alexa, dispara o worflow na WEGnology®.
3 – É feita uma consulta nos dispositivos para buscar atributos, medições atuais, via “compositState”.
4 – É concatenada, (e formatada), esta variável diretamente na String que está de acordo com o “body” esperado na API da Alexa.
Como resultado, temos a Alexa falando o valor da temperatura atual monitorada.
Este é um passo inicial, combinando os dois conhecimentos nas duas plataformas é possível criar menus interativos e consultas facilmente possibilitando um “Condition Monitoring” via voz