Blog & News

“Alexa, chamar elevador…”

Conheça nossa jornada em criar uma integração IOT e Amazon para viabilizar essa Skill

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, é retornado um código de autorização, este por sua vez será trocado 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.