Вы находитесь на странице: 1из 58

www.mecatronicadegaragem.blogspot.

com

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE CENTRO DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA DA COMPUTAO E AUTOMAO

DESENVOLVIMENTO DE UM SISTEMA DE TELEMETRIA REMOTA

Victor Hugo Freitas de Oliveira

Orientador: Prof. Dr. Andrs Ortiz Salazar

Natal, Junho de 2009

www.mecatronicadegaragem.blogspot.com

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE CENTRO DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA DA COMPUTAO E AUTOMAO

DESENVOLVIMENTO DE UM SISTEMA DE TELEMETRIA REMOTA


Trabalho de Concluso de Curso, submetido Engenharia da ao de Departamento Computao Federal do de e Rio

Automao do Centro de Tecnologia Universidade Grande do Norte, como parte dos requisitos necessrios para obteno do grau de Graduado.

Autor: Victor Hugo Freitas de Oliveira Orientador: Prof. Dr. Andrs Ortiz Salazar

Natal, Junho de 2009

www.mecatronicadegaragem.blogspot.com

Agradecimentos
Aos meus pais, por terem me dado oportunidade de uma boa educao. Aos meus amigos, por me apoiarem ao longo dessa jornada. Ao prof. Andrs Ortiz Salazar, pela ajuda ao longo de todo o curso, sendo um grande responsvel pela minha formao acadmica e profissional. Ao prof. Andr Laurindo Maitelli e a toda equipe do Laboratrio de Automao em Petrleo LAUT, pela oportunidade de trabalho em um ambiente de muito profissionalismo, mas ao mesmo tempo de companheirismo, resultando em uma aprendizagem contnua. Aos demais professores do Departamento de Engenharia de Computao e Automao, pela dedicao ao nosso aprendizado.

www.mecatronicadegaragem.blogspot.com

Resumo
Este trabalho aborda o desenvolvimento de um sistema de telemetria remota. Ele capaz de se comunicar, atravs do protocolo de redes industriais Modbus, com um dispositivo que realiza medies quaisquer. Essa comunicao realizada para a obteno dos dados de um determinado instante. O sistema capaz de armazenar temporariamente esses dados e envi-los para um servidor, atravs de uma conexo Internet. O servidor recebe essas informaes e as armazena em um banco de dados. Ento, permite que softwares clientes realizem a visualizao desses dados, de acordo com sua prpria interface.

www.mecatronicadegaragem.blogspot.com

Sumrio
Introduo................................................................................................................. 8 Fundamentao terica ........................................................................................... 10 2.1. Microcontrolador PIC..................................................................................... 10 2.1.1. Arquitetura.................................................................................................... 10 2.1.2. Hardwares incorporados ............................................................................... 13 2.1.3. Interrupes .................................................................................................. 14 2.2. Rede GSM ...................................................................................................... 15 2.2.1. Estao Mvel (MS)..................................................................................... 16 2.2.2. Sistema de estao base (BSS) ..................................................................... 17 2.2.3. Sistema de comutao de rede (NSS)........................................................... 18 2.3. Tecnologia GPRS ........................................................................................... 20 2.3.1. Arquitetura GPRS................................................................................... 21 2.3.2. Protocolos da rede GPRS ....................................................................... 24 2.3.3. Tarifao................................................................................................. 25 3. Softwares e hardwares utilizados ........................................................................... 26 3.1. PIC18F2525.................................................................................................... 26 3.2. Modem GSM .................................................................................................. 28 3.3. Compilador CCS ............................................................................................ 30 3.4. Gravador PicBurner........................................................................................ 31 3.5. Relgio de Tempo Real - DS1307.................................................................. 32 3.6. Biblioteca LibModbus .................................................................................... 33 3.7. PostgreSQL..................................................................................................... 34 3.7.1. libpq........................................................................................................ 35 4. Desenvolvimento .................................................................................................... 36 4.1. Descrio do projeto....................................................................................... 36 4.2. Mdulo Embarcado ........................................................................................ 38 4.2.1. Algoritmo do microcontrolador PIC18F2525 ........................................ 41 4.3. Mdulo Servidor............................................................................................. 49 4.3.1. Cliente exemplo............................................................................................ 53 5. Concluso ............................................................................................................... 55 6. Referncias ............................................................................................................. 57 1. 2.

www.mecatronicadegaragem.blogspot.com

Lista de figuras
Figura 2.1 Arquitetura da rede GSM ........................................................................... 16 Figura 2.2 Formato do IMEI ....................................................................................... 19 Figura 2.3 Evoluo do sistema de telefonia mvel celular ........................................ 21 Figura 2.4 Arquitetura GPRS ...................................................................................... 22 Figura 2.5 Camadas de protocolo da rede GSM.......................................................... 24 Figura 3.1 Gravador PicBurner USB........................................................................... 31 Figura 3.2 Diagrama de blocos do DS1307................................................................. 32 Figura 4.1 Esquema do circuito eletrnico.................................................................. 38 Figura 4.2 Foto do Mdulo Embarcado....................................................................... 39 Figura 4.3 Ligao entre DS1307 e o PIC18F2525 .................................................... 40 Figura 4.4 Fluxograma da funo main() .................................................................... 42 Figura 4.5 Fluxograma da interrupo da USART...................................................... 44 Figura 4.6 Fluxograma da funo trata_rtc() ........................................................... 45 Figura 4.7 Fluxograma da funo processamento()................................................. 46 Figura 4.8 Fluxograma da funo captura_dados() ................................................. 47 Figura 4.9 Fluxograma da funo conecta() ............................................................ 47 Figura 4.10 Fluxograma da funo envia().............................................................. 48 Figura 4.11 Fluxograma da funo envia_dado() .................................................... 49 Figura 4.12 Fluxograma da thread main()................................................................... 51 Figura 4.13 Fluxograma da thread servidor() ............................................................. 52 Figura 4.14 Fluxograma da thread cliente()................................................................ 52 Figura 4.15 Tela de login do software cliente-exemplo .............................................. 53 Figura 4.16 Tela principal do software cliente-exemplo............................................. 54 Figura 4.17 Tela da ao Ver Dados da UTR .......................................................... 54

www.mecatronicadegaragem.blogspot.com

Lista de tabelas
Tabela 2.1 Modificaes da rede GSM para se adequar tecnologia GPRS.............. 21 Tabela 3.1 Especificaes tcnicas do PIC18F2525 ................................................... 27 Tabela 3.2 Principais comandos/respostas AT utilizados no projeto .......................... 28 Tabela 3.3 Parmetros de especificao do cristal ...................................................... 33

www.mecatronicadegaragem.blogspot.com

1. Introduo
Hoje em dia, o mercado mundial encontra-se bastante acirrado, com elevados nveis de concorrncia e diversas empresas buscando apenas um pequeno detalhe que a diferencie das demais, a fim de obter maior xito (lucro) que suas concorrentes. Pode-se dizer que as principais buscas das empresas se resumem em trs categorias: reduo de custos, maior confiabilidade de seus produtos e uma maior segurana (para seus clientes e funcionrios). Com o avano da tecnologia, uma das formas para acentuar essas caractersticas o emprego da automao. Para o trabalho em questo, muito importante o avano significativo das tecnologias de transmisso sem fio, mais especificamente o avano dos sistemas de telefonia mvel, e a expanso da Internet, na qual ela a protagonista de uma convergncia tecnolgica, aonde os mais diversos dispositivos eletrnicos possuem a capacidade de estabelecer comunicao com a mesma. neste cenrio tecnolgico que este trabalho apresenta um sistema de telemetria remota, capaz de automatizar processos que necessitem enviar informaes de monitorao de um dispositivo, no qual o mesmo no se encontra conectado a nenhuma rede local. O foco principal do trabalho so os sistemas de medio de gua/luz e a monitorao de tubulaes de gs, seja para fins fiscais ou no. O sistema proposto neste trabalho composto por dois principais mdulos: Mdulo Embarcado e o Mdulo Servidor. O Mdulo Embarcado tem como funo capturar as informaes do dispositivo, armazen-las temporariamente e envi-las ao Mdulo Servidor. Este ltimo deve ser capaz de receber essas informaes e armazenlas em um banco de dados. Alm disso, deve permitir que programas clientes se conectem ao Mdulo Servidor e visualizem as informaes contidas no banco de dados, de forma intuitiva e adaptvel. O captulo 2 deste trabalho apresenta os principais conceitos tericos necessrios para o desenvolvimento do projeto exposto. Aborda as principais caractersticas dos microcontroladores da famlia PIC, detalhando sua arquitetura, os principais hardwares incorporados internamente em seus chips e as principais interrupes. Ainda no captulo 2, so descritas as caractersticas da rede GSM, explicando a sua arquitetura e seus principais componentes, servindo como base para o estudo da tecnologia GPRS, a qual ferramenta indispensvel no projeto proposto. Sobre o GPRS, so mostradas as alteraes ocorridas da rede GSM padro, falando sobre cada 8

www.mecatronicadegaragem.blogspot.com

mudana e novos componentes, alm dos principais protocolos existentes em uma rede GPRS. O captulo 3 aborda os softwares e hardwares utilizados para o desenvolvimento do projeto. Em cada tpico mostrado apenas as principais caractersticas do determinado produto, enfatizando as funcionalidades exploradas pelo projeto. Os itens abordados so: PIC18F2525, Modem GSM, compilador CCS, gravador PicBurner, DS1307, LibModbus e PostgreSQL. O captulo 4 apresenta o desenvolvimento do projeto, dando uma explicao mais detalhada sobre o funcionamento geral do sistema. Depois, mostra como foram desenvolvidos os Mdulos integrantes e os algoritmos que o compem. O captulo 5 apresenta as concluses finais do projeto, alm de indicar os detalhes que faltam para tornar o projeto um produto comercial. Tambm so apresentadas algumas melhorias que podem ser desenvolvidas para tornar o projeto ainda mais atrativo.

www.mecatronicadegaragem.blogspot.com

2. Fundamentao terica
2.1. Microcontrolador PIC
O PIC pertence a uma famlia de microcontroladores de arquitetura Harvard produzido pela Microchip Technology, derivado do PIC1640, originalmente desenvolvido pela General Instruments Microelectronics Division. O nome PIC inicialmente se referia a Peripheral Interface Controller (Controlador de Interfaces Perifricas) [13]. Essa famlia de microcontroladores bastante popular entre profissionais da rea de eletrnica, assim como com hobbystas, devido a seu baixo custo; grande disponibilidade no mercado nacional; extenso material para consulta, como livros especializados, artigos em revistas especializadas, fruns e sites dedicados na internet; disponibilidade de ferramentas de desenvolvimento de baixo custo e at mesmo grtis; e possibilidade de programao (e re-programao com a memria flash) pela porta serial e, ultimamente, j so encontrados hardwares que realizam a programao do PIC pela porta USB.

