Para o projecto de controlo de válvulas sanitárias foi desenvolvido um protocolo para que os diversos módulos se comuniquem e efectuem as tarefas que lhes foram destinadas.
Estado das entradas
Esta frame serve para enviar o estado das entradas do módulo sensor para o computador. Os bytes 4, 5, 6, 7 e 8 servem para confirmar se alguma válvula com aquele endereço está registada para poder processar a informação.
API- Valor de identificação: 0x20
Byte 1- Indica qual o número que identifica a trama do protocolo. Byte 2- Byte DATA envia o estado das entradas do módulo do sensor.
Byte 3- Reservado para futuras actualizações do hardware e software. Byte 4-Envio do endereço CAN do actuador.
Byte 5- Byte6- Byte7- Byte8- Contém os 32 bits menos significativos do endereço de 64 bits do seu dispositivo XBee.
Estado das saídas
Esta frame serve para enviar o estado das saídas do módulo sensor para o computador. Os bytes 4, 5, 6, 7 e 8 servem para confirmar se alguma válvula com aquele endereço está registada para poder processar a informação.
API- Valor de identificação: 0x21.
Byte 1- Indica qual o número que identifica a trama do protocolo. Byte 2- Byte DATA envia o estado das saídas do módulo do sensor.
Byte 3- Reservado para futuras actualizações do hardware e software. Byte 4- Envio do endereço CAN do actuador.
Byte 5- Byte6- Byte7- Byte8- Contém os 32 bits menos significativos do endereço de 64 bits do seu dispositivo XBee.
Estado dos Leds
Esta frame serve para enviar o estado dos leds do módulo sensor para o computador. Os bytes 4, 5, 6, 7 e 8 servem para confirmar se alguma válvula com aquele endereço está registada para poder processar a informação.
API- Valor de identificação: 0x22.
Byte 1- Indica qual o número que identifica a trama do protocolo. Byte 2- Byte DATA envia o estado dos leds do módulo do sensor.
Byte 3- Reservado para futuras actualizações do hardware e software. Byte 4- Envio do endereço CAN do actuador.
Byte 5- Byte6- Byte7- Byte8- Contém os 32 bits menos significativos do endereço de 64 bits do seu dispositivo XBee.
Tensão de alimentação
API- Valor de identificação: 0x23.
Esta frame serve para enviar o valor de alimentação do módulo sensor para o computador. Os bytes 4, 5, 6, 7 e 8 servem para confirmar se alguma válvula com aquele endereço está registada para poder processar a informação.
Byte 1- Indica qual o número que identifica a trama do protocolo.
Byte 2- Byte DATA0 MSB do valor de 16 bits que permitirá calcular a tensão de alimentação do módulo.
Byte 3- Byte DATA1 LSB do valor de 16 bits que permitirá calcular a tensão de alimentação do módulo.
Byte 4- Envio do endereço CAN do actuador.
Byte 5- Byte6- Byte7- Byte8- Contém os 32 bits menos significativos do endereço de 64 bits do seu dispositivo XBee.
Posição da válvula
API- Valor de identificação: 0x24.
Esta frame serve para enviar a posição exacta da válvula para o computador. Os bytes 4, 5, 6, 7 e 8 servem para confirmar se alguma válvula com aquele endereço está registada para poder processar a informação.
Byte 1- Indica qual o número que identifica a trama do protocolo.
Byte 2- Byte DATA0 MSB do valor de 16 bits que permitirá calcular a tensão de alimentação do módulo, valor obtido no ADC do microcontrolador de 10 bits.
Byte 3- Byte DATA0 LSB do valor de 16 bits que permitirá calcular a tensão de alimentação do módulo, valor obtido no ADC do microcontrolador de 10 bits.
Byte 4-Envia o endereço de CAN de destino da trama.
Byte 5- Byte6- Byte7- Byte8- Contém os 32 bits menos significativos do endereço de 64 bits do seu dispositivo XBee.
Intensidade do sinal
API- Valor de identificação: 0x25.
Esta frame serve para enviar a intensidade do sinal da última transmissão efectuada pelo computador. Os bytes 4, 5, 6, 7 e 8 servem para confirmar se alguma válvula com aquele endereço está registada para poder processar a informação
Byte 1- Indica qual o número que identifica a trama do protocolo. Byte 2- Byte DATA envia a intensidade do sinal da última transmissão. Byte 3-Não é usado.
Byte 4- Envio do endereço CAN do actuador.
Byte 5- Byte6- Byte7- Byte8- Contém os 32 bits menos significativos do endereço de 64 bits do seu dispositivo XBee.
Emparelhamento
API- Valor de identificação: 0x26.
Esta frame serve para efectuar o emparelhamento entre um sensor e um actuador. A frame é enviada pelo sensor para o gateway e vice-versa. Os bytes 3, 4, 5, 6, 7 e 8 servem para enviar a informação necessária para que seja efectuado o emparelhamento.
Byte 1- Indica qual o número que identifica a trama do protocolo. Byte 2
DATA = 0 - Iniciar o emparelhamento.
DATA = 1- Confirmar o emparelhamento.
DATA = 2 - Parar o emparelhamento.
DATA = 4 – Informar que o sensor passou a estar desemparelhado. Byte 3-Indica o número do actuador.
Byte 4- Envio do endereço CAN do actuador.
Byte 5- Byte6- Byte7- Byte8- Contém os 32 bits menos significativos do endereço de 64 bits do seu dispositivo XBee.
Estado da válvula
API- Valor de identificação: 0x27.
Esta frame serve para enviar o estado da válvula para o gateway onde o actuador está registado, sendo de seguida enviada do gateway para o actuador. Os bytes 4, 5, 6, 7 e 8 servem para confirmar se alguma válvula com aquele endereço está registada para processar a informação.
Byte 1- Indica qual o número que identifica a trama do protocolo. Byte 2
DATA = 0- Válvula entre o estado fechada e aberta.
DATA = 1- Válvula fechada.
DATA = 2 – Válvula aberta.
DATA = 3 – Válvula fora da gama (aberta).
DATA= 4 – Válvula fora da gama (fechada). Byte 3-Não é usado.
Byte 4- Envio do endereço CAN do actuador.
Byte 5- Byte6- Byte7- Byte8- Contém os 32 bits menos significativos do endereço de 64 bits do seu dispositivo XBee.
Actuar válvula
API- Valor de identificação: 0x28.
Esta frame serve para enviar um comando de actuação da válvula para o gateway onde está o actuador registado e de seguida este envia os dados para o actuador e computador caso este exista. Os bytes 4, 5, 6, 7 e 8 servem para confirmar se alguma válvula com aquele endereço está registada para poder processar a informação.
Byte 1- Indica qual o número que identifica a trama do protocolo. Byte 2
DATA = 0- Fechar válvula.
DATA = 1- Abrir válvula.
DATA = 2 - Limpar válvula. Byte 3-Não é usado.
Byte 4- Envio do endereço CAN do actuador.
Byte 5- Byte6- Byte7- Byte8- Contém os 32 bits menos significativos do endereço de 64 bits do seu dispositivo XBee.
Dados da válvula
API- Valor de identificação: 0x29.
Esta frame serve para enviar os dados de uma nova válvula para ser registada no computador ou enviar os dados de uma válvula que foi apagada para o computador retirar da lista de válvulas. Os bytes 4, 5, 6, 7 e 8 servem para confirmar se alguma válvula com aquele endereço está registada para poder processar a informação
Byte 1- Indica qual o número que identifica a trama do protocolo. Byte 2
DATA = 1 – Enviar os dados de uma nova válvula.
DATA = 2 - Apagar a válvula dos dados.
Byte 3- Byte 4- Byte 5 – Byte 6- Contém os 32 bits menos significativos do endereço de 64 bits do XBee.
Byte 7- Envio do endereço CAN do actuador. Byte 8 - Indica o número do actuador da válvula. Byte 9 – Indica o estado da válvula.
Comunicação entre PC e Gateway
API- Valor de identificação: 0x30.
Esta frame serve para iniciar a comunicação entre o gateway e o computador e vice- versa. Os bytes 3, 4, 5, 6 são o endereço do dispositivo com quem pretende comunicar.
Byte 1- Indica qual o número que identifica a trama do protocolo. Byte 2
DATA = 0x16 - Iniciar comunicação.
DATA = 0x17 - Confirmar o inicio da comunicação.
Byte 3- Byte 4- Byte 5- Byte 6- Contém os 32 bits menos significativos do endereço de 64 bits do seu dispositivo XBee.
Calibração
API- Valor de identificação: 0x31.
Esta frame serve para efectuar a calibração do sensor. A calibração é efectuada entre o computador e o módulo do sensor. Os bytes 4, 5, 6, 7 e 8 servem para confirmar se alguma válvula com aquele endereço está registada para processar a informação.
Byte 1 - Indica qual o número que identifica a trama do protocolo. Byte 2
DATA = 0x00 - Iniciar calibração.
DATA = 0x01 - Guardar o valor da válvula fechada.
DATA = 0x02 - Guardar o valor da válvula aberta.
DATA= 0x03 - Fim de calibração.
DATA=0xFF - Valor correcto de calibração.
DATA=0x80 - Valor errado de calibração. Byte 3 e Byte4- Valor da posição da válvula.
Byte 5 - Byte 6- Byte 7 - Byte 7 - Contém os 32 bits menos significativos do endereço de 64 bits do seu dispositivo XBee.