Indium — Integração MQTT
Este documento descreve a configuração da comunicação MQTT da controladora de acesso INDIUM com o servidor de controle de acesso. O conteúdo é de uso interno/restrito e não deve ser publicado no portal público.
A controladora INDIUM comunica-se com o servidor de controle de acesso através de um broker MQTT, que pode ser o Accelero Cloud ou um broker customizado. Este documento descreve os campos da tela de configuração MQTT e da tela de configuração do canal UDP disponíveis no modo de configuração da controladora.
Fonte: INDIUM — Manual de Hardware v4.9 (firmware 1.4.12, mai/2023), seção Comunicação.
Acesso à configuração
As telas de comunicação são acessadas pelo navegador, no modo de configuração da controladora, pelo menu Comunic da tela inicial. Esse menu dá acesso às telas de Conexão, WiFi, Ethernet, MQTT e UDP:
| Item do menu | Função |
|---|---|
| Conexão | Tipo de mídia usado para conexão à rede (WiFi ou Ethernet) no modo operação |
| WiFi | Parâmetros da rede WiFi a ser usada no modo operação |
| Ethernet | Parâmetros da rede cabeada (conector RJ45) usada no modo operação |
| MQTT | Parâmetros para acessar o servidor de comunicação MQTT (Broker) |
| UDP | Parâmetros do canal de comunicação UDP |
Tela de configuração MQTT
Nesta tela são informados os parâmetros de comunicação para estabelecer a conexão com o servidor de comunicação MQTT. Também são fornecidas informações sobre a instalação física do controlador.

| Campo | Descrição |
|---|---|
| Conexão | Define se a placa deve conectar-se ao broker MQTT Accelero Cloud, a um broker MQTT customizado ou a nenhum broker MQTT. Quando selecionada a opção "Automático", apenas o campo Facility Id deve ser preenchido. |
| Facility Id | Identificação única da instalação. Todos os controladores de uma instalação devem ter o mesmo Facility Id. Ex.: empresax, edificioz. |
| TLS | Marque esta opção caso o controlador deva estabelecer a comunicação com o broker MQTT no modo seguro (Transport Layer Security). É necessário que o servidor permita este modo de comunicação. |
| Broker | Endereço URL do servidor de comunicação utilizado na instalação. |
| Port | Número da porta de comunicação para comunicação com o broker MQTT. |
| User name | Nome do usuário para acesso ao broker MQTT. |
| Password | Senha de acesso ao broker MQTT. |
| Device Id | Identificação única e exclusiva de cada controlador na instalação. Ex.: catraca1, porta2. |
Faça as alterações necessárias e clique em Salvar para confirmar.
Quando a conexão é feita através do Accelero Cloud, apenas o parâmetro Facility Id deve ser configurado, exatamente como definido no sistema de controle que administrará os controladores.
Tela de configuração UDP
Nesta tela são informados os parâmetros de comunicação para estabelecer conexão no protocolo UDP. Através desta conexão, outros equipamentos podem enviar informações para o controlador, tais como cartões/tags lidos em outros dispositivos.
| Campo | Descrição |
|---|---|
| Porta | Porta de comunicação a ser utilizada. Se configurada com o número de porta 0 (zero), o serviço fica desligado. |
Quando se utiliza a conexão UDP, é recomendável que o endereço IP do controlador seja fixo, pois o endereço IP deverá ser configurado no equipamento que enviará dados por esta conexão.
Protocolo MQTT (tópicos e mensagens)
No ACCELERO, a Indium é implementada como subclasse da Aurum: class Indium extends Aurum em plugins/accelero/private/src/Accelero/Controladores/Indium.php (tipo de controladora CONTROLADOR_INDIUM = 5). A classe só sobrescreve a tela de edição, o upgrade de firmware, os dados do dashboard e a checagem de licença. Todo o resto, inclusive os tópicos MQTT, os comandos enviados à placa e o tratamento das mensagens que ela publica, é herdado da Aurum.
Por isso, do lado do servidor, o protocolo da Indium é o mesmo da Aurum: use o protocolo MQTT da Aurum como referência de tópicos e mensagens (acc_req, log, keepalive, info, ins, del, load_cards, rex_server, getconfig/setconfig etc.).
| Tópico | Direção | Uso |
|---|---|---|
facility/alias/to | Servidor → Indium | Comandos para a controladora |
facility/broadcast/to | Servidor → todas | Mensagens de controle, como keepalive |
facility/alias/from/# | Indium → servidor | Acessos, logs, keepalive, info e respostas |
Permissões no broker (ACL): ao salvar uma Indium com alias novo, o ACCELERO libera para o usuário MQTT da placa (o próprio alias) os mesmos tópicos da Aurum: +/alias/from/#, +/alias/to, +/server/to/#, +/io/alias/#, +/broadcast/to e +/location/alias/#. Ao excluir a controladora, o usuário é removido da tabela mqtt_users. Com o módulo offline ativo, essa gestão de ACL não é feita (Controlador_Indium_Listeners.php).
Diferenças da Indium em relação à Aurum, no código do servidor:
| Item | Indium |
|---|---|
Upgrade remoto (upgrade) | Usa o endpoint de firmware indium (a Aurum usa aurum<versão major>). A opção só aparece na tela para firmware acima de 1.4.0 |
| Abas de configuração | Views próprias: indiumConfigNTP, indiumConfigReaders, indiumConfigRelaysTimers e indiumConfigMode |
| Licença | Contada à parte, no item Indium da licença |
Isto descreve o que o ACCELERO envia e espera. Comandos que o firmware da Indium aceite além dos da Aurum, ou campos que ele ignore, só aparecem no firmware, que não está no repositório.