INTRODUÇÃO
O módulo SMS implementa suporte para envio e recebimento de mensagens em SMS nos equipamentos com conexão à rede celular.
A configuração e envio da mensagem SMS é feito através do bloco SMS_MESSAGE. Valores da lógica podem ser inseridos através de tags especiais na mensagem e dos blocos SMS_SEND e SMS_RECV. Os blocos SMS_SEND disponibilizam dados da lógica para uso nas mensagens. Os blocos SMS_RECV permitem receber dados através de comandos específicos enviados via SMS.
Existem dois tipos de blocos, um para envio de SMS (SMS_SEND_xxx) e outros para recebimento de comandos (SMS_RECV_xxx).
BLOCO SMS_MESSAGE
O bloco CLIENT é responsável por gerenciar a conexão do controlador com o servidor MQTT (broker). Só pode existir uma única instância deste bloco no programa.
O bloco SMS_MESSAGE é usado para controlar e configurar o envio de um SMS para a rede celular. Na configuração deste bloco se define o destinatário da mensagem e a mensagem a ser enviada. O envio da mensagem é controlado pela entrada SEND. Uma borda de subida nesta entrada gera o envio da mensagem. Caso ocorra algum erro no envio, a saída ERROR indicará o código de erro (diferente de zero).
Cada bloco permite a configuração de apenas um número destinatário. Se for necessário enviar a mesma mensagem para vários destinatários, basta criar cópias do bloco e conectar todas as entradas SEND ao mesmo sinal.
BLOCOS SMS_SEND
Os blocos SMS_SEND servem para disponibilizar valores da lógica para o módulo SMS. Cada entrada tem um TAG associado que pode ser substituído no texto da mensagem.
O bloco também permite definir como o texto será convertido. Para os blocos SMS_SEND_BOOL, é possível definir um texto para cada valor (true/false) da entrada. Para os blocos SMS_SEND_FLOAT é possível definir o número de casas decimais.
BLOCOS SMS_RECV
Os blocos SMS_RECV servem para receber dados via SMS através de comandos especiais, detalhados abaixo.
Cada bloco possui um TAG definido que serve para identificar o bloco.
A saída UPDATE é acionada por um ciclo para indicar que o valor foi atualizado.
FORMATO DO TEXTO DA MENSAGEM
A mensagem a ser enviada é configurada no bloco SMS_MESSAGE livremente em formato texto. Valores das entradas podem ser inseridas no texto a ser enviado através de tags especiais indicados pelos caracteres %.
Para inserir o valor de um bloco (SMS_SEND ou SMS_RECV), basta usar o formato %TAG%, onde TAG é o nome definido para o bloco. O nome do tag não diferencia maiúsculas de minúsculas, para facilitar o envio da mensagem pelo celular.
Para inserir um caractere ‘%’, basta usar uma tag vazia %%.
O controlador possui as tags especiais DATE e TIME que servem para indicar a data/hora atual do controlador.
COMANDOS EXTERNOS
É possível enviar comandos externos via SMS para o controlador. Vários comandos podem ser enviados na mesma mensagem, um por linha. Os seguintes comandos estão disponíveis:
- PASS: define a senha a ser usada para acesso. A sintaxe é PASS senha
- READ: permite ler o valor de um ou mais TAGs do controlador (bloco SMS_SEND ou SMS_RECV). A sintaxe é READ tag1, tag2, ...
- WRITE: permite escrever em um determinado TAG no controlador (bloco SMS_RECV). A sintaxe é WRITE tag1=valor1, tag2=valor2, ...
Para valores booleanos, o valor deve ser “0” ou “1”. Para escrever em blocos FLOAT, o separador decimal deve ser o ponto.
Este artigo foi útil?
Que bom!
Obrigado pelo seu feedback
Desculpe! Não conseguimos ajudar você
Obrigado pelo seu feedback
Feedback enviado
Agradecemos seu esforço e tentaremos corrigir o artigo