UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE CENTRO DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA DA COMPUTAÇÃO E AUTOMAÇÃO

DESENVOLVIMENTO DE UM SISTEMA DE TELEMETRIA REMOTA

Victor Hugo Freitas de Oliveira

Orientador: Prof. Dr. Andrés Ortiz Salazar

Natal, Junho de 2009

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE CENTRO DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA DA COMPUTAÇÃO E AUTOMAÇÃO

DESENVOLVIMENTO DE UM SISTEMA DE TELEMETRIA REMOTA
Trabalho de Conclusão de Curso, submetido Engenharia da ao de Departamento Computação Federal do de e Rio

Automação do Centro de Tecnologia Universidade Grande do Norte, como parte dos requisitos necessários para obtenção do grau de Graduado.

Autor: Victor Hugo Freitas de Oliveira Orientador: Prof. Dr. Andrés Ortiz Salazar

Natal, Junho de 2009

Agradecimentos
Aos meus pais, por terem me dado oportunidade de uma boa educação. Aos meus amigos, por me apoiarem ao longo dessa jornada. Ao prof. Andrés Ortiz Salazar, pela ajuda ao longo de todo o curso, sendo um grande responsável pela minha formação acadêmica e profissional. Ao prof. André Laurindo Maitelli e a toda equipe do Laboratório de Automação em Petróleo – LAUT, pela oportunidade de trabalho em um ambiente de muito profissionalismo, mas ao mesmo tempo de companheirismo, resultando em uma aprendizagem contínua. Aos demais professores do Departamento de Engenharia de Computação e Automação, pela dedicação ao nosso aprendizado.

Resumo
Este trabalho aborda o desenvolvimento de um sistema de telemetria remota. Ele é capaz de se comunicar, através do protocolo de redes industriais Modbus, com um dispositivo que realiza medições quaisquer. Essa comunicação é realizada para a obtenção dos dados de um determinado instante. O sistema é capaz de armazenar temporariamente esses dados e enviá-los para um servidor, através de uma conexão à Internet. O servidor recebe essas informações e as armazena em um banco de dados. Então, permite que softwares clientes realizem a visualização desses dados, de acordo com sua própria interface.

Sumário
Introdução................................................................................................................. 8 Fundamentação teórica ........................................................................................... 10 2.1. Microcontrolador PIC..................................................................................... 10 2.1.1. Arquitetura.................................................................................................... 10 2.1.2. Hardwares incorporados ............................................................................... 13 2.1.3. Interrupções .................................................................................................. 14 2.2. Rede GSM ...................................................................................................... 15 2.2.1. Estação Móvel (MS)..................................................................................... 16 2.2.2. Sistema de estação base (BSS) ..................................................................... 17 2.2.3. Sistema de comutação 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. Tarifação................................................................................................. 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. Relógio de Tempo Real - DS1307.................................................................. 32 3.6. Biblioteca LibModbus .................................................................................... 33 3.7. PostgreSQL..................................................................................................... 34 3.7.1. libpq ........................................................................................................ 35 4. Desenvolvimento .................................................................................................... 36 4.1. Descrição do projeto....................................................................................... 36 4.2. Módulo Embarcado ........................................................................................ 38 4.2.1. Algoritmo do microcontrolador PIC18F2525 ........................................ 41 4.3. Módulo Servidor............................................................................................. 49 4.3.1. Cliente exemplo............................................................................................ 53 5. Conclusão ............................................................................................................... 55 6. Referências ............................................................................................................. 57 1. 2.

.........................................................................................1 – Esquema do circuito eletrônico............................................................................................... 51 Figura 4.............2 – Foto do Módulo Embarcado..................................1 – Arquitetura da rede GSM ... 46 Figura 4..................................................................................... 31 Figura 3............ 52 Figura 4.............................................................................. 22 Figura 2.................. 49 Figura 4.................................13 – Fluxograma da thread servidor() . 40 Figura 4................................. 54 Figura 4...........1 – Gravador PicBurner USB....................9 – Fluxograma da função “conecta()” .....2 – Diagrama de blocos do DS1307.........................................3 – Ligação entre DS1307 e o PIC18F2525 ..........8 – Fluxograma da função “captura_dados()” ..................................................... 19 Figura 2...................6 – Fluxograma da função “trata_rtc()” ..............15 – Tela de login do software cliente-exemplo ........................................10 – Fluxograma da função “envia()”................4 – Fluxograma da função main() ................................................. 39 Figura 4...............................................7 – Fluxograma da função “processamento()”.................................... 21 Figura 2........................................................14 – Fluxograma da thread cliente()...............................16 – Tela principal do software cliente-exemplo.. 48 Figura 4...................17 – Tela da ação “Ver Dados da UTR” ......................................................................... 44 Figura 4.................. 45 Figura 4.............................................12 – Fluxograma da thread main()...3 – Evolução do sistema de telefonia móvel celular .................................................................................11 – Fluxograma da função “envia_dado()” .....5 – Camadas de protocolo da rede GSM........ 54 . 42 Figura 4.................................................................................. 38 Figura 4....................4 – Arquitetura GPRS ........................5 – Fluxograma da interrupção da USART.. 16 Figura 2........... 47 Figura 4......................... 52 Figura 4................................2 – Formato do IMEI .........Lista de figuras Figura 2............................... 32 Figura 4........................... 47 Figura 4...... 24 Figura 3............... 53 Figura 4.............

........2 – Principais comandos/respostas AT utilizados no projeto .................. 28 Tabela 3.........................1 – Modificações da rede GSM para se adequar à tecnologia GPRS...............Lista de tabelas Tabela 2...3 – Parâmetros de especificação do cristal ... 33 . 21 Tabela 3............................................. 27 Tabela 3............1 – Especificações técnicas do PIC18F2525 ....................

a qual é ferramenta indispensável no projeto proposto. Além disso. Para o trabalho em questão. aonde os mais diversos dispositivos eletrônicos possuem a capacidade de estabelecer comunicação com a mesma. Ainda no capítulo 2. é muito importante o avanço significativo das tecnologias de transmissão sem fio. Pode-se dizer que as principais buscas das empresas se resumem em três categorias: redução de custos. Introdução Hoje em dia. a fim de obter maior êxito (lucro) que suas concorrentes. com elevados níveis de concorrência e diversas empresas buscando apenas um pequeno detalhe que a diferencie das demais. Este último deve ser capaz de receber essas informações e armazenálas em um banco de dados. armazená-las temporariamente e enviá-las ao Módulo Servidor. de forma intuitiva e adaptável.1. capaz de automatizar processos que necessitem enviar informações de monitoração de um dispositivo. O sistema proposto neste trabalho é composto por dois principais módulos: Módulo Embarcado e o Módulo Servidor. O capítulo 2 deste trabalho apresenta os principais conceitos teóricos necessários para o desenvolvimento do projeto exposto. são mostradas as alterações ocorridas da rede GSM padrão. são descritas as características da rede GSM. Sobre o GPRS. na qual ela é a protagonista de uma convergência tecnológica. uma das formas para acentuar essas características é o emprego da automação. maior confiabilidade de seus produtos e uma maior segurança (para seus clientes e funcionários). O foco principal do trabalho são os sistemas de medição de água/luz e a monitoração de tubulações de gás. o mercado mundial encontra-se bastante acirrado. explicando a sua arquitetura e seus principais componentes. O Módulo Embarcado tem como função capturar as informações do dispositivo. É neste cenário tecnológico que este trabalho apresenta um sistema de telemetria remota. Aborda as principais características dos microcontroladores da família PIC. mais especificamente o avanço dos sistemas de telefonia móvel. os principais hardwares incorporados internamente em seus chips e as principais interrupções. Com o avanço da tecnologia. no qual o mesmo não se encontra conectado a nenhuma rede local. detalhando sua arquitetura. servindo como base para o estudo da tecnologia GPRS. seja para fins fiscais ou não. e a expansão da Internet. falando sobre cada 8 . deve permitir que programas clientes se conectem ao Módulo Servidor e visualizem as informações contidas no banco de dados.

LibModbus e PostgreSQL. gravador PicBurner. O capítulo 4 apresenta o desenvolvimento do projeto. enfatizando as funcionalidades exploradas pelo projeto. Também são apresentadas algumas melhorias que podem ser desenvolvidas para tornar o projeto ainda mais atrativo.mudança e novos componentes. mostra como foram desenvolvidos os Módulos integrantes e os algoritmos que o compõem. O capítulo 3 aborda os softwares e hardwares utilizados para o desenvolvimento do projeto. Os itens abordados são: PIC18F2525. Em cada tópico é mostrado apenas as principais características do determinado produto. O capítulo 5 apresenta as conclusões finais do projeto. Modem GSM. além de indicar os detalhes que faltam para tornar o projeto um produto comercial. Depois. dando uma explicação mais detalhada sobre o funcionamento geral do sistema. 9 . compilador CCS. além dos principais protocolos existentes em uma rede GPRS. DS1307.

Arquitetura A arquitetura do PIC é tipicamente minimalista. com espera de um ciclo nas instruções de desvio. • • Um único acumulador (W).1. Toda a memória de dados funciona como registradores para fonte ou destino de funções matemáticas e outros tipos. originalmente desenvolvido pela General Instrument’s Microelectronics Division. extenso material para consulta. devido a seu baixo custo. das Portas de I/O e dos periféricos. • Uma pilha implementada em hardware para armazenas os endereços de retornos (usados nas chamadas de funções). disponibilidade de ferramentas de desenvolvimento de baixo custo e até mesmo grátis. 10 . A maioria das instruções são executadas em um único ciclo (4 períodos de clock). Microcontrolador PIC O PIC pertence a uma família de microcontroladores de arquitetura Harvard produzido pela Microchip Technology.1. fóruns e sites dedicados na internet. 2. já são encontrados hardwares que realizam a programação do PIC pela porta USB. artigos em revistas especializadas. como livros especializados. ultimamente. Um pequeno número de instruções de tamanhos fixos. pois a memória RAM realiza os serviços da memória e dos registradores. Essa família de microcontroladores é bastante popular entre profissionais da área de eletrônica. derivado do PIC1640. e possibilidade de programação (e re-programação com a memória flash) pela porta serial e. O nome PIC inicialmente se referia a “Peripheral Interface Controller” (Controlador de Interfaces Periféricas) [13]. assim como com hobbystas. Fundamentação teórica 2. Diferente da maioria das CPUs existentes. • Memória de dados mapeia os registradores da CPU.1. Suas principais características são: • • • Memória de dados independente da memória de programa (arquitetura Harvard). não há distinção entre memória e registradores.2. grande disponibilidade no mercado nacional.

