Coberturas de vidro Curitiba, Coberturas de vidro, Box para banheiro, Fechamentos em Vidro

Criando um agente virtual de automação residencial para controle doméstico inteligente

O agente virtual, entidades interativas de recebimento de comando e de ação, se tornaram um recurso básico de qualquer solução de automação residencial. De Tony Stark e Jarvis ao Jarvis de Mark Zuckerberg, os agentes virtuais domésticos não são apenas um sonho de Hollywood, mas uma realidade. E agora com as tecnologias baseadas na nuvem, não é mais tão difícil de construir.

Neste tutorial, criaremos um agente virtual de automação residencial que responde à linguagem natural para executar comandos e monitorar o estado das Coberturas de vidro Curitiba. Usaremos o IBM Watson Conversation para alimentar nossos NLP e PubNub BLOCKS para executar nossas funções do Watson Conversation nos dados em movimento. É isso mesmo, este aplicativo não tem servidor!

Componentes do projeto e código fonte

Vamos criar essa réplica exata da demonstração da automação residencial simulada. Para sua referência, o código fonte desta demonstração está disponível aqui no GitHub.

Aqui estão os componentes da demonstração:

Página inicial (Repo)

Usamos uma imagem SVG de uma casa que tem a planta baixa e cada quarto tem uma lâmpada. Como não podemos enviar um sistema real de automação residencial para você, criei uma casa virtual inteligente com uma imagem SVG e um ícone para a lâmpada de cada sala. Esta casa compreende comandos para alternar a luz em cada sala e veremos como podemos fazê-lo através da API de Conversação do Watson.

Agente virtual (repositório)

O agente virtual é executado no PubNub BLOCK. Seu trabalho é decifrar os comandos enviados pelo proprietário e acionar a ação específica na casa. Para interpretar os comandos, ele se baseia no serviço Watson Conversation.

Janela de comando (repositório)

A interface do usuário que o proprietário pode usar para instruir o agente virtual.

Conversação do IBM Watson

O IBM Watson Conversation permite construir interfaces de linguagem natural que podem interagir com máquinas, Coberturas de vidro e agentes virtuais. Isso nos permite manter nossa maneira mais natural de comunicação enquanto o serviço de conversação faz o trabalho pesado no back-end para traduzir nossas mensagens para que as máquinas possam entender.

Coberturas de vidro Curitiba, Coberturas de vidro, Box para banheiro, Fechamentos em Vidro

O serviço Watson Conversation fornece um construtor de diálogo de arrastar e soltar. Esse construtor de diálogos é a chave para projetar diálogos intuitivos para usuários humanos e, ao mesmo tempo, podem ser decifrados por máquinas.

Uma conversa típica de homem para máquina é muito diferente da conversa de homem para homem. As máquinas geralmente não se envolvem em um fluxo de conversa como nós, seres humanos. Eles assumem comandos e respondem com uma ação. O serviço Watson Conversation nos permite criar diálogos específicos que transmitem comandos e ações entre humanos e máquinas. A imagem abaixo ilustra como isso é alcançado através de intenções e entidades.

Como você pode ver acima, o serviço Watson Conversation divide cada mensagem humana em uma intenção e uma entidade. A intenção especifica o comando a ser executado e a entidade especifica a máquina ou dispositivo específico que deve executar o comando.

No cenário de automação residencial, tudo se resume ao envio de comandos para que as luzes e os aparelhos sejam ligados ou desligados. Imagine que você tenha um gateway de Internet em casa que também hospede um agente virtual acessível através do Whatsapp. Se você conectar esse gateway ao seu sistema de automação residencial, poderá conversar com o agente virtual para controlar seus dispositivos (veja a ilustração de exemplo abaixo).

Criando o agente virtual de automação residencial

Vamos em frente e criar esse agente virtual de automação residencial. Já desvendamos a complexidade de decifrar a conversa graças ao IBM Watson. Agora vem o próximo desafio, ou seja, a construção do agente virtual.

Ao contrário da prática usual de criar um agente virtual usando um aplicativo baseado em servidor, podemos ter um agente em funcionamento rapidamente com a ajuda do PubNub BLOCKS. O PubNub BLOCKS é um módulo de computação sem servidor que pode ser programado facilmente e sem sobrecarga de infraestrutura. Com BLOCKS, é assim que a arquitetura do sistema do nosso agente virtual de automação residencial será exibida (veja abaixo).

Agora, temos um sistema implantado usando o PubNub BLOCKS como agente virtual. Ele executa três responsabilidades:

Receba mensagens do usuário humano.

Traduza a mensagem com a ajuda da Watson Conversation API e divida-a em comando (intenção) e dispositivo (entidade).

Envie comandos para o respectivo dispositivo.

Agente virtual em ação