2.1.1. Arquitetura
A arquitetura do PIC tipicamente minimalista. Suas principais caractersticas so: Memria de dados independente da memria de programa (arquitetura Harvard); Um pequeno nmero de instrues de tamanhos fixos; A maioria das instrues so executadas em um nico ciclo (4 perodos de clock), com espera de um ciclo nas instrues de desvio; Um nico acumulador (W); Toda a memria de dados funciona como registradores para fonte ou destino de funes matemticas e outros tipos; Uma pilha implementada em hardware para armazenas os endereos de retornos (usados nas chamadas de funes); Memria de dados mapeia os registradores da CPU, das Portas de I/O e dos perifricos; Diferente da maioria das CPUs existentes, no h distino entre memria e registradores, pois a memria RAM realiza os servios da memria e dos registradores. 10

www.mecatronicadegaragem.blogspot.com

Assim, a memria RAM usualmente chamada como o registrador de arquivos ou apenas os registradores.

Espao de dados - RAM Os PICs possuem um grupo de registradores que funcionam como memria de uso geral. Registradores especiais para controlar os hardwares embutidos no microcontrolador tambm so mapeados no espao de dados. O endereamento da memria depende da srie do dispositivo, mas todas as sries possuem mais de um banco de memria, o que facilita o endereamento de toda a memria.

Memria de programa Todos os PICs possuem a arquitetura Harvard, ento a memria de dados e a memria de programa so separadas. A memria de programa geralmente so implementadas em EPROM, ROM ou flash ROM. Em geral, os dispositivos de memria externa no so endereados diretamente devido a falta de uma interface prpria para este fim. A exceo so alguns microcontroladores da srie 18F.

Tamanho da palavra O tamanho da palavra dos PICs uma fonte de muita confuso. Todos os PICs (exceto os dsPICs) trabalham com dados de 8 bits (1 byte), ento eles deveriam ser chamados de microcontroladores de 8 bits. Mas ao contrrio da maioria das CPUs, os PICs usam a arquitetura Harvard, ento o tamanho da instruo pode ser diferente do tamanho do dado. Na verdade, famlias diferentes de PICs usam instrues de tamanhos diferentes, o que torna um desafio comparar o tamanho do cdigo de um PIC com outros microcontroladores. Por exemplo, digamos que um microcontrolador tenha 6144 bytes de memria de programa para um PIC de 12 bits, isso resulta em 4096 palavras ou instrues; para um PIC de 16 bits, resulta em 3072 palavras.

Pilha Os microcontroladores da Microchip Technology possuem um hardware chamado pilha, o qual usado para salvar endereos de retorno quando uma funo chamada e no uso de desvios. Essa pilha no era acessada por software, at a criao da srie 18F, o que resultou em um dispositivo mais amigvel para os compiladores de linguagens de alto nvel. 11

www.mecatronicadegaragem.blogspot.com

Conjunto de instrues Os PICs usam um conjunto de instrues RISC, as quais variam de 35 instrues para os PICs das sries 12 e 16 at cerca de 80 instrues para os da srie 18. O conjunto de instrues inclui instrues que realizam uma variedade de operaes entre o acumulador e uma constante ou entre o acumulador e um endereo de memria, bem como possibilita a incluso de cdigos condicionais, simplesmente pulando o cdigo ou realizando chamadas de funes, sempre retornando aps a execuo. Algumas operaes, como ativao e teste de bits, podem ser realizadas em qualquer registrador, mas operaes aritmticas com dois operandos sempre envolvem o acumulador W (por exemplo, a operao soma s pode ser realizada entre um registrador e o acumulador). O mesmo ocorre na atribuio de uma constante a um registrador. Para realizar uma cpia entre dois registradores, apenas a srie 18 permite que seja realizada diretamente, nas sries mais antigas necessria a copia intermediria para o acumulador W. A arquitetura do PIC no possui suporte de hardware para realizar automaticamente a cpia do estado do processador quando ocorre uma interrupo. A srie 18 aprimorou esta situao, implementando registradores sombra, o qual salva as informaes contidas nos principais registradores (especialmente os propsito especfico) quando ocorre uma interrupo. Em geral, as instrues do PIC se enquadram em uma das categorias abaixo: 1. Operaes com o acumulador W e uma constante. O resultado sempre armazenado no prprio acumulador; 2. Operaes com o acumulador W e um registrador indexado. O resultado pode ser salvo no acumulador ou no registrador informado; 3. Operaes com bits. Elas recebem como parmetro o nmero do registrador e o nmero do bit que se deseja operar. As aes permitidas so: ativar, desativar e testar se o bit est ativado ou no, aps o teste realizado (ou no) um desvio; 4. Transferncia de controle. So as operaes call (chamada de funo) e goto; 5. Algumas operaes com nenhum operando, como return, que retorna de uma funo, e sleep, que coloca o microcontrolador em um estado de baixo consumo.

12

www.mecatronicadegaragem.blogspot.com

2.1.2. Hardwares incorporados


Os microcontroladores da famlia PIC possuem em seu chip vrios mdulos de hardware j incorporados. Os principais so: Osciladores internos (geradores de clock); Timers de 8/16/32 bits; Memria EEPROM interna; Interface serial sncrona e assncrona (USART); Comunicao serial por MSSP, que pode funcionar com os protocolos: IC e SPI; Mdulos Captura/Compara e PWM (CCP); Conversores analgico/digital; Suporte para a interface USB; Suporte para a interface Ethernet; Suporte para a interface CAN; Transmissores de rdio-frequncia integrados (PIC16F639 e rfPIC)

USART Universal Synchronous Asynchronous Receiver Transmitter A USART, tambm conhecida como SCI (Serial Communications Interface Interface de comunicao serial), um mdulo responsvel pela comunicao serial entre perifricos (inclusive entre outro microcontrolador) [14]. Ela pode ser configurada como um sistema assncrono full-duplex, o qual pode se comunicar com dispositivos como terminais CRT e computadores de forma geral. Tambm pode ser configurada para operar como um sistema sncrono half-duplex, se comunicando com dispositivos conversores Analgico/Digital ou Digital/Analgico, memrias EEPROM seriais e etc. No modo half-duplex, a USART pode operar como mestre ou como escravo.

Protocolo IC Com o intuito de aumentar a eficincia do hardware e diminuir a complexidade dos circuitos eletrnicos, a Philips desenvolveu, em meados de 1996, o protocolo de comunicao serial IC. Algumas de suas principais vantagens so [15]: Organizao funcional em blocos, resultando em um simples diagrama esquemtico;

13

www.mecatronicadegaragem.blogspot.com

Endereamento e protocolo de transferncia de dados totalmente definidos via software; Incluso e excluso de dispositivos em um barramento sem afetar o seu funcionamento; Bibliotecas disponveis pela comunidade do protocolo facilitam o

desenvolvimento de aplicaes utilizando o IC; O barramento IC possui duas linhas de comunicao: a SDA (Serial Data), responsvel pela transmisso dos dados; e a SCL (Serial Clock), responsvel pela transmisso do sinal de clock. Ambas as linhas so bi-direcionais e so conectadas ao positivo do circuito atravs de um resitor de pull-up. A taxa de transferncia mxima do barramento de 100kbits/s no modo padro, chegando at a 400kbits/s no modo rpido. Todo dispositivo possui um endereo nico no barramento e qualquer dispositivo conectado pode operar como transmissor ou receptor. O nmero de interfaces conectadas ao barramento depende apenas da capacitncia mxima do barramento, que de 400pF. Para a comunicao ser realizada com sucesso, necessrio que a linha SDA permanea estvel durante todo o perodo em que o clock esteja no nvel lgico alto. Quando o clock estiver em nvel lgico baixo, permitido realizar mudanas na linha SDA. O procedimento para a realizao da comunicao entre dispositivos detalhado a seguir: 1. O dispositivo master ajusta a condio inicial; 2. O dispositivo master envia 7 bits de endereamento, caso seja utilizado o modo padro. Para o modo estendido so usados 10 bits; 3. O dispositivo master envia o bit de RW ; 4. O dispositivo slave envia o sinal de reconhecimento (ACK); 5. Um dispositivo envia dados em forma de pacotes de 8 bits, que so respondidos por um sinal de reconhecimento do dispositivo destinatrio; 6. O dispositivo master encerra a comunicao.

2.1.3. Interrupes
Uma funcionalidade muito importante dos microcontroladores da famlia PIC a existncias das interrupes. Elas permitem que seja executado um trecho especfico de cdigo toda vez que uma determinada ao ocorrer ou que determinada condio seja determinada. Aps a execuo do cdigo informado, a CPU retorna a execuo da 14

www.mecatronicadegaragem.blogspot.com

tarefa que ora realizava. Nas sries 12 e 16, no realizada a cpia do contedo de nenhum registrador (exceto o registrador PC Program Counter, necessrio para o retorno da execuo do programa executado) [14], portanto, ela deve ser realizada via software. Na srie 18 realizada a cpia do acumulador W e do registrador de STATUS [1], caso essa funcionalidade no seja desejada possvel desativ-la. As principais interrupes e suas explicaes so dadas a seguir: Interrupo externa Ocorre na alterao do pino RB0, de acordo com a borda de sensibilidade configurada, que pode ser na alterao de nvel lgico baixo para alto ou o contrrio. Alguns PICs possuem mais de um pino para interrupo externa, obedecendo a seqncia RB1 e RB2;
Overflow dos timers

Ocorre quando um timer estoura a sua capacidade de

contagem. Por exemplo, o timer0 possui 8 bits, ento quando ele alcanar o valor de 255, no prximo incremento, ocorrer um estouro de sua capacidade e a interrupo ir ser disparada (caso a mesma esteja ativada); Alterao do PORTB a RB4; USART Converso De acordo com sua configurao, ocorre quando um dado for A/D finalizada Ocorre sempre que uma converso recebido ou enviado pela porta serial; Analgico/Digital finalizada; Escrita na EEPROM finalizada SSP SPI. Ocorre no momento em que uma escrita na memria de dados EEPROM concluda; Ocorre aps um recebimento ou envio de dados nas portas destinadas a esse tipo de comunicao. Pode ser utilizada tanto no modo IC como no modo Ocorre aps uma alterao em qualquer dos pinos RB7

2.2. Rede GSM


A rede GSM Global System for Mbile communications teve como objetivo criar um padro de telefonia celular mais abrangente possvel, portanto, ela utilizou de interfaces abertas e padronizadas, permitindo a combinao de componentes de diversos fabricantes, resultando em uma arquitetura flexvel e bastante competitiva comercialmente.

15

www.mecatronicadegaragem.blogspot.com

Sua arquitetura dividida em quatro grupos, que formam a PLMN (Public Land
Mbile Network rede mvel pblica terrestre). A Figura 2.1 [16] apresenta a

