Chamando o elevador pela Alexa

Olá a todos, me chamo Vitor Hugo Foscarini dos Santos e sou um Desenvolvedor Backend da Hubbe e hoje vou contar um pouco sobre como fizemos uma Alexa chamar o elevador. Atualmente estou alocado em nosso cliente Neomot, que produz elevadores e outros equipamentos de IoT (Internet of Things) para edifícios, sua missão é torná-los inteligentes.

Contextualizando o trabalho que fazemos em nosso cliente, damos suporte para duas aplicações backend em .NET, apelidadas de Anna e Zeus. Anna é uma API (Application Programming Interface) que recebe requisições de outras duas aplicações frontend que a Neomot tem, uma desktop e outra mobile. Zeus, por sua vez, é uma aplicação responsável por se conectar com os diversos equipamentos e monitorá-los, além de enviá-los comandos específicos. É importante salientar que a aplicação Zeus permite requisições HTTPS o que possibilita que as aplicações frontend se comuniquem com os equipamentos no seguinte esquema: Frontend -> Anna -> Zeus -> Equipamento.

Alexa

Mas enfim, como fizemos uma Alexa chamar o elevador? Em 2023, ocorreu a 24ª edição da Feira Internacional da Construção (Construsul) onde a Neomot tinha a demanda de apresentar essa inovação no mercado de elevadores, a chamada via Alexa. 

Em parceria com a LaB721, uma agência de marketing de Caxias do Sul, desenvolvemos a skill totalmente em javascript baseado na documentação da Amazon. Para tornar essa chamada possível, só precisamos implementar uma autenticação, que exigirá uma interface de login, e um endpoint para receber a chamada do elevador, como introduzido no contexto do cliente, as implementações necessárias foram feitas somente na Anna, pois o Zeus já estava pronto para receber chamadas remotas de elevador.

Autenticação

Para implementação da autenticação foi utilizado o Authorization Code Grant Flow, que consiste em ao autenticar um usuário, em nossa base dados, retornaremos um código de autorização, este por sua vez será utilizado para trocar por um token válido da aplicação. Abaixo segue uma imagem para ilustrar o fluxo completo de autenticação para a skill.

Vale adicionar, que ao obter um token válido no passo de autenticação conseguimos a informação necessária do usuário para realizar uma chamada de elevador, como qual é o andar que ele mora, o andar de sua garagem e o andar térreo de seu edifício.

Skill

A skill oferece 2 tipos de opções ao morador que deseja chamar seu elevador: Saindo a pé e Saindo de carro. 

  • Saindo a pé: Chama o elevador para o andar do usuário e ao cruzar a barreira vai para o térreo;
  • Saindo de carro: Chama o elevador para o andar do usuário e ao cruzar a barreira vai para o andar de garagem do usuário;

Para acionar a skill é necessário falar “Alexa, chamar elevador”, abaixo temos um exemplo de conversação com a Alexa para o comando Saindo a pé:

Usuário: “Alexa, chamar elevador”

Alexa: “Olá, deseja sair a pé ou de carro?”

Usuário: “A pé”

Alexa: “Tudo bem, chamei o elevador para você!”

Resultados

No fim entregamos essa funcionalidade para a Construsul e foi o maior sucesso e um destaque dentre os stands de inovação e automação. Vale adicionar que chamadas para APIs dentro de skills da Alexa, devem ter um tempo de resposta de no máximo 8 segundos, e para realizar essa implementação foi necessário realizar mudanças no código para otimizar o endpoint já existente do lado do Zeus.

Muito obrigado pelo seu tempo, agora fique com um vídeo demonstração da skill em funcionamento.

Share

Tags

Sem categoria