Estação Meteorológica com Comunicação por SMS

Transcrição

Estação Meteorológica com Comunicação por SMS
Centro Universitário Positivo - UnicenP
Núcleo de Ciências Exatas e Tecnológicas – NCET
Engenharia da Computação
Shimene Priscilla Gomes
Estação Meteorológica com Comunicação por SMS
Curitiba
2004
Centro Universitário Positivo - UnicenP
Núcleo de Ciências Exatas e Tecnológicas – NCET
Engenharia da Computação
Shimene Priscilla Gomes
Estação Meteorológica com Comunicação por SMS
Monografia apresentada à disciplina de
Projeto Final, como requisito parcial à
conclusão do Curso de Engenharia da
Computação. Orientador: Prof. Marcelo
Mikosz Gonçalves
Curitiba
2004
TERMO DE APROVAÇÃO
Shimene Priscilla Gomes
Estação Meteorológica com Comunicação por SMS
Monografia aprovada como requisito parcial à conclusão do curso de Engenharia da Computação
do Centro Universitário Positivo, pela seguinte banca examinadora:
Prof. Marcelo Mikosz (Orientador)
Prof. Laerte Cleto
Prof. Edson Pedro Ferlin
Curitiba, 01 de Janeiro de 2003
AGRADECIMENTOS
Primeiramente agradeço a Deus por ter me dado a vida, e por ter superado cada
desafio durante esses 5 anos.
Dedico essa vitória aos meus pais, que sempre me deram forças para continuar
trilhando o caminho que escolhi.
Mãe, muito obrigada pelo carinho, dedicação e principalmente pelas palavras
doces nos momentos difíceis, que me deram coragem para não desistir. Obrigada
pelas noites de sono que perdeu trabalhando em busca de proporcionar-nos uma
educação melhor e uma vida mais confortável, é com certeza conseguiu, essa
conquista é sua!
Pai, obrigada por todo amor, carinho e principalmente pelas palavras certas nas
horas certas, palavras duras, porém muitas vezes me fizeram refletir e mudar a direção
do meu caminho. Agradeço por sua luta, onde sempre procurou superar os desafios de
cabeça erguida, enfim sua presença sempre forte, foi um espelho de honestidade,
integridade e honra para nós, tenho muito orgulho de ser sua filha!
Shaia, obrigada pela irmã dedicada, pelas vibrações positivas e por muitas
vezes me dar seu colo nos momentos de angústia. Simba, obrigada por ficar ao meu
lado até altas horas, eu sei que você não fala, porém nunca me senti sozinha!
Fernando, meu amor, agradeço por todo seu carinho e compreensão devido a
minha ausência, e pelas palavras de incentivo.
Dedico a conclusão deste projeto em especial a um grande amigo Vilson
Rodrigo Mognon (Engenheiro Eletrônico e Mestre em Engenharia Elétrica), que me
ajudou a desenvolvê-lo e a implementá-lo, você é o meu grande mestre.
Agradeço ao pai-orientador Marcelo Mikosz pela dedicação e atenção, e ao meu
grande amigo Leonardo Saba pela presença alegre, e descontraída.
SUMÁRIO
1. Introdução....................................................................................................................5
2. Revisão da Literatura...................................................................................................7
2.1. A Estação Meteorológica por Comunicação Móvel ............................................7
2.1.1. Módulos da Estação Meteorológica .................................................................8
2.2. Fundamentação Teórica da Estação Meteorológica ..........................................9
3. Objetivo, Materiais e Métodos ...................................................................................13
3.1. Funções do Sistema ...............................................................................................13
3.1.1. Aquisição de dados e Endereçamento dos Sensores ....................................13
3.1.1.1. Endereçamento dos Sensores ............................................................15
3.1.1.2. Protocolo de Comunicação e Codificação dos Dados........................20
3.1.1.3.Temporização da Aquisição .................................................................21
3.1.1.4. O Microcontrolador ATmega161 .........................................................23
3.1.1.4.1. Funções Básicas do Microcontrolador ATMEGA161 ...............25
3.1.2. Os Sensores Meteorológicos .........................................................................27
3.1.2.1.O Pluviômetro (Sensor de Índice de Precipitação Pluvial) ..........................27
3.1.2.2.O Barômetro (Sensor de Pressão) ...............................................................30
3.1.2.3.Sensor de Temperatura ...............................................................................32
3.1.2.3.1Descrição do Sensor de Temperatura Tmp100..........................33
3.1.2.3.2.Registrador de Temperatura .....................................................33
3.1.2.4.Sensor de Umidade Relativa........................................................................34
3.1.2.5.Sensor de Velocidade e Direção do Vento...................................................36
3.1.3. Módulo de Transmissão e Recebimento de SMS .........................................39
3.1.3.1. Fluxograma para Envio e Recebimento de Mensagens SMS por
Comandos AT .......................................................................................40
3.1.3.2.Modem GSM WaveCom...............................................................................44
3.1.3.2.1.Funcionalidades RF (Radiofreqüência) .....................................45
3.1.3.2.2.Firmware ...................................................................................45
3.1.3.2.3.Interfaces ..................................................................................46
3.1.3.3.Comandos OpenAT......................................................................................46
3.1.4. Software de Gerenciamento dos Dados Atualização dos dados....................50
3.1.4.1.Ambiente de Desenvolvimento.............................................................50
3.1.4.2. Implementação do Software de Gerenciamento .................................50
3.1.4.2.1. Diagrama de Caso de Uso .......................................................51
3.1.4.2.2. Roteiros....................................................................................51
3.1.4.2.3. Diagrama de Classes ...............................................................53
3.1.4.2.4. Diagrama de Classes de Negócios ..........................................54
3.1.4.2.5. Diagrama de Colaboração .......................................................56
3.4.1.3. Interface com Usuário – Módulo Adicional ..........................................62
3.1.4.4. Linguagem de Programação ...............................................................64
4. Resultados e Discussão ............................................................................................66
4.1.Aquisição dos dados e Endereçamento dos sensores ............................................66
5. Conclusões................................................................................................................69
6. Referências Bibliográficas .........................................................................................70
7. Anexo 1 - Cronograma Projeto Final .........................................................................71
8 . Anexo 2 - Descrição detalhada dos Comandos AT .................................................73
LISTA DE FIGURAS
Figura 1. Diagrama de Blocos básico dos Módulos Integrados do Sistema. ...................9
Figura 2. Diagrama em Blocos da Estação Meteorológica. ...........................................10
Figura 3. Diagrama de blocos da Estação COLPAM 50................................................11
Figura 4. Estrutura Metálica da Estação Colpam 50. ....................................................12
Figura 5. Estação Meteorológia Wireless Ws-2010.......................................................12
Figura 6 . Estados dos sensores gerenciados pelo microcontrolador. ..........................14
Figura 7 . Representação do Endereçamento dos Pinos e o Endereço Escravo no
TMP100. ........................................................................................................................15
Figura 8. Diagrama de Tempo para Configuração do TMP100. ....................................16
Figura 9. Byte de Registro e Configuração do Formato do Registrador. .......................16
Figura 10. Diagrama de Tempo para Leitura da Temperatura do TMP100. ..................17
Figura 11. Estrutura Hierárquica do Protocolo de Comunicação 1-Wire .......................19
Figura 12. Representação da Memória ROM ................................................................19
Figura 13 . Representação do Protocolo de Comunicação. ..........................................20
Figura 14 . Diagrama em Blocos da Arquitetura do Microcontrolador ATmega161.......24
Figura 15. Diagrama Esquemático do circuito da Estação Meteorológica.....................26
Figura 16. Estrutura Mecanica do Pluviômetro ..............................................................28
Figura 17. Diagrama esquemático do Sensor de Índice de Precipitação Pluvial ...........30
Figura 18. Configuração da rede 1-Wire........................................................................31
Figura 19. Diagrama esquemática do Barômetro (Sensor de Pressão) ........................31
Figura 20. Diagrama em blocos do Sensor de Temperatura Tmp100. ..........................32
Figura 21. Diagrama Esquemático do Sensor de Temperatura TMP100. .....................33
Figura 22. Byte 1 do Registrador de Temperatura ........................................................33
Figura 23. Byte 2 do Registrador de Temperatura. .......................................................33
Figura 24 . Formatação de Dados da Temperatura.......................................................34
Figura 25. Ilustração do Sensor de Umidade Relativa HIH-3610. .................................34
Figura 26. Tensão de saída versus temperatura em 0º C, 25ºC e 85ºC........................35
Figura 27. Diagrama Esquemática do Sensor de Umidade Relativa. ............................36
Figura 28.Ilustração do Sensor de Velocidade e Direção do Vento .............................38
Figura 29. Diagrama Esquemático do Sensor de Velocidade e Direção do Vento........38
Figura 30. Diagrama em Blocos da Transmissão SMS. ...............................................39
Figura 31. Cartão PCMCIA GTran Wireless ..................................................................43
Figura 32. Modem DTSS-800(Tecnologia CDMA 1xRTT).............................................44
Figura 33. Arquitetura funcional interna do Módulo WaveCom .....................................46
Figura 34. Módulo do Modem Wavecom .......................................................................48
Figura 35. Foto do Módulo do Modem Wavecom. .........................................................49
Figura 36. Tela de Configura Tempo de Aquisição. ......................................................56
Figura 37. Tela de Aquisição. ........................................................................................58
Figura 38. Tela de Cadastro de Funcionários................................................................60
Figura 39. Diagrama em blocos do armazenamento das informações, conversão dos
dados e o recurso adicional (trigger). ............................................................................63
Figura 40. Website DavisNet, as informações são atualizadas em tempo real .............64
LISTA DE SIGLAS
1xRTT - 1xRadio Transmission Technology
APIs - Application Programming Interfaces
CMOS – Metal Oxide Semiconductor
CRC - Check Redundancy Cyclic
GPRS - General Packet Radio Service
I2C - Interface Compability – 2 Wire
POO - Programação Orientada a Objetos
RAM – Read Access Memory
ROM – Read Only Memory
RH – Relative Humidity
SMS - Short Message Service
SPI – Serial Program Interface
RESUMO
A Meteorologia é um fator determinante para todos, principalmente para pessoas
que necessitam destas informações para executar suas atividades, como por exemplo,
esportistas e agricultores. Portanto, a Estação Meteorológica com Comunicação por
SMS, tem como principal objetivo realizar a aquisição de dados climáticos que são
gerados por sinais inerentes ao meio, para tanto utiliza-se sensores especiais: índice
de precipitação pluvial, umidade relativa, pressão, temperatura, direção e velocidade do
vento; os dados aquisicionados são transmitidos em uma mensagem SMS, atualizando
em tempo real as informações referentes às condições climáticas em um Website.
ABSTRACT
The Meteorology is a decisive factor for all, mainly for people that need these
information to execute their activities, for example, sportsmen and farmers. Therefore,
the Meteorological Station with Communication for SMS, has as main objective to
accomplish the acquisition of climatic data that they are generated by inherent signs to
the environment for so much is used sensor special: index of pluvial precipitation,
relative humidity, pressure, temperature, wind direction and speed; the data are
transmitted in a message SMS, updating in real time the information regarding the
climatic conditions in a Website.
5
1. INTRODUÇÃO
Há vários séculos, o homem se mantém preocupado em adquirir informações
sobre as condições climáticas. Atualmente, com advento da tecnologia dos sistemas de
comunicação, essas informações tornaram-se mais acessíveis, sendo um fator
determinante para pessoas que dependem dela para executar suas atividades.
A Estação Meteorológica tem com objetivo realizar aquisição de dados referente
a condições climáticas através de sensores especiais, e interpretá-los, para gerar
estatísticas das condições de uma certa região, e disponibilizar estas informações ao
cliente. É importante ressaltar que não se trata de um equipamento capaz de comparar
dados e realizar previsão do tempo, e sim informar ao usuário sobre as condições em
um período que pode ser estabelecido pelo mesmo. Os sensores a serem utilizados
para aquisicionar estes dados são relativos à temperatura, índice de precipitação
pluvial, sensores de umidade relativa, direção e velocidade do vento, e pressão. O
projeto da Estação Meteorológica por Comunicação Móvel aplica-se principalmente a
esportistas, agricultores, centros meteorológicos; os quais dependem de fatores como
as condições climáticas para praticar esportes, analisar qual o melhor período para o
plantio e realizar a monitoração de uma determinada região, respectivamente. As
consultas a estas informações podem ser efetuadas através de um sistema de
gerenciamento ou em um website, que são atualizadas
através
de mensagens
instantâneas (SMS).
Atualmente, as estações meteorológicas que são instaladas em campo são
alimentadas por energia solar, e as informações são coletadas localmente, através de
um cartão de memória, ou transmitidas via radiofreqüência. A transmissão via
aparelhos de comunicação móvel oferece uma inovação, e agrega muitos benefícios
como a segurança de informações, a velocidade e praticidade da consulta via Internet
ou via celular.
As principais metas a serem alcançadas ao longo do projeto são a aquisição dos
dados gerados pelos sensores relativos a condições climáticas; o tratamento e a
interpretação desses dados, a fim de gerarem estatísticas, as quais podem ser
consultadas, utilizando os parâmetros, como por exemplo, um dado período, ou um
range de temperatura. Contudo, a transmissão via comunicação móvel por mensagens
instantâneas é um grande desafio, porque trata-se da transmissão e recepção de
6
dados serialmente através de um modem, e para tanto faz-se necessário a
implementação de um protocolo de comunicação para a codificação destes dados.
7
2. REVISÃO DA LITERATURA
2.1. A Estação Meteorológica por Comunicação Móvel
A Estação Meteorológica por Comunicação Móvel utiliza sensores especiais,
cujo principio básico é adquirir sinais analógicos inerentes ao meio e convertê-los
digitalmente, a fim de gerar informações. No mercado há diversos sensores
utilizados, porém foram estudados os principais e mais usuais para a composição
de uma estação, são eles:
•
Pluviômetro: mede o índice de precipitação pluvial, através de um equipamento
capaz mesurar a quantidade de chuva em período selecionado;
•
Anemômetro: consiste em equipamento capaz de apresentar a direção e
velocidade do vento, por exemplo, se está para o Norte, Sul, Leste, Oeste,
Centro-Oeste, Nordeste, Noroeste e Sudoeste;
•
Sensor de Umidade: mensura qual é umidade relativa do ar;
•
Sensor de Temperatura: mensura qual é a temperatura climática;
•
Barômetro: mensura qual é a pressão do ar;
Os sensores selecionados para a composição, foram os sensores de
temperatura, o anemômetro e pluviômetro, porém é possível ser expandido para os
sensores listados acima.
A aquisição dos dados é realizada de acordo com um temporizador, o qual
recebe dados de cada um dos sensores em intervalos de tempo estipulados através
do microcontrolador, estes são armazenados em memória para posterior
transmissão. Embora estes sejam representados binariamente, é necessário
realizar uma conversão desses dados recebidos para visualização no display, isto é,
transformá-los em medidas relativas a temperatura, umidade, quantidade de chuva,
pressão, direção e velocidade do vento.
Contudo, é necessária a codificação destes dados binários de acordo com a
resolução pertinente a cada sensor, para posteriormente realizar a transmissão
serial através do microcontrolador para um aparelho de celular, este por sua vez,
cria uma mensagem instantânea (SMS), onde está encapsulado o pacote referente
às informações de cada sensor. O modem receptor, realiza o desencapsulamento
8
do pacote, e a decodificação destes dados, transformando-os em medidas reais e
atualizando no software de gerenciamento, o qual poderá também enviar
mensagens SMS para o celular do cliente, de acordo com as necessidades
específicas do mesmo.
2.1. 1. Módulos da Estação Meteorológica
O projeto da Estação Meteorológica foi segmentado em quatro módulos, Aquisição
e Temporização da recepção dos dados, Encapsulamento, Transmissão SMS,
Recepção SMS e Atualização das informações, detalhadamente são:
•
Módulo
de
Aquisição
e
Temporização
da
recepção:
Os
dados
são
aquisicionados através de sensores relativos a cada fenômeno climático. O
microcontrolador realiza a temporização para a habilitação do barramento
efetuando a leitura dos sensores, ou seja, é pré-estabelecido um intervalo de
tempo para a coleta de dados de cada sensor, o qual pode ser previamente
configurável. Por exemplo: um segundo de intervalo para a transferência dos
dados digitais do sensor de temperatura, então no próximo intervalo fixo realiza
a leitura para o sensor de velocidade do vento, e assim sucessivamente;
•
Módulo Encapsulamento: os dados recebidos referente à aquisição de cada
sensor são codificados de acordo com a resolução de cada um e armazenados
em um pacote de 140 bytes para encapsulamento em um pacote SMS, sendo
possível realizar aquisição de várias amostras. A codificação faz-se necessária
para garantir a integridade dos dados.
•
Módulo de Transmissão SMS: o pacote SMS é extraído da memória após ser
realizada a codificação para o encapsulamento, totalizando 140 bytes. A
transmissão é realizada através de uma seqüência de comandos específicos,
utilizados também para habilitação do módulo, como também, para a recepção,
posteriormente estes dados são decodificados, e convertidos em informações
interpretáveis. As mensagens instantâneas são enviadas a uma velocidade de
aproximadamente 144 Kbps, porém limitada pela velocidade de transmissão
serial que tem como padrão 112,5 Kbps; uma outra limitação significativa está
no tamanho da mensagem o qual é de no máximo de 144 bytes, limitando o
número de amostras;
9
•
Módulo Recepção SMS e Atualização: é responsável pela extração dos dados
do SMS e pela decodificação onde é realizado a conversão destes dados
codificados em informações reais, então é efetuada a atualização em um
software de gerenciamento, propiciando a consulta, através do banco de dados.
A representação dos módulos pode ser visualizada na figura 1.
Aquisição e
Temporização de
recepção
Encapsulamento
Transmissão
SMS
Recepção SMS
e Atualização
Figura 1. Diagrama de Blocos básico dos Módulos Integrados do Sistema.
É importante lembrar que como é ilustrado não há realimentação do sistema,
sendo o ponto inicial os sensores, são responsáveis pela transformação de energias
mecânicas em elétrica, e o final o cliente o qual receberá as informações referentes às
condições climáticas.
2.2. Fundamentação Teórica da Estação Meteorológica
A estação Meteorológica consiste em um equipamento capaz de aquisicionar dados
sobre as condições climáticas através de sensores especiais para tanto, serão
utilizados alguns dos existentes no mercado, são relativos à temperatura, índice de
precipitação pluvial, sensores de umidade relativa, direção e velocidade do vento, e
pressão. Muitas das estações do mercado possuem tais sensores, porém realizam a
medição e armazenamento do parâmetro ambiental em um intervalo de tempo
previamente ajustado no próprio equipamento, sendo os dados armazenados em
memória, e coletados através de um leitor de memória serial, ou transmitidos via
radiofreqüência. A energia é mantida através de um painel solar.
No mercado há vários modelos de estações meteorológicas, as mais rústicas
utilizam a transferências dos dados aquisicionados através de um simples cartão de
memória. Porém, as modernas utilizam transmissões via radiofreqüência ou até mesmo
via satélite; onde é possível obter imagens de uma determinada região, observando as
direções das correntes marítimas. É importante ressaltar, que o uso da transmissão via
10
SMS é uma grande inovação e grande tendência, sendo as principais vantagens: a
velocidade da transmissão, a confiabilidade por uso um serviço de comunicação móvel
popular e o baixo custo; sendo possível encapsular várias amostras aquisicionadas
dentro de um único SMS.
O diagrama em blocos representado na figura 2 ilustra basicamente a
funcionalidade de cada módulos discorrido.
Display LCD
Atmega161
Encapsulamento dos dados
Coleta
Software de
Gerenciamento
Website
Alimentação da Estação Meteorológica
Bateria
12V
Regulador
5V
Módulo Adicional
Figura 2. Diagrama em Blocos da Estação Meteorológica.
Devido às características peculiares de cada estação, e para critério de analise e
estudo, seguem algumas existentes no mercado.
11
§
Colpam 50: Os equipamentos da série produzidos pela Elomed Indústria e
Comércio medem e armazenam parâmetros ambientais como temperatura,
molhamento foliar, umidade relativa do ar e índice de precipitação pluvial, é um
equipamento autônomo que não necessita de alimentação da rede elétrica
podendo ser utilizados em locais remotos. Após ser instalado e acionado, ele
fará a medição e armazenamento dos parâmetros ambientais em um intervalo
de
tempo
previamente
ajustado
no
próprio
equipamento.
Os
dados
armazenados ficam em uma memória, que pode ser desconectado para coleta
de dados em microcomputador. A energia elétrica necessária para o
funcionamento é obtida de um painel solar que carrega constantemente uma
bateria interna, sob o controle de um circuito de recarga. A figura 3 ilustra o
diagrama em blocos da estação meteorológica Colpam 50.
Figura 3. Diagrama de blocos da Estação COLPAM 50.
A instalação em campo consiste na montagem da estrutura metálica. O painel é
direcionado para o norte. Abaixo segue a estrutura metálica do funcionamento.
12
Figura 4. Estrutura Metálica da Estação Colpam 50.
§
WS-2010 - Professional Wireless Weather Center: Estação com transmissão por
radiofreqüência em alta velocidade, inclui quatro sensores acoplados, são eles:
sensor de umidade e temperatura, pressão, velocidade e direção do vento e o
pluviômetro.O funcionamento consiste em estes quatro sensores citados acima
coletarem informações do tempo, e enviarem via radiofreqüência para a estação
central. Abaixo segue a figura 5 apresentando os sensores existentes e a
estação central.
Figura 5. Estação Meteorológica Wireless Ws-2010
13
3. OBJETIVO, MATERIAIS E MÉTODOS
3.1. Funções do Sistema
As funções do sistema são a Aquisição e Endereçamento dos Sensores,
Transmissão, Recepção e Atualização dos dados.
3.1.1. Aquisição de dados e Endereçamento dos Sensores
Os sensores especiais de umidade relativa, temperatura, pluviômetro, pressão e
anemômetro, são responsáveis pela aquisição de sinais analógicos provenientes do
ambiente, porém é necessária a conversão para um sinal digital para tornar-se
possível a interpretação dos mesmos. Os sensores selecionados realizam a
conversão automaticamente.
Contudo, após a aquisição os dados, estes são convertidos para digital de
acordo com a resolução de cada sensor, para então, serem codificados e
armazenados em um pacote contendo as amostras coletadas para posterior
transmissão.
O gerenciamento das transferências destes dados é necessário, para que não
haja perda de dados, ou superposição. O microcontrolador é programado para
gerenciar a leitura de cada sensor com um intervalo de tempo estabelecido o qual
pode ser configurado, assim como a temporização que é realizada para mostrar as
medidas no display e para envio e leitura de uma short message. Quando um
determinado
sensor
adquirir
um
sinal
proveniente
do
meio,
cabe
ao
microcontrolador endereçá-lo, para efetuar a leitura serial dos dados gerados,
enquanto os demais continuam em estado de espera, até que seja solicitada uma
nova amostra, então é coletada uma nova amostra do próximo sensor.
Os dois protocolos utilizados pelos sensores para o endereçamento e leitura da
memória dos mesmos, a serem explanados a seguir são: 1- Wire cujo o fabricante
é a Dallas Semicondutor e o I2C, fabricante Texas Instruments.
Deve-se enaltecer que durante o tempo de inatividade do sensor, o
microcontrolador estará perdendo amostras naquele instante, porém o tempo é tão
14
irrisório e as variações climáticas não são bruscas, que não deve ser considerado.
Após a realização da aquisição, os dados são salvos em memória, por meio de um
protocolo de comunicação, que estabelece o tamanho do pacote de acordo com a
resolução de cada sensor, para futura transmissão. Na figura 6, é ilustrado
detalhadamente o estado dos sensores controlados pelo microcontrolador, como
também o endereçamento.
Temporizador
Ocioso
Pluviometro
dados dos sensores
ATmega161
endereçamento dos sensores
Protocolo
1-Wire
Armazenamento
dos dados
Direção e
Velocidade
do Vento
Ocioso
Pressão
Ocioso
Umidade
Relativa
Ocioso
Protocolo
I2C
Temperatura
Figura 6 . Estados dos sensores gerenciados pelo microcontrolador.
RAM
15
3.1.1.1. Endereçamento dos Sensores
O endereçamento dos sensores é fundamental para o controle de aquisição dos
dados, cuja função é habilitá-los para leitura dos dados convertidos de um sinal
analógico para digital, para tanto, é necessário conhecer o protocolo desenvolvido pelo
fabricante. O microcontrolador, é responsável por endereçar cada sensor, portanto,
esta rotina foi implementada utilizando a linguagem C, que continha bibliotecas destes
protocolos o que facilitou no desenvolvimento. Os protocolos pertinentes aos sensores
são:
§
I2C (Interface Compability – 2 Wire)
Consiste em protocolo de transmissão serial, que suporta velocidades
superiores 400KHz. Seu funcionamento é da seguinte maneira, os componentes
da linha I2C, possuem 4 pinos: o SCL, o SDA, o ADD0 e o ADD1. O SCL
(Source Clock), é gerado pelo microcontrolador, conforme o sensor recebe o
sinal de clock, realiza a conversão do sinal analógico para digital, transferindo
estes dados para o pino SDA (Source Data) que está conectado ao
microcontrolador, sendo assim o mesmo realiza a recepção destes dados e
armazena em memória. O dispositivo utiliza duas linhas para a transmissão
serial.
O ADD0 e o ADD1 são responsáveis pelo endereçamento escravo do
barramento serial que compreende 7 bits, este endereçamento é configurado no
próprio hardware, que pode ser realizado da seguinte forma: conectando os
pinos a VCC, flutuante ou terra aleatoriamente, sendo assim, é possível gerar
combinações, possibilitando a conexão de até oito dispositivos em uma rede
com dispositivos I2C. O sensor que utiliza o protocolo é o sensor de temperatura
TMP100.Na figura 7 pode-se observar, a tabela de endereçamento escravo.
Figura 7 . Representação do Endereçamento dos Pinos e o Endereço Escravo no
TMP100.
16
Para realizar a configuração do TMP100 é necessário respeitar uma série
de parâmetros, acompanhando o diagrama de configuração do sensor. O clock é
gerado pelo microcontrolador, e o SDA é inicializado pelo mesmo com um pulso
de reset. Após, é escrito o endereço do Frame 1 Slave Address Byte, que foi
configurado através dos pinos ADD0 e ADD1 descrito na figura 8, o 8º bit R/W é
configurado para 0, pois está sendo realizada uma escrita no TMP100 devido à
configuração, então o mesmo retorna um ACK (acknowledge) para confirmar o
recebimento dos dados. O Frame 2 Pointer Register Byte, é representado na
figura 9, sendo selecionada a opção de configuração do Registrador. O Frame 3
e 4, são responsáveis pela configuração do formato do registrador,
representados na figura 9, onde os parâmetros referenciam-se a resolução,
configuração de alarme e outros. Portanto, para cada byte enviado do
microcontrolador ao TMP100 é enviado um ACK para o microcontrolador, para
confirmar o recebimento dos dados. Para maiores detalhes pode-se visualizar o
próprio datasheet do fabricante.
Figura 8. Diagrama de Tempo para Configuração do TMP100.
Figura 9. Byte de Registro e Configuração do Formato do Registrador.
17
Para ler a temperatura gerada pelo sensor faz-se necessário seguir o
diagrama do Tempo de Leitura seqüencialmente, representado na figura 10.
Portanto, realiza-se a configuração do Slave Address Byte para escrita, isto é,
R/W em 1, o TMP100 envia um ACK e após é configurado o Pointer Register
Byte para Read Only (Somente Leitura) conforme a figura 9, porque trata-se da
leitura da temperatura. Então, segue o pulso de start gerado pelo
microcontrolador, logo após, o Pointer Register Byte é configurado para leitura,
sendo assim o bit R/W é setado para o nível lógico 0, recebendo um ACK do
Tmp100. Então, o TMP100 envia os 8 bits da parte alta da temperatura, e o
microcontrolador envia um ACK informando que foram recebidos, e por
conseqüência recebe os 8 bits da parte baixa, compondo assim a temperatura.
Para finalizar o microcontrolador informa que recebeu os 16 bits com um ACK e
envia um pulso de stop.
Figura 10. Diagrama de Tempo para Leitura da Temperatura do TMP100.
18
§
1 – Wire
O protocolo 1-Wire é totalmente configurável no firmware, isto é, a
programação não é realizada via hardware. O funcionamento consiste em
identificar um dispositivo que utiliza o protocolo na rede, normalmente cada
dispositivo, por exemplo, memória, contador, e conversor A/D, possuem uma
memória ROM com a seguinte estrutura:
- Family Code (código da família): compreende 8 bits e identifica qual é a
família do dispositivo existente na rede, por exemplo, memória;
- Serial Number (número serial): identifica o dispositivo na rede, todos
possuem uma memória ROM (Read Only Memory), cuja identificação é única e
compreende 48 bits;
- CRC Generator: possui um CRC (Check Redundancy Ciclic) de 8 bits, o
qual é muito importante para constatar que o valor lido, isto é, enviado pelo
sensor, é o mesmo que o valor recebido serialmente no microcontrolador, caso
esteja incorreto o barramento mestre, isto é, o microcontrolador gera um pulso
de reset e a leitura é repetida. O CRC foi utilizado durante todo o projeto para
garantir que as informações não estavam truncadas.
Portanto, cada dispositivo possui uma ROM que contém um pacote de
armazenamento de 64 bits contendo os parâmetros citados para a identificação
do dispositivo em rede, onde vários, dispositivos podem ser ligados serialmente.
Os sensores que utilizam este protocolo de comunicação são: Anemômetro,
Pluviômetro, Barômetro e o de Umidade Relativa.
O procedimento para ler os valores digitais de um dispositivo 1-Wire,
consiste em basicamente, endereçar o dispositivo, chamar as funções
intrínsecas do mesmo, por exemplo, função convert caso o dispositivo seja um
conversor digital ou simplesmente ler a memória ser for um contador; após é
necessário checar se os bits lidos estão corretos através do CRC e salvar estes
valores na memória do microcontrolador.
Os comandos para acesso a Memória ROM, são utilizados para
identificação dos dispositivos, são eles: Read ROM (permite ao microcontrolador
indentificar o Family Code, Serial Number e CRC de cada dispositivo presente
na rede), Match ROM (permite ao microcontrolador endereçar um único
dispositivo na rede), Skip ROM (o microcontrolador acessa as funções de
memória dos dispositivos sem prover o 48 bits do Serial Number), Search ROM
19
(o microcontrolador é capaz de contar o número de dispositivos em uma rede).
A figura 11 representa a estrutura hierárquica do Protocolo 1-Wire.
Figura 11. Estrutura Hierárquica do Protocolo de Comunicação 1-Wire.
Para acesso a memória, onde está armazenado os dados aquisicionados
e para a conversão do sinal analógico (no caso do conversor A/D); é utilizado
comandos próprios do protocolo 1-Wire: Read Memory (leitura da memória),
Write Memory (Escrita na Memória), Convert (Conversão do sinal analógico para
digital), sendo assim, após a manipulação dos dados, estes são armazenados
na memória do microcontrolador para transmissão futura. Na figura 12, é
ilustrada a estrutura de identificação presente na memória ROM de um
dispositivo do protocolo de comunicação 1-Wire.
Figura 12. Representação da Memória ROM
20
3.1.1.2. Protocolo de Comunicação e Codificação dos Dados
A codificação para uma amostra de 2 bytes, por exemplo, temperatura que
possui uma resolução de 12 bits, é realizada da seguinte maneira: soma-se os
primeiros 6 bits mais significativos com 32 em decimal, isto se faz necessário para
obter a representação do caracter em ASCII para encapsulamento do pacote no SMS,
ou seja, um caracter imprimível; o mesmo processo é realizado para a parte menos
significativa. Após desloca-se 8 bits da parte alta, somando com a parte baixa, sendo
assim, obtêm-se 2 bytes. A codificação pode ser representada abaixo.
unsigned int codifica(unsigned int dado) // codifica valor de 12 bits para
dois caracteres imprimiveis
{
char high,low;
low=(dado&0x3F)+32;
high=((dado>>6)&0x3F)+32;
return ((unsigned int)high<<8)+(low);
}
O protocolo de comunicação é de 144 bytes, pois é limitado ao tamanho de uma
short message (SMS). Portanto, para que os dados aquisicionados dos sensores sejam
encapsulados no pacote SMS, é necessário realizar a codificação (transformar os bits
de acordo com cada resolução em caracteres imprimíveis), eliminando a possibilidade
que caracteres intrínsecos da própria mensagem sejam apresentados como valores de
amostras, aumentando a segurança na transmissão. A decodificação é realizada no
receptor, ou seja, pelo software gerenciador. A figura 13 representa o Protocolo de
Comunicação.
Figura 13 . Representação do Protocolo de Comunicação.
1
2
11
Hora
(1 Byte)
Minuto
(1 Byte)
Temperatura
(2 Bytes)
.
.
Umidade
Relativa
(2 Bytes)
.
.
Velocidade
do Vento
(2 Byte)
.
.
Precipitação
(2 Bytes)
Direção do
Vento
(1 Byte)
.
.
Cada amostra é representada por 11 bytes, sendo possível realizar 11
aquisições, totalizando 121 bytes.
21
3.1.1.3.
Temporização da Aquisição
O tempo de aquisição é configurado através do software gerenciador da estação
meteorológica, quando alterado é enviada uma mensagem instantânea para o
microcontrolador serialmente através do modem. O microcontrolador possui rotinas que
temporizam leitura, caso encontre uma mensagem, realiza a alteração do tempo de
aquisição das amostras.
O tempo de aquisição das amostras também é temporizado de acordo com a
configuração, assim como envio de mensagens do pacote SMS, rotinas do display e do
relógio.
As temporizações que podem ser previamente configuráveis via software de
gerenciamento são:
§
Tempo de 5 minutos: 27 segundos para cada amostra;
§
Tempo de 15 minutos: 82 segundos para cada amostra;
§
Tempo de 30 minutos: 164 segundos para cada amostra;
§
Tempo de 60 minutos: 327 segundos para cada amostra;
Os tempos de aquisição citados acima levam em consideração o número de
amostras igual a 11.
Para a implementação das rotinas de temporização, na aquisição de amostras,
leitura e envio de SMS, rotinas do display programadas no firmware, utilizaram um
fluxograma para execução seqüencial das rotinas. Abaixo segue o fluxograma das
rotinas básicas programadas no firmware. Os erros gerados pelo módulo na execução
de comandos AT, serão descritos em mais detalhes no fluxograma de envio e
recebimento de SMS.
22
Fluxograma das Rotinas Básicas Programas no Firmware
inicio
Estação
Meterológica
Re-inicializando
delay 5 seg.
//Módulo
desconectado
, desligue
para conectar.
Erro:
ATE0
Inicializa Modem( )
delay 5 seg .
Aquisições( )
//11
amostras
tempo de
aquisição
Erro:
Nenhuma
Mensagem
Lê SMS( )
Tempo
Aquisição: ##
minutos
Temperatura :
#.## ºC
//Altera o tempo de
aquisição, realiza
verificação a cada 10 s.
Data : ##/##/##
Hora: ##:##
S
Se
S
pressionou b2
//Seleciona
o dia, ano...
N
Data : ??/##/##
Hora: ##:##
Se
pressionou b1
//incremento
data, sucessivo..
Amostra: ##
Precipitação:
#####.## mm
//Tempo de aquisição default para
aquisicionar uma amostra é de 27 seg.
Velocidade do
Vento: ###.## m/s
N
Se
Amostras=11
S
Escreve SMS( )
Erro:
Mensagem
Enviada com
Sucesso
//enviando o
pacote SMS
Erro: Ao
enviar
mensagens
N
23
3.1.1.4. O Microcontrolador ATmega161
O microcontrolador ATmega161 será responsável pelos seguintes processos:
a) aquisição de dados através dos sensores;
b) temporização dos sensores para coletar amostras em intervalos
diferentes;
c) armazenamento destes dados em memória;
d) transmissão de dados através da interface serial que habilitará o modem
pelos comandos AT.
Portanto, a velocidade da transmissão será contada a partir do momento da
transmissão serialmente para o modem, ou seja, por mais que a velocidade de
transmissão alcance 144 Kbytes, ficará limitada às características da transmissão
serial, que por sinal é inferior. As principais características do microcontrolador
ATmega161 são:
§
Alto desempenho, Baixo consumo AVR 8 bits de resolução;
§
Arquitetura RISC
- 130 Instruções Powerfull;
- 32x8 Registradores;
- Acima de 8 MIPS Taxa de Dados de 8 MHz;
§
Programa e Memória de Dados
- 16k Bytes de Memória Flash;
- 512 Bytes EEPROM;
- 1K Byte de Memória SRAM;
§
2 Timers/Counters de 8 bits;
§
Duas saídas Seriais Programáveis (UARTS);
§
Contador de tempo real com oscilador em separado;
§
Watchdog programável com oscilador separado;
O ATmega161 é um microcontrolador CMOS de 8-bits baseado na arquitetura
RISC AVR. As instruções são executadas em único ciclo de clock, possui uma taxa de
dados de aproximadamente 1 MIPS por MHz, permitindo a otimização do consumo de
energia versus a velocidade do processamento. Na figura 14 é apresentado o diagrama
em blocos da arquitetura do microcontrolador ATmega161.
24
Figura 14 . Diagrama em Blocos da Arquitetura do Microcontrolador ATmega161.
25
3.1.1.4.1. Funções Básicas do Microcontrolador ATMEGA161
O AVR core combina um grande conjunto de instruções com 32 registradores
gerais. Todos os 32 registradores são diretamente conectados a Unidade Lógica
Aritmética (ALU), permitindo dois independentes serem acessados em uma única
instrução em um ciclo de clock. Portanto, o resultado é um código mais eficiente,
alcançando velocidade na taxa de dados acima de 10 vezes mais rápidas que uma
arquitetura de um microcontrolador CISC convencional.
A descrição dos Pinos são as seguintes:
§
VCC: Alimentação Digital;
§
GND: Ground;
§
Port A (PA7..PA0): A porta A é representada por I/O 8 bits bi-direcional com
resistores internos pull-up (selecionados por cada bit). Possui buffers de saída
onde a corrente pode chegar a 20mA, podendo ser ligadas diretamente ao
display. Quando PA7 a PA0 são utilizadas com entradas então os resistores pullup internos são ativados. A porta A fica em estado de tri-state quando a
condição de reseta é ativa. Pode ser utilizado com multiplexador de dados
quando utilizado uma memória externa.
§
Port B, D e E (PB7..PB0): A porta B é representada por I/O 8 bits bi-direcional
com resistores internos pull-up (selecionados por cada bit). Possui buffers de
saída onde a corrente pode chegar a 20mA. Quando PB7 a PB0 são utilizadas
com entradas então os resistores pull-up internos são ativados. A porta B fica
em estado de tri-state quando a condição de reseta é ativa
§
Porta C (PC5...PC0): A porta C é representada por I/O 8 bits bi-direcional com
resistores internos pull-up (selecionados por cada bit). Possui buffers de saída
onde a corrente pode chegar a 20mA. Quando PC7 a PC0 são utilizadas com
entradas então os resistores pull-up internos são ativados. A porta C fica em
estado de tri-state quando a condição de reseta é ativa. A principal característica
é endereçar uma memória externa.
§
/RESET: Entrada de reset. Um nível baixo neste pino for maior que o tamanho
mínimo do pulso será gerado um reset, se o clock não esta rodando. Os pulso
menores são garantidos para gerar um reset.
O diagrama esquemático do microcontrolador ATmega161 é apresentado na
figura 15.
26
U6
5
1
2
3
4
5
5V
1
5V
1,5K
5V
7
ADC
Serial
10K
SW2
SW3
5V
100n
Sensores
I2C
2
U1
1
2
3
4
5
6
10kohm
9
10
11
12
13
14
15
5V
16
17
22pF
11
10
Wavecom
1
3
4
5
2
6
1uF
1uF
10uF
R1IN
R2IN
R1OUT
R2OUT
T1IN
T2IN
T1OUT
T2OUT
12
9
8Mhz
U4
13
8
14
7
22pF
18
19
20
(WR) PD6
(RD) PD7
PC7 (A15)
PC6 (A14)
PC5 (A13)
PC4 (A12)
PC3 (A11)
PC2 (A10)
PC1 (A9)
PC0 (A8)
XTAL2
XTAL1
GND
CS
Output
Alert
SCL
SDA
GND ADD0
ADD1
V+
6
5
Input AD0
4
5V
0.1uF
TMP100
31
30
29
28
27
26
25
24
23
22
21
C1+
C1C2+
C2V+
V-
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
GND
VCC
VO
RS
R/W
E
DB0
DB1
DB2
DB3
DB4
DB5
DB6
DB7
LEDA
LEDK
Display LCD
5V
100uF
1N4007
VI
GND
LM7805
1
2
SW1
3
2
1
3
I2C
U1
5V
ATMEGA161
5V
12V
VCC
(AD0)
(AD1)
(AD2)
(AD3)
(AD4)
(AD5)
(AD6)
(AD7)
RESET
(RXD0) PD0
(TXD0) PD1
(INT0) PD2
PE0 (ICP/INT2)
(INT1) PD3
PE1 (ALE)
(TOSC1) PD4
PE2 (OC1B)
(OC1A/TOSC2) PD5
MAX232
10uF
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
VO
3
100uF
5V
(OC0/TO) PB0
(OC2/T1) PB1
(RXD1/AIN0) PB2
(TXD1/AIN1) PB3
(SS) PB4
(MOSI) PB5
(MISO) PB6
(SCK) PB7
40
39
38
37
36
35
34
33
32
10K
5V
1
2
3
4
5
7
8
9
CLK
5V
1
1
2
3
4
5
6
7
8
6
CH0
CH1
5V
1,5K
ISP
D0
TLC0832C
1,5K
1
2
3
4
5
DI
10K
5V
2
3
Figura 15. Diagrama Esquemático do circuito da Estação Meteorológica.
27
3.1.2. Os Sensores Meteorológicos
Os Sensores Meteorológicos realizam aquisições das condições do ambiente, na
verdade atuam como transdutores pois, transformam uma energia mecânica (pressão,
velocidade) em energia elétrica. A principal característica é converter um sinal
analógico extraído do meio para um sinal digital. Porém, são necessários alguns
cuidados:
§
condicionamento do sinal (ganho), sendo muitas vezes necessário utilizar
amplificadores de ganho elevado como o de instrumentação para análise;
§
tratamento do sinal: podem ser utilizados filtros digitais ou analógicos, que o
torna imune a ruídos que são inerentes do meio. A descrição detalhada de
cada sensor da estação meteorológica será citada abaixo, como também sua
função.
3.1.2.1.O Pluviômetro (Sensor de Índice de Precipitação Pluvial)
O pluviômetro mede índice de precipitação pluvial, ou seja, a quantidade de chuva
em determinado instante, normalmente é medido em milímetros ou polegadas através
de um dreno com tamanho aproximado de 0,2 mm ou 0,1“, onde a cada passagem de
gotas é acionado uma chave magnética incrementando o contador, e armazenando em
memória. Atualmente existe vários sensores no mercado, porém foi avaliado os
recursos adicionais apresentado pela linha 1-Wire da Dallas Semicondutor fabricante
de sensores destinados a fim meteorológicos, o pluviômetro 1-Wire Rain Gauge, utiliza
uma chip chamado DS2423 que possui 3 contadores e memória RAM, e transmissão e
recepção de dados serialmente. As principais características são:
§
Bateria de Lítio de 3V para manter o contador e a RAM;
§
Contador e Memória RAM;
§
Chave analógica magnética;
§
Ciclo de tempo 1,5 milisegundos;
§
Interface Rs-232;
O módulo contador DS2423 incluso no sensor 1-Wire Rain Gauge, possui
algumas características técnicas:
§
a contagem é realizada através de uma chave analógica;
28
§
não necessita alimentação externa;
§
32 bits de leitura de contagens;
§
Capacidade de armazenamento de 512 bytes, compondo 14 páginas;
§
Bateria de lítio;
§
Endereçamento de 64 bits;
O acionamento da chave gera um incremento de 32 bits. A memória de 512 bytes é
organizada por 16 paginas de 32 bytes.
Quatro destas páginas têm 32 bytes associado. Os contadores para página 14 e 15
são incrementados com cada fechamento da chave. Os contadores associam as
paginas 12 e 13 para salvar os incrementos tempo. Abaixo a figura 10 apresenta a
estrutura mecânica do pluviômetro.
Figura 16. Estrutura Mecânica do Pluviômetro
O padrão do mecanismo bucket para o pluviômetro para operar na rede 1-Wire,
possui o papel de gerar uma simples contagem através dos acionamentos da chave
magnética, armazenando-as no contador DS2423. Enquanto o contador funciona, há
29
alimentação de cargas parasitas de CR1 BAT545 e C1, a bateria de lítio permite
manter o funcionamento para o pluviômetro em modo stand alone. A baixa energia
requer um chip que permita acima de 10 anos de sobrevida.
Quando conectado a rede 1-Wire, o circuito trabalha da seguinte maneira. Na
posição ociosa para o barramento a alimentação é de 5V, alimentada através de um
resitor pull-up equivalente de 1,5K• do barramento mestre (microcontrolador). Isto
encaminha as correntes do diodo Shottky CRS BAT545 e carrega o capacitor C1 para
aproximadamente 5V, alimentando o contador DS2423.
Sempre que inclinado o bucket é esvaziado, isto ativa a chave magnética,
causando o fechamento momentâneo e acionando a entrada do contador para o nível
lógico alto. Quando a chave abre novamente, o pull-down resistor R1 retorna a entrada
para nível lógica baixo. O contador mantém o total de transmissões do barramento de
dados mestre.
Desde que o contador DS2423 não tenha sido resetado, a configuração do
pluviômetro pode ser resetada manualmente ou via software. O contador, contudo,
pode ser resetado enquanto a alimentação é removida por um determinado instante de
tempo, então se está em off o C1e a bateria de backup deve ser adicionada. O diodo
Shottky CR1a BAT545 protege o circuito da tensão excessiva, o DS2407 contem 1K
de EPROM para armazenamento do programa especifico para o pluviômetro.
O pluviômetro é calibrado para permitir que 16 mm de gotas água escorram
lentamente através do lid over no período de 1 hora. Isto deve resultar em cada
despejamento do bucket em 50 vezes para cada leitura de 1.00 polegada de chuva.
Isto significa duas calibrações devem ser ajustadas para 0,16 mm de água causando o
despejamento da bucket. Devido à resposta do tempo em que é limpo a bucket, é
necessário calibrar a unidade rapidamente a uma taxa em que possa ler altas
precipitações pluviais.
O resistor pull-down R1 no DS2423 possui a responsabilidade de incrementar a
capacidade de rejeição a ruídos. Um canal FET pode ser conectado em série ao
resistor, com o ponto da porta A e o GND. Normalmente R1 baixa a porta e mantém o
transistor em estado de corte, mas quando inclinado bucket, a chave magnética é
fechada, elevando o transistor para a saturação.
Na figura 17 é apresentado o diagrama esquemático do sensor de precipitação
pluvial, conforme foi detalhado acima.
30
DATA
Ch1
U1
CR1b BAT545
U1
2
2
CR1a BAT545
DS2423 5
3
6
CR2 BAT545
3V BAT
C1
0.1uF
1Mohm
1
DS2407 3
6
GND
Figura 17. Diagrama esquemático do Sensor de Índice de Precipitação Pluvial
3.1.2.2.O Barômetro (Sensor de Pressão)
Os barômetros são sensores responsáveis pela medição da pressão atmosférica,
trabalham de acordo com o princípio piezométrico, e construído com um filme resistor
depositado em um fatia de silício para formar uma ponte; conforme a pressão se altera,
a fatia será deformada e, conseqüentemente mudará a resistência do sistema. Os
principais requisitos são:
§
Medir pressão do ambiente em uma faixa de 300 à 1100 mbar;
§
Compensação de Temperatura;
§
Interface Rs-232;
§
Memória RAM(para armazenar dados da temperatura e pressão);
O sensor que mensura pressão e temperatura que possui todas os requisitos acima
é o TAI8570 da Dallas, as principais características são:
§
Mensura pressão em uma faixa de 300 à 1100 mbar;
§
16 bits de resolução (conversão analógica para digital);
§
Sensor de Temperatura incluso;
§
Não necessita de fonte externa;
§
Tecnologia baseada em 1-Wire (conversor Ds2406);
§
Permite endereçar múltiplos sensores em uma rede;
31
A possibilidade de incluir vários sensores da linha 1-Wire é um dos principais
benefícios, o que permite endereçar o sensor que deseja realizar aquisição dos dados,
outro fator importante é ausência de alimentação externa, pois é obtida diretamente da
rede 1-Wire (serialmente).
Figura 18. Configuração da rede 1-Wire
A TAI8570 1-Wire é módulo inteiramente integrado que permite medir pressão
em uma rede 1-Wire. A unidade pode ser identificada e endereçada pelo DS2406 com
64 bits do número serial. O DS2406 é usado para escrever ao sensor, possui Vcc
vinculado a 5V para o PIOA (entrada A) conectado a CLK (clock), e o PIOB para a
entrada de dados do sensor MS5534A. O DS2406 é usado para ler a informação do
sensor que possui o pino de Vcc conectado ao terminal de terra, o pino PIOA para o
pino do SCLK e o PIOB para pino DOUT do sensor.
Na figura 19 é apresentado o diagrama esquemático do sensor de pressão do
módulo TAI8570 da Dallas Semicondutor.
Vcc_OWA
Módulo TAI8570
U1
3V
3V
3V
.
V+
V-
OUT
SCLK
IN
100Kohm
C1
0.1uF
100Kohm
D4
U1
.
U1
MS5534A
. TPS-77033.
100Kohm
D4
2
3
74HCU04 .
.
5V
D4
U1
PB
D4
PA
PB
PA
U1
DS2406
I/O
DS2406
I/O
OWIO
Figura 19. Diagrama esquemática do Barômetro (Sensor de Pressão)
Y2
32KHz
32
3.1.2.3.Sensor de Temperatura
Os sensores de temperatura ou termômetros são responsáveis por mensurar a
grandeza física de calor existente em um meio. Os transdutores mais populares são os
resistivos e o termoelétrico, cujo princípio de funcionamento do resistivo é baseado na
variação de resistência de condutores elétricos com a temperatura, e o transdutor
termoelétrico apresentam uma diferença de potencial entre dois metais condutores em
função da temperatura. Os principais requisitos para sensor de temperatura são:
§
Temperatura de -20 ºC à 50 ºC;
§
Resolução abaixo de 1ºC;
§
8 bits de resolução;
§
Interface Rs-232;
O sensor analisado que corresponde os requisitos é Tmp100 da Texas Instruments
principais características são:
§
Saída Digital: I2C Serial 2-Wire;
§
Resolução: 9 à 12 Bits, Selecionável pelo Usuário.
§
Faixa: +- 2.0ºC de -25ºC à +85ºC;
§
Alimentação: 2,7 V à 5,5 V
O diagrama em blocos do sensor de temperatura Tmp100 é apresentado através da
figura 14:
Figura 20. Diagrama em blocos do Sensor de Temperatura Tmp100.
33
3.1.2.3.1.Descrição do Sensor de Temperatura Tmp100
O TMP100 são sensores de temperatura digital para gerenciamento de
temperatura e para aplicações de proteções térmicas. O TMP100 possui interface I 2C e
Interface SMBus compatíveis e especificados para uma faixa de temperatura que varia
de -55ºC à +125ºC.
O TMP100 não necessita de componentes externos para operar exceto de um
resistor pull-up em SCL, SDA, e Alert, através de um bypass capacitor de 0.1µF,
conforme o diagrama na figura 15.
U1
I2C
1
2
Output
Alert
3
SCL
SDA
GND ADD0
ADD1
V+
6
5
I2C
Input AD0
4
C1
TMP100
0.1uF
5V
Figura 21. Diagrama Esquemático do Sensor de Temperatura TMP100.
3.1.2.3.2.Registrador de Temperatura
O registro de temperatura do TMP100 é um registrador de 12-bits, qual
armazena a saída da mais recente conversão. Dois bytes devem ser lidos para obter
dados são descritos nas tabelas abaixo. Os primeiros 12 bits são usados para indicar a
temperatura, sendo que os bits restantes são iguais a zero. Seguindo o power-up ou
reset o registrador de temperatura lerá 0ºC até que a primeira conversão seja
completada.
Figura 22. Byte 1 do Registrador de Temperatura
Figura 23. Byte 2 do Registrador de Temperatura.
34
A temperatura lida é composta de 12 bits sendo sua conversão representada
através da figura 24.
Figura 24 . Formatação de Dados da Temperatura
3.1.2.4.Sensor de Umidade Relativa
A umidade relativa do ar é totalmente dependente da temperatura no instante, e
pode ser mensurada através da diferença de temperatura entre o bulbo seco e o bulbo
úmido. Então é realizada a compensação de temperatura, onde a umidade é expressa
em porcentagem.
A saída do sensor é um sinal analógico proporcional à tensão de alimentação,
conseqüentemente para conversão da umidade relativa, utiliza-se à tensão de
alimentação e a tensão gerada pelo sensor, que pode ser demonstrada de acordo com
a fórmula da umidade relativa (RH – Relative Humidity):
SensorRh = (Vout / V sup ply ) − 0,16 / 0,0062
TrueRH = sensorRh / 1,0546 − 0,00216T
Figura 25. Ilustração do Sensor de Umidade Relativa HIH-3610.
35
Os requisitos necessários para o sensor de umidade relativa são:
§
Faixa de porcentagem de umidade relativa de 5% à 100% ;
§
Tensão de Alimentação de 5V;
§
Faixa de Temperatura de -20º C à 50ºC;
§
Resolução de 1%;
O sensor de umidade que atende todos os requisitos acima e possuir uma série
de outros recursos como conversor para digital e compensação de temperatura é o
TAI8540 que possui um sensor de umidade relativa o HIH3610 e o DS2438
(compensa temperatura e converte para digital). As principais características do
sensor TAI8540 são:
§
Faixa de temperatura de-40ºC à 85ºC;
§
Resolução de conversor para digital de 16 bits;
§
Interface Rs-232;
§
Faixa de porcentagem de umidade relativa de %2 à 100% RH;
§
Tensão de Alimentação: 4 à 5,8 V;
§
Tempo de Resposta: 15 segundos cada a temperatura do ar move lentamente
par a 25ºC;
§
Linearidade: ~0,5% RH
Através das fórmulas podemos chegar à umidade relativa, onde há uma
compensação da temperatura. O gráfico na figura 26 mostra a porcentagem de
umidade relativa (RH), gerada pela tensão de saída e pela temperatura.
Figura 26. Tensão de saída versus temperatura em 0º C, 25ºC e 85ºC.
36
No circuito o capacitor C1 e os diodos Schottky no CR1 forma a meia-onda
retificada que provê alimentação para ambos os sensores e para a bateria.
Esta é uma implementação discreta de cargas parasitas usadas internamente
dos dispositivos 1-Wire, que provê alimentação própria. O diodo de Shottky permanece
em série com o barramento de dados e o GND o que provê proteção ao circuito
segurando o sinal abaixo de aproximadamente 0,4V. Abaixo o barramento mestre
(microcontrolador) controla U1, o DS2438 monitora a tensão disponível para U2, o
sensor de umidade, e o próprio Vdd (pino 5). Ele então mede a saída de U2’s através
da entrada analógica pino 4. Finalmente, o DS2438 reporta a temperatura em ºC para a
conversão interna de 12 bits. O software utiliza então estes dados para computar e
amostrar graficamente a verdadeira umidade relativa. A figura 27 apresenta o diagrama
esquemático do Sensor de Umidade Relativa da linha Dallas Semicondutor.
Data
R1
.
2
3
GND
HIH-3605-A
1
5
8
8
U1
Vdd.
D0
2
U2
4
Vod
V+
V-
100Kohm
C2 DS2438
0.1uF
2
3
GND
CR1 BAT545
1
C1
0.1uF
1
3
Vdd
2
GND
Figura 27. Diagrama Esquemática do Sensor de Umidade Relativa.
3.1.2.5.Sensor de Velocidade e Direção do Vento
O sensor de velocidade do vento pode ser mensurado através do número de
rotações do rotor, ou seja, é transformado de rpm (rotações por minuto) para km/h. A
sua construção é baseada em dois imãs montados em um rotor junto ao eixo do Wind
cup’s. Os imãs operam com uma chave magnética conectada ao um contador que
provê a saída serial, os mesmos estão montados em buracos externos do rotor, onde
cada rotação provê duas contagens, o que permite contar até as velocidade mais
baixas. Os principais requisitos para o sensor de velocidade do vento são:
§
Permitir velocidades altas acima de 100 Km/h;
Contador e Memória RAM para armazenamento;
37
Através dos requisitos analisados foi escolhido o modelo da linha 1-Wire da
Dallas que utiliza o contador e memória RAM de 4Kbits
O sensor de direção do vento é construído com chaves magnéticas que são
ativadas conforme a direção do vento, não necessita de energia elétricas para poderem
operar, porque não são dependentes de nenhuma taxa, podendo assim medir em
condições estáticas. O sinal não necessita ser condicionado, sendo que possui uma
alta impedância quando aberta e uma impedância desprezível quando fechada.Os
requisitos são:
§
Apresentar a orientação das direções: Norte, Sul, Leste, Oeste, Nordeste,
Sudeste, Sudoeste, Noroeste;
§
Interface Rs-232;
O sensor que atende os requisitos é da linha 1-Wire da Dallas Semicondutor, possui
um chip DS2401 para comunicação serial e um chip DS2407 (duas chaves), que
consiste em oito chaves montadas radialmente em um intervalo de 22,5º, cada chave e
conectada entre a linha de dados e o DS2401 que provê o número serial quando umas
das chaves se fecham. A chave magnética do DS2407 é fixada ao eixo do cata-vento.
Portanto, sendo o DS2401 conectado ao barramento (se DS2407 for endereçado a
chave é fechada), então o barramento mestre pode ler o número serial, isto é, este
número identifica qual chave foi fechada, ou seja, qual ponto da bússola representa.
Por motivo de confiabilidade o barramento mestre pode ler a direção do vento somente
quando o interruptor endereçado está fechado[2].O rotor é projetado de forma que o
layout possa ler a velocidade e direção do vento com é mostrada no diagrama
esquemático na figura 29.
38
Figura 28.Ilustração do Sensor de Velocidade e Direção do Vento
DATA
2
2
DS2401
NW
DS2401
1
DS2401
W
1
2
SW
1
DS2401
1
DS2401
2
2
S
1
2
SE
2
1
DS2401
1
DS2401
1
DS2401
E
2
NE
2
N
D4
DS2423
2
1
2
DS9467
DS1820
6
C1
0.1uF
1
1
Bat
Win Speed
GND
Figura 29. Diagrama Esquemático do Sensor de Velocidade e Direção do Vento.
39
3.1.3. Módulo de Transmissão e Recebimento de SMS
A transmissão de dados é realizada através dos dados enviados serialmente
pelo microcontrolador para o módulo SMS, a velocidade pode atingir 144 Kpbs,
utilizando a tecnologia GSM considerado segunda geração.
Ao iniciar a transmissão o microcontrolador gerenciará a separação dos pacotes
salvos em memória de acordo com as amostras coletadas em cada sensor, e habilitará
o modem através de comandos AT (Application Programming Interfaces), ou seja,
enviará comandos para habilitar as linhas de saída e entrada de dados para certas
funções como (Open/Close flow, Send/Receive Data), fornece também acesso às
funções de gestor de controle de fluxo (Flow Control Manager), que permite acesso à
interface RS232, após será enviado via interface serial um pacote com formato SMS
contendo amostras a serem transmitidas, que conterá no máximo 144 caracteres.
Contudo, quando o modem instalado ao microcomputador receber este pacote
SMS, este também estará habilitado através dos comandos AT para realizar a
recepção, ou seja, ler o SMS, então removerá do pacote encapsulado a mensagem e
armazenará em um registro de eventos, através dos comandos de recepção de dados
da interface RS232, conforme será apresentado no fluxograma. O arquivo de eventos
será utilizado para armazenar e gerenciar informações no site. O diagrama em blocos
da figura 30, apresenta a transmissão e recepção do pacote SMS.
ATmega161
Habilitação por
Comandos AT
Transmissão dos
Pacote SMS
Decodificação
Armazenamento no
banco de dados
Codificação e
armazenamento
dos dados
RAM
Figura 30. Diagrama em Blocos da Transmissão SMS.
O microcontrolador será responsável por todo processo de aquisição e
transmissão de dados via interface serial e armazenamento dos dados aquisicionados
40
em memória, isto é, os requisitos de hardware ficarão limitados às suas características.
Porém, a transmissão ao modem do pacote SMS, será limitada pela velocidade de
transmissão do pacote através do microcontrolador serialmente.
3.1.3.1. Fluxograma para Envio e Recebimento de Mensagens SMS por Comandos AT
Para o envio, recebimento de mensagens SMS e rotinas utilizadas no
microcontrolador e no software de gerenciamento houve a necessidade de criar um
fluxograma, portanto observou-se a eficácia nos resultados através dos comandos
executados.
Os comandos listados nos fluxogramas de envio e recebimento de mensagens
instantâneas, são utilizados por telefones celulares comuns, sendo assim, através dos
comandos AT é possível realizar todos serviços de telefonia móvel, tais como: envio de
SMS, chamadas, acertar data/hora, carregar créditos e outros. Os comandos AT
utilizados foram:
§
AT+ECHO: comando para realizar a habilitação do eco, na programação
foi desabilitado para evitar que a serial receba o comando novamente,
evitando “lixo” no buffer responsável por gerenciar os erros;
§
AT+CMEE: habilita resposta de erros;
§
AT+CPIN: habilita o Card Personal Identification Number (identificação do
cartão do celular);
§
AT+CNMI: utilizado para habilitar serviços padrão de telefonia;
§
AT+CSMP: é utilizado para determinar o tempo de vida de uma
mensagem;
§
AT+CMGF: configura o módulo para Modo Texto ou PDU, na
implementação foi utilizado o modo texto.
§
AT+CMGS: comando necessário para enviar a mensagem, os parâmetros
necessários são o telefone destinatário e o texto que será enviado.
§
AT+CMGR: comando que realiza a leitura do SMS, parâmetro necessário
o número da mensagem.
§
AT+CMGL: Lista as mensagens existentes no buffer, parâmetros
utilizados, exemplo, mensagens lidas, não lidas, enviadas, e etc.
41
Fluxograma para Envio de Mensagens SMS por Comandos AT
AT+ECHO=0
AT+CMEE=1
ERROR
CME ERROR:16
OK
SIM NÃO FOI
INSERIDO
AT+CPIN?
+CPIN:SIMPIN
AT+CPIN=1010
+CME ERROR:10
+CPIN:READY
Inicialização
do Modem
AT+CNMI=0,1,1,
1,0
AT+CSMP=17,1
69,0,0
AT+CMGF=1
ERROR
AT+CMGS=
“+tel”<CR>”dado
s”<crtl-z>
+CMGS:
<mr>
ERRO
(CARREGAR
CRÉDITOS)
42
Fluxograma para Recebimento de Mensagens SMS por Comandos AT
AT+ECHO=0
AT+CMEE=1
ERROR
CME ERROR:16
OK
+CME ERROR:10
SIM NÃO FOI
INSERIDO
AT+CPIN?
+CPIN:SIMPIN
AT+CPIN=1010
+CPIN:READY
AT+CMGF=1
+CMS ERROR:322
AT+CMGL=
“REC UNREAD”
Cont_mes=0
ok
AT+CMGR=
Cont_mes
Cont_mes++
+CMS ERROR:321
AT+CMGD=
Cont_mes
Cont_mes=0
No Anexo 2, há detalhes dos erros gerados e comandos AT adicionais.
43
A transmissão por SMS, possui velocidade alta por se tratar de comunicação
sem fio (wireless). No mercado existem duas tecnologias a GPRS (General Packet
Radio Service) utilizada nas redes GSM, que teoricamente pode ir até 128Kbps,
mas na prática a maioria dos equipamentos com suporte a GPRS alcançam
velocidades entre 30 e 50Kbps, e a 1xRTT (1xRadio Transmission Technology)
utilizadas nas redes CDMA pode alcançar velocidades de acesso de 144 a
2048Kbps, porém na prática
alcança-se entre 90 e 110Kbps. Analisando a
confiabilidade é velocidade de transmissão, foram analisados aparelhos de
comunicação móvel da tecnologia 1xRTT e GPRS. Os aparelhos existentes no
mercado para tal finalidade são:
§
GTran Cartão PCMCIA, as principais características são:
•
Cartão modem 1XRTT sem fio, compatível com a tecnologia CDMA -
Compatível com a maioria dos laptops e PDAs que utilizam Windows, 98 SE,
2000, ME, NT4.0 (Service Pack 5 ou superior), CE3.0, XP, Pocket PC 2002 e
HPC 2000;
• Conexão em alta velocidade transmite dados com velocidade de até
153Kbps;
• Transmissão e recepção de SMS (Short Message Service);
• Pode ser usado em aplicativos para transação em tempo real;
• Antena flexível;
Figura 31. Cartão PCMCIA GTran Wireless
§
Modelo DTSS – 800 (Fabricante Anydata), as principais características são:
•
Tecnologia CDMA 2000 1xRTT;
•
Interface padrão RS232;
•
Transmissão de dados acima 153 Kbps;
•
Controlado remotamente por comandos AT ;
•
Interface LCD/Keypad;
•
Suporte ao Circuito Data/Fax;
44
•
Construído o protocolo TCP/IP;
•
Transmissão e Recepção SMS;
•
Aumento da variação através da taxa de codificação (EVRC);
•
Características de telemetria;
Figura 32. Modem DTSS-800(Tecnologia CDMA 1xRTT)
Dentre os dois modems wireless pesquisados, foram verificados diversos
parâmetros, principalmente a existência de uma interface RS232, e o controle por
comandos AT.
A seguir será apresentada detalhadamente a característica do modem
WaveCom que foi utilizado para a transmissão de mensagens instantâneas, devido a
facilidade do envio de mensagens em modo texto.
3.1.3.2.Modem GSM WaveCom
O modem WaveCom GSM possui dupla banda (900 MHz e 1800 MHz. Pode
funcionar em telefonia, voicemail, envia e recepciona SMS, fax grupo 3, transmissão de
dados digitais e outras funcionalidades, sem necessidade de nenhum hardware
adicional. Outras características que são importantes citar são:
•
Tamanho: 58.3 x 32.2 x 6.0 mm;
•
Potencia: 2 Watts EGSM seção de radio abaixo de 3.6 Volts;
•
1 Watt GSM1800/GSM1900;
•
Seção digital abaixo de 2.8 Volts;
•
3V SIM Interface;
•
Relógio em Tempo Real com calendário;
45
•
Bateria;
•
Cancelamento de Eco e redução de ruído;
•
Full GSM ou GSM/GPRS;
•
Interface Serial;
•
SIM card;
3.1.3.2.1.Funcionalidades RF (Radiofreqüência)
As funcionalidades RF compreendem a fase II EGSM900/GSM1800 ou a
recomendação GSM1900. As freqüências disponíveis são:
§
Rx (EGSM 900): 925 à 960 MHz
§
Tx (EGSM 900): 880 à 915 MHz
§
Rx (GSM 1800): 1805 à 1880 MHz
§
Tx (GSM 1800): 1710 à 1785 MHz
§
Rx (GSM 1900): 1930 à 1990 MHz
§
Tx (GMS 1900): 1850 à 1910 MHz
A RF é baseada em uma especifica dual band inclui:
§
2 down-converters dedicados;
§
1 FI demodulador;
§
1 VCO;
§
Transmite loop (modulador, down mixer, fase das freqüências, comparador).
§
2 amplificadores.
3.1.3.2.2.Firmware
WISMO Quick Q2300 series é designado para integrar internamente vários tipos
de aplicações tais como handsets ou aplicações verticais (telemetria, multimídia,
automotive).
Para handsets o firmware é customizado pela Wavecom. Para aplicações
verticais, o firmware oferece o controle do módulo através dos comandos AT.
46
3.1.3.2.3.Interfaces
Segue a figura 33 que apresenta a descrição funcional interna do módulo do
modem Wavecom.
Figura 33. Arquitetura funcional interna do Módulo WaveCom
3.1.3.3.Comandos OpenAT
Para habilitação do modem envio e recebimento de mensagens instantâneas
faz-se necessário o uso do comando OpenAT, sendo possível após seguir uma
seqüência de passos que podem ser descritos e ordenadas tendo como auxílio um
fluxograma da seqüência de comandos AT. Devido o módulo WaveCom ser
programado evita o uso de microprocessador.
47
A linguagem OpenAT baseia-se no conjunto de comandos AT, desenvolvido pela
Hayes para ser usado nos modems telefônicos. Para o desenvolvimento de aplicações
OpenAT é necessário utilizar a biblioteca dos comandos AT, que por sua vez é
baseado em APIs (Application Programming Interfaces) desenvolvidos pela WaveCom,
que são:
•
Application Mandatory API: deve ser utilizado pela aplicação;
•
AT Command API: fornece acesso às funções AT (comandos send AT,
indicações subscribe to unsolicited/intermediate).
•
OS API: fornece acesso às funções do sistema operacional (temporizador de
avanço/parada,
leitura/escrita
de
dados
na
memória
flash,
memória
Init/Release/Get, apagamento de objetos armazenados na memória Flash).
•
PCM API: fornece acesso às funções do gestor de controle de fluxo (Flow
Control Manager), acesso à interface RS232 (V24) e às linhas de entrada/saída
de dados para certas funções (Open/Close flow, Send/Receive Data).
•
I/O API: para o controle da ligação serie e GPIO .
•
Bus API: controla os barramentos SPI e I2C.
•
Standard API: põe a disposição várias funções C normalizadas.
A figura 34 ilustra a interação entre os comandos OpenAt e APIs e a aplicação do
utilizador contida no módulo WaveCom. O sistema OpenAT , também é conhecido
como Plataforma MUSE, o compilador utilizado é chamado de ARM.
O módulo WMOi3 utiliza um cartão telefônico chamado SIM, semelhante aos que se
utilizam em telefones celulares, possui um número pessoal denominado PIN (Personal
Identification Number) ativado.
48
Open At application
User Embeddeed
Application
Wavecom Core
Software
Open At Library
User Embedded Application
Open AT APIs (Event & Functional driven)
AT Command
Transportatio
n facility
OS
related
facility
Standard
‘C’ library
Flow Control
Management
facility
Serial
I/O
Control
facility
BUS
facility
Input/
output
facility
Figura 34. Módulo do Modem Wavecom
O SIM Card é introduzido no módulo. Ao ligar a tensão de alimentação, alguns
parâmetros possuem os seguintes valor pré-defindos:
§
PIN 0000
§
PIN Check off
§
Reply On
Portanto, estes valores são imediatamente modificados para evitar interferências
ao bom funcionamento da comunicação. A primeira comunicação é realizada para
alterar o novo PIN, uma vez alterado não há necessidade o fazer novamente.
Contudo, é necessário verificar o funcionamento da interface serial com o
microcontrolador. A porta série a utilizar deve ser configurada para 8,N,9600, o
programa OpenAT fica ativado no módulo quando se liga a tensão de alimentação o
modem reconhece apenas aos seguintes comandos:
§
AT+RESET: Configura o módulo com os parâmetros pré-definidos. Este
comando é utilizado caso seja esquecido o PIN definido.
§
ALT+WOPEN+2: Termina a execução do programa e coloca o modem no modo
normal. A partir deste momento, o módulo pode ser controlado por meio de
49
comandos AT. Este modo permite instalar o modem no Windows do PC e
estabelecer ligações com a Internet. No entanto, as ligações só são possíveis se
o modem estiver sido reprogramado com o novo firmware GPRS e o cartão SIM
alojado no módulo for compatível com o sistema GPRS.
§
ALT+WDWL: Permite carregar um programa novo no modem. O processo de
carga utiliza o protocolo X-modem, que é suportado pela maior parte dos
programas de comunicação como, por exemplo , o HyperTerminal do Windows.
Figura 35. Foto do Módulo do Modem Wavecom.
50
3.1.4. Software de Gerenciamento dos Dados – Atualização dos dados
O software é responsável por apresentar os dados que foram aquisicionados
pelos sensores de índice de precipitação pluvial, pressão, umidade relativa,
temperatura, direção e velocidade do vento, de uma forma clara ao entendimento do
cliente. Para tanto, é necessário o tratamento das informações, para então realizar
estatísticas das condições climáticas.
3.1.4.1. Ambiente de Desenvolvimento
A aquisição dos dados é realizada pelos sensores pertinente a cada condição
climática,
porém
é
importante
ressaltar
que
estes
são
armazenados
pelo
microcontrolador em memória e transmitidos em bits, quando chegam ao destino são
retirados do encapsulamento SMS e são armazenadas em uma base de dados, o qual
é responsável por registrar todas as informações enviadas. O projeto de
implementação deste software de gerenciamento foi realizado, utilizando a
Programação Orientada a objetos, com objetivo de otimizar o código, e preservar a
segurança e escalabilidade do código. As principais funções do software de
gerenciamento são:
§
Realizar leitura dos dados aquisicionados pela estação meteorológica;
§
Realizar a decodificação destes dados, e convertê-los em medidas reais;
§
Configurar o tempo de aquisição das amostras da estação;
3.1.4.2. Implementação do Software de Gerenciamento
O software de gerenciamento é responsável por realizar leituras em busca de
novas amostras geradas pela estação e decodificá-las, devido tratar-se de um software
de gerenciamento de informações, observou-se os benefícios como: segurança,
escalabilidade e portabilidade na implementação orientada à objetos.
Através dos diagramas da POO (Programação Orientada a Objetos), é possível
verificar esta implementação.
51
3.1.4.2.1. Diagrama de Caso de Uso
CADASTRA
FUNCIONÁRIO
<<usa>>
ATUALIZA TEMPO DE
AQUISIÇÃO
BUSCAR
FUNCIONARIO
<<usa>>
AQUISIÇÃO
VALIDAR
AQUISIÇÃO
CONFIGURA
SISTEMA
3.1.4.2.2. Roteiros
§
Cadastra Funcionário:
Nome: Cadastra Funcionário
Descrição: é responsável por cadastrar o funcionário, a fim de controlar que realizar as
aquisições de alterações das configurações do sistema
Atores: funcionário
Pré-condições:não há
Pós-condições: o funcionário ficará cadastrado.
Caminho Primário: o funcionário entra com os dados pessoais no sistema.
Caminho Alternativo: Não há.
Caminhos de Exceção: funcionário já possui cadastro.
52
§
Atualiza Tempo de Aquisição:
Nome: Atualiza Tempo de Aquisição
Descrição: é responsável por realizar as alterações do tempo de aquisição das amostras
dos sensores das estação meteorológica.
Atores: funcionário
Pré-condições: não há.
Pós-condições: será realizado a alteração do tempo de aquisição das amostras da estação
meteorológica, sendo armazenado está alteração no banco de dados para
posterior consulta.
Caminho Primário: o funcionário entra com o tempo de aquisição..
Caminho Alternativo: Não há.
Caminhos de Exceção: não há.
§
Aquisição:
Nome: Aquisição
Descrição: é responsável por fazer aquisição, é feita através do recebimento de short
messages (SMS) gerados pelo microcontrolador através das medidas
realizadas pelos sensores.
Atores: funcionário
Pré-condições: o usuário deve estar logado no sistema,.
Pós-condições: os dados das aquisições ficam armazenados no banco de dados.
Caminho Primário: não há.
Caminho Alternativo: Não há.
Caminhos de Exceção: não há.
§
Valida Aquisição:
Nome: Valida Aquisição
Descrição: é responsável realizar um filtro verificando se a mensagem recebida é uma
mensagem válida, e após realizar a conversão dos dado recebidos para uma
medida real.
Atores: funcionário
Pré-condições: deve ser realizado após a leitura.
Pós-condições: os dados das aquisições ficam armazenados no banco de dados.
Caminho Primário: não há.
Caminho Alternativo: Não há.
Caminhos de Exceção: Caso não seja uma mensagem válida, então é descartada.
§
Configura Sistema:
Nome: Configura Sistema
Descrição: é responsável por alterar configurações da porta de comunicação como
também do tempo de leitura de short messages.
Atores: funcionário
Pré-condições: não há.
Pós-condições: não há.
Caminho Primário: não há.
Caminho Alternativo: Não há.
53
Caminhos de Exceção: não há.
§
Busca Funcionário:
Nome: Busca Funcionário
Descrição: é responsável realizar a busca do funcionário que irá realizar as leituras das
amostras como também as configurações.
Atores: funcionário
Pré-condições: o usuário deve estar logado no sistema.
Pós-condições: o nome do funcionário fica armazenado juntamente com os dados das
leituras e atualizações do tempo para posterior consulta.
Caminho Primário: Não há.
Caminho Alternativo: Não há.
Caminhos de Exceção: o resultado da busca não é o desejado, faz-se uma nova busca.
3.1.4.2.3. Diagrama de Classes
FUNCIONÁRIO
ATUALIZA TEMPO DE
AQUISICAO
AQUISICAO
54
3.1.4.2.4. Diagrama de Classes de Negócios
CFrmAquisição
CFrmAtualizaTempo
- controlador
- ControlerAquisicao
*
- controlador
-ControlerAtualizaTempo
ControlerMaq
+ Leitura()
+ BuscaLeitura()
+ ExcluiLeitura()
CAquisicao
*
ControlerAtualizaTempo
+ AtualizaTempoAq()
+ BuscaAtualizacao()
+ ExcluiAtualizacao()
CAtualizacaoTempo
- CodLeitura:integer
- temperatura:float
- vel_vento:float
- dir_vento:float
- umidade:float
- dt_leitura:date
- tempo_leitura:temp
- CodAtualizacao:integer
- dt_atualiza:date
- temp_autualiza:tempo
- tempo_aquisicao:tempo
+ CAquisicao()
+ getCampos()
+ Conversão()
+ setCampos()
+ Grava()
+ delete()
+ CAtualizaTempo()
+ getCampos()
+ setCampos()
+ Grava()
+ delete()
CBrokerAquisicao
+ Desmaterializa()
+ Materializa()
+ Exclui()
CBrokerAtualizaTempo
+ Desmaterializa()
+ Materializa()
+ Exclui()
55
CFrmCadFunc
- controlador
- ControlerFunc *
ControlerFunc
+ NovaFunc()
+ BuscaFunc ()
+ ExcluiFunc ()
CFuncionario
- CodFunc:integer
- Nome:string
- dtnasc:date
- telefone:integer
- funcao:string
- endereco:string
- dtcad:date
+ CFunc ()
+ getCampos()
+ setCampos()
+ Grava()
+ delete()
CBrokerFunc
+ Desmaterializa()
+ Materializa()
+ Exclui()
56
3.1.4.2.5. Diagrama de Colaboração
§
Atualiza o Tempo de Aquisição
Figura 36. Tela de Configura Tempo de Aquisição.
57
§
Atualiza Tempo de Aquisição
1:AtualizaTempoAquisicao
()
FrmAtualizaTempo:
CFrmAtualizaTempo
Controlador: CAtualizaTempo
2:CAtualizaTempo()
3:setCampos()
4:Grava()
7:delete()
6:getCampos()
BrokerAtualizaTempo
:CBrokerAtualizaTempo
§
5: Desmaterializa()
AtualizaTempo: AtualizaTempo
Busca Atualização do Tempo
1:BuscaAtualizacao()
FrmAtualizaTempo:
CFrmAtualizaTempo
Controlador:
CControlerAtualzaTempo
2:Atualiza= Materializa()
5:getCampos()
6: delete()
AtualizaTempo:
CAtualizaTempo
3: Cmaquina()
4:setCampos()
BrokerAtualizaTempo
:CBrokerAtualizaTempo
58
§
Excluir Atualização
q1: ExcluiAtualizacao()
FrmAtualizaTempo:
CFrmAtualizaTempo
Controlador:
CControlerAtualizaTempo
2: Exclui ()
BrokerAtualizatempo:
CBrokerAtualizaTempo
§
Realiza a Aquisição
Figura 37. Tela de Aquisição.
59
§
Aquisição
1:Nova Leitura()
Controlador: CAquisicao
FrmAquisicao:
CFrmAquisicao
2:CAquisicao()
3:setCampos()
4:Grava()
7:delete()
6:getCampos()
BrokerAquisicao:
CBrokerAquisicao
§
5: Desmaterializa()
Aquisicao: Aquisicao
Busca Aquisição
1:BuscaAtualizacao()
FrmAquisicao:
CFrmAquisicao
Controlador:
CControlerAquisicao
2:Atualiza= Materializa()
5:getCampos()
6: delete()
Aquisicao:
CAquisicao
3: Cmaquina()
4:setCampos()
BrokerAquisicao
:CBrokerAquisicao
60
§
Exclui Aquisicao
1:ExcluiAquisicao ()
Frm Aquisicao: CFrm Aquisicao
Controlador: CControlerAquisicao
2:Exclui()
BrokerAquisicao:
CBrokerAquisicao
§
Cadastra Funcionário
Figura 38. Tela de Cadastro de Funcionários
61
§
Grava Funcionário
1:NovoFunc()
FrmCadFunc: CFrmCadFunc
Controlador: CControlerFunc
2:CF unc()
3:setCampos()
4:Grava()
7:delete()
6: getCampos()
BrokerFunc:CBrokerFunc
Funcionário:CFunc
5: Desmaterializa()
§
Exclui Funcionário
1:ExcluiFunc()
FrmFunc: CFrmFunc
Controlador: CControlerFunc
2:Exclui()
BrokerFunc:CBrokerFunc
62
§
Busca Funcionário
1:BuscaFunc()
FrmCadFunc: CFrmCadFunc
Controlador: CControlerFunc
2:func= Materializa()
5:getCampos()
6: delete()
Maquina: CMaquina
3: CFunc()
4:setCampos()
BrokerMaq:CBrokerMaq
3.4.1.3. Interface com Usuário – Módulo Adicional
Contudo, para consulta aos dados é possível ser criado um Website que busca
estas informações na base de dados, e então é realizada a conversão, por exemplo,
umidade relativa estará representada em bits, portanto é convertido de binário para
decimal a fim de saber o verdadeiro valor da tensão de saída (Vout), então através da
formula do Sensor RH será calculado a porcentagem de umidade do ar.
O módulo adicional ao termino do projeto poderia ser criado com objetivo de
atender as necessidades do cliente e mantê-lo informado sobre o tempo, caso o
mesmo não possua acesso a Internet e necessite receber avisos quando um valor de
alguma condição climática exceder o valor padrão, por exemplo, quando a temperatura
ultrapassar 40 ºC o cliente receberá um SMS. Para tanto o usuário deve se cadastrar
relacionando quais informações deseja receber quando ultrapassar o valor limitado
estipulado pelo mesmo.
Este recurso é denominado de trigger (é um gatilho, que é acionado quando uma
variável alcança um valor numérico), onde para tanto é necessário um programa
adicional apenas para monitorar dados de acordo com uma base de dados dos clientes
cadastrados com suas respectivas triggers.
63
Abaixo é ilustrado através do diagrama em bloco o armazenamento das
informações, conversão dos dados e o recurso adicional (trigger).
Armazenamento no
Envio de Mensagens
banco de dados
Instantâneas
Atualização
das triggers.
Codificação e
Conversão
dos Dados
Cadastro de triggers
Figura 39. Diagrama em blocos do armazenamento das informações, conversão dos dados e o
recurso adicional (trigger).
A interface com o usuário é o Website, através dele pode ser pesquisado as
informações dos parâmetros climáticos, e o cadastro das triggers. Os parâmetros
climáticos são:
§
Índice de precipitação pluvial: é mensurada a quantidade de chuva por mm até o
presente momento, ou por um tempo determinado. Por exemplo: Faz 15 dias
que o índice de precipitação pluvial é de 0,00 mm, isto é, faz 15 dias que não
chove;
§
Pressão: é mensurado através da formula da pressão onde é necessário realizar
a compensação de temperatura, por exemplo, para o usuário será apresentado
no momento a pressão do ar é de 300 mbar;
§
Temperatura: a temperatura é mensurada em centígrados, desta forma será
apresentada em ºC;
§
Velocidade e direção do vento: a velocidade é mensurada em Km/h e a direção
em Norte, Sul, Leste, Oeste, Nordeste, Noroeste, Sudeste, Sudoeste, por
exemplo, a velocidade do vento é de 60 Km/h e a direção está para o Nordeste
da região apresentada;
§
Umidade Relativa do Ar: a umidade é mensurada em porcentagem através da
formula do Sensor RH, onde é realizada a compensação da temperatura, por
exemplo, para o usuário será apresentado a porcentagem de umidade relativa
no momento é de 80%.
64
Portanto, para as triggers é necessário que o usuário realize um cadastro no
Website discriminando a partir de qual valor deseja receber a mensagem instantânea,
por exemplo, o mesmo preencherá dados como nome, número do celular e parâmetros
das condições climáticas, para o mesmo aparecerá alguns critérios, como índice
precipitação pluvial >= ou < ou usuário selecionará o critério de igualdade e o valor,
sendo assim é possível receber as mensagens instantâneas quando o valor atender os
critérios preenchidos. A figura abaixo ilustra um Website semelhante o qual será
desenvolvido, com informações das condições climáticas em tempo real.
Figura 40. Website DavisNet, as informações são atualizadas em tempo real
3.1.4.4. Linguagem de Programação
O Website utilizará a linguagem de programação ASP ou PHP, e o Banco de
dados será MySQL.
O software de gerenciamento das trigger e envio de SMSs será programado em
C++, o qual ficará varrendo a base de dados com objetivo de encontrar triggers
relacionadas com o dado ocorrido, por exemplo, a velocidade do vento excedeu 50
Km/h, o programa gerenciador varrerá a base com o objetivo de buscar registros que
65
possuam necessidade de receber tais informações, ou seja que possuam tais triggers,
encontrando será enviado automaticamente ao celular do cliente a mensagem
instantânea, indicando que a velocidade do vento no momento é de 51 Km/h.
A linguagem para a aquisição dos dados fornecidos de forma digital pelos
sensores da estação meteorológica foi feito em C++ o qual é responsável por codificar
qual sensor deseja realizar a aquisição e qual o tempo para aquisição de cada sensor,
como também armazenamento dos dados em memória e o envio dos dados
serialmente para o modem, onde é encapsulado em uma mensagem instantânea
(SMS). Chegando ao modem destinatário haverá um microcomputador que
dencapsulará a mensagem e processará os dados, conforme os passos citados acima.
66
4. RESULTADOS E DISCUSSÃO
4.1. Aquisição dos dados e Endereçamento dos sensores
Os
sensores
utilizados
na
linha
1-Wire
da
Dallas
Semicondutor
(pluviômetro, anemômetro), e o sensor de temperatura I2C da Texas
Instruments, tiveram ótimo desempenho, sendo possível ler os dados
convertidos digitalmente pelos sensores. Não foram utilizados todos o sensores,
porém é expansível para a conexão de qualquer sensor dos fabricantes citados.
Uma grande vantagem na utilização dos protocolos 1-Wire e I2C, foi à
possibilidade de identificar os dispositivos presentes na rede, e temporizar as
aquisições, o que contribuiu para a realização da opção de configuração do
tempo de aquisição das amostras. Observou-se o perfeito funcionamento dos
protocolos pertinentes aos sensores, sendo a implementação completamente
finalizada.
4.2. Transmissão e Recebimento de SMS
A transmissão do pacote gerado pela estação meteorológica contendo as
amostras, foi realizada utilizando os comandos AT disponibilizados pelo
fabricante. É importante citar, que foi necessário configurar o formato do modo
de transmissão e recebimento de SMS no módulo WaveCom, os implementados
são:
§
Modo Texto: implementa codificação em ASCII da mensagem
enviada;
§
Modo PDU: implementa a mensagem em hexadecimal, e utiliza uma
codificação separando os octetos, o qual é mais difícil ser
implementado.
Portanto, a opção escolhida foi o modo texto, o que facilitou a
implementação para envio do SMS. Nos testes realizados observou-se que
67
alguns caracteres recebidos da mensagem estavam em branco, para tanto, foi
implementada uma codificação para garantir que os valores abaixo de 32 (em
decimal), pudessem ser lidos.
A codificação foi realizada para todos as amostras geradas de cada sensor,
sendo a resolução dos sensores é de 12 bits, porém foi aumentado completando
com 0s para 16 bits, isto é, 2 bytes; permitindo transformar o 1º byte para
caracter imprimível, e o mesmo processo para o 2º byte, somando ambos. Sem
dúvidas, a codificação, é de grande vantagem para o projeto, o que permitiu a
criação de um protocolo de comunicação, garantindo a integridade dos dados
lidos, e a padronização do pacote, promovendo uma vantagem na extração dos
dados. A transmissão foi realizada com sucesso, utilizando a seqüência dos
comandos AT especificados pelo fabricante, e conforme o fluxograma
desenvolvido.
O recebimento do pacote SMS foi realizado utilizando a seqüência de
comandos AT, onde também foi desenvolvido um fluxograma, sendo passado
como parâmetro o número da mensagem de leitura. Após a leitura, é realizada a
extração do pacote do SMS, para tal processo foi desenvolvido um algoritmo,
que tinha como objetivo conhecer o início e o término da mensagem, para então
tornar-se possível a decodificação. Ambos os processos foram realizados, sendo
possível converter os dados decodificados em medidas reais para análise. A
transmissão e o recebimento do pacote SMS foram concluídos completamente,
obtendo o resultado esperado.
4.3. Atualização dos Dados
O processo para a atualização de dados, foi implementado utilizando um
algoritmo, para extração do pacote SMS, sendo decodificado e convertido para
medidas reais, onde estes valores eram mostrados na tela.
Portanto, após os dados serem convertidos, estes são armazenados no
banco de dados para consulta posterior. Esta consulta pode ser realizada,
através de parâmetros como: período, range de temperatura, e outros.
O módulo de atualização dos dados foi concluído, onde todas as
informações que lidas e decodificadas, eram armazenadas no banco de dados.
68
Porém, a criação de formulários de consultas avançadas e gráficos para
visualização dos dados não foram implementados.
69
5. CONCLUSÕES
A estação meteorológica utilizou sensores comerciais, sendo assim, a grande
vantagem foi à utilização do protocolo proprietário, que facilitou na identificação dos
sensores presentes na rede, e na seleção dos mesmos para aquisição dos dados
inerentes ao meio. A implementação do protocolo, permitiu a realização de
temporizações nas aquisições. Portanto, foi desenvolvida a configuração do tempo de
aquisição das amostras, visando atender as necessidades do cliente.
A implementação do protocolo de comunicação da estação meteorológica, foi de
grande importância, porque possibilitou a integridade e segurança nos dados
transmitidos. Observou-se a eficiência na codificação e no encapsulamento do pacote
SMS, pois a mensagem instantânea é representada em ASCII, então a codificação é
fundamental para prover caracteres imprimíveis.
A transmissão via SMS foi implementada através de um fluxograma para
execução seqüencial dos comandos AT, como também para a recepção. Portanto,
quando estes dados são recebidos, realiza-se a decodificação, sendo estas
informações convertidas e atualizadas periodicamente no software de gerenciamento,
para consulta posterior. Para tanto, verificou-se a impossibilidade de atualizar
informações em tempo real, por se tratar de uma comunicação onde o tempo de
resposta varia consideravelmente. Porém para uma estação meteorológica, pôde
constatar que não causa nenhum impacto, devido o tempo não ser um fator
determinante. Atualmente, muitas estações existentes, realizam poucas aquisições
diárias, pois as condições climáticas não possuem variações bruscas que necessitem
instantes de tempos curtos entre uma aquisição e outra.
O algoritmo implementado para a criação do pacote SMS, permite que seja m
realizadas várias aquisições em um determinado período, encapsulando-as em uma
única mensagem. A transmissão de mensagens instantâneas possui um custo, sendo
um fator determinante para um produto. Porém, o encapsulamento de várias amostras
em uma única mensagem, o torna um sistema econômico, e por conseqüência
competitivo.
70
6. REFERÊNCIAS BIBLIOGRÁFICAS
WERNECK, Marcelo M.Transdutores e Interfaces. s.ed. Rio de Janeiro,
LCT,c1996. v1.
DAN, Awtrey. The 1-Wire Weather Station, Sensors. South Beltwood Parkway,
s.ed., 1998. v15, Cap. 6, p34-40.
DAN, Awtrey .Transmitting Data and Power over a One-Wire Bus, Sensors.
South Beltwood Parkway, s.ed., 1997.v14, Cap.2, p48-51.
DAN, Awtrey . A 1-Wire Rain Gauge, Sensors, South Beltwood Parkway, s.ed.,
1999. v16, Cap.9, p56-59.
1-Wire Net Design Guide,
URL: www.dalsemi.com/TechBriefs/tb1.html.
Davis Net
URL: www.davisnet.com
Texas Instruments
URL: www.ti.com/tmp100.pdf
Atmel Microcontrollers
URL: www.atmel.com

Documentos relacionados