interligao desses grupos, os quais so descritos a seguir:

Figura 2.1 Arquitetura da rede GSM

Estao mvel (MS Mobile Station) comunicao de dados, voz e imagem.

responsvel pela conexo do

assinante rede GSM. considerado um MS qualquer dispositivo de Sistema de estao base (BSS Base Station System) responsvel pelas Realiza o

conexes de radiofreqncia da MS para o sistema de comutao; Sistema de comutao de rede (NSS Network Switching System) processamento das informaes atravs de interfaces e protocolos e o gerenciamento do banco de dados. Assim, possvel conectar a rede GSM rede pblica (RTPC Rede Telefnica Pblica Comutada); Sistema de operao e manuteno (OMS Operations and Maintenance
System)

Realiza a administrao, operao e manuteno dos grupos

componentes.

2.2.1. Estao Mvel (MS)


A estao mvel constituda pelo equipamento mvel (ME Mobile
Equipment) e pelo mdulo de identidade do assinante (SIM Subscriber Identity Module). O equipamento mvel responsvel pela interligao entre o assinante e

rede GSM. Ele possui uma identificao chamada identidade internacional do

16

www.mecatronicadegaragem.blogspot.com

equipamento mvel (IMEI International Mbile Equipment Identity). Os nmeros IMEIs so armazenados no registro de identidade de equipamento, abordado nas prximas sees. O processamento e a tarifao das chamadas so realizados a partir das informaes contidas no carto SIM e no no MS. Portanto, para obter uma linha habilitada em um MS, necessrio adquirir um carto SIM com uma operadora de telefonia celular, o qual poder ser usado em qualquer regio que possua um terminal GSM compatvel com o sistema da operadora.

2.2.2. Sistema de estao base (BSS)


O sistema de estao base (BSS Base Station System) responsvel pela conexo entre a MS e a central de comutao celular (MSC Mobile Services Centre). Ele constitudo por trs elementos, so eles: Estao transceptora base (BTS Base Transceiver Station); Controlador de estao base (BSC Base Station Controller); Transcodificador (XCDR Transcoder).

Estao transceptora base (BTS) A BTS prov as conexes na interface area com a MS. Ela basicamente composta por um hardware de radiofreqncia e de antenas. A BTS sempre est interligada a BSC, e ambos realizam as funes de gerncia dos canais de trfego e controle na interface area.

Controlador de estao base (BSC) O BSC responsvel por controlar um grupo de BTSs. Todas as operaes de uma BTS so comandadas pelo seu respectivo BSC. Atravs de uma matriz de comutao digital, as BSCs conectam os canais de RF com os circuitos terrestres provenientes da central de comutao celular. Com essa tcnica, o BSC capaz de realizar handovers entre os canais de RF independente da MSC, o que otimiza o trfego na interface area e reduz o trabalho da MSC.

Transcodificador (XCDR)

17

www.mecatronicadegaragem.blogspot.com

O transcodificador o elemento encarregado de converter os sinais de voz provenientes da MSC no padro especificado pelas normas GSM, utilizado na transmisso sobre a interface area.

2.2.3. Sistema de comutao de rede (NSS)


O sistema de comutao de rede (NSS Network Switching System) responsvel pelas funes de comutao, controle e gerenciamento da mobilidade e da base de dados dos assinantes em uma rede GSM. Seus principais componentes so: Central de comutao mvel (MSC Mobile services Switching Centre); Registro de localizao local (HLR Home Location Register); Registro de localizao de visitante (VLR Visitor Location Register); Centro de autenticao (AuC Authentication Centre); Registro de identidade de equipamento (EIR Equipment Identity Register); Funo de interfuncionamento (IWF InterWorking Function); Supressor de eco (EC Echo Canceler).

Central de comutao mvel (MSC) A MSC o corao do sistema de comutao de rede. Ela a encarregada de conectar e desconectar chamadas, promover handover entre BSSs e MSCs; supervisionar, manter e operar as bases de dados; gerenciar as interfaces entre a rede GSM e outras redes, como a RTCP e a Rede Digital de Servios Integrados (RDSI); e tarifar os servios. Para realizar todas essas funes, a MSC precisa estar conectada aos bancos de dados que possuem essas informaes. Dois componentes possuem grande parte dessas informaes: o HLR e o VLR.

Registro de localizao local (HLR) O HLR administra, altera e atualiza a base de dados dos assinantes locais. Esses dados so acessados remotamente pelo MSC e pelo VLR. Os principais dados armazenados pelo HLR so: Identidade internacional do assinante (IMSI International Mbile Subscriber
Identity);

Localizao corrente do assinante no VLR;

18

www.mecatronicadegaragem.blogspot.com

Servios suplementares associados ao assinante; Estado do assinante; Chave de autenticao.

Registro de localizao de visitante (VLR) Pode acontecer de um assinante passar para outra PLMN que no a sua de origem, o que bvio em se tratando de sistemas de comunicao mveis. Para se realizar a comunicao com esse usurio visitante, existe o VLR. Ele guarda uma cpia dos principais dados do assinante, contidos no seu HLR de origem. Essas informaes so: Estado da estao mvel (livre/ocupado/no responde); Identidade de rea de localizao (LAI Location rea Identity); Identidade temporria do assinante mvel (TMSI Temporary Mobile
Subscriber Identity);

Nmero da estao mvel visitante (MSRN Mobile Station Roaming Number).

Centro de autenticao (AuC) Normalmente instalado no mesmo hardware do HLR, o AuC tem as funes de autenticar e criptografar as mensagens, impedindo ataques rede, principalmente a clonagem de MS. Esses processos so executados simultaneamente no AuC e na MS.

Registro de identidade do equipamento (EIR) O registro de identidade de equipamento contm a base de dados centralizada dos nmeros de identidade internacional do equipamento mvel (IMEI). A Figura 2.2 apresenta o formato do IMEI e a seguir so dadas explicaes sobre cada campo.

Figura 2.2 Formato do IMEI

Type Approval Code (TAC)

6 dgitos que representam o cdigo de aprovao

do ME; 19

www.mecatronicadegaragem.blogspot.com

Final Assembly Code (FAC)

2 dgitos que identificam o local de manufatura

ou montagem final do ME;


Serial Number (SNR)

6 dgitos que identificam o nmero de srie para cada 2 dgitos decimais que identificam o

TAC e FAC de uma ME;


Software Version Number (SVN)

nmero da verso de software instalado no ME

Funo de interfuncionamento (IWF) O IWF responsvel por realizar o interfaceamento entre a rede GSM com outras redes de dados, como a internet, por exemplo. sua funo adaptar a taxa de dados e converter os protocolos quando necessrio. Essas atividades so realizadas por um conjunto de MODEMs.

Supressor de eco (EC) O supressor de eco responsvel por eliminar o efeito de eco presente nas conexes entre a MSC e a RTPC. Esse efeito pode ocorrer por diversos fatores, alguns dos principais so: atraso de propagao na interface area; atraso de propagao devido ao processo de transcodificao; e gerao de eco na bobina hbrida.

2.3. Tecnologia GPRS


Com a evoluo da comunicao sem fio e a tendncia de convergncia das tecnologias, com a crescente expanso da internet, criou-se uma necessidade da utilizao de novos servios pelos usurios dos telefones mveis celulares. Os principais servios demandados pela sociedade moderna podem ser classificados nos seguintes grupos: Comunicao Acesso a internet, e-mail e fax; Jogos em modo multi-jogador, aonde necessria Servios de entretenimento Comrcio eletrnico passagens areas e etc. Com base nessa tendncia, o sistema de telefonia mvel celular sofreu vrias evolues. Atualmente se encontra implantada os sistemas de 3 gerao, e j ocorrem

a utilizao de uma rede de dados; venda de ingressos, acesso a bancas, compras pela celular (acessando a web), informaes sobre promoes, recebimento de

20

www.mecatronicadegaragem.blogspot.com

estudos para uma nova expanso, resultando em uma 4 gerao. A Figura 2.3 apresenta essa evoluo.

Figura 2.3 Evoluo do sistema de telefonia mvel celular

Nessa seo ser abordada a tecnologia GPRS (sistema 2,5G), por ainda possuir uma abrangncia maior que as novas tecnologias, mas ao mesmo tempo ser compatvel com possveis atualizaes (a 3G adotada pelas operadoras no Brasil totalmente compatvel com a tecnologia GPRS).

2.3.1. Arquitetura GPRS


A arquitetura GPRS utiliza a mesma infra-estrutura bsica utilizadas nas redes GSM comuns, realizando a incluso de novos elementos de rede e interfaces e modificando alguns componentes j existentes. Essas alteraes tornam possvel a transmisso de dados a uma taxa de 9,6 a 171 kbits/s (valor terico). A Figura 2.4 apresenta a arquitetura com suas modificaes. As principais modificaes so indicadas na Tabela 2.1.
Tabela 2.1 Modificaes da rede GSM para se adequar tecnologia GPRS

Elemento de rede Estao mvel (MS) Estao transceptora

Modificao ou atualizao da arquitetura GSM necessrio uma nova MS, que permanece compatvel com todos os servios existentes anteriormente. Necessrio uma atualizao de software nas BTSs existentes.

21

www.mecatronicadegaragem.blogspot.com

base (BTS) Controlador de estao Atualizao de software e instalao de hardware novo, base (BSC) chamado unidade de controle de pacote PCU (Packet
Control Unit), que direciona o trfego de dados para a rede

GPRS. SGSN e GGSN Novos elementos de rede, chamados servidor do n de suporte GPRS (SGSN - Serving GPRS Support Node) e Gateway do n de suporte GPRS (GGSN Gateway GPRS
Support Node)

VLR, HLR, AuC, EIR e todos elementos de base de dados

Atualizao do software para fornecer as funes oferecidas pelo GPRS

Figura 2.4 Arquitetura GPRS

A seguir sero descritos os novos elementos e servios oferecidos pela introduo da tecnologia GPRS.

22

www.mecatronicadegaragem.blogspot.com

Unidade de controle de pacote (PCU) Todos os BSCs exigem a instalao de um PCU para se integrarem rede GPRS. Os PCUs organizam os dados vindos da BSC em pacotes e transportam-no at o servidor do n de suporte GPRS (SGSN). O trfego de voz continua sendo tratado como nas redes GSM comuns, ou seja, do BSS at a MSC.

Servidor do n de suporte GPRS (SGSN) O SGSN pode ser visto como uma MSC de comutao de pacotes, ou seja, ele responsvel por prov o ponto de acesso das MSs rede GPRS. Note que ele o SGSN trata apenas o trfego de dados, permanecendo o tratamento do trfego de voz inalterado. As principais funes do SGSN so: Deteco de novos usurios GPRS na rea de servio; Registro de novos usurios; Criptografia dos dados; Manuteno dos registros de localizao dos usurios na rea de servio; Gerenciamento da mobilidade; Compresso dos cabealhos de dados dos protocolos TCP/IP; Tarifao das transaes na rede local; Comunicao com o HLR, para obter dados dos usurios GPRS.

