Protocolo TALQ#
O TALQ é um consórcio industrial aberto que visa solucionar desafios cruciais na construção de cidades inteligentes. Criando um padrão comum para comunicação entre dispositivos e sistemas diversos, o TALQ facilita a interoperabilidade e a escalabilidade de soluções inteligentes.Em resumo, o TALQ estabelece uma linguagem universal que permite a dispositivos de diferentes fabricantes se comunicarem e trabalharem em conjunto, otimizando a gestão de recursos e aumentando a eficiência energética por meio de um protocolo RESTful/JSON.Central Management Software - IoTHub#
Um Central Management Software ou apenas,CMS, é uma plataforma essencial para a gestão centralizada de dispositivos e sistemas em uma rede de cidades inteligentes, permitindo monitorar, controlar e configurar uma ampla variedade de recursos a partir de uma interface unificada.Nosso CMS, o IoTHub, foi desenvolvido com foco na flexibilidade e na escalabilidade, sendo projetado para operar como um Multi-CMS. Isso significa que ele é capaz de gerenciar várias instâncias de CMS, uma para cada cliente, permitindo uma administração segura e personalizada.Entidades do Projeto#
Introdução as principais entidades relacionadas ao gerenciamento de dispositivos.Classes de Dispositivos#
Uma classe de dispositivo, define as capacidades de um dispositivo, e pode ser usada para evitar múltiplas definições de dispositivos com funcionalidades semelhantes. Uma classe de dispositivo é composta por funções, as quais possuem outras propriedades relevantes como os atributos, que são descritos em mais detalhes nas seções seguintes.A Figura 1, mostrada abaixo, exemplifica uma classe de dispositivo "Light Point". Veja que são definidos as funções e atributos das funções. Dispositivos que forem associados a essa classe de dispositivo, vão possuir todas as funções e atributos definidos nesta classe "Light Point".
Figura 1: Imagem retirada da "Especificação TALQ v2.6.1".Funções#
Em cada classe de dispositivo, são definidas as funções que os dispositivos pertencentes a essa classe podem realizar — representando um conjunto de funcionalidades.Toda função pode ser definida através de um conjunto de atributos e eventos, por exemplo:É esperado que uma função de monitoramento de lâmpada, LampMonitorFunction
, permita a contagem das horas de operação da lâmpada. Isso é feito através do seu atributo operatingHours
, que é responsável por armazenas a informação das horas de operação. Ou também, é esperado que essa função monitore a tensão de alimentação, isso será feito através de outro atributo, no caso, o atributo supplyVoltage
.Em conjunto com os atributos, temos os eventos, que utilizam dos valores dos atributos para "disparar" ações que o dispositivo deve realizar. Como por exemplo:Quando o dispositivo apresentar uma oscilação muito grande de tensão, acima do esperado, o evento lampVoltageTooHigh
é acionado. Esse evento é disparado com base no valor do atributo supplyVoltage
, que deve indicar uma tensão além do limite especificado.Veja que é através dessa relação entre atributos e eventos (funções), que permite o controle do que o dispositivo faz e não faz.Cada classe de dispositivo também estará associada a um fornecedor.Atributos#
De forma geral, temos 4 "escopos" de atributos:Configuration(configuração): descrevem as capacidades e características do dispositivo. Eles incluem parâmetros de configuração que definem como certas funcionalidades são implementadas ou executadas. Por exemplo, o atributo temperatureHighThreshold
em um sensor de temperatura determina o ponto em que o sensor acionará um evento de temperatureTooHigh
;
Operational(operacional): usados para enviar comandos remotamente ao dispositivo. Um exemplo é o targetLightCommand
em um atuador de lâmpada, que define o valor de iluminação desejado para a lâmpada;
Metering(medição): dados de desempenho, como energia, potência ativa, tensão e corrente de alimentação, dentre outros. Estes atributos vão estar relacionados a funções de monitoramento como medição elétrica ou medição de temperatura;
Status(estado): associados majoritariamente a eventos do TALQ e usados para consultar o resultado de um evento anterior. A implementação de atributos de status é opcional, caso seja implementado, deve ser feito como tipo "booleano" e ter o mesmo nome do evento correspondente.
Gateway#
O Gateway é um dispositivo essencial na arquitetura de projetos IoT, funcionando como a ponte entre os dispositivos físicos(sensores, atuadores, etc.) e o sistema central, CMS. Sua função é intermediar e gerenciar a comunicação entre esses dispositivos e a nuvem/internet/servidor.Ou seja, um gateway é um intermediador entre um grupo de dispositivos e o CMS. Tudo que se deseja comunicar/instruir um dispositivo ou grupo de dispositivo, passará pelo gateway "responsável" por esse(s) dispositivo(s).No protocolo TALQ, o gateway é responsável por conectar-se ao CMS por meio de um processo de inicialização chamado Bootstrap Process. Esse processo assegura uma conexão entre o gateway e o CMS, permitindo o gerenciamento remoto de todos os dispositivos vinculados a ele. Além disso, cada gateway contém uma GatewayFunction que define seus comportamentos e características específicas (assim como as funções das Classes de Dispositivos).Figura 2: Ilustração da relação entre CMS, Gateway e Dispositivos IoTDispositivos#
Dispositivos são representações lógicas/virtuais de equipamentos físicos que podem ser gerenciados remotamente. E o que definirá suas características de operação, ou seja, seus atributos e eventos, será justamente a Classe de Dispositivo, discutida anteriormente, associada ao dispositivo em questão.Um dispositivo terá as seguintes informações associadas ao mesmo:Funções (definidas na classe de dispositivo).
A Figura 3, ilustra um dispositivo, onde Basic, Lamp Actuator e Lamp Monitor são funções.Referências#
Modified at 2025-03-13 18:29:03