11 . famílias diferentes de PIC’s usam instruções de tamanhos diferentes. Espaço de dados . Tamanho da palavra O tamanho da palavra dos PIC’s é uma fonte de muita confusão. Registradores especiais para controlar os hardwares embutidos no microcontrolador também são mapeados no espaço de dados. Essa pilha não era acessada por software. para um PIC de 16 bits. Pilha Os microcontroladores da Microchip Technology possuem um hardware chamado pilha. Memória de programa Todos os PICs possuem a arquitetura Harvard. Em geral. isso resulta em 4096 palavras ou instruções. então eles deveriam ser chamados de microcontroladores de 8 bits. ROM ou flash ROM. A exceção são alguns microcontroladores da série 18F. mas todas as séries possuem mais de um banco de memória. o que torna um desafio comparar o tamanho do código de um PIC com outros microcontroladores. os PIC’s usam a arquitetura Harvard. então o tamanho da instrução pode ser diferente do tamanho do dado. então a memória de dados e a memória de programa são separadas. resulta em 3072 palavras. A memória de programa geralmente são implementadas em EPROM. o que facilita o endereçamento de toda a memória. até a criação da série 18F. Mas ao contrário da maioria das CPU’s. Por exemplo. os dispositivos de memória externa não são endereçados diretamente devido a falta de uma interface própria para este fim. a memória RAM é usualmente chamada como o registrador de arquivos ou apenas os registradores. O endereçamento da memória depende da série do dispositivo. Na verdade. digamos que um microcontrolador tenha 6144 bytes de memória de programa – para um PIC de 12 bits. o que resultou em um dispositivo mais amigável para os compiladores de linguagens de alto nível.RAM Os PICs possuem um grupo de registradores que funcionam como memória de uso geral. Todos os PIC’s (exceto os dsPIC’s) trabalham com dados de 8 bits (1 byte). o qual é usado para salvar endereços de retorno quando uma função é chamada e no uso de desvios.Assim.

e “sleep”. 3. Algumas operações. as instruções do PIC se enquadram em uma das categorias abaixo: 1. 5. Operações com o acumulador W e uma constante. O mesmo ocorre na atribuição de uma constante a um registrador. Transferência de controle. O resultado pode ser salvo no acumulador ou no registrador informado. Em geral. Operações com o acumulador W e um registrador indexado. Para realizar uma cópia entre dois registradores. mas operações aritméticas com dois operandos sempre envolvem o acumulador W (por exemplo. São as operações “call” (chamada de função) e “goto”. após o teste é realizado (ou não) um desvio. Algumas operações com nenhum operando. a operação soma só pode ser realizada entre um registrador e o acumulador). nas séries mais antigas é necessária a copia intermediária para o acumulador W. Elas recebem como parâmetro o número do registrador e o número do bit que se deseja operar. apenas a série 18 permite que seja realizada diretamente. A arquitetura do PIC não possui suporte de hardware para realizar automaticamente a cópia do estado do processador quando ocorre uma interrupção. sempre retornando após a execução. como “return”. podem ser realizadas em qualquer registrador. O resultado é sempre armazenado no próprio acumulador. 2. 4. implementando registradores sombra. O conjunto de instruções inclui instruções que realizam uma variedade de operações entre o acumulador e uma constante ou entre o acumulador e um endereço de memória. como ativação e teste de bits. que retorna de uma função. As ações permitidas são: ativar. desativar e testar se o bit está ativado ou não. que coloca o microcontrolador em um estado de baixo consumo. bem como possibilita a inclusão de códigos condicionais. o qual salva as informações contidas nos principais registradores (especialmente os propósito específico) quando ocorre uma interrupção. Operações com bits.Conjunto de instruções Os PIC’s usam um conjunto de instruções RISC. as quais variam de 35 instruções para os PIC’s das séries 12 e 16 até cerca de 80 instruções para os da série 18. A série 18 aprimorou esta situação. simplesmente pulando o código ou realizando chamadas de funções. 12 .

Suporte para a interface CAN. Suporte para a interface USB. Algumas de suas principais vantagens são [15]: • Organização funcional em blocos. No modo half-duplex. Também pode ser configurada para operar como um sistema síncrono half-duplex. Conversores analógico/digital. a Philips desenvolveu. resultando em um simples diagrama esquemático. memórias EEPROM seriais e etc.2. Hardwares incorporados Os microcontroladores da família PIC possuem em seu chip vários módulos de hardware já incorporados. Memória EEPROM interna. Protocolo I²C Com o intuito de aumentar a eficiência do hardware e diminuir a complexidade dos circuitos eletrônicos. Transmissores de rádio-frequência integrados (PIC16F639 e rfPIC) USART – Universal Synchronous Asynchronous Receiver Transmitter A USART.1. Suporte para a interface Ethernet. Os principais são: • • • • • Osciladores internos (geradores de clock). Ela pode ser configurada como um sistema assíncrono full-duplex. Interface serial síncrona e assíncrona (USART). o qual pode se comunicar com dispositivos como terminais CRT e computadores de forma geral. que pode funcionar com os protocolos: I²C e SPI. em meados de 1996. também conhecida como SCI (“Serial Communications Interface” – Interface de comunicação serial).2. • • • • • • Módulos Captura/Compara e PWM (CCP). se comunicando com dispositivos conversores Analógico/Digital ou Digital/Analógico. é um módulo responsável pela comunicação serial entre periféricos (inclusive entre outro microcontrolador) [14]. 13 . Comunicação serial por MSSP. a USART pode operar como mestre ou como escravo. o protocolo de comunicação serial I²C. Timers de 8/16/32 bits.

4. Um dispositivo envia dados em forma de pacotes de 8 bits. O barramento I²C possui duas linhas de comunicação: a SDA (Serial Data). 2. A taxa de transferência máxima do barramento é de 100kbits/s no modo padrão. é necessário que a linha SDA permaneça estável durante todo o período em que o clock esteja no nível lógico “alto”.1. Bibliotecas disponíveis pela comunidade do protocolo facilitam o • • desenvolvimento de aplicações utilizando o I²C. 3. O dispositivo master ajusta a condição inicial. O número de interfaces conectadas ao barramento depende apenas da capacitância máxima do barramento. Elas permitem que seja executado um trecho específico de código toda vez que uma determinada ação ocorrer ou que determinada condição seja determinada. e a SCL (Serial Clock). que são respondidos por um sinal de reconhecimento do dispositivo destinatário. Inclusão e exclusão de dispositivos em um barramento sem afetar o seu funcionamento. responsável pela transmissão do sinal de clock. O dispositivo slave envia o sinal de reconhecimento (ACK). Interrupções Uma funcionalidade muito importante dos microcontroladores da família PIC é a existências das interrupções. O procedimento para a realização da comunicação entre dispositivos é detalhado a seguir: 1. Quando o clock estiver em nível lógico “baixo”. Para o modo estendido são usados 10 bits. Ambas as linhas são bi-direcionais e são conectadas ao positivo do circuito através de um resitor de pull-up. Após a execução do código informado. é permitido realizar mudanças na linha SDA. caso seja utilizado o modo padrão. Para a comunicação ser realizada com sucesso.• Endereçamento e protocolo de transferência de dados totalmente definidos via software. 2. O dispositivo master envia o bit de RW .3. O dispositivo master envia 7 bits de endereçamento. que é de 400pF. chegando até a 400kbits/s no modo rápido. Todo dispositivo possui um endereço único no barramento e qualquer dispositivo conectado pode operar como transmissor ou receptor. 5. 6. responsável pela transmissão dos dados. a CPU retorna a execução da 14 . O dispositivo master encerra a comunicação.

de acordo com a borda de sensibilidade configurada. 15 .2. portanto. • Ocorre após um recebimento ou envio de dados nas portas destinadas a esse tipo de comunicação. • Escrita na EEPROM finalizada SSP SPI. Ocorre no momento em que uma escrita na memória de dados EEPROM é concluída. Nas séries 12 e 16. • USART Conversão De acordo com sua configuração. que pode ser na alteração de nível lógico “baixo” para “alto” ou o contrário. ocorrerá um estouro de sua capacidade e a interrupção irá ser disparada (caso a mesma esteja ativada). resultando em uma arquitetura flexível e bastante competitiva comercialmente.tarefa que ora realizava. o timer0 possui 8 bits. obedecendo a seqüência RB1 e RB2. ela utilizou de interfaces abertas e padronizadas. então quando ele alcançar o valor de 255. Alguns PICs possuem mais de um pino para interrupção externa. ocorre quando um dado for A/D finalizada Ocorre sempre que uma conversão recebido ou enviado pela porta serial. Por exemplo. ela deve ser realizada via software. • Alteração do PORTB a RB4. • Analógico/Digital é finalizada. Na série 18 é realizada a cópia do acumulador W e do registrador de STATUS [1]. não é realizada a cópia do conteúdo de nenhum registrador (exceto o registrador PC – Program Counter. caso essa funcionalidade não seja desejada é possível desativá-la. Rede GSM A rede GSM – Global System for Móbile communications teve como objetivo criar um padrão de telefonia celular mais abrangente possível. permitindo a combinação de componentes de diversos fabricantes. As principais interrupções e suas explicações são dadas a seguir: • Interrupção externa Ocorre na alteração do pino RB0. • Overflow dos timers Ocorre quando um timer estoura a sua capacidade de contagem. no próximo incremento. necessário para o retorno da execução do programa executado) [14]. Pode ser utilizada tanto no modo I²C como no modo Ocorre após uma alteração em qualquer dos pinos RB7 2. portanto.