Gateway do n de suporte (GGSN) O GGSN prov as interfaces de conexo com as redes de pacotes externas, como IP. Todos os pacotes transferidos entre uma rede externa e o GPRS passam pelo GGSN. Suas principais funes so: Manter informaes de roteamento para entregar as unidades de protocolo de dados (PDU Protocol Data Unit) ao SGSN que serve uma determinada MS; Mapeamento dos endereos de rede e assinante, atravs do protocolo DHCP; Tarifar as transaes efetuadas nas redes externas.

Nome do ponto de acesso (APN Access Point Name) Em suma, APNs so endereos IP associados a cada interface externa que conecta a rede GPRS ao GGSN. So usados para definir quais servio podem ser acessados por um certo usurio. Consiste de:

23

www.mecatronicadegaragem.blogspot.com

Identificador de rede APN (Network ID): identifica o GGSN e o n externo ou servio ao qual o usurio deseja se conectar; Identificador da operadora APN (Operator ID): campo opcional que identifica em qual rede backbone GPRS o GGSN est localizado.

2.3.2. Protocolos da rede GPRS


A Figura 2.5 apresenta as camadas de protocolos da rede GPRS. importante destacar que, a partir do nvel de rede, so usados os protocolos da Internet, como IP, TCP, UDP e etc. A seguir ser dada uma descrio dos principais protocolos da rede GPRS.

Figura 2.5 Camadas de protocolo da rede GSM

Camada SNDCP A camada de protocolo de convergncia dependente da sub-rede (SNDCP


SubNetwork Dependent Convergence Protocol) responsvel pela interface das

camadas de protocolo GPRS entre os elementos de rede MS e SGSN, visando o suporte dos protocolos IP, PPP e X-25. Adicionalmente, o SNDCP realiza a compresso de dados e cabealho, aumento a eficincia do canal. A compresso de cabealho realizada apenas ao protocolo TCP, no sendo aplicada ao UDP. Outra funo de grande importncia a segmentao e remontagem das unidades de protocolo de dados (PDU Protocol Data Unit).

24

www.mecatronicadegaragem.blogspot.com

Camada LLC A camada do protocolo de controle de enlace lgico (LLC Logical Link
Control) encarregada de prov o enlace lgico entre a MS e o SGSN. Suas principais

funes so: Encapsular dados da camada SNDCP em unidades tratadas pelo LLC; Entregar os dados da camada RLC SNDCP na ordem certa; Se encarregar da criptografia; Controlar o fluxo de dados; Controlar a seqncia de pacotes; Detectar e corrigir erros.

Camadas RLC/MAC A camada de protocolo de controle de rdio (RLC Radio Link Control) segmenta os quadros LLC em blocos RLC, associando um nmero de seqncia por bloco (BSN - Block Sequence Number). A camada de protocolo de acesso ao meio (MAC - Medium Access Control) trata os diferentes canais lgicos a serem compartilhados por vrias MSs. Sua principal funo definir como deve ser feito o acesso ao meio, o que corresponde funo da camada de enlace do modelo OSI. Prov tambm mecanismos que evitam colises de dados por pacotes no enlace reverso, o que acontece quando vrias MSs enviam pacotes para uma mesma BTS.

2.3.3. Tarifao
Cabe aos elementos de rede SGSN e GGSN a funo de coletar as informaes de tarifao de cada MS. O SGSN coleta as informaes referentes utilizao da rede de rdio (RF), enquanto o GGSN coleta as informaes referentes utilizao dos recursos de uma rede externa de dados (tipicamente, a Internet). As principais informaes coletadas pelo SGSN so: Volume do trfego (quantidade de bytes transferidos) de dados originados e concludos pela MS; Utilizao dos recursos GPRS gerais. Representa a utilizao de outros recursos relacionados rede GPRS, como por exemplo, gerenciamento de mobilidade; 25

www.mecatronicadegaragem.blogspot.com

Localizao da MS durante a utilizao dos servios da rede GPRS, se local ou visitada; As principais informaes coletadas pelo GGSN so: Volume do trfego (quantidade de bytes transferidos) de dados originado e terminado pela MS em uma rede externa de dados; Utilizao dos endereos do protocolo de dados por pacotes: representa o tempo de utilizao dos endereos do protocolo de dados por pacotes pela MS.

3. Softwares e hardwares utilizados


