Oficina 2 de App Inventor - Arduino
Comunicação entre o APP e os controladores
Comunicação entre o APP e o servidor de Automação
Variáveis Envolvidas
As variáveis criadas no código usadas para a extração dos campos da mensagem do APP e manipulação pelos diferentes subsistemas são as seguintes:
get_char - Usada para guardar o primeiro byte recebido na porta bluetooth, ou seja, o caractere de início de mensagem.
disp_xbee - Define o módulo XBee de destino;
APP_command - Define o tipo de comando;
pin_num - Define a porta do microcontrolador;
pin_value - Define o valor da porta.
No início do programa são definidos os tipos de mensagem, e o endereço dos módulos XBee que fazem parte do sistema.
Em seguida é definida a comunicação com os módulos bluetooth e XBee a uma velocidade de 9600bps.
O programa verifica a chegada de mensagens enviadas pelo Aplicativo nas portas onde o módulo bluetooth está conectado, colocando qualquer byte recebido na variável get_char.
Se o caractere recebido na variável get_char for diferente do caractere definido como início de mensagem, o programa retorna e inicia nova leitura na porta bluetooth.
Se esse caractere for igual ao caractere de início de mensagem, é iniciada a recepção dos próximos bytes, os bytes são recebidos campo por campo e colocados nas suas respectivas variáveis.
Se o tipo de mensagem não for válida, não executa nenhuma ação, retornando ao início no final do código.
Se o tipo de mensagem for válida verifica o endereço do módulo XBee de destino, cujo valor foi recebido e guardado na variável disp_xbee. Com o auxílio da biblioteca xbee, é montado uma mensagem padrão Zigbee repassando os dados alocados nas variáveis para os campos do payload.Após a montagem a mensagem é enviada para o Controlador de Eletroeletrônicos.
Após enviada a mensagem para o Controlador, o programa verifica o retorno do Controlador indicando o recebimento da mensagem e execução do comando. Essa mensagem de retorno pode conter valores que devem ser mostrados ao usuário. O programa então extrai o dado do pacote Zigbee, monta e envia um novo pacote de resposta no padrão exigido pelo APP.