CAPITULO 3 DESENVOLVIMENTO DA REDE DE SENSORIAMENTO
3.2 C OMPONENTES DO SISTEMA
3.2.7 Software dos Dispositivos Finais
Tanto o dispositivo final 2, ligado ao PDA, quanto o dispositivo 3, foram configurado como RFD. Depois de descoberto pelo coordenador e de passar por todos os estados para ser introduzido na rede, o dispositivo fica esperando a requisição do coordenador através da MSG 1. Assim que esta mensagem é recebida pelo dispositivo, passa por todas as etapas de reconhecimento e autenticidade das camadas PHY e MAC e, a seguir, o software reconhece o comando enviado pelo coordenador e prepara a informação a ser respondida. No caso do dispositivo 2, ainda é feita a leitura do status das caixas de seleção do aplicativo do Pocket PC, através de comunicação serial. Logo após, insere estas informações nos bytes pertinentes, transmite a mensagem de resposta ao coordenador e fica esperando uma nova requisição.
A Figura 3.20 apresenta agora o fluxograma do programa dos dispositivos finais, e em seguida, a Tabela 3.3 descreve resumidamente cada etapa.
Tabela 3.3 – Descrição das etapas do software dos dispositivos finais
ETAPAS DESCRIÇÃO
1 Nesta etapa o dispositivo é inicializado.
2 O device faz uma varredura para identificar uma PAN em sua região de alcance.
3 Verifica se encontrou ou não uma PAN.
4 Se não encontrar uma PAN em um tempo determinado o software do dispositivo é finalizado.
5 Faz um pedido de associação ao coordenador da rede PAN encontrada
6 Verifica se o pedido de associação foi aceito ou não pelo coordenador da rede
7 Se o dispositivo foi aceito na rede, ele é então associado e, a partir do seu endereço longo ele recebe um endereço curto.
8 A temperatura do sensor do dispositivo é lida através do conversor A/D e guardada em um Buffer.
9
Aqui é feita a a verificação se existem mensagens provenientes do coordenador. O software só prossegue quando chegar alguma mensagem,
em caso contrário volta ao ponto 8.
10
Se o byte de comando da mensagem recebida for identificado como o comando deste dispositivo, então a mensagem é lida e armazenada em um
buffer.
11
A mensagem a ser enviada ao coordenador é preparada. Ela contem o comando do dispositivo, a temperatura do mesmo, e no caso de estar
conectado ao PDA, contem também a informação dos módulos selecionados pelo usuário para o cálculo da média.
12 Aqui é feita a transmissão do pacote de dados a todos os dispositivos. 13 Aguarda um tempo determinado para verificação do recebimento do
acknowledge.
14 Se não receber retorno de recebimento do coordenador no tempo determinado, o dispositivo é finalizado.
A*
Esta etapa, e a seguinte só existem no módulo conectado ao PDA. O
software fica em um loop esperando uma mensagem de 4 bytes
proveniente do PDA. Nesta mensagem esta contida a informação dos módulos selecionados pelo usuário para compor a média.
B* As informações das temperaturas de todos os módulos juntamente com a temperatura média são transmitidas por comunicação serial ao PDA.
A seguir será detalhada a troca de informações entre os dispositivos, descrevendo todos os pacotes de dados das mensagens transmitidas na rede.
i. Mensagem do coordenador – MSG 1.
O objetivo desta mensagem é fazer uma requisição da temperatura de um dos dispositivos finais. Quando o coordenador envia uma mensagem, ela é enviada para todos os dispositivos da rede e, através de um byte de comando desta mensagem, cada módulo identifica a necessidade de enviar uma mensagem de retorno contendo a temperatura atual dada pelo sensor de temperatura do dispositivo. A mensagem enviada pelo coordenador é composta por 4 bytes, como visto na Tabela 3.4.
Tabela 3.4 – Pacote de dados enviados pelo coordenador
Byte 1 Byte 2 Byte 3 Byte 4
Comando Temperatura Coordenador Temperatura média CRC
O primeiro byte desta mensagem identifica o dispositivo para qual a mensagem é endereçada. Isto é feito através de comandos conforme a Tabela 3.5:
Tabela 3.5 – Descrição dos comandos do byte 1
Comando Descrição
AA Mensagem destinada ao dispositivo 3
Os dois bytes seguintes são somente utilizados pelo dispositivo 2. Nestes bytes estão contidas as temperaturas atuais do sensor do coordenador e da média dos dispositivos selecionados pelo o usuário através do aplicativo do Pocket PC. O ultimo byte (CRC) é destinado a fazer o controle de erro da mensagem através de uma soma do conteúdo de todos os bytes. Quando a mensagem é recebida por um dos dispositivos, uma rotina efetua a mesma soma, e assim, os dois resultados são comparados. Se estes forem iguais, a mensagem é considerada válida, e se forem diferentes, a mensagem é descartada. Este controle de erro foi introduzido para se descartar qualquer mensagem que tenha o seu conteúdo comprometido por algum ruído que cause interferência no conteúdo da mensagem.
As mensagens são enviadas seguidamente alternando-se os comandos para o dispositivo 2 e 3. O intervalo de tempo de envio entre uma mensagem e outra é de 3 segundos. As temperaturas dos sensores de todos os dispositivos são armazenadas e então é feita a média dos sensores selecionados. Esta seleção é enviada ao coordenador através da mensagem de retorno do dispositivo 2, que será descrita a seguir.
ii. Mensagem do dispositivo 2 para o coordenador – MSG 2.
Assim que a mensagem do coordenador é recebida pelo dispositivo 2 e o byte de comando é reconhecido, a temperatura do dispositivo é lida. Após isto, através de comunicação serial, a seleção dos dispositivos feita pelo usuário é solicitada ao aplicativo do Pocket PC. A configuração da mensagem de retorno ao coordenador é mostrada na Tabela 3.6.
Tabela 3.6 - Pacote de dados enviado do dispositivo 2 para o coordenador
Byte 1 Byte 2 Byte 3 Byte 4
Comando Temperatura do dispositivo 2 Seleção de temperaturas CRC
No primeiro byte é devolvido o mesmo comando recebido para o coordenador e no byte seguinte, é enviada a temperatura do sensor do dispositivo. Já no byte 3 é enviado um código equivalente aos dispositivos selecionados pelo usuário no Pocket PC para compor a média. Este código pode ser visto na Tabela 3.7.
Tabela 3. 7 – Códigos de seleção de dispositivos
Código (Hexadecimal) Descrição
0x00 O valor da média será igual ao valor apenas do
dispositivo 3
0x01 O valor da média será igual ao valor apenas do
dispositivo 2
0x02 O valor da média será igual à soma das temperaturas
dos dispositivos 2 e 3 dividido por dois
0x03 O valor da média será igual ao valor apenas do
coordenador
0x04 O valor da média será igual à soma das temperaturas do
dispositivo 3 e o coordenador dividido por dois
0x05 O valor da média será igual à soma das temperaturas do
dispositivo 2 e o coordenador dividido por dois
0x06
O valor da média será igual à soma das temperaturas do dispositivo 2, do dispositivo 3 e do coordenador dividido
O byte de controle de erro segue o mesmo padrão da mensagem enviada pelo coordenador.
iii. Mensagem do dispositivo 3 para o coordenador - MSG 3.
A mensagem de retorno do dispositivo 3 para o coordenador é mostrada na Tabela 3.8.
Tabela 3.8 - Pacote de dados enviado do dispositivo 3 para o coordenador
Byte 1 Byte 2 Byte 3 Byte 4
Comando
Temperatura do dispositivo 3
Byte não utilizado CRC
Nesta mensagem, da mesma maneira que a mensagem do dispositivo 2, o primeiro byte é destinado a devolver o comando enviado pelo coordenador. No segundo byte, é enviada a temperatura lida do dispositivo. O byte 3 não é utilizado e foi criado como um byte auxiliar pensando em possíveis ampliações do sistema. Da mesma maneira como feito para as outras mensagens, o controle de erro é feito através do byte 4.
Já a comunicação entre o dispositivo final e o Pocket PC é estabelecida pelo protocolo RS-232. Nesta comunicação existem também duas mensagens, uma enviada pelo dispositivo para o Pocket PC (MSG 4) e a outra mensagem do Pocket PC para o dispositivo final (MSG 5). No software aplicativo do Pocket PC, que será detalhado no item 3.2.8, existe uma tela com quatro indicações de temperatura: a temperatura do coordenador, a temperatura do dispositivo 2, a temperatura do dispositivo 3 e a temperatura média calculada pelo coordenador. Estas informações são recebidas pelo
Pocket PC através da comunicação serial. No software existem também três caixas de seleção onde é possível selecionar as temperaturas que farão parte da média.
O pacote de dados desta comunicação também é composto por quatro bytes, como especificado a seguir.
iv. Mensagem do dispositivo final para o Pocket PC – MSG 4.
Esta mensagem é composta por quatro temperaturas, que são as temperaturas do coordenador, do dispositivo 2, do dispositivo 3 e a média, seguido de um byte destinado a fazer a verificação de erro (CRC), como pode ser visto na Tabela 3.9.
Tabela 3.9 - Pacote de dados enviado do dispositivo 2 para o Pocket PC
Byte 1 Byte 2 Byte 3 Byte 4 Byte 5
Temperatura do Coordenador Temperatura do Dispositivo 2 Temperatura do Dispositivo 3 Média Opção de CRC
v. Mensagem do Pocket PC para o dispositivo final – MSG 5.
Já nesta mensagem a seleção das temperaturas selecionadas pelo usuário são enviadas para o dispositivo 2 nos mesmos formatos da mensagem 3. Esta mensagem é composta apenas por este byte como mostrado na Tabela 3.10 e um byte onde pode ser implementado um controle de erro.
Tabela 3.10 - Pacote de dados enviado do Pocket PC para o dispositivo 2
Byte 1 CRC
Seleção de Temperaturas
Opção de CRC