3.1. PIC18F2525
O PIC18F2525 um microcontrolador da Microchip da famlia 18F, que possuem como caractersticas gerais o alto desempenho computacional, preos acessveis, alta resistncia e extensa memria Flash [1]. Ele um microcontrolador de 8 bits de dados e16 bits de instruo, possui 28 pinos, podendo utilizar at 25 pinos para funes diversas de entrada e sada (caso seja utilizado um oscilador interno). Algumas caractersticas especficas do modelo 18F2525 so: Possui 3 modos de funcionamento: Execuo (CPU e perifricos ativados), Espera (CPU desativado e perifricos ativados) e Dormindo (CPU e perifricos desativados; Apresenta um baixo consumo de corrente, com valores tpicos de 11A, 2A e 100nA, nos modos Execuo, Espera e Dormindo, respectivamente; Suporta uma velocidade de at 40 MHz, utilizando cristal externo; Vrias configuraes de uso do oscilador interno; Fonte de corrente de at 25mA; Trs fontes de interrupo externa (pinos RB0, RB1 e RB2); Suporte ao barramento I2C nos modos Mestre e Escravo; Avanado mdulo USART: o Suporta os padres RS232, RS485 e LIN/J2602 (padro de comunicao muito usado na indstria automotiva); o Ativao automtica do perifrico (caso se encontre no modo Dormindo), ao receber o start bit;

26

www.mecatronicadegaragem.blogspot.com

o Deteco automtica da taxa de transmisso; Suporta 100.000 ciclos de gravao na memria de programa - Flash; Suporta 1.000.000 de ciclos de gravao na memria de dados EEPROM; Interrupes com nveis de prioridade: caso ocorra uma interrupo durante o tratamento de outra interrupo, a que tiver a prioridade mais alta ir ser executada primeiro; Possui quatro timers; Alm das caractersticas citadas acima, interessante destacar algumas especificaes tcnicas, elas so visualizadas na Tabela 3.1.
Tabela 3.1 Especificaes tcnicas do PIC18F2525

Especificaes Memria de programa Memria de dados Memria de dados - EEPROM Fontes de interrupo Entradas analgicas Temperatura funcionamento Mxima corrente de sada no pino de terra (VSS) Mxima corrente de entrada no pino de alimentao (VDD) Mxima corrente fornecida para qualquer pino de E/S Mxima corrente requerida para qualquer pino de E/S Mxima corrente fornecida para todos os pinos de E/S Mxima corrente requerida para todos os pinos de E/S ambiente de

Valor 49152 bytes 3968 bytes 1024 bytes 19 5 -40 C a +125C 300mA 250mA 25mA 25mA 200mA 200mA

27

www.mecatronicadegaragem.blogspot.com

3.2. Modem GSM


O Modem GSM utilizado no projeto o modem iTech G24 Serial Data Modem, fornecido pela empresa Informat Technology [17]. O equipamento nada mais do que o encapsulamento do mdulo GSM G24 da Motorola [6]. Ele apresenta uma conexo para antena externa, uma entrada DB9 para conexo serial, uma entrada mini-USB, uma entrada para a fonte de alimentao e o suporte para o SIM Card. Para o seu funcionamento necessrio o uso de um SIM Card, igual aos utilizados nos telefones celulares atuais (GSM). O modem apresenta todas as caractersticas de um celular comum, podendo realizar chamadas, enviar e receber SMS e utilizar as conexes GPRS (foco principal do projeto). O motivo da no utilizao de um celular comum que o mesmo no projetado para as condies adversas que um projeto especfico possa apresentar. Uma grande vantagem do mdulo G24 da Motorola que o mesmo possui a implementao da pilha TCP/IP, o que torna bastante fcil o uso de conexes internet. Ele dispe de 4 sockets internos que podem ser utilizados para as conexes TCP e as portas no intervalo de 0 a 65535. Os comandos referentes pilha TCP/IP so iniciados por AT+MIP. As principais especificaes tcnicas do mdulo em questo so [6]: Quad band (850, 900, 1800 e 1900 MHz); Temperatura de operao: -20 a +60C; Consumo de corrente: menor que 2,5mA; Potncia do transmissor: 1 Watt (850/900 MHz) e 2 Watts (1800/1900 MHz); Conexes: USB e RS232; Velocidade de transmisso GPRS: at 85,6 Kbps; SMS: modo texto e PDU; O mdulo G24 suporta os comandos AT padres (GSM 07.05, GSM 07.07 e GSM 07.10), alm dos comandos proprietrios, que em sua maioria so para acessar a pilha TCP/IP. Os principais comandos/respostas utilizados no projeto [7] so mostrados na Tabela 3.2.
Tabela 3.2 Principais comandos/respostas AT utilizados no projeto

Comando/Resposta AT

Observaes Comando bsico para testar a comunicao. Retorna OK ou ERROR.

28

www.mecatronicadegaragem.blogspot.com

AT&K0 ATE0 AT+CMGF=1 AT+CNMI=3,2

Desabilita o controle de fluxo da comunicao serial. Desabilita o eco da comunicao serial, ou seja, o Modem no envia os dados recebidos pela interface serial. Configura as mensagens SMS para o modo texto Faz com que as mensagens SMS recebidas sejam encaminhas para a interface serial. Aps cada SMS, espera o comando AT+CNMA por 60 segundos, caso no receba, retorna a configurao para o valor padro (armazena as mensagens na memria, sem encaminhar para o terminal).

AT+CNMA

Indica o conhecimento de que foi recebida uma nova mensagem. Faz com que o modem mantenha a sua configurao das mensagens SMS.

+CMT: <end. ori>, <hora>, <CR><LF><texto>

Indica o recebimento de uma mensagem SMS. O parmetro end. ori indica a origem da mensagem, o parmetro hora indica a hora da central de servios da operadora, <CR><LF> indica uma nova linha e o parmetro texto representa o contedo da mensagem.

AT+MIPCALL=1, <APN> AT+MIPCALL=0 +MIPCALL: <parmetro>

Realiza a conexo com a APN indicada no parmetro. Caso o modem esteja conectado a alguma APN, realiza a desconexo. Resposta referente a um comando AT+MIPCALL. Caso uma conexo tenha sido estabelecida, parmetro indica o endereo IP obtido. Caso tenha ocorrida uma desconexo ou a tentativa de se conectar falhou, parmetro igual a 0.

AT+MIPOPEN=<sock>, <porta ori>,<ip>,<porta dest>,<prot>

Abre uma conexo no socket sock, utilizando a porta de origem porta ori, com o servidor de endereo igual a ip, pela porta de destino porta dest e utilizando o protocolo especificado por prot, aonde 0 significa TCP e 1 significa UDP.

AT+MIPSEND=<sock>, <dado> AT+MIPPUSH=<sock>

Coloca os dados contidos no parmetro dado no buffer de envio do socket sock. O parmetro dado aceita dados no cdigo ASCII e na sua representao hexadecimal. Fora o envio imediato dos dados contidos no buffer do

29

www.mecatronicadegaragem.blogspot.com

socket sock AT+MIPCLOSE=<sock> +MIPRUDP: <ip ori>, <porta ori>, <sock>, <dado> Finaliza a conexo do socket sock, mas no desconecta o Modem da APN. Informa que foi recebida uma mensagem UDP, do endereo ip ori, pela porta porta ori e com o contedo igual a dado.

3.3. Compilador CCS


O compilador CCS uma ferramenta muito utilizada pelos profissionais que fazem uso dos microcontroladores da Microchip (PICs). Ele mantm uma grande similaridade com o padro ANSI C e fornece bibliotecas prprias com um total de 307 [9] funes especficas para tornar possvel a utilizao das caractersticas fornecidas pelos microcontroladores. Ainda fornece drivers que permitem a utilizao de diversos componentes acessrios, como display LCD, teclado, grande nmero de memrias EEPROM, cartes de memria MMC, sensores de temperatura, relgios de tempo real e etc. O projeto em questo faz uso de duas bibliotecas fornecidas pelo compilador:
modbus.c, que implementa todo o protocolo de comunicao Modbus (as principais

funes e os dois modos de funcionamento, mestre e escravo), utilizando pinos de E/S do PIC para realizar a comunicao RS232; e ds1307.c, que fornece funes para a configurao e a leitura dos dados desse circuito integrado, capaz de implementar um relgio de tempo real. Outras caractersticas do compilador podem ser citadas [9], so elas: Tipo de varivel de 1 bit, o que permite a criao de cdigos mais eficientes; Constantes salvas na memria de programa (mais abundante que a memria de dados); Permite strings de tamanho varivel; Apresenta vrias opes de formatao para a funo printf(), tornando prtico a exibio das variveis em algum determinado modelo (hexadecimal, decimal, binrio, com N casas decimais e etc); Permite o uso de mltiplas portas RS232 e I2C;

30

www.mecatronicadegaragem.blogspot.com

o Para isso, faz uso de uma implementao via software de transceptores seriais; Configura automaticamente a direo de cada pino (entrada ou sada) de acordo com as funes utilizadas (input(), output_high(), output_low() e etc); Permite o uso de funes assembly a qualquer momento.

3.4. Gravador PicBurner


Para inserir o arquivo gerado pelo compilador CCS (arquivo.hex) em um microcontrolador necessrio um dispositivo de hardware especfico para esta finalidade. Esse hardware chamado de gravador ou programador (o termo em ingls
programmer).

O gravador utilizado ao longo do projeto foi o PicBurner, o qual foi adquirido em um site de compra e venda. Ele baseado no projeto Brenner8 [8], o qual um gravador controlado por um microcontrolador em seu circuito. A sua principal caracterstica ser um gravador USB, tornando possvel a gravao de microcontroladores a partir de notebooks (os quais, em geral, no possuem portas seriais). Outras caractersticas que podem ser citadas: Grava PICs de 8, 14, 18, 28 e 40 pinos; Grava dsPICs de 8, 18, 28 e 40 pinos; Permite gravao In-Circuit. No precisa de fonte de alimentao externa! Utiliza a propria alimentacao

Figura 3.1 Gravador PicBurner USB

31

www.mecatronicadegaragem.blogspot.com

A conexo do microcontrolador ao PicBurner feita atravs de um conector ZIF (Zero Insertion Force Fora de Insero Nula), evitando que os pinos do microcontrolador sejam danificados. A Figura 3.1 apresenta o gravador em questo.

3.5. Relgio de Tempo Real - DS1307


O circuito integrado DS1307 um relgio de tempo real que apresenta um calendrio completo, alm de permitir a utilizao de 56 bytes de memria [2]. Ele capaz de fornecer segundo, minuto, hora, dia, dia da semana, ms e ano. Os meses so automaticamente ajustados para o seu correto nmero de dias, incluindo anos bissextos. Permite a configurao da exibio da hora em formato de 12 (com indicao de AM e PM) ou 24 horas. Seu encapsulamento bastante simples, apresentando apenas 8 pinos. A Figura 3.2 apresenta o seu diagrama de blocos.

Figura 3.2 Diagrama de blocos do DS1307

O DS1307 necessita de uma bateria de 3V de backup conectada aos seus terminais (pino 3) para um correto funcionamento. Quando a tenso de alimentao cai abaixo de 1,25xVBAT (tenso da bateria), o circuito termina a operao que est sendo realizado naquele momento e bloqueia novas requisies de escrita ou leitura, evitando que dados invlidos sejam trafegados. Caso a tenso de alimentao se torne menor que a tenso da bateria, o DS1307 muda para o modo de baixo consumo (menor que 500nA)

32

www.mecatronicadegaragem.blogspot.com

e passa a ser alimentado apenas pela bateria. No restabelecimento da tenso de alimentao, o circuito passa a utiliz-la quando a mesma atingir uma valor maior que VBAT + 0,2V e retorna a aceitar requisies de escrita e leitura quando a tenso de alimentao atingir um valor maior que 1,25 x VBAT. O dispositivo em questo faz uso de um cristal oscilador para o seu funcionamento. O cristal deve ter uma freqncia igual a 32,768kHz e conectado nos pinos 1 e 2. No necessrio o uso de capacitores de carga, mas o cristal deve obedecer aos parmetros expostos na Tabela 3.3. A preciso obtida pelo circuito funo da preciso do cristal e do casamento entre a carga capacitiva do circuito interno e a carga capacitiva para o qual o cristal foi projetado, ou seja, depende da obedincia do cristal aos parmetros da Tabela 3.3.
Tabela 3.3 Parmetros de especificao do cristal

Parmetro Freqncia Resistncia srie Capacitncia de carga

Tpico 32,768kHz

Mximo 45k

12,5 pF

Ele utiliza o barramento I2C para realizar a transferncia dos dados, pinos 5 (SDA) e 6 (SCL). Alm disso, possui uma sada programvel (pino 7 SWQ/OUT). Essa sada pode ser habilitada ou no, quando habilitada emite uma onda quadrada com uma das quatro freqncias possveis (1 Hz, 4kHz, 8kHz e 32,768kHz). Essa configurao feita habilitando os bits do registrador de controle do DS1307. O pino de sada coletor-aberto, portanto, necessita a ligao de um resistor alimentao para um correto funcionamento. A sada habilitada mesmo que o circuito se encontre alimentado apenas com a bateria.

3.6. Biblioteca LibModbus


O projeto em questo considera como o dispositivo a ser monitorado um equipamento industrial que permita a comunicao atravs do protocolo Modbus. Como invivel a obteno de tal dispositivo para fins de desenvolvimento do projeto, fez-se necessrio uma ferramenta que tornasse possvel a simulao de tal dispositivo. Para tanto, foi utilizado a biblioteca LibModbus [10]. Ela implementa o protocolo Modbus utilizando a porta serial para a comunicao. Ela utiliza o compilador GNU GCC para o seu funcionamento e faz uso 33

www.mecatronicadegaragem.blogspot.com

da biblioteca libpthread. A LibModbus permite a implementao de dispositivos mestres e escravos, alm de apresentar algumas funes de configurao da porta serial. Ela reconhece apenas as funes de escrita e leitura de registradores (funes 3, 4, 6 e 16), alm das funes de diagnstico (funo 7 retorna o status do software e funo 8 teste de linha). Mas para o projeto em questo as funes apresentadas atendem s necessidades. O software desenvolvido para simular o dispositivo industrial utiliza a LibModbus para implementar um escravo Modbus. realizada a inicializao do mapa de registradores com 3 variveis de 16 bits (presso, temperatura e alarmes) e 2 variveis de 32 bits (volume bruto e volume corrigido). Os valores so obtidos de forma aleatria e a cada leitura so obtidos novos valores para as variveis. A biblioteca em questo permite que seja configurada uma funo para ser executada toda vez que um dado for recebido ou enviado, e dessa forma que obtido um novo valor para o mapa de memria.

3.7. PostgreSQL
O projeto proposto necessita de uma base de dados, para tanto, foi escolhido como o Sistema Gerenciados de Banco de Dados SGBD, o PostgreSQL. Ele possui cdigo aberto e obedece ao paradigma objeto-relacional. Esta seo no ir explorar toda a potencialidade do SGBD em questo, pois no estgio atual do projeto, o seu uso foi bastante simplificado. Mas a opo pela escolha do PostgreSQL foi feita para que seja possvel a utilizao futura de toda a sua potencialidade. Algumas de suas principais caractersticas [11] so: Grande confiabilidade e integridade dos dados; Sua implementao da linguagem SQL fortemente baseada no padro ANSISQL 92/99; Compatvel com inmeros sistemas operacionais (GNU/Linux, diversas variaes de Unix e Windows); Possui a maioria dos tipos de dados especificados no ISO SQL:1999; Suporta o armazenamento de objetos binrios; Algumas funcionalidades mais sofisticadas podem ser mencionadas, tais como: Controle de concorrncia multiversionado; Recuperao em um ponto no tempo;

34

www.mecatronicadegaragem.blogspot.com

Transaes agrupadas; Cpias de segurana a quente; Suporta conjuntos de caracteres internacionais; Codificao de caracteres multibyte; Sensibilidade a caixa (maiscula e minscula) O PostgreSQL oferece ainda diversas bibliotecas que fazem a interface entre o

banco de dados e uma determinada linguagem de programao. Algumas das linguagens suportadas nativamente so: C/C++, Java, Net, Perl, Python e Ruby. A linguagem utilizada no projeto foi C/C++ e a biblioteca disponibilizada pelo PostgreSQL a libpq.

3.7.1. libpq
A biblioteca libpq a interface de programao para as aplicaes desenvolvidas em C/C++ que desejam acessar as funes do PostgreSQL. Ela possui um conjunto de funes que permitem que um programa cliente envie requisies para um servidor PostgreSQL e receba os seus resultados. Os programas clientes que utilizam a libpq devem incluir o arquivo de cabealho libpq-fe.h e utilizar a opo para realizar o link com a biblioteca libpq. A seguir ser dada uma breve descrio das principais funes desta biblioteca, retirados de [12]: PQconnectdb( char *conninfo ) Realiza a conexo com o servidor do banco de dados de acordo com os parmetros especificados na varivel conninfo. Ela retorna um ponteiro para a conexo (PGconn); PQstatus( parmetro; PQexec( PGconn *conn, const char *command ) como um ponto para uma varivel do tipo PGresult; PQresultstatus( PGresult *res ) parmetro; PQclear( PGresult *res ) PQfinish( PGconn *conn ) PQnfields( PGresult *res ) Limpa o contedo da varivel res; Finaliza a conexo conn; Retorna o nmero de colunas (campos) contidos Indica o status da resposta passada como Executa o comando contido na varivel command utilizando a conexo conn. A resposta retornada PGconn *conn ) Indica o status da conexo passada como

na resposta de um comando SQL, armazenado em res;

35

www.mecatronicadegaragem.blogspot.com

PQntuples( PGresult *res )

Retorna o nmero de linhas (tupla) contidos na Obtm o

resposta de um comando SQL, armazenado em res; PQgetvalue( PGresult *res, int row_number, int column_number ) como uma varivel do tipo char*. valor armazenado na linha e coluna indicados nos parmetros da funo. Retorna

4. Desenvolvimento
4.1. Descrio do projeto
O projeto consiste no desenvolvimento de uma Unidade de Telemetria Remota UTR. Ela ser capaz de capturar dados de um dispositivo qualquer (na aplicao em questo, est sendo considerado um dispositivo industrial) e transmitir esses dados para um servidor, de forma totalmente remota. Para tanto, utilizado um Modem GSM (descrito na seo anterior), o qual utiliza a internet para enviar os dados. O servidor armazena esses dados em um banco de dados e os torna disponvel para consulta atravs de um software cliente, que tem a opo de filtrar a visualizao desses dados da forma mais conveniente. A UTR composta por dois mdulos principais, referenciados ao longo do texto como Mdulo Embarcado e Mdulo Servidor, nas prximas sees esses mdulos sero mais detalhados, mas essa definio ir ajudar na explicao do funcionamento do projeto, que ser dada a seguir. O Mdulo Embarcado possui um relgio dedicado e uma configurao do intervalo de tempo em que deve realizar leituras do dispositivo monitorado. Esse intervalo pode ser alterado enviando um SMS para a UTR, o nmero telefnico correspondente ao chip usado no Modem de cada UTR deve ser cadastrado no banco de dados do Mdulo Servidor (o envio do SMS pode ser inserido ao Mdulo Servidor, mas atualmente esta funo no est disponvel). Aps esse intervalo feita uma requisio Modbus de leitura dos registradores desejados do dispositivo monitorado, os valores desses registradores so armazenados no Mdulo Embarcado, alm disso, acrescentada uma varivel que indica o nmero da mensagem e a marca de tempo em que a leitura foi realizada. As variveis so enviadas em uma nica mensagem para o Mdulo Servidor, atravs do Modem GSM, o qual armazena no banco de dados os valores dos registradores recebidos e envia uma resposta ao Mdulo Embarcado contendo o nmero 36

www.mecatronicadegaragem.blogspot.com

da mensagem recebida. Este ltimo compara o valor recebido com o nmero da mensagem enviada, caso sejam iguais, ele considera o dado enviado e aguarda o tempo configurado para uma nova leitura. Caso no seja igual ou o Mdulo Embarcado no receba nenhuma confirmao em vinte segundos, realizada uma nova tentativa de envio, at o limite de cinco tentativas. Se aps as cinco tentativas, o Mdulo Embarcado no receber nenhuma confirmao, o mesmo aguarda o intervalo para uma nova leitura, realiza esta leitura e a armazena em uma nova mensagem. Ento, envia novamente a mensagem anterior, caso obtenha sucesso, envia imediatamente a ltima leitura. O Mdulo Embarcado possui um buffer de at 100 mensagens. O projeto proposto pode ser adaptado para atender diversas aplicaes comerciais e industriais. A seguir so enumerados os principais tipos de aplicaes encontradas: 1. Monitorao de tubulaes de gs natural (temperatura, presso, volume e etc); 2. Sistemas de medio de gua/luz; 3. Substituir sistemas que utilizam como mtodo de transmisso rdios e que apresentam baixa taxa de entrega. Para o projeto em questo, foi adotado como exemplo um sistema de monitorao de tubulaes de gs natural, com o intuito de ser realizada a cobrana mensal do volume consumido por um determinado cliente. As principais vantagens deste projeto so: A reduo do custo, pois torna desnecessrio funcionrios dedicados a realizarem as leituras dos dispositivos; Uma maior segurana, j que muitas aplicaes industriais oferecem riscos sade do ser humano; Grande comodidade, as leituras so realizadas automaticamente e j so armazenadas em banco de dados, aonde possvel gerar relatrios customizados de acordo com a necessidade; Flexibilidade, pois o horrio da leitura dos dispositivos pode ser facilmente alterado de acordo com a necessidade; Possui uma instalao relativamente simples; Utiliza tecnologias que apresentam grande disponibilidade, como o protocolo Modbus (padro de fato na rea industrial [21]) e o Modem GSM, que apresenta uma grande rea de cobertura [22].

37

www.mecatronicadegaragem.blogspot.com

A seguir sero descritos em mais detalhes os principais componentes dos Mdulos da UTR proposta.

4.2. Mdulo Embarcado


O Mdulo Embarcado tem como objetivo coletar as informaes do dispositivo, armazen-las temporariamente e envi-las para o servidor. Alm disso, ele capaz de reconhecer mensagens SMS recebidas pelo Modem e dessa forma feita a configurao do intervalo de tempo entre as leituras do dispositivo. Outras configuraes podem ser implementadas dessa mesma forma. Ele composto pelo circuito eletrnico e pelo Modem GSM. Os principais componentes do circuito eletrnico so: Microcontrolador PIC18F2525; Relgio de tempo real - DS1307; Conversor TTL/RS232 - MAX232; Regulador de tenso 7805. O esquema do circuito eletrnico pode ser visualizado na Figura 4.1. O prottipo desse circuito pode ser observado na Figura 4.2, na qual apresenta o Mdulo Embarcado por completo (circuito eletrnico e Modem GSM).

Figura 4.1 Esquema do circuito eletrnico

38

www.mecatronicadegaragem.blogspot.com

Figura 4.2 Foto do Mdulo Embarcado

O circuito eletrnico foi projetado para que fosse alimentado por uma tenso contnua de 12V, quer seja advinda de um transformador de tenso alternada para contnua, como tambm por uma bateria. Como o projeto voltado para aplicaes industriais, muito importante maximizar o tempo de funcionamento do circuito quando apenas uma bateria usada para aliment-lo. Nesse sentido, o circuito apresentado na Figura 4.1 pode consumir apenas 0,72mA, caso o MAX232 seja substitudo pelo MAX222. Isso resulta em mais de 2 anos e 6 meses de funcionamento no caso de uso de uma bateria de 18Ah. Os consumos individuais so os seguintes: PIC18F2525 em modo de operao DS1307 em modo standby MAX222 em modo shutdown Modem GSM g24 em modo idle 11A [1]; 200A [2]; 2A [4]; 500A [5].

A alimentao de 12V conectada entrada do CI7805, pino 1, o qual gera uma tenso de 5V em seu terminal de sada, o qual utilizado para alimentar os demais componentes do circuito eletrnico. Foi usado um capacitor cermico de 330nF na entrada e um capacitor eletroltico de 100F na sada. O CI7805 gera uma tenso de sada regulada [20], ou seja, ela fica estvel em 5V, independente de oscilaes na

39

www.mecatronicadegaragem.blogspot.com

tenso de entrada. A escolha de sua utilizao bvia, pois assim obtm-se uma tenso para alimentar o restante do circuito bastante estvel e com o nvel lgico no padro TTL. O principal componente do circuito eletrnico o microcontrolador PIC18F2525, o qual tem como funo gerenciar todas as atividades do Mdulo Embarcado. Todos os dispositivos do circuito so conectados a ele, como pode ser observado na Figura 4.1. Ele utiliza um cristal de 24MHz, logo, capaz de realizar 6 milhes de instrues por segundo, de acordo explicaes dadas em sees anteriores. O pino de reset est atualmente desativado. O DS1307 um CI que funciona como um relgio de tempo real, maiores explicaes j foram fornecidas em sees anteriores. A sua ligao ao PIC18F2525 pode ser observada na Figura 4.3. Seus pinos SCL e SDA so conectados aos respectivos pinos do PIC. Como o DS1307 utiliza o barramento I2C, so necessrios resistores de pullup para o correto funcionamento da ligao [2]. Os resistores usados foram de 4,7 k . O DS1307 configurado pelo PIC para emitir um sinal de sada (pino SOUT) equivalente a um trem de pulsos de freqncia igual a 1Hz. Esse pino conectado na porta RB2 do PIC, de forma que seja possvel a utilizao da interrupo externa do microcontrolador a cada segundo. Como bateria do DS1307 est sendo utilizado 2 pilhas alcalinas de 1,5V cada, conectadas em srie, resultando nos 3V necessrios para um correto funcionamento do RTC. Nos pinos do clock externo est conectado um cristal de 32,768kHz, de acordo com o especificado em [2].

Figura 4.3 Ligao entre DS1307 e o PIC18F2525

40

www.mecatronicadegaragem.blogspot.com

No circuito eletrnico existem trs conversores MAX232. As suas conexes de capacitores e alimentao so como sugeridas em [3]. Um dos conversores utilizado para a comunicao com o Modem GSM, aonde o PIC envia comandos para o Modem e recebe as respostas, esse MAX232 est conectado USART de hardware do PIC18F2525 (pinos RC6 e RC7), pois se faz necessria a utilizao da interrupo serial. Outro MAX232 utilizado para a comunicao com o dispositivo que deseja-se monitorar, no projeto em questo, um dispositivo industrial que oferece comunicao atravs do protocolo ModBus via RS232. Ele conectado ao PIC nas portas RB0 (recepo) e RB3 (transmisso), assim, possvel utilizar a interrupo externa 0 para o tratamento das mensagens recebidas. O ltimo MAX232 utilizado apenas para imprimir dados de depurao para qualquer dispositivo que possa receber uma conexo RS232. Nos inmeros testes realizados ao longo do projeto, foi utilizado um PC para receber esses dados, tornando possvel uma fcil depurao do funcionamento do projeto, viabilizando possveis solues de defeitos.

4.2.1. Algoritmo do microcontrolador PIC18F2525


Como dito anteriormente, o microcontrolador PIC 18F2525 o principal componente do circuito eletrnico, ele responsvel pela execuo de todas as aes do Mdulo Embarcado, aonde realizada a comunicao com o dispositivo monitorado e o Modem GSM. Portanto, para uma completa compreenso do funcionamento do Mdulo Embarcado necessrio conhecer em detalhes o algoritmo executado pelo PIC18F2525. A seguir ser explicado todo esse algoritmo, utilizando fluxogramas para facilitar o entendimento. O fluxograma da funo principal mostrado na Figura 4.4. O cabealho contm a definio do modelo do PIC utilizado, os drivers utilizados ao longo do cdigo (modbus.c e ds1307.c), a freqncia do cristal escolhido (24MHz), configuraes do
driver Modbus (mestre ou escravo, endereo e etc) e a configurao das interfaces

RS232 utilizadas. Nesse ltimo, utilizado o conceito de streams, definida uma


stream para cada configurao e quando se deseja utilizar quela interface, basta se

referir stream configurada. So configuradas 3 interfaces RS232, todas com velocidade igual a 9600bps, 8 bits de dados, sem paridade e 1 stop bit. A interface padro do PIC18F2525, ou seja, a implementada via hardware, dedicado conexo com o Modem GSM, pois ela possui um buffer interno de 3 caracteres, indispensveis no tratamento das mensagens recebidas pelo Modem. J nas outras duas interfaces, 41

www.mecatronicadegaragem.blogspot.com

dedicadas conexo Modbus com o dispositivo e ao envio de mensagens de depurao para um PC, so utilizadas interfaces via software, aonde o compilador simula o funcionamento de uma USART, funcionando perfeitamente, apenas no possuindo o
buffer de 3 caracteres.

Figura 4.4 Fluxograma da funo main()

42

www.mecatronicadegaragem.blogspot.com

O programa possui um vetor de 100 posies para cada registrador de memria lido do dispositivo monitorado (no caso do projeto atual, so 5 vetores, que armazenam presso, temperatura, volume bruto, volume corrigido e alarmes). Alm delas, algumas variveis valem a pena serem explicadas, so elas: tempo_timeout _tempo estado Armazena o tempo em que considerado um timeout, ou seja, a operao alcanou o tempo limite de espera. Armazena o intervalo de tempo entre as leituras do dispositivo Armazena o estado atual da execuo do cdigo. Ela importante para monitorado. Ela do tipo TEMPO, uma enumerao definida no cdigo. no realizar comparaes desnecessrias ao longo do cdigo. Ela do tipo ESTADO_PROGRAMA, uma enumerao definida no cdigo. flag_rtc Indica que ocorreu uma interrupo externa 2, ou seja, a sada do DS1307 completou um novo perodo e como essa sada est configurada para ter uma freqncia de 1Hz, significa que foi transcorrido 1 segundo. Ela importante para a definio do momento em que uma nova leitura deve ocorrer. A varivel do tipo int1, ou seja, possui apenas 1 bit. flag_tempo Indica que foi atingido o intervalo configurado entre as leituras do dispositivo foi alcanado. Ento, so executados as aes necessrias para realizao do objetivo do cdigo. Ela do tipo int1. flag_ack_udp Indica que foi recebida uma mensagem UDP pelo Modem e que essa mensagem se refere resposta do Mdulo Servidor da ltima mensagem enviada pelo Mdulo Embarcado. Essa varivel do tipo int1. flag_ack_sms Indica que foi iniciado o recebimento de uma mensagem SMS. Ela ativada a partir do recebimento do texto +CMT:, que de acordo com as sees anteriores, significa que a prxima linha recebida pelo Modem GSM apresenta o contedo da mensagem SMS. Portanto, essa varivel importante para alertar ao programa que est sendo executado no microcontrolador, que a prxima linha deve ser interpretada como advinda de uma mensagem SMS. Esse alerta indispensvel, pois o nico meio do Mdulo Servidor iniciar uma comunicao com o Mdulo Embarcado atravs de SMS. flag_timeout Indica que o tempo limite de espera para a ao executada foi alcanado. Ela do tipo int1.

43

www.mecatronicadegaragem.blogspot.com

flag_conectado

Indica que o Modem GSM se encontra conectado internet

atravs de uma conexo PPP com a operadora do carto SIM inserido. A configurao do Modem realizada atravs de alguns comandos necessrios para o correto funcionamento do mesmo. Eles definem que no esto sendo usados pinos de controle na comunicao serial, que as mensagens SMS devem ser encaminhadas para a sada RS232, garante que no existe nenhuma conexo internet e desabilita o eco dos comandos enviados para o Modem. O timer0 configurado de modo que possa monitorar corretamente o tempo passado desde sua habilitao at o momento da interrupo.

Figura 4.5 Fluxograma da interrupo da USART

A Figura 4.5 ilustra o fluxograma da interrupo da USART, ou seja, essa funo executada toda vez que algum caracter for recebido na interface serial padro. Como esta interface est conectada ao Modem e o mesmo envia todos os dados recebidos por sua porta serial, bem como as respostas aos comandos executados, a funo ilustrada na Figura 4.5 permite o controle sobre tudo o que ocorre referente ao Modem GSM. Ela basicamente armazena todos os caracteres recebidos no vetor msg, at que um \n (cdigo correspondente ao ENTER) seja encontrado. Quando isso ocorre, chamada a funo processamento() que ir analisar o contedo do vetor e, de acordo com o estado do programa, ir realizar determinadas tarefas, o funcionamento desta funo demonstrado no fluxograma da Figura 4.7. Alm de

44

www.mecatronicadegaragem.blogspot.com

executar a funo processamento(), definido que, no momento que chegar o prximo caracter, o vetor msg ser reiniciado e o novo caracter ser inserido no incio do vetor. A Figura 4.6 apresenta o fluxograma da funo trata_rtc(). Ela responsvel por obter os dados do CI DS1307, atravs de seu driver especfico, que fornece a data e hora com uma preciso de tempo real. Com isso, possvel checar se o intervalo de tempo configurado na varivel _tempo foi alcanado. Em caso positivo, a flag_tempo ativada.

Figura 4.6 Fluxograma da funo trata_rtc()

A funo captura_dado() pode ser visualizada no fluxograma da Figura 4.8. Ela responsvel por obter os dados do dispositivo monitorado, enviando comandos
Modbus para o mesmo, e criar uma mensagem contendo os valores lidos do dispositivo,

o nmero da mensagem (para ser possvel realizar o reconhecimento do envio) e a marca da hora da leitura. Essa funo chamada pela funo main(). Outra funo invocada pelo main() a conecta(), que ilustrada na Figura 4.9. Ela responsvel por realizar a conexo do Modem GSM internet atravs da operadora do carto SIM inserido, apenas aps essa conexo possvel enviar dados para o Mdulo Servidor. A funo conecta() coloca o estado do programa para MIPCALL, o que faz com que a funo processamento() procure por respostas do tipo +MIPCALL:<endereo ip>, ento envia o comando de conexo para o Modem e ativa a interrupo de timer0, para que possa ser monitorado o timeout. A funo fica bloqueada, at que o timeout seja alcanado ou a funo processamento() identifique que foi realizada uma conexo, o que ativa a flag_conectado. Caso no ocorra a 45

www.mecatronicadegaragem.blogspot.com

conexo, ser realizada uma nova tentativa, at o limite de 10, quando a leitura armazenada no ser enviada at o prximo intervalo de tempo entre as leituras, e ento as duas leituras tentaro ser enviadas. A funo encarregada de realizar a comunicao do Mdulo Embarcado com o Mdulo Servidor a envia(), que pode ser visualizada no fluxograma da Figura 4.10. Ela utiliza conceitos semelhantes funo conecta(). Durante a sua execuo ela realiza chamadas funo envia_dado(), que pode ser acompanhada pelo fluxograma da Figura 4.11. Ao final da funo envia() fechada a conexo com a operadora. Assim, um novo ciclo pode ser reiniciado e todo o processo descrito realizado novamente.

Figura 4.7 Fluxograma da funo processamento()

46

www.mecatronicadegaragem.blogspot.com

Figura 4.8 Fluxograma da funo captura_dados()

Figura 4.9 Fluxograma da funo conecta()

47

www.mecatronicadegaragem.blogspot.com

Figura 4.10 Fluxograma da funo envia()

48

www.mecatronicadegaragem.blogspot.com

Figura 4.11 Fluxograma da funo envia_dado()

4.3. Mdulo Servidor


O Mdulo Servidor tem como funo receber os dados enviados pelo Mdulo Embarcado e armazen-los em um banco de dados, de forma que seja possvel a visualizao dessas informaes. Alm disso, ele permite que N clientes se conectem ao servidor e obtenham acesso ao banco de dados. Para tanto, um cliente deve fornecer um login e uma senha, que sero usados para se conectar base de dados, permitindo apenas que clientes autorizados pelo administrador do sistema obtenham acesso ao software servidor e sua base de dados (o administrador deve registrar manualmente todos os clientes que podero obter acesso). O software cliente pode ser desenvolvido em qualquer linguagem e sofrer quaisquer modificaes ao longo do tempo, desde que mantenha o protocolo de comunicao com o servidor. Assim, existe uma grande flexibilidade na forma em que os dados podem ser visualizados, o que resulta em uma boa caracterstica do projeto proposto. Nas prximas sees, ser citado o software cliente exemplo desenvolvido utilizando a sute grfica QT. O Mdulo Servidor composto por um computador (com uma configurao simples) sempre conectado internet, com um nmero IP real e fixo e preferencialmente conectado a qualquer firewall que permita trfego apenas nas portas especficas do projeto. O outro componente do Mdulo Servidor um software, referenciado ao longo do texto como software servidor. Ele possui trs threads de execuo [19]. O seu funcionamento ser descrito a seguir. 49

www.mecatronicadegaragem.blogspot.com

O software servidor foi construdo utilizando apenas ferramentas livres, aonde os principais componentes so o compilador GNU GCC e o Sistema Gerenciador de Banco de Bados SGBD PostgreSQL. Essa caracterstica, alm de oferecer um baixssimo custo de implantao, torna o sistema de fcil manuteno, pois ambos os componentes possuem fortes comunidades de suporte. A conexo entre o Mdulo Embarcado e o Mdulo Servidor efetuada pelo protocolo UDP, embora parea mais adequado o conceito de transmisso confivel do protocolo TCP [18]. Mas no foi possvel a utilizao do TCP, pois foram encontrados problemas com o Modem GSM. Quando ocorria uma falha de transmisso, o Modem GSM no era capaz de fechar a conexo j aberta e o socket se tornava inoperante. Como o Modem GSM possui apenas quatro sockets [5], rapidamente o Mdulo Embarcado no conseguia mais realizar nenhuma conexo com o Mdulo Servidor. Ento, foi implementado um protocolo de confirmao de recebimento de mensagens, aonde o Mdulo Embarcado envia o nmero da mensagem, junto com as informaes do dispositivo. O Mdulo Servidor, ao receber uma mensagem, envia uma resposta ao Mdulo Embarcado contendo apenas o nmero da mensagem recebida. O Mdulo Embarcado recebe a mensagem e compara o nmero recebido com o nmero da mensagem enviada, caso sejam iguais, considera a mensagem como enviada e apaga a mesma de seu buffer. Caso a mensagem de confirmao no chegue at o Mdulo Embarcado, o mesmo enviar a mesma mensagem novamente, at que a confirmao seja recebida ou um nmero mximo de tentativas seja alcanado. Para evitar dados duplicados na base de dados, o software servidor est programado para descartar as mensagens que j foram recebidas. O funcionamento do software servidor est descrito nos fluxogramas a seguir, nos fluxogramas esto ocultados os procedimentos de checagem de erros e validaes dos dados, com o intuito de simplific-los. A thread main() est ilustrada na Figura 4.12, ela executa o servidor que ir receber as conexes do Mdulo Embarcado e armazenar os dados no banco de dados. A Figura 4.13 mostra o funcionamento da
thread servidor(), ela recebe conexes dos softwares clientes e realiza a sua

autenticao junto ao banco de dados, caso obtenha sucesso, inicia uma thread cliente() para executar as aes daquele cliente e passa a aguardar novas conexes. A thread cliente() est indicada na Figura 4.14, ela responsvel por realizar a comunicao entre o software servidor e o software cliente. Com o intuito de permitir uma grande compatibilidade com os clientes futuramente desenvolvidos, o protocolo de 50

www.mecatronicadegaragem.blogspot.com

comunicao entre o software servidor e o software cliente bastante simples. O


software servidor est programado para interpretar apenas comandos SQL e, ao receb-

los, tenta execut-los e retorna a resposta ao software cliente, cabendo ao mesmo todo o processo de tratamento dos dados. Assim, possvel obter uma grande flexibilizao dos clientes.

Figura 4.12 Fluxograma da thread main()

51

www.mecatronicadegaragem.blogspot.com

Figura 4.13 Fluxograma da thread servidor()

Figura 4.14 Fluxograma da thread cliente()

52

www.mecatronicadegaragem.blogspot.com

4.3.1. Cliente exemplo


Como dito na seo anterior, o software cliente pode sofrer modificaes a qualquer momento e essa uma caracterstica desejada do projeto. Portanto, no ser dada nfase ao funcionamento do software cliente, ele apenas obedece ao protocolo de comunicao explicitado na Figura 4.13 e Figura 4.14. Ele foi desenvolvido apenas para comprovar a funcionalidade do Mdulo Embarcado. Foi utilizada a sute grfica QT para o seu desenvolvimento. A tela de login do software cliente apresentada na Figura 4.15. A Figura 4.16 ilustra a sua tela principal, ela possui um menu principal e um menu de aes contendo dois itens, apenas Ver Dados da UTR est disponvel atualmente. Alm disso, ela apresenta uma tabela contendo todas as UTRs cadastradas e algumas informaes que podem ser teis na identificao das mesmas. Clicando sobre uma UTR e pressionando o boto Ver Dados da UTR a tela da Figura 4.17. Nessa tela possvel visualizar os dados armazenados no banco de dados a partir de dois filtros, o nome da UTR e a data/hora da leitura. Essa ltima opo permitido escolher se deseja visualizar os dados que contenham data/hora maiores, iguais ou menores que o valor fornecido.

Figura 4.15 Tela de login do software cliente-exemplo

53

www.mecatronicadegaragem.blogspot.com

Figura 4.16 Tela principal do software cliente-exemplo

Figura 4.17 Tela da ao Ver Dados da UTR

54

www.mecatronicadegaragem.blogspot.com

5. Concluso
Ao longo do trabalho, foi apresentado um processo de automao simples e prtico de um tipo de sistema bastante comum, mas que em muitos casos ainda apresenta um funcionamento bastante artesanal, os sistemas de medio fiscal. comum encontrarmos sistemas em que necessrio que um funcionrio v at o equipamento medidor para coletar suas informaes. Essa situao se torna mais grave, quando se tratam de sistemas que possuem equipamentos (clientes) muito distantes uns dos outros. O trabalho apresenta um sistema de telemetria remota, que permite que um Mdulo Embarcado colete as informaes de um dispositivo e realize o envio para um Mdulo Servidor, o qual armazena todas essas informaes em um banco de dados, permitindo que programas clientes possam visualiz-los. A implementao desse projeto apresenta algumas vantagens, que podem ser resumidas em: Garantia de que a medio ir ser realizada, independente da necessidade de um funcionrio se deslocar at o ambiente onde o dispositivo se localiza. Essa vantagem evita possveis atos de m f por parte do funcionrio, como no se deslocar at o local, ou anotar medies que no condizem com a realidade; Permite que os dispositivos medidos sejam inseridos em locais de acesso mais restrito, impedindo possveis alteraes no mesmo por parte do cliente; Pode apresentar maiores detalhes para o cliente, pois as medies podem ser realizadas em vrios intervalos de tempo pr-definidos. Dessa forma possvel demonstrar qual consumo dirio, ou por perodo do dia, resultando em uma maior clareza para o consumidor; A empresa passa a possuir um histrico dos clientes, pois todas as informaes vo direto para um banco de dados, o qual permite um grande volume de dados; Embora o trabalho descrito esteja totalmente funcional, o mesmo ainda necessita da implementao de algumas funcionalidades e da definio de alguns parmetros, bem como a realizao dos testes de campo. Na que diz respeito s funcionalidades, necessrio a integrao do envio de SMS ao Mdulo Servidor, que pode ser realizada utilizando um componente (de desenvolvimento prprio ou de terceiros) de software que realize o acesso aos sites das operadoras de telefonia celular e efetue o envio gratuito da mensagem, com formatos de texto padro e o nmero telefnico de acordo

55

www.mecatronicadegaragem.blogspot.com

com a UTR selecionada. Outra opo seria o uso de um servidor externo de SMS, o qual cobraria uma taxa (cerca de R$ 0,15) por cada mensagem enviada, dessa forma, o envio da SMS poderia ser feito de forma transparente ao usurio. Outra funcionalidade pendente a realizao do ajuste do relgio de cada Mdulo Embarcado, o qual teria que ser efetuado localmente. No mbito das definies, necessrio medir com certo grau de preciso o consumo de energia total do circuito, em diversos tipos de operao. Apenas com os dados dessas medies possvel definir qual o tipo de alimentao do circuito eletrnico, ou seja, se necessrio que o circuito seja alimentado por alguma rede eltrica ou se apenas baterias de alta durabilidade suportam o funcionamento do circuito por um tempo economicamente vivel. So necessrios testes de campo para confirmar a disponibilidade e o comportamento da rede GPRS nos locais a serem instalados os Mdulos Embarcados. Alm disso, deve-se realizar o teste global do funcionamento do sistema. Alm das atividades a serem realizadas antes de tornar o sistema totalmente preparado para o funcionamento no campo, existem melhorias a serem feitas no projeto que podem resultar em uma maior qualidade do mesmo. Pode ser aumentado o nmero de aes realizadas pelo Mdulo Embarcado a partir de comandos do Mdulo Servidor, realizados atravs de mensagens SMS, como por exemplo, a realizao e o envio imediato de uma nova leitura. Outra modificao seria a adoo de algum protocolo de segurana da Internet para a conexo entre os Mdulos, ou a utilizao de criptografia de dados.

56

www.mecatronicadegaragem.blogspot.com

6. Referncias
[1] Microchip. Manual do PIC18F2525. Disponvel em:

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2046. Acesso em: 20/06/2009 [2] Maxim. Texas Texas Manual do DS1307. Disponvel em: http://www.maximDisponvel Disponvel em: em: ic.com/quick_view2.cfm/qv_pk/2688. Acesso em: 20/06/2009 [3] Instruments. Instruments. Manual do MAX232. http://focus.ti.com/docs/prod/folders/print/max232.html. Acesso em: 20/06/2009 [4] Manual do MAX222. http://focus.ti.com/lit/ds/slls590d/slls590d.pdf. Acesso em: 20/06/2009 [5] Informat Technology. Manual do Modem GSM g20/g24. Disponvel em: http://www.grupoinformat.com.br/downloads.php?divisao=wireless. 20/06/2009 [6] Motorola. Motorola G24: Module Hardware Description. Disponvel em: http://developer.motorola.com/products/wirelessmodules/g24/. Acesso em: 20/06/2009 [7] Motorola. Motorola G24: AT Commands Reference Manual. Disponvel em: http://developer.motorola.com/products/wirelessmodules/g24/. Acesso em: 20/06/2009 [8] Bredendiek, Jrg. PIC-Brenner 8 Rev 5. Disponvel em: http://www.sprut.de/electronic/pic/projekte/brenner8/index.htm. Acesso em: 21/06/2009 [9] Custom Computer Services, Inc. http://www.ccsinfo.com. Acesso em: 21/06/2009 [10] LibModbus. http://pes.free.fr. Acesso em: 21/06/2009 [11] Comunidade brasileira de PostgreSQL. http://www.postgresql.org.br. Acesso em: 21/06/2009 [12] PostgreSQL 8.3.1 Documentation. Disponvel em: http://www.postgresql.org/docs/. Acesso em: 21/06/2009 [13] 1977 Data Calatog Micro Electronics. General Instrument Corporation. Disponvel em: http://www.rhoent.com/pic16xx.pdf. Acesso em: 22/06/2009 [14] Microchip. PICmicro Mid-Range MCU Family: Reference Manual. Disponvel Acesso em: 22/06/2009 em: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1956. Acesso em:

57

www.mecatronicadegaragem.blogspot.com

[15] Filho, R. P. Protocolo de Comunicao I2C. Artigo disponvel em: http://www2.eletronica.org/artigos/eletronica-digital/protocolo-de-comunicacao-i2c/. Acesso em: 22/06/2009 [16] Sverzut, J. U. Redes GSM, GPRS, EDGE e UMTS Evoluo a caminho da quarta gerao. 2 Edio. So Paulo: Editora rica 2008. [17] Informat Technology. http://www.informattechnology.com.br. Acesso em: 20/06/2009 [18] Tanenbaum, A. S. Redes de Computadores. 4 Edio. Rio de Janeiro: Editora Campus 2003 [19] Tanenbaum, A. S. Sistemas Operacionais Modernos. 2 Edio. So Paulo: Prentice Hall 2003 [20] Texas Instruments. Manual do A7805. Disponvel em: http://focus.ti.com/docs/prod/folders/print/ua7805.html. Acesso em: 23/06/2009 [21] Melo, W. Notas de aula Redes industriais: Aula 4. Disponvel em: http://www.cefetrn.br/~walmy/RI_A4.pdf. Acesso em 23/06/2009 [22] GSM World. Coverage Maps. Disponvel em: http://www.gsmworld.com/roaming/gsminfo/cou_br.shtml. Acesso em: 23/06/2009

58

Вам также может понравиться