INTERFACEANDO COM ASSISTENTE DE VOZ ALEXA
O AWS IoT Core é uma plataforma que permite que você conecte dispositivos a serviços da AWS e outros dispositivos, proteja dados e interações, processe e haja de acordo com os dados do dispositivo e permita que os aplicativos interajam com dispositivos mesmo quando estiverem off-line.
Os dados são armazenados em um local que recebe o nome de Thing Shadow, use tópicos para habilitar aplicativos e coisas para obter, atualizar ou excluir as informações do estado para uma Coisa.
Utiliza MQTT.
O Amazon Alexa é um serviço de voz na nuvem da Amazon que permite que os desenvolvedores controlem por voz os serviços da Amazon conectados. Um aplicativo exemplo é o Amazon Echo, que é um assistente de controle de voz. Quando os usuários falam com o Amazon Echo, ele analisa a voz recebida e faz uma resposta apropriada. Neste exemplo, apresenta-se como conectar os serviços da Amazon (incluindo o Amazon Alexa, o AWS Lambda, o AWS IoT Core, o AWS IAM) e utilizar o Amazon Alexa para controlar a Lâmpada no U-BLOX NINA W106.
O Amazon Alexa Skills Kit (ASK) é um serviço de voz. Ele pode ser conectado a serviços da nuvem e o usuário pode controlar por voz os serviços conectados e receber resposta de voz. O recurso de análise de voz fornecido pelo Amazon Alexa está pronto para uso, faz com que os desenvolvedores possam se concentrar no design do serviço em nuvem e no modelo de interação do usuário.
O Amazon AWS Lambda é um serviço de computação. As linguagens de programação suportadas inclui o Node.js, o Python e o java. O Lambda permite que os usuários configurem os recursos requeridos pelo cálculo (como memória, tempo de computação).
Os três elementos basicamente trabalham em conjunto:
(1) Quando um usuário diz "Lâmpada ligue" para o dispositivo de teste (que suporta Amazon Alexa), Amazon Alexa analisa o comando de voz de acordo com o esquema e o arquivo das declarações de amostra (fornecido pelo usuário antes) e gera intenção JSON.
(2) Amazon Alexa envia a intenção JSON para o AWS Lambda. De acordo com a intenção, o serviço Lambda envia uma mensagem de atualização para o serviço AWS IoT Core Shadow.
(3) O serviço AWS IoT Core Shadow atualiza o estado de sombra de acordo com a mensagem de atualização do serviço Lambda.
(3.1) Se o U-BLOX NINA W106 estiver on-line e tiver assinado o serviço de sombra, o U-BLOX NINA W106 ativa o LED.
(3.2) Em seguida, o Lambda gera a mensagem de resposta de texto e voz e envia para o Amazon Alexa.
(4) Finalmente, o usuário pode ouvir a mensagem de voz para indicar que o LED foi acionado com sucesso.
(5) Quando um usuário diz "Temperatura sala" para o dispositivo de teste (que suporta Amazon Alexa), Amazon Alexa analisa o comando de voz de acordo com o esquema e o arquivo das declarações de amostra (fornecido pelo usuário antes) e gera intenção JSON também e o procedimento é o mesmo para os itens anteriores.
MONTANDO AS REGRAS NO ASSISTENTE DE VOZ ALEXA (Resumo)
Primeiramente cria-se uma skill na Amazon Alexa. Para isso, primeiro cadastra-se o nome de invocação. Esse nome de invocação é o nome que o Amazon Alexa irá identificar que se trata da skill criada. Em seguida, são criadas as ações ou intents, que o Amazon Alexa irá solicitar ao Amazon Lambda que seja executado cada comando.
Os comandos são criados na tela de intents. Para ativar a execução de um intent, podem ser criados diversos comandos. Ou seja, quando se quer que através de diversas maneiras de falar apenas uma específica ação seja executada, cria-se uma lista de comando para apenas um intent. Pode-se observar que o comando contém uma palavra entre chaves. Esta palavra chama-se slot. Um slot é uma espécie de variável, onde os seus valores podem ser previamente definidos.
Cada intent é uma ação. Cada ação pode ter um ou mais comandos. Cada comando pode ou não ter um slot. No comando de acender ou apagar o quarto verde vê-se que tem apenas um comando com um slot. Já na ação (intent) de acender ou apagar todas as luzes vê-se três comandos, ou três formas de chamar esta ação.
SERVIDOR LAMBDA
O AWS Lambda da Amazon é uma plataforma que permite que o usuário, ou cliente, pague apenas o que consumir. Disponibiliza processamento sempre que preciso, ou até quando agendado que seja executado automaticamente.
Com a alta disponibilidade, o usuário apenas fornece seu código, ou cria a sua Função do Lambda, como é chamado. Cada função é gerenciada pela Amazon, desde a disponibilidade de execução e segurança. Com o AWS Lambda pode-se conectar com outros serviços da Amazon, como o AWS IoT Core e a Amazon Alexa.
Principais pontos do programa
OBS: ASSISTENTE ALEXA CONVERSA COM LAMBDA QUE ENTÃO CONVERSA COM AWS IoT CORE E FINALMENTE O MÓDULO U-BLOX NINA W106.
AWS IoT Core
A função da Amazon voltada para a Internet das Coisas (AWS IoT Core) permite conectar dispositivos à Internet para que se possam ser transmitidos dados, armazenados e analisados. Muitos tipos de objetos são usados nas aplicações para Internet das Coisas, desde câmeras de segurança a refrigeradores. Seja qual for o dispositivo desde que possa ser ligado, pode fazer parte do IoT. Essas aplicações tornaram dados antigamente inúteis em dados importantes para os usuários.
A Amazon oferece uma plataforma de Internet of Things (Internet das Coisas) onde se gerenciam dispositivos na nuvem facilmente. Podem-se criar aplicações que processam ou analisam informações de dispositivos conectados sem necessitar que o cliente tenha uma infraestrutura. O AWS IoT Core permite suporte ao protocolo HTTP e MQTT, que visa reduzir consumo de dados na rede. Estes protocolos utilizam suas respectivas portas para acesso aos serviços.
Certificados
aws-iot-private.pem.key
aws-iot-certificate.pem.crt
AmazonRootCA1.pem