LR_CTRL_RAK3172
Este bloco tem por função implementar a interface com o módulo de comunicação LORA RAK3172 da BreakBoard.
Bloco
LR_CTRL_RAK3172
+---------------------+
BOOL ----|START CONNECTED|---- BOOL
| |
USINT ----|COMM_SRC R_EV|---- BOOL
| |
USINT ----|SEND R_PORT|---- USINT
| |
USINT ----|LORA_MODE R_CODE|---- INT
| |
USINT ----|S_PORT S_EV|---- BOOL
| |
| S_ID|---- USINT
| |
| S_CODE|---- INT
| |
STRING ----|DEV_EUI ------------ |----
| |
STRING ----|APP_EUI ------------ |----
| |
STRING ----|APP_KEY ------------ |----
| |
STRING ----|LORA_IMSG ---------- |----
| |
STRING ----|LORA_OMSG ---------- |----
+---------------------+
Possui as seguintes funções principais:
Estabelece conexão com o servidor LORA;
Gerencia eventuais quedas de conexão reconectando com servidor automaticamente;
Notifica uma conexão com sucesso com o servidor permitindo ao usuário iniciar iniciar a troca de dados;
Sinaliza a recepção de mensagens do servidor LORA disponibilizando o nome do tópico e a mensagem associada.
O processo é iniciado através da ativação da entrada START que deve permanecer ativa durante todo o tempo de execução.
Ao ser ativado o bloco inicia o processo de conexão com o LoRaWAN pelo socket ethernet especificado. Concluido o processo com sucesso a saída CONNECTED se torna ativa indicando que o servidor LORA esta conectado ao broker e funcional.
Quando o servidor enviar uma mensagem para o cliente, a saída R_EV irá gerar um pulso e neste momento as saídas R_PORT e LORA_IMSG possuem o nro da porta e a mensagem associada respectivamente.
Parâmetros
Nome |
Classe |
Tipo |
Dim. |
V. Ini. |
Descrição |
START |
Entrada |
BOOL |
FALSE |
Inicia o processo de gerencia de uma conexão MQTT com um broker (ativa na transição de subida) |
|
COMM_SRC |
Entrada |
USINT |
0 |
Canal de comunicação a ser utilizado |
|
SEND |
Entrada |
USINT |
0 |
Envia quando != 0 a veriavel do ID definido e o conteudo de LORA_OMSG para o servidor LORA conectado |
|
LORA_MODE |
Entrada |
USINT |
0 |
Modo de operação do Lora: OTAA[1] ou ABP[2] |
|
S_PORT |
Entrada |
USINT |
1 |
Porta de comunicacão associada a mensagem a ser enviada ao servidor LORA |
|
DEV_EUI |
Entrada/Saída |
STRING |
:16 |
Device EUI gerado pela application no LoraNertwork Server |
|
APP_EUI |
Entrada/Saída |
STRING |
:32 |
Application EUI gerado pela application no LoraNertwork Server |
|
APP_KEY |
Entrada/Saída |
STRING |
:32 |
App Key gerado pela application no LoraNertwork Server |
|
LORA_IMSG |
Entrada/Saída |
STRING |
Mensagem recebida do servidor LORA |
||
LORA_OMSG |
Entrada/Saída |
STRING |
Mensagem a ser enviada para o servidor LORA |
||
CONNECTED |
Saída |
BOOL |
FALSE |
Conexão com o broker estabelecida com sucesso |
|
R_EV |
Saída |
BOOL |
FALSE |
Gera um pulso ao receber uma mensagem do servidor LORA |
|
R_PORT |
Saída |
USINT |
0 |
Porta associada ao pacote recebido |
|
R_CODE |
Saída |
INT |
0 |
Último código de erro detectado no processo conexão ou recepção de mensagem do servidor LORA |
|
S_EV |
Saída |
BOOL |
FALSE |
Gera um pulso ao completar qualquer processo com erro |
|
S_ID |
Saída |
USINT |
0 |
ID do item que foi transmitido |
|
S_CODE |
Saída |
INT |
0 |
Último código de erro detectado no processo de envio de uma mensagem ao servidor LORA |
COMM_SRC
Identificador do socket ethernet a ser utilizado para acesso ao broker. Este do canal de comunicação utilizado é especificado por um identificador (valor númerico) conforme indicado na tabela a seguir:
ID |
LABEL [3] |
Tipo de canal de comunicação [4] |
8 |
HILS.SOCK0_PORT_ID |
Identificador do socket 0 |
9 |
HILS.SOCK1_PORT_ID |
Identificador do socket 1 |
10 |
HILS.SOCK2_PORT_ID |
Identificador do socket 2 |
11 |
HILS.SOCK3_PORT_ID |
Identificador do socket 3 |
12 |
HILS.SOCK4_PORT_ID |
Identificador do socket 4 |
13 |
HILS.SOCK5_PORT_ID |
Identificador do socket 5 |
14 |
HILS.SOCK6_PORT_ID |
Identificador do socket 6 |
15 |
HILS.SOCK7_PORT_ID |
Identificador do socket 7 |
Cada equipamento possui um sub-conjunto dos recursos de comunicação indicados na tabela acima. Para identificar quais recursos estão disponíveis em um dado equipamento, consulte o manual do mesmo. |
LORA_IMSG
Quando o servidor enviar uma mensagem para o equipaemnto, o saída R_EV irá gerar um pulso notificando a chegada da mensagem, e a saída R_CODE indicado o resultado do processo de recepção. Neste momento, o mensagem esta disponivel em LORA_IMSG. Note que este parâmetro deverá ser processado durante o evento de R_EV pois o mesmo poderá ser alterado nos ciclos seguintes.
Exemplo
Declaração de Variáveis
Nome |
|---|