Estação Móvel (MS) A estação móvel é constituída pelo equipamento móvel (ME – Mobile Equipment) e pelo módulo de identidade do assinante (SIM – Subscriber Identity Module).1 [16] apresenta a interligação desses grupos. voz e imagem. O equipamento móvel é responsável pela interligação entre o assinante e à rede GSM. os quais são descritos a seguir: Figura 2. operação e manutenção dos grupos componentes. • Sistema de operação e manutenção (OMS – Operations and Maintenance System) Realiza a administração. é possível conectar a rede GSM à rede pública (RTPC – Rede Telefônica Pública Comutada). Ele possui uma identificação chamada “identidade internacional do 16 . Assim. que formam a PLMN (Public Land Móbile Network – rede móvel pública terrestre). • Sistema de comutação de rede (NSS – Network Switching System) processamento das informações através de interfaces e protocolos e o gerenciamento do banco de dados.Sua arquitetura é dividida em quatro grupos.2. A Figura 2.1 – Arquitetura da rede GSM • Estação móvel (MS – Mobile Station) comunicação de dados.1. É responsável pela conexão do assinante à rede GSM. 2. É considerado um MS qualquer dispositivo de Sistema de estação base (BSS – Base Station System) É responsável pelas Realiza o • conexões de radiofreqüência da MS para o sistema de comutação.

Todas as operações de uma BTS são comandadas pelo seu respectivo BSC. Através de uma matriz de comutação digital. 2. O processamento e a tarifação das chamadas são realizados a partir das informações contidas no cartão SIM e não no MS. para obter uma linha habilitada em um MS. Transcodificador (XCDR – Transcoder). Ele é constituído por três elementos. Com essa técnica. abordado nas próximas seções. Controlador de estação base (BSC – Base Station Controller). Ela é basicamente composta por um hardware de radiofreqüência e de antenas. Os números IMEIs são armazenados no registro de identidade de equipamento. o que otimiza o tráfego na interface aérea e reduz o trabalho da MSC. as BSCs conectam os canais de RF com os circuitos terrestres provenientes da central de comutação celular. o qual poderá ser usado em qualquer região que possua um terminal GSM compatível com o sistema da operadora. e ambos realizam as funções de gerência dos canais de tráfego e controle na interface aérea. são eles: • • • Estação transceptora base (BTS – Base Transceiver Station). Transcodificador (XCDR) 17 . é necessário adquirir um cartão SIM com uma operadora de telefonia celular.equipamento móvel” (IMEI – International Móbile Equipment Identity). Estação transceptora base (BTS) A BTS provê as conexões na interface aérea com a MS.2. A BTS sempre está interligada a BSC. Controlador de estação base (BSC) O BSC é responsável por controlar um grupo de BTSs. Sistema de estação base (BSS) O sistema de estação base (BSS – Base Station System) é responsável pela conexão entre a MS e a central de comutação celular (MSC – Mobile Services Centre). o BSC é capaz de realizar handovers entre os canais de RF independente da MSC. Portanto.2.

Ela é a encarregada de conectar e desconectar chamadas. controle e gerenciamento da mobilidade e da base de dados dos assinantes em uma rede GSM. gerenciar as interfaces entre a rede GSM e outras redes. Registro de identidade de equipamento (EIR – Equipment Identity Register). altera e atualiza a base de dados dos assinantes locais.3. Sistema de comutação de rede (NSS) O sistema de comutação de rede (NSS – Network Switching System) é responsável pelas funções de comutação. e tarifar os serviços. Seus principais componentes são: • • • • • • • Central de comutação móvel (MSC – Mobile services Switching Centre). promover handover entre BSSs e MSCs. • Localização corrente do assinante no VLR. Função de interfuncionamento (IWF – InterWorking Function).O transcodificador é o elemento encarregado de converter os sinais de voz provenientes da MSC no padrão especificado pelas normas GSM. Registro de localização local (HLR) O HLR administra. Centro de autenticação (AuC – Authentication Centre).2. Para realizar todas essas funções. Central de comutação móvel (MSC) A MSC é o “coração” do sistema de comutação de rede. Esses dados são acessados remotamente pelo MSC e pelo VLR. 18 . Registro de localização local (HLR – Home Location Register). Dois componentes possuem grande parte dessas informações: o HLR e o VLR. 2. supervisionar. como a RTCP e a Rede Digital de Serviços Integrados (RDSI). a MSC precisa estar conectada aos bancos de dados que possuem essas informações. Supressor de eco (EC – Echo Canceler). utilizado na transmissão sobre a interface aérea. Registro de localização de visitante (VLR – Visitor Location Register). manter e operar as bases de dados. Os principais dados armazenados pelo HLR são: • Identidade internacional do assinante (IMSI – International Móbile Subscriber Identity).

Chave de autenticação.2 apresenta o formato do IMEI e a seguir são dadas explicações sobre cada campo. A Figura 2. impedindo ataques à rede. o que é óbvio em se tratando de sistemas de comunicação móveis. principalmente a clonagem de MS. Para se realizar a comunicação com esse usuário visitante. • Número da estação móvel visitante (MSRN – Mobile Station Roaming Number). 19 .• • • Serviços suplementares associados ao assinante. Centro de autenticação (AuC) Normalmente instalado no mesmo hardware do HLR. Figura 2. Identidade temporária do assinante móvel (TMSI – Temporary Mobile Subscriber Identity). Esses processos são executados simultaneamente no AuC e na MS. o AuC tem as funções de autenticar e criptografar as mensagens.2 – Formato do IMEI • Type Approval Code (TAC) 6 dígitos que representam o código de aprovação do ME. Ele guarda uma cópia dos principais dados do assinante. Estado do assinante. Registro de identidade do equipamento (EIR) O registro de identidade de equipamento contém a base de dados centralizada dos números de identidade internacional do equipamento móvel (IMEI). Registro de localização de visitante (VLR) Pode acontecer de um assinante passar para outra PLMN que não a sua de origem. existe o VLR. Essas informações são: • • • Estado da estação móvel (livre/ocupado/não responde). contidos no seu HLR de origem. Identidade de área de localização (LAI – Location Área Identity).

• venda de ingressos.• Final Assembly Code (FAC) 2 dígitos que identificam o local de manufatura ou montagem final do ME. e-mail e fax. o sistema de telefonia móvel celular sofreu várias evoluções. atraso de propagação devido ao processo de transcodificação. Atualmente se encontra implantada os sistemas de 3ª geração. Jogos em modo multi-jogador.3. • Serial Number (SNR) 6 dígitos que identificam o número de série para cada 2 dígitos decimais que identificam o TAC e FAC de uma ME. como a internet. compras pela celular (acessando a web). informações sobre promoções. Supressor de eco (EC) O supressor de eco é responsável por eliminar o efeito de eco presente nas conexões entre a MSC e a RTPC. • Software Version Number (SVN) número da versão de software instalado no ME Função de interfuncionamento (IWF) O IWF é responsável por realizar o interfaceamento entre a rede GSM com outras redes de dados. recebimento de 20 . e geração de eco na bobina híbrida. Com base nessa tendência. Essas atividades são realizadas por um conjunto de MODEMs. alguns dos principais são: atraso de propagação na interface aérea. aonde é necessária Serviços de entretenimento Comércio eletrônico passagens aéreas e etc. Os principais serviços demandados pela sociedade moderna podem ser classificados nos seguintes grupos: • • Comunicação Acesso a internet. criou-se uma necessidade da utilização de novos serviços pelos usuários dos telefones móveis celulares. Tecnologia GPRS Com a evolução da comunicação sem fio e a tendência de convergência das tecnologias. Esse efeito pode ocorrer por diversos fatores. 2. É sua função adaptar a taxa de dados e converter os protocolos quando necessário. por exemplo. acesso a bancas. e já ocorrem a utilização de uma rede de dados. com a crescente expansão da internet.

Figura 2. Tabela 2. Arquitetura GPRS A arquitetura GPRS utiliza a mesma infra-estrutura básica utilizadas nas redes GSM comuns. mas ao mesmo tempo ser compatível com possíveis atualizações (a 3G adotada pelas operadoras no Brasil é totalmente compatível com a tecnologia GPRS). resultando em uma 4ª geração.4 apresenta a arquitetura com suas modificações. A Figura 2. Essas alterações tornam possível a transmissão de dados a uma taxa de 9.1 – Modificações da rede GSM para se adequar à tecnologia GPRS Elemento de rede Estação móvel (MS) Estação transceptora Modificação ou atualização da arquitetura GSM É necessário uma nova MS. por ainda possuir uma abrangência maior que as novas tecnologias. 2.estudos para uma nova expansão. realizando a inclusão de novos elementos de rede e interfaces e modificando alguns componentes já existentes.1. As principais modificações são indicadas na Tabela 2. A Figura 2.6 a 171 kbits/s (valor teórico). Necessário uma atualização de software nas BTSs existentes.3 apresenta essa evolução. 21 . que permanece compatível com todos os serviços existentes anteriormente.3 – Evolução do sistema de telefonia móvel celular Nessa seção será abordada a tecnologia GPRS (sistema 2.5G).3.1.