Uma vez criados e implantados, poderíamos comandar nosso agente virtual e controlar nossa casa.

Componentes da nuvem

Para alimentar esse agente virtual, contamos com dois serviços de nuvem back-end.

API do Watson Conversation: disponível como um serviço no catálogo do IBM Bluemix, o serviço Watson Conversation fornece todas as ferramentas para criar um sistema de diálogo com reconhecimento de contexto que pode ser usado para alimentar os chatbots. No PubNub, nós o usamos para alimentar nosso agente virtual hospedado nos PubNub BLOCKs.

Rede de Fluxo de Dados PubNub: O PubNub fornece uma solução de fluxo de dados em tempo real ultra-rápida e pela Internet, que possibilita muitos aplicativos de mensagens em todo o mundo. O PubNub BLOCKs é um componente do PubNub que nos permite implantar microsserviços no serviço de streaming de dados PubNub. Criamos um aplicativo Javascript leve para o agente virtual que executa no BLOCK e interage com o usuário, a casa e a API de conversação do Watson.

Consulte o arquivo LEIA-ME para configurar o serviço de conversação e o serviço PubNub BLOCKs.

Para criar este aplicativo, você precisará criar uma conta do Bluemix e PubNub. Visite a página de inscrição do IBM Bluemix e a página de serviço do PubNub para criar suas respectivas contas. Ambos os serviços oferecem uma conta de nível gratuito para brincar com suas ofertas.

Operações realizadas pelo agente virtual

Não há limite para o tipo de caixas de diálogo que você pode criar com o serviço Watson Conversation. No entanto, para simplificar as coisas e mostrar a novidade mais básica desse conceito, vamos definir os comandos mais comuns que normalmente executamos em nossos eletrodomésticos.

[Ligar quarto]

Aqui, Ativar o Box para banheiro é a intenção e o quarto é a entidade. Quando emitimos esse comando, estamos instruindo o agente virtual (PubNub BLOCK) a acender a luz do quarto. Abaixo está um exemplo ilustrado de como as mensagens fluem pelos componentes do sistema para fazer isso funcionar.

De maneira semelhante, podemos enviar comandos de controle que afetam outras salas para ligar / desligar as luzes:

ligue o quarto das crianças

ligue sala

ligue a cozinha

ligar pórtico

desligar quarto

desligar a sala de crianças

desligar sala

desligar a cozinha

desligar pórtico

Também definimos uma intenção “is” usada para fins de monitoramento. Isso nos ajuda a consultar o estado atual da luz da sala.

Coberturas de vidro Curitiba, Coberturas de vidro, Box para banheiro, Fechamentos em Vidro

A resposta JSON do agente virtual para este comando é:

{“Tipo”: “monitor”, “Entidade”: “quarto”, “Status”: “LIGADO”, “Mensagem”: “Status do quarto”}

Dessa forma, podemos decifrar claramente os comandos de bate-papo e instruir o gateway doméstico a executar uma ação ou relatar o status em um dispositivo / dispositivo específico dentro de casa.

Estendendo a capacidade do agente virtual

Todas essas intenções e entidades são predefinidas na instância da área de trabalho do serviço Watson Conversation que criamos para este aplicativo. Portanto, caso desejemos ampliar sua capacidade, podemos fazê-lo facilmente adicionando mais intenções e entidades.

Agora que temos um agente virtual que pode entender nossos desejos de acender, cobri os Fechamentos em Vidro ou apagar as luzes de nossa casa, o que mais podemos fazer? Como se vê, com o criador de diálogos do serviço Watson Conversation, podemos criar diálogos mais complexos e programar nosso agente para executar mais tarefas.

Então, aqui está um desafio para você. Que tal escurecer as luzes da sua casa?

Você pode escrever uma intenção de “escurecer” e “escurecer” para os quartos individuais ou pode optar por definir uma intenção de “escurecer tudo” que afete todas as luzes, como mostrado acima.

Conclusão

Com o serviço Watson Conversation, a onda de computação cognitiva atingiu um novo nível. Desde o mero processamento de números e previsões baseadas em dados, passamos ao domínio da interação da linguagem natural com as máquinas.

Pode-se imaginar todos esses painéis de controle de dispositivos com inúmeros botões e widgets, sendo substituídos por uma interface de bate-papo simples e simples. E, juntamente com os PubNub BLOCKS, os desenvolvedores podem criar experiências ricas e intuitivas para os usuários, assim como esse agente virtual de automação residencial.

Então aperte o cinto e tente. Siga os documentos e aprenda a criar o diálogo para o serviço Watson Conversation para adicionar esses novos objetivos. E, por favor, compartilhe sua experiência conosco!

Endereço: Rua Governador Sampaio, 3 - Centro, Fortaleza - CE, 60055-000