HLR. EIR e todos elementos de base de dados Atualização do software para fornecer as funções oferecidas pelo GPRS Figura 2.Serving GPRS Support Node) e Gateway do nó de suporte GPRS (GGSN – Gateway GPRS Support Node) VLR.base (BTS) Controlador de estação Atualização de software e instalação de hardware novo. base (BSC) chamado unidade de controle de pacote – PCU (Packet Control Unit). que direciona o tráfego de dados para a rede GPRS. AuC. SGSN e GGSN Novos elementos de rede. chamados servidor do nó de suporte GPRS (SGSN . 22 .4 – Arquitetura GPRS A seguir serão descritos os novos elementos e serviços oferecidos pela introdução da tecnologia GPRS.

Tarifar as transações efetuadas nas redes externas. Suas principais funções são: • Manter informações de roteamento para entregar as unidades de protocolo de dados (PDU – Protocol Data Unit) ao SGSN que serve uma determinada MS. Gerenciamento da mobilidade. como IP. ele é responsável por provê o ponto de acesso das MSs à rede GPRS. Compressão dos cabeçalhos de dados dos protocolos TCP/IP. através do protocolo DHCP. Servidor do nó de suporte GPRS (SGSN) O SGSN pode ser visto como uma “MSC de comutação de pacotes”. permanecendo o tratamento do tráfego de voz inalterado. Consiste de: 23 . ou seja. As principais funções do SGSN são: • • • • • • • • Detecção de novos usuários GPRS na área de serviço. Tarifação das transações na rede local. Todos os pacotes transferidos entre uma rede externa e o GPRS passam pelo GGSN. Os PCUs organizam os dados vindos da BSC em pacotes e transportam-no até o servidor do nó de suporte GPRS (SGSN). do BSS até a MSC. para obter dados dos usuários GPRS.Unidade de controle de pacote (PCU) Todos os BSCs exigem a instalação de um PCU para se integrarem à rede GPRS. O tráfego de voz continua sendo tratado como nas redes GSM comuns. Registro de novos usuários. Nome do ponto de acesso (APN – Access Point Name) Em suma. São usados para definir quais serviço podem ser acessados por um certo usuário. Comunicação com o HLR. • • Mapeamento dos endereços de rede e assinante. ou seja. Gateway do nó de suporte (GGSN) O GGSN provê as interfaces de conexão com as redes de pacotes externas. Note que ele o SGSN trata apenas o tráfego de dados. Criptografia dos dados. APNs são endereços IP associados a cada interface externa que conecta a rede GPRS ao GGSN. Manutenção dos registros de localização dos usuários na área de serviço.

Adicionalmente. não sendo aplicada ao UDP.3. UDP e etc.2. A seguir será dada uma descrição dos principais protocolos da rede GPRS. são usados os protocolos da Internet.5 apresenta as camadas de protocolos da rede GPRS. visando o suporte dos protocolos IP. TCP. PPP e X-25. Outra função de grande importância é a segmentação e remontagem das unidades de protocolo de dados (PDU – Protocol Data Unit). como IP. É importante destacar que. Identificador da operadora APN (Operator ID): campo opcional que identifica em qual rede backbone GPRS o GGSN está localizado. • 2. Protocolos da rede GPRS A Figura 2.5 – Camadas de protocolo da rede GSM Camada SNDCP A camada de protocolo de convergência dependente da sub-rede (SNDCP – SubNetwork Dependent Convergence Protocol) é responsável pela interface das camadas de protocolo GPRS entre os elementos de rede MS e SGSN. a partir do nível de rede. aumento a eficiência do canal. o SNDCP realiza a compressão de dados e cabeçalho. A compressão de cabeçalho é realizada apenas ao protocolo TCP. Figura 2. 24 .• Identificador de rede APN (Network ID): identifica o GGSN e o nó externo ou serviço ao qual o usuário deseja se conectar.

gerenciamento de mobilidade.Camada LLC A camada do protocolo de controle de enlace lógico (LLC – Logical Link Control) é encarregada de provê o enlace lógico entre a MS e o SGSN. Tarifação Cabe aos elementos de rede SGSN e GGSN a função de coletar as informações de tarifação de cada MS. • Utilização dos recursos GPRS gerais. o que corresponde à função da camada de enlace do modelo OSI. Representa a utilização de outros recursos relacionados à rede GPRS. 2. O SGSN coleta as informações referentes à utilização da rede de rádio (RF). Controlar o fluxo de dados.Medium Access Control) trata os diferentes canais lógicos a serem compartilhados por várias MSs. Se encarregar da criptografia.Block Sequence Number). como por exemplo. enquanto o GGSN coleta as informações referentes à utilização dos recursos de uma rede externa de dados (tipicamente. o que acontece quando várias MSs enviam pacotes para uma mesma BTS. As principais informações coletadas pelo SGSN são: • Volume do tráfego (quantidade de bytes transferidos) de dados originados e concluídos pela MS. Entregar os dados da camada RLC à SNDCP na ordem certa. 25 .3. Suas principais funções são: • • • • • • Encapsular dados da camada SNDCP em unidades tratadas pelo LLC. Controlar a seqüência de pacotes. Detectar e corrigir erros. Provê também mecanismos que evitam colisões de dados por pacotes no enlace reverso. associando um número de seqüência por bloco (BSN . A camada de protocolo de acesso ao meio (MAC . Sua principal função é definir como deve ser feito o acesso ao meio.3. Camadas RLC/MAC A camada de protocolo de controle de rádio (RLC – Radio Link Control) segmenta os quadros LLC em blocos RLC. a Internet).

respectivamente. nos modos Execução. Espera (CPU desativado e periféricos ativados) e Dormindo (CPU e periféricos desativados. Suporte ao barramento I2C nos modos Mestre e Escravo. As principais informações coletadas pelo GGSN são: Volume do tráfego (quantidade de bytes transferidos) de dados originado e terminado pela MS em uma rede externa de dados. Ele é um microcontrolador de 8 bits de dados e16 bits de instrução. ao receber o start bit. o Ativação automática do periférico (caso se encontre no modo Dormindo). Várias configurações de uso do oscilador interno. alta resistência e extensa memória Flash [1]. Espera e Dormindo. • • • • • • Suporta uma velocidade de até 40 MHz. Utilização dos endereços do protocolo de dados por pacotes: representa o tempo de utilização dos endereços do protocolo de dados por pacotes pela MS. possui 28 pinos. se local ou visitada. RS485 e LIN/J2602 (padrão de comunicação muito usado na indústria automotiva). Softwares e hardwares utilizados 3. 26 . Três fontes de interrupção externa (pinos RB0. • Apresenta um baixo consumo de corrente. RB1 e RB2). Fonte de corrente de até 25mA. 2µA e 100nA.• Localização da MS durante a utilização dos serviços da rede GPRS. Algumas características específicas do modelo 18F2525 são: • Possui 3 modos de funcionamento: Execução (CPU e periféricos ativados). Avançado módulo USART: o Suporta os padrões RS232. que possuem como características gerais o alto desempenho computacional. com valores típicos de 11µA. utilizando cristal externo. • • 3.1. PIC18F2525 O PIC18F2525 é um microcontrolador da Microchip da família 18F. preços acessíveis. podendo utilizar até 25 pinos para funções diversas de entrada e saída (caso seja utilizado um oscilador interno).

Flash.1. Tabela 3. Além das características citadas acima. Suporta 1.000 ciclos de gravação na memória de programa .1 – Especificações técnicas do PIC18F2525 Especificações Memória de programa Memória de dados Memória de dados . a que tiver a prioridade mais alta irá ser executada primeiro.o Detecção automática da taxa de transmissão.000. • Possui quatro timers.000 de ciclos de gravação na memória de dados – EEPROM. é interessante destacar algumas especificações técnicas. • • • Suporta 100. elas são visualizadas na Tabela 3. Interrupções com níveis de prioridade: caso ocorra uma interrupção durante o tratamento de outra interrupção.EEPROM Fontes de interrupção Entradas analógicas Temperatura funcionamento Máxima corrente de saída no pino de terra (VSS) Máxima corrente de entrada no pino de alimentação (VDD) Máxima corrente fornecida para qualquer pino de E/S Máxima corrente requerida para qualquer pino de E/S Máxima corrente fornecida para todos os pinos de E/S Máxima corrente requerida para todos os pinos de E/S ambiente de Valor 49152 bytes 3968 bytes 1024 bytes 19 5 -40 ºC a +125ºC 300mA 250mA 25mA 25mA 200mA 200mA 27 .

que em sua maioria são para acessar a pilha TCP/IP. O motivo da não utilização de um celular comum é que o mesmo não é projetado para as condições adversas que um projeto específico possa apresentar. O modem apresenta todas as características de um celular comum. uma entrada DB9 para conexão serial.2.2. Para o seu funcionamento é necessário o uso de um SIM Card. As principais especificações técnicas do módulo em questão são [6]: • • • • • • • Quad band (850. Tabela 3. uma entrada mini-USB.2 – Principais comandos/respostas AT utilizados no projeto Comando/Resposta AT Observações Comando básico para testar a comunicação. Ele dispõe de 4 sockets internos que podem ser utilizados para as conexões TCP e as portas no intervalo de 0 a 65535.3. 900. Conexões: USB e RS232.10). 1800 e 1900 MHz). podendo realizar chamadas. Uma grande vantagem do módulo G24 da Motorola é que o mesmo possui a implementação da pilha TCP/IP.07 e GSM 07. Consumo de corrente: menor que 2.5mA. GSM 07. 28 . SMS: modo texto e PDU. Os comandos referentes à pilha TCP/IP são iniciados por AT+MIP. Velocidade de transmissão GPRS: até 85. O equipamento nada mais é do que o encapsulamento do módulo GSM G24 da Motorola [6]. Temperatura de operação: -20 a +60ºC. fornecido pela empresa Informat Technology [17]. Retorna ‘OK’ ou ‘ERROR’. Potência do transmissor: 1 Watt (850/900 MHz) e 2 Watts (1800/1900 MHz).05.6 Kbps. além dos comandos proprietários. igual aos utilizados nos telefones celulares atuais (GSM). enviar e receber SMS e utilizar as conexões GPRS (foco principal do projeto). Modem GSM O Modem GSM utilizado no projeto é o modem iTech G24 Serial Data Modem. Ele apresenta uma conexão para antena externa. o que torna bastante fácil o uso de conexões à internet. O módulo G24 suporta os comandos AT padrões (GSM 07. uma entrada para a fonte de alimentação e o suporte para o SIM Card. Os principais comandos/respostas utilizados no projeto [7] são mostrados na Tabela 3.

pela porta de destino ‘porta dest’ e utilizando o protocolo especificado por ‘prot’. Força o envio imediato dos dados contidos no buffer do 29 . AT+CNMA Indica o conhecimento de que foi recebida uma nova mensagem. O parâmetro ‘end.AT&K0 ATE0 AT+CMGF=1 AT+CNMI=3. <hora>. AT+MIPCALL=1. espera o comando AT+CNMA por 60 segundos. AT+MIPSEND=<sock>. com o servidor de endereço igual a ‘ip’.<porta dest>. Caso tenha ocorrida uma desconexão ou a tentativa de se conectar falhou. parâmetro indica o endereço IP obtido. O parâmetro ‘dado’ aceita dados no código ASCII e na sua representação hexadecimal. Caso uma conexão tenha sido estabelecida. realiza a desconexão. o Modem não 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. <dado> AT+MIPPUSH=<sock> Coloca os dados contidos no parâmetro ‘dado’ no buffer de envio do socket ‘sock’. utilizando a porta de origem ‘porta ori’. o parâmetro ‘hora’ indica a hora da central de serviços da operadora. aonde 0 significa TCP e 1 significa UDP. Caso o modem esteja conectado a alguma APN. <CR><LF><texto> Indica o recebimento de uma mensagem SMS. sem encaminhar para o terminal). caso não receba. retorna a configuração para o valor padrão (armazena as mensagens na memória. parâmetro é igual a 0.<ip>. AT+MIPOPEN=<sock>. <APN> AT+MIPCALL=0 +MIPCALL: <parâmetro> Realiza a conexão com a APN indicada no parâmetro. <porta ori>. Após cada SMS. ori’ indica a origem da mensagem.<prot> Abre uma conexão no socket ‘sock’. ori>. +CMT: <end. Resposta referente a um comando ‘AT+MIPCALL’. Desabilita o ‘eco’ da comunicação serial. Faz com que o modem mantenha a sua configuração das mensagens SMS.2 Desabilita o controle de fluxo da comunicação serial. <CR><LF> indica uma nova linha e o parâmetro ‘texto’ representa o conteúdo da mensagem. ou seja.

o que permite a criação de códigos mais eficientes.socket ‘sock’ AT+MIPCLOSE=<sock> +MIPRUDP: <ip ori>. como display LCD. Ele mantém uma grande similaridade com o padrão ANSI C e fornece bibliotecas próprias com um total de 307 [9] funções específicas para tornar possível a utilização das características fornecidas pelos microcontroladores. Compilador CCS O compilador CCS é uma ferramenta muito utilizada pelos profissionais que fazem uso dos microcontroladores da Microchip (PICs). decimal. que implementa todo o protocolo de comunicação Modbus (as principais funções e os dois modos de funcionamento. Outras características do compilador podem ser citadas [9]. são elas: • • Tipo de variável de 1 bit. <porta ori>.3. com N casas decimais e etc). <sock>. teclado. utilizando pinos de E/S do PIC para realizar a comunicação RS232. • • Permite strings de tamanho variável. binário. do endereço ‘ip ori’.c. 3. tornando prático a exibição das variáveis em algum determinado modelo (hexadecimal. Ainda fornece drivers que permitem a utilização de diversos componentes acessórios. Apresenta várias opções de formatação para a função ‘printf()’. grande número de memórias EEPROM. sensores de temperatura. Constantes salvas na memória de programa (mais abundante que a memória de dados). e ds1307. Informa que foi recebida uma mensagem UDP. que fornece funções para a configuração e a leitura dos dados desse circuito integrado.c. O projeto em questão faz uso de duas bibliotecas fornecidas pelo compilador: modbus. mas não desconecta o Modem da APN. relógios de tempo real e etc. capaz de implementar um relógio de tempo real. 30 . pela porta ‘porta ori’ e com o conteúdo igual a ‘dado’. • Permite o uso de múltiplas portas RS232 e I2C. mestre e escravo). <dado> Finaliza a conexão do socket ‘sock’. cartões de memória MMC.

Esse hardware é chamado de gravador ou programador (o termo em inglês é programmer). • Permite o uso de funções assembly a qualquer momento.o Para isso.1 – Gravador PicBurner USB 31 . output_low() e etc). 3. 28 e 40 pinos. Ele é baseado no projeto Brenner8 [8]. Permite gravação In-Circuit. 28 e 40 pinos. 18.hex) em um microcontrolador é necessário um dispositivo de hardware específico para esta finalidade. 14. o qual é um gravador controlado por um microcontrolador em seu circuito. Não precisa de fonte de alimentação externa! Utiliza a propria alimentacao Figura 3. output_high(). não possuem portas seriais). A sua principal característica é ser um gravador USB. • Configura automaticamente a direção de cada pino (entrada ou saída) de acordo com as funções utilizadas (input(). O gravador utilizado ao longo do projeto foi o PicBurner. 18. em geral. Grava dsPICs de 8. Outras características que podem ser citadas: • • • • Grava PICs de 8. tornando possível a gravação de microcontroladores a partir de notebooks (os quais. Gravador PicBurner Para inserir o arquivo gerado pelo compilador CCS (arquivo. faz uso de uma implementação via software de transceptores seriais. o qual foi adquirido em um site de compra e venda.4.

3. Seu encapsulamento é bastante simples. dia. Relógio de Tempo Real . além de permitir a utilização de 56 bytes de memória [2].DS1307 O circuito integrado DS1307 é um relógio de tempo real que apresenta um calendário completo. hora. Os meses são automaticamente ajustados para o seu correto número de dias.A conexão do microcontrolador ao PicBurner é feita através de um conector ZIF (Zero Insertion Force – Força de Inserção Nula). Figura 3.1 apresenta o gravador em questão. A Figura 3. o circuito termina a operação que está sendo realizado naquele momento e bloqueia novas requisições de escrita ou leitura. evitando que dados inválidos sejam trafegados.2 apresenta o seu diagrama de blocos.25xVBAT (tensão da bateria). evitando que os pinos do microcontrolador sejam danificados. o DS1307 muda para o modo de baixo consumo (menor que 500nA) 32 .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. mês e ano. dia da semana. Ele é capaz de fornecer segundo. Caso a tensão de alimentação se torne menor que a tensão da bateria. apresentando apenas 8 pinos.5. incluindo anos bissextos. Quando a tensão de alimentação cai abaixo de 1. Permite a configuração da exibição da hora em formato de 12 (com indicação de AM e PM) ou 24 horas. minuto. A Figura 3.

Como é inviável a obtenção de tal dispositivo para fins de desenvolvimento do projeto. fez-se necessário uma ferramenta que tornasse possível a simulação de tal dispositivo. depende da obediência do cristal aos parâmetros da Tabela 3. portanto.6.3. A precisão obtida pelo circuito é função da precisão do cristal e do casamento entre a carga capacitiva do circuito interno e a carga capacitiva para o qual o cristal foi projetado. Essa saída pode ser habilitada ou não.768kHz). Ela utiliza o compilador GNU GCC para o seu funcionamento e faz uso 33 . 4kHz.2V e retorna a aceitar requisições de escrita e leitura quando a tensão de alimentação atingir um valor maior que 1. A saída é habilitada mesmo que o circuito se encontre alimentado apenas com a bateria. necessita a ligação de um resistor à alimentação para um correto funcionamento. 8kHz e 32. mas o cristal deve obedecer aos parâmetros expostos na Tabela 3. pinos 5 (SDA) e 6 (SCL).3. Para tanto. Biblioteca LibModbus O projeto em questão considera como o dispositivo a ser monitorado um equipamento industrial que permita a comunicação através do protocolo Modbus. Tabela 3.3 – Parâmetros de especificação do cristal Parâmetro Freqüência Resistência série Capacitência de carga Típico 32.768kHz e é conectado nos pinos 1 e 2.25 x VBAT. possui uma saída programável (pino 7 SWQ/OUT). No restabelecimento da tensão de alimentação.5 pF Ele utiliza o barramento I2C para realizar a transferência dos dados. Essa configuração é feita habilitando os bits do registrador de controle do DS1307. Além disso.768kHz Máximo 45k 12. quando habilitada emite uma onda quadrada com uma das quatro freqüências possíveis (1 Hz. 3.e passa a ser alimentado apenas pela bateria. Ela implementa o protocolo Modbus utilizando a porta serial para a comunicação. O cristal deve ter uma freqüência igual a 32. o circuito passa a utilizá-la quando a mesma atingir uma valor maior que VBAT + 0. O dispositivo em questão faz uso de um cristal oscilador para o seu funcionamento. O pino de saída é coletor-aberto. foi utilizado a biblioteca LibModbus [10]. Não é necessário o uso de capacitores de carga. ou seja.

além das funções de diagnóstico (função 7 – retorna o status do software e função 8 – teste de linha). Algumas de suas principais características [11] são: • • Grande confiabilidade e integridade dos dados. além de apresentar algumas funções de configuração da porta serial. Ele possui código aberto e obedece ao paradigma objeto-relacional. foi escolhido como o Sistema Gerenciados de Banco de Dados – SGBD. Algumas funcionalidades mais sofisticadas podem ser mencionadas. para tanto. • Compatível com inúmeros sistemas operacionais (GNU/Linux.da biblioteca libpthread. e é dessa forma que é obtido um novo valor para o mapa de memória. tais como: • • Controle de concorrência multiversionado. A LibModbus permite a implementação de dispositivos mestres e escravos. 3. o seu uso foi bastante simplificado. Mas a opção pela escolha do PostgreSQL foi feita para que seja possível a utilização futura de toda a sua potencialidade. Recuperação em um ponto no tempo. PostgreSQL O projeto proposto necessita de uma base de dados. Sua implementação da linguagem SQL é fortemente baseada no padrão ANSISQL 92/99. Ela reconhece apenas as funções de escrita e leitura de registradores (funções 3. pois no estágio atual do projeto. Mas para o projeto em questão as funções apresentadas atendem às necessidades. Suporta o armazenamento de objetos binários. 34 . diversas variações de Unix e Windows). Esta seção não irá explorar toda a potencialidade do SGBD em questão. • • Possui a maioria dos tipos de dados especificados no ISO SQL:1999. O software desenvolvido para simular o dispositivo industrial utiliza a LibModbus para implementar um escravo Modbus.7. Os valores são obtidos de forma aleatória e a cada leitura são obtidos novos valores para as variáveis. o PostgreSQL. É realizada a inicialização do mapa de registradores com 3 variáveis de 16 bits (pressão. temperatura e alarmes) e 2 variáveis de 32 bits (volume bruto e volume corrigido). 4. A biblioteca em questão permite que seja configurada uma função para ser executada toda vez que um dado for recebido ou enviado. 6 e 16).

const char *command ) como um ponto para uma variável do tipo PGresult. libpq A biblioteca libpq é a interface de programação para as aplicações desenvolvidas em C/C++ que desejam acessar as funções do PostgreSQL. A seguir será dada uma breve descrição das principais funções desta biblioteca. Codificação de caracteres multibyte. • PQresultstatus( PGresult *res ) parâmetro. Os programas clientes que utilizam a libpq devem incluir o arquivo de cabeçalho libpq-fe.1. Perl. A linguagem utilizada no projeto foi C/C++ e a biblioteca disponibilizada pelo PostgreSQL é a libpq. Java. Net. Sensibilidade a caixa (maiúscula e minúscula) O PostgreSQL oferece ainda diversas bibliotecas que fazem a interface entre o banco de dados e uma determinada linguagem de programação.h e utilizar a opção para realizar o link com a biblioteca libpq. Finaliza a conexão ‘conn’. Algumas das linguagens suportadas nativamente são: C/C++.7. armazenado em ‘res’. Ela possui um conjunto de funções que permitem que um programa cliente envie requisições para um servidor PostgreSQL e receba os seus resultados. • • • PQclear( PGresult *res ) PQfinish( PGconn *conn ) PQnfields( PGresult *res ) Limpa o conteúdo da variável ‘res’. Ela retorna um ponteiro para a conexão (PGconn). 3. • PQexec( PGconn *conn. Python e Ruby. • PQstatus( parâmetro. 35 . Suporta conjuntos de caracteres internacionais. retirados de [12]: • PQconnectdb( char *conninfo ) Realiza a conexão com o servidor do banco de dados de acordo com os parâmetros especificados na variável ‘conninfo’. Cópias de segurança a quente. Retorna o número de colunas (campos) contidos Indica o status da resposta passada como Executa o comando contido na variável ‘command’ utilizando a conexão ‘conn’.• • • • • Transações agrupadas. A resposta é retornada PGconn *conn ) Indica o status da conexão passada como na resposta de um comando SQL.

int column_number ) como uma variável do tipo char*. valor armazenado na linha e coluna indicados nos parâmetros da função. int row_number. está sendo considerado um dispositivo industrial) e transmitir esses dados para um servidor. nas próximas seções esses módulos serão mais detalhados. o qual utiliza a internet para enviar os dados.• PQntuples( PGresult *res ) Retorna o número de linhas (tupla) contidos na Obtém o resposta de um comando SQL. armazenado em ‘res’. • PQgetvalue( PGresult *res. através do Modem GSM. Ela é ser capaz de capturar dados de um dispositivo qualquer (na aplicação em questão. o número telefônico correspondente ao chip usado no Modem de cada UTR deve ser cadastrado no banco de dados do Módulo Servidor (o envio do SMS pode ser inserido ao Módulo Servidor. de forma totalmente remota. os valores desses registradores são armazenados no Módulo Embarcado. além disso. Retorna 4.1. mas atualmente esta função não está disponível). O servidor armazena esses dados em um banco de dados e os torna disponível para consulta através de um software cliente. O Módulo Embarcado possui um relógio dedicado e uma configuração do intervalo de tempo em que deve realizar leituras do dispositivo monitorado. é acrescentada uma variável que indica o número da mensagem e a marca de tempo em que a leitura foi realizada. Após esse intervalo é feita uma requisição Modbus de leitura dos registradores desejados do dispositivo monitorado. As variáveis são enviadas em uma única mensagem para o Módulo Servidor. referenciados ao longo do texto como Módulo Embarcado e Módulo Servidor. mas essa definição irá ajudar na explicação do funcionamento do projeto. A UTR é composta por dois módulos principais. Esse intervalo pode ser alterado enviando um SMS para a UTR. Para tanto. que tem a opção de filtrar a visualização desses dados da forma mais conveniente. Desenvolvimento 4. o qual armazena no banco de dados os valores dos registradores recebidos e envia uma resposta ao Módulo Embarcado contendo o número 36 . Descrição do projeto O projeto consiste no desenvolvimento de uma Unidade de Telemetria Remota – UTR. que será dada a seguir. é utilizado um Modem GSM (descrito na seção anterior).

caso sejam iguais. • Flexibilidade. as leituras são realizadas automaticamente e já são armazenadas em banco de dados. pois torna desnecessário funcionários dedicados a realizarem as leituras dos dispositivos. caso obtenha sucesso. o mesmo aguarda o intervalo para uma nova leitura. que apresenta uma grande área de cobertura [22]. A seguir são enumerados os principais tipos de aplicações encontradas: 1. Então. como o protocolo Modbus (padrão de fato na área industrial [21]) e o Modem GSM. pois o horário da leitura dos dispositivos pode ser facilmente alterado de acordo com a necessidade. o Módulo Embarcado não receber nenhuma confirmação. até o limite de cinco tentativas.da mensagem recebida. Para o projeto em questão. envia imediatamente a última leitura. Utiliza tecnologias que apresentam grande disponibilidade. • • Possui uma instalação relativamente simples. O projeto proposto pode ser adaptado para atender diversas aplicações comerciais e industriais. Substituir sistemas que utilizam como método de transmissão rádios e que apresentam baixa taxa de entrega. 3. aonde é possível gerar relatórios customizados de acordo com a necessidade. Se após as cinco tentativas. Sistemas de medição de água/luz. foi adotado como exemplo um sistema de monitoração de tubulações de gás natural. • Uma maior segurança. Monitoração de tubulações de gás natural (temperatura. • Grande comodidade. já que muitas aplicações industriais oferecem riscos à saúde do ser humano. As principais vantagens deste projeto são: • A redução do custo. Este último compara o valor recebido com o número da mensagem enviada. Caso não seja igual ou o Módulo Embarcado não receba nenhuma confirmação em vinte segundos. realiza esta leitura e a armazena em uma nova mensagem. pressão. ele considera o dado enviado e aguarda o tempo configurado para uma nova leitura. 37 . envia novamente a mensagem anterior. com o intuito de ser realizada a cobrança mensal do volume consumido por um determinado cliente. O Módulo Embarcado possui um buffer de até 100 mensagens. volume e etc). é realizada uma nova tentativa de envio. 2.

Relógio de tempo real . Regulador de tensão – 7805. Os principais componentes do circuito eletrônico são: • • • • Microcontrolador PIC18F2525. ele é capaz de reconhecer mensagens SMS recebidas pelo Modem e dessa forma é feita a configuração do intervalo de tempo entre as leituras do dispositivo.DS1307. Outras configurações podem ser implementadas dessa mesma forma. na qual apresenta o Módulo Embarcado por completo (circuito eletrônico e Modem GSM).2.1 – Esquema do circuito eletrônico 38 .MAX232. 4. Além disso. armazená-las temporariamente e enviá-las para o servidor. Módulo Embarcado O Módulo Embarcado tem como objetivo coletar as informações do dispositivo. Ele é composto pelo circuito eletrônico e pelo Modem GSM. Figura 4. Conversor TTL/RS232 . O esquema do circuito eletrônico pode ser visualizado na Figura 4.2.A seguir serão descritos em mais detalhes os principais componentes dos Módulos da UTR proposta.1. O protótipo desse circuito pode ser observado na Figura 4.

1 pode consumir apenas 0. A alimentação de 12V é conectada à entrada do CI7805.2 – Foto do Módulo Embarcado O circuito eletrônico foi projetado para que fosse alimentado por uma tensão contínua de 12V. Isso resulta em mais de 2 anos e 6 meses de funcionamento no caso de uso de uma bateria de 18Ah. O CI7805 gera uma tensão de saída regulada [20]. 200µA [2].72mA. caso o MAX232 seja substituído pelo MAX222. independente de oscilações na 39 . 2µA [4]. é muito importante maximizar o tempo de funcionamento do circuito quando apenas uma bateria é usada para alimentá-lo. quer seja advinda de um transformador de tensão alternada para contínua. o qual gera uma tensão de 5V em seu terminal de saída. Foi usado um capacitor cerâmico de 330nF na entrada e um capacitor eletrolítico de 100µF na saída. pino 1. como também por uma bateria. Nesse sentido. 500µA [5]. o circuito apresentado na Figura 4. Os consumos individuais são os seguintes: • • • • PIC18F2525 em modo de operação DS1307 em modo standby MAX222 em modo shutdown Modem GSM g24 em modo idle 11µA [1]. ela fica estável em 5V. Como o projeto é voltado para aplicações industriais.Figura 4. o qual é utilizado para alimentar os demais componentes do circuito eletrônico. ou seja.

Seus pinos SCL e SDA são conectados aos respectivos pinos do PIC.1. O DS1307 é configurado pelo PIC para emitir um sinal de saída (pino SOUT) equivalente a um trem de pulsos de freqüência igual a 1Hz. Figura 4. Todos os dispositivos do circuito são conectados a ele.7 k . são necessários resistores de pullup para o correto funcionamento da ligação [2]. de acordo com o especificado em [2].5V cada. de acordo explicações dadas em seções anteriores. logo. pois assim obtém-se uma tensão para alimentar o restante do circuito bastante estável e com o nível lógico no padrão TTL.tensão de entrada. Os resistores usados foram de 4. como pode ser observado na Figura 4. Ele utiliza um cristal de 24MHz.3 – Ligação entre DS1307 e o PIC18F2525 40 .3. A escolha de sua utilização é óbvia. O principal componente do circuito eletrônico é o microcontrolador PIC18F2525. maiores explicações já foram fornecidas em seções anteriores. é capaz de realizar 6 milhões de instruções por segundo. conectadas em série. O pino de reset está atualmente desativado.768kHz. resultando nos 3V necessários para um correto funcionamento do RTC. Esse pino é conectado na porta RB2 do PIC. A sua ligação ao PIC18F2525 pode ser observada na Figura 4. O DS1307 é um CI que funciona como um relógio de tempo real. de forma que seja possível a utilização da interrupção externa do microcontrolador a cada segundo. Como o DS1307 utiliza o barramento I2C. o qual tem como função gerenciar todas as atividades do Módulo Embarcado. Nos pinos do clock externo está conectado um cristal de 32. Como bateria do DS1307 está sendo utilizado 2 pilhas alcalinas de 1.

Ele é conectado ao PIC nas portas RB0 (recepção) e RB3 (transmissão). O cabeçalho contém a definição do modelo do PIC utilizado. é definida uma stream para cada configuração e quando se deseja utilizar àquela interface. sem paridade e 1 stop bit. é possível utilizar a interrupção externa 0 para o tratamento das mensagens recebidas. 8 bits de dados. São configuradas 3 interfaces RS232. A interface padrão do PIC18F2525. endereço e etc) e a configuração das interfaces RS232 utilizadas.2. um dispositivo industrial que oferece comunicação através do protocolo ModBus via RS232. 41 . foi utilizado um PC para receber esses dados. Nos inúmeros testes realizados ao longo do projeto. Um dos conversores é utilizado para a comunicação com o Modem GSM. tornando possível uma fácil depuração do funcionamento do projeto. os drivers utilizados ao longo do código (modbus. aonde o PIC envia comandos para o Modem e recebe as respostas. ou seja. no projeto em questão.No circuito eletrônico existem três conversores MAX232. utilizando fluxogramas para facilitar o entendimento. Já nas outras duas interfaces. pois ela possui um buffer interno de 3 caracteres. Outro MAX232 é utilizado para a comunicação com o dispositivo que deseja-se monitorar. a freqüência do cristal escolhido (24MHz). Nesse último. para uma completa compreensão do funcionamento do Módulo Embarcado é necessário conhecer em detalhes o algoritmo executado pelo PIC18F2525. O último MAX232 é utilizado apenas para imprimir dados de depuração para qualquer dispositivo que possa receber uma conexão RS232. ele é responsável pela execução de todas as ações do Módulo Embarcado. 4. Portanto.4. todas com velocidade igual a 9600bps.1. configurações do driver Modbus (mestre ou escravo. indispensáveis no tratamento das mensagens recebidas pelo Modem. viabilizando possíveis soluções de defeitos. é utilizado o conceito de streams. esse MAX232 está conectado à USART de hardware do PIC18F2525 (pinos RC6 e RC7). a implementada via hardware. o microcontrolador PIC 18F2525 é o principal componente do circuito eletrônico. é dedicado à conexão com o Modem GSM. aonde é realizada a comunicação com o dispositivo monitorado e o Modem GSM. basta se referir à stream configurada. assim.c e ds1307. As suas conexões de capacitores e alimentação são como sugeridas em [3]. O fluxograma da função principal é mostrado na Figura 4. pois se faz necessária a utilização da interrupção serial. Algoritmo do microcontrolador PIC18F2525 Como dito anteriormente.c). A seguir será explicado todo esse algoritmo.

funcionando perfeitamente.dedicadas à conexão Modbus com o dispositivo e ao envio de mensagens de depuração para um PC. apenas não possuindo o buffer de 3 caracteres. aonde o compilador simula o funcionamento de uma USART. são utilizadas interfaces via software.4 – Fluxograma da função main() 42 . Figura 4.

• flag_ack_udp Indica que foi recebida uma mensagem UDP pelo Modem e que essa mensagem se refere à resposta do Módulo Servidor da última mensagem enviada pelo Módulo Embarcado. • flag_rtc Indica que ocorreu uma interrupção externa 2. Ela é do tipo int1. a operação alcançou o tempo limite de espera. pois o único meio do Módulo Servidor iniciar uma comunicação com o Módulo Embarcado é através de SMS. Portanto. ou seja. Ela é importante para monitorado. volume corrigido e alarmes). Ela é do tipo int1. • Armazena o intervalo de tempo entre as leituras do dispositivo Armazena o estado atual da execução do código. • não realizar comparações desnecessárias ao longo do código. A variável é do tipo int1. volume bruto. Esse alerta é indispensável. Além delas. essa variável é importante para alertar ao programa que está sendo executado no microcontrolador. ou seja. Ela é do tipo TEMPO. possui apenas 1 bit. 43 . Essa variável é do tipo int1. que a próxima linha deve ser interpretada como advinda de uma mensagem SMS. ou seja. temperatura. • flag_tempo Indica que foi atingido o intervalo configurado entre as leituras do dispositivo foi alcançado. que armazenam pressão.O programa possui um vetor de 100 posições para cada registrador de memória lido do dispositivo monitorado (no caso do projeto atual. uma enumeração definida no código. Ela é do tipo ESTADO_PROGRAMA. uma enumeração definida no código. são executados as ações necessárias para realização do objetivo do código. são 5 vetores. • flag_timeout Indica que o tempo limite de espera para a ação executada foi alcançado. Então. significa que foi transcorrido 1 segundo. Ela é ativada a partir do recebimento do texto “+CMT:”. significa que a próxima linha recebida pelo Modem GSM apresenta o conteúdo da mensagem SMS. Ela é importante para a definição do momento em que uma nova leitura deve ocorrer. • flag_ack_sms Indica que foi iniciado o recebimento de uma mensagem SMS. são elas: • tempo_timeout _tempo estado Armazena o tempo em que é considerado um timeout. a saída do DS1307 completou um novo período e como essa saída está configurada para ter uma freqüência de 1Hz. algumas variáveis valem a pena serem explicadas. que de acordo com as seções anteriores.

que as mensagens SMS devem ser encaminhadas para a saída RS232. até que um ‘\n’ (código correspondente ao ENTER) seja encontrado. é chamada a função “processamento()”¸ que irá analisar o conteúdo do vetor e. a função ilustrada na Figura 4. essa função é executada toda vez que algum caracter for recebido na interface serial padrão.5 permite o controle sobre tudo o que ocorre referente ao Modem GSM.5 – Fluxograma da interrupção da USART A Figura 4. O timer0 é configurado de modo que possa monitorar corretamente o tempo passado desde sua habilitação até o momento da interrupção. A configuração do Modem é realizada através de alguns comandos necessários para o correto funcionamento do mesmo. garante que não existe nenhuma conexão à internet e desabilita o eco dos comandos enviados para o Modem. Além de 44 . Como esta interface está conectada ao Modem e o mesmo envia todos os dados recebidos por sua porta serial. Ela basicamente armazena todos os caracteres recebidos no vetor msg. de acordo com o estado do programa. ou seja. bem como as respostas aos comandos executados. Figura 4.7. irá realizar determinadas tarefas.• flag_conectado Indica que o Modem GSM se encontra conectado à internet através de uma conexão PPP com a operadora do cartão SIM inserido. Eles definem que não estão sendo usados pinos de controle na comunicação serial. Quando isso ocorre. o funcionamento desta função é demonstrado no fluxograma da Figura 4.5 ilustra o fluxograma da interrupção da USART.

o que faz com que a função “processamento()” procure por respostas do tipo ‘+MIPCALL:<endereço ip>’. a flag_tempo é ativada. Caso não ocorra a 45 . A função fica bloqueada. Com isso. A Figura 4. então envia o comando de conexão para o Modem e ativa a interrupção de timer0. que fornece a data e hora com uma precisão de tempo real.9. Figura 4. é definido que. o vetor msg será reiniciado e o novo caracter será inserido no início do vetor. o número da mensagem (para ser possível realizar o reconhecimento do envio) e a marca da hora da leitura. que é ilustrada na Figura 4.8. no momento que chegar o próximo caracter. apenas após essa conexão é possível enviar dados para o Módulo Servidor. é possível checar se o intervalo de tempo configurado na variável _tempo foi alcançado.executar a função “processamento()”. Essa função é chamada pela função “main()”. através de seu driver específico. Outra função invocada pelo “main()” é a “conecta()”.6 apresenta o fluxograma da função “trata_rtc()”. Ela é responsável por obter os dados do CI DS1307. Em caso positivo. Ela é responsável por realizar a conexão do Modem GSM à internet através da operadora do cartão SIM inserido.6 – Fluxograma da função “trata_rtc()” A função “captura_dado()” pode ser visualizada no fluxograma da Figura 4. até que o timeout seja alcançado ou a função “processamento()” identifique que foi realizada uma conexão. para que possa ser monitorado o timeout. enviando comandos Modbus para o mesmo. e criar uma mensagem contendo os valores lidos do dispositivo. Ela é responsável por obter os dados do dispositivo monitorado. A função “conecta()” coloca o estado do programa para ‘MIPCALL’. o que ativa a flag_conectado.

um novo ciclo pode ser reiniciado e todo o processo descrito é realizado novamente. Ela utiliza conceitos semelhantes à função “conecta()”. até o limite de 10. que pode ser visualizada no fluxograma da Figura 4.10.conexão.7 – Fluxograma da função “processamento()” 46 . e então as duas leituras tentarão ser enviadas.11. Assim. será realizada uma nova tentativa. Figura 4. Durante a sua execução ela realiza chamadas à função “envia_dado()”. que pode ser acompanhada pelo fluxograma da Figura 4. A função encarregada de realizar a comunicação do Módulo Embarcado com o Módulo Servidor é a “envia()”. quando a leitura armazenada não será enviada até o próximo intervalo de tempo entre as leituras. Ao final da função “envia()” é fechada a conexão com a operadora.

Figura 4.8 – Fluxograma da função “captura_dados()” Figura 4.9 – Fluxograma da função “conecta()” 47 .

10 – Fluxograma da função “envia()” 48 .Figura 4.

ele permite que N clientes se conectem ao servidor e obtenham acesso ao banco de dados. 49 . Para tanto. com um número IP real e fixo e preferencialmente conectado a qualquer firewall que permita tráfego apenas nas portas específicas do projeto. referenciado ao longo do texto como software servidor. O Módulo Servidor é composto por um computador (com uma configuração simples) sempre conectado à internet. Módulo Servidor O Módulo Servidor tem como função receber os dados enviados pelo Módulo Embarcado e armazená-los em um banco de dados. desde que mantenha o protocolo de comunicação com o servidor. Além disso. um cliente deve fornecer um login e uma senha. O outro componente do Módulo Servidor é um software. 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 poderão obter acesso). Ele possui três threads de execução [19].11 – Fluxograma da função “envia_dado()” 4. O seu funcionamento será descrito a seguir. Nas próximas seções. que serão usados para se conectar à base de dados. de forma que seja possível a visualização dessas informações. O software cliente pode ser desenvolvido em qualquer linguagem e sofrer quaisquer modificações ao longo do tempo. o que resulta em uma boa característica do projeto proposto.Figura 4. Assim. será citado o software cliente exemplo desenvolvido utilizando a suíte gráfica QT.3. existe uma grande flexibilidade na forma em que os dados podem ser visualizados.

com o intuito de simplificá-los. Caso a mensagem de confirmação não chegue até o Módulo Embarcado. pois foram encontrados problemas com o Modem GSM. nos fluxogramas estão ocultados os procedimentos de checagem de erros e validações dos dados. o software servidor está programado para descartar as mensagens que já foram recebidas.13 mostra o funcionamento da thread servidor(). torna o sistema de fácil manutenção. aonde o Módulo Embarcado envia o número da mensagem. o mesmo enviará a mesma mensagem novamente. ao receber uma mensagem. o Modem GSM não era capaz de fechar a conexão já aberta e o socket se tornava inoperante. foi implementado um protocolo de confirmação de recebimento de mensagens. Quando ocorria uma falha de transmissão. considera a mensagem como enviada e apaga a mesma de seu buffer. Para evitar dados duplicados na base de dados. pois ambos os componentes possuem fortes comunidades de suporte. O funcionamento do software servidor está descrito nos fluxogramas a seguir. rapidamente o Módulo Embarcado não conseguia mais realizar nenhuma conexão com o Módulo Servidor. junto com as informações do dispositivo. O Módulo Embarcado recebe a mensagem e compara o número recebido com o número da mensagem enviada. ela recebe conexões dos softwares clientes e realiza a sua autenticação junto ao banco de dados.O software servidor foi construído utilizando apenas ferramentas livres. ela executa o servidor que irá receber as conexões do Módulo Embarcado e armazenar os dados no banco de dados. A Figura 4. A thread main() está ilustrada na Figura 4. inicia uma thread cliente() para executar as ações daquele cliente e passa a aguardar novas conexões. ela é responsável por realizar a comunicação entre o software servidor e o software cliente. O Módulo Servidor. Com o intuito de permitir uma grande compatibilidade com os clientes futuramente desenvolvidos.14. A conexão entre o Módulo Embarcado e o Módulo Servidor é efetuada pelo protocolo UDP. envia uma resposta ao Módulo Embarcado contendo apenas o número da mensagem recebida. aonde os principais componentes são o compilador GNU GCC e o Sistema Gerenciador de Banco de Bados – SGBD PostgreSQL. o protocolo de 50 . caso sejam iguais. Essa característica. até que a confirmação seja recebida ou um número máximo de tentativas seja alcançado.12. embora pareça mais adequado o conceito de transmissão confiável do protocolo TCP [18]. Como o Modem GSM possui apenas quatro sockets [5]. Mas não foi possível a utilização do TCP. além de oferecer um baixíssimo custo de implantação. A thread cliente() está indicada na Figura 4. Então. caso obtenha sucesso.

cabendo ao mesmo todo o processo de tratamento dos dados.12 – Fluxograma da thread main() 51 . Assim.comunicação entre o software servidor e o software cliente é bastante simples. ao recebê- los. é possível obter uma grande flexibilização dos clientes. Figura 4. O software servidor está programado para interpretar apenas comandos SQL e. tenta executá-los e retorna a resposta ao software cliente.

14 – Fluxograma da thread cliente() 52 .Figura 4.13 – Fluxograma da thread servidor() Figura 4.

15 – Tela de login do software cliente-exemplo 53 . Foi utilizada a suíte gráfica QT para o seu desenvolvimento. ele apenas obedece ao protocolo de comunicação explicitado na Figura 4. o software cliente pode sofrer modificações a qualquer momento e essa é uma característica desejada do projeto. o nome da UTR e a data/hora da leitura. Ele foi desenvolvido apenas para comprovar a funcionalidade do Módulo Embarcado.4.3. Figura 4. Além disso. ela apresenta uma tabela contendo todas as UTRs cadastradas e algumas informações que podem ser úteis na identificação das mesmas.15.13 e Figura 4. iguais ou menores que o valor fornecido. A tela de login do software cliente é apresentada na Figura 4. não será dada ênfase ao funcionamento do software cliente. Cliente exemplo Como dito na seção anterior.1. Clicando sobre uma UTR e pressionando o botão “Ver Dados da UTR” a tela da Figura 4. Nessa tela é possível visualizar os dados armazenados no banco de dados a partir de dois filtros.16 ilustra a sua tela principal.14. apenas “Ver Dados da UTR” está disponível atualmente. Essa última opção é permitido escolher se deseja visualizar os dados que contenham data/hora maiores.17. A Figura 4. ela possui um menu principal e um menu de ações contendo dois itens. Portanto.

Figura 4.17 – Tela da ação “Ver Dados da UTR” 54 .16 – Tela principal do software cliente-exemplo Figura 4.

5. como não se deslocar até o local. pois as medições podem ser realizadas em vários intervalos de tempo pré-definidos. Essa situação se torna mais grave. • Permite que os dispositivos medidos sejam inseridos em locais de acesso mais restrito. • Pode apresentar maiores detalhes para o cliente. quando se tratam de sistemas que possuem equipamentos (clientes) muito distantes uns dos outros. permitindo que programas clientes possam visualizá-los. pois todas as informações vão direto para um banco de dados. bem como a realização dos testes de campo. mas que em muitos casos ainda apresenta um funcionamento bastante artesanal. Essa vantagem evita possíveis atos de má fé por parte do funcionário. ou anotar medições que não condizem com a realidade. independente da necessidade de um funcionário se deslocar até o ambiente onde o dispositivo se localiza. os sistemas de medição fiscal. resultando em uma maior clareza para o consumidor. • A empresa passa a possuir um histórico dos clientes. que permite que um Módulo Embarcado colete as informações de um dispositivo e realize o envio para um Módulo Servidor. foi apresentado um processo de automação simples e prático de um tipo de sistema bastante comum. que pode ser realizada utilizando um componente (de desenvolvimento próprio ou de terceiros) de software que realize o acesso aos sites das operadoras de telefonia celular e efetue o envio gratuito da mensagem. A implementação desse projeto apresenta algumas vantagens. ou por período do dia. É comum encontrarmos sistemas em que é necessário que um funcionário vá até o equipamento medidor para coletar suas informações. é necessário a integração do envio de SMS ao Módulo Servidor. com formatos de texto padrão e o número telefônico de acordo 55 . Conclusão Ao longo do trabalho. O trabalho apresenta um sistema de telemetria remota. o mesmo ainda necessita da implementação de algumas funcionalidades e da definição de alguns parâmetros. Na que diz respeito às funcionalidades. que podem ser resumidas em: • Garantia de que a medição irá ser realizada. o qual permite um grande volume de dados. impedindo possíveis alterações no mesmo por parte do cliente. Dessa forma é possível demonstrar qual consumo diário. Embora o trabalho descrito esteja totalmente funcional. o qual armazena todas essas informações em um banco de dados.

ou seja. dessa forma. se é necessário que o circuito seja alimentado por alguma rede elétrica ou se apenas baterias de alta durabilidade suportam o funcionamento do circuito por um tempo economicamente viável. o qual teria que ser efetuado localmente. No âmbito das definições. Outra modificação seria a adoção de algum protocolo de segurança da Internet para a conexão entre os Módulos. em diversos tipos de operação. ou a utilização de criptografia de dados.com a UTR selecionada. existem melhorias a serem feitas no projeto que podem resultar em uma maior qualidade do mesmo. o envio da SMS poderia ser feito de forma transparente ao usuário. é necessário medir com certo grau de precisão o consumo de energia total do circuito. deve-se realizar o teste global do funcionamento do sistema. o qual cobraria uma taxa (cerca de R$ 0. Pode ser aumentado o número de ações realizadas pelo Módulo Embarcado a partir de comandos do Módulo Servidor.15) por cada mensagem enviada. realizados através de mensagens SMS. a realização e o envio imediato de uma nova leitura. Outra opção seria o uso de um servidor externo de SMS. 56 . Além disso. como por exemplo. Além das atividades a serem realizadas antes de tornar o sistema totalmente preparado para o funcionamento no campo. Outra funcionalidade pendente é a realização do ajuste do relógio de cada Módulo Embarcado. São necessários testes de campo para confirmar a disponibilidade e o comportamento da rede GPRS nos locais a serem instalados os Módulos Embarcados. Apenas com os dados dessas medições é possível definir qual o tipo de alimentação do circuito eletrônico.

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

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

Sign up to vote on this title
UsefulNot useful