Desenvolvimento de um sistema de tracking utilizando GPS e SMS

Grupo:

Introdução


GPS é um sistema de informação eletrônico que fornece via rádio a um aparelho receptor móvel a posição do mesmo com referência as coordenadas terrestres. Neste trabalho utilizamos  dois equipamentos distintos para construir todo o sistema.

1- TSG, construído pelo LISHA para interfaceamento com o equipamento GPS (através de uma interface serial RS232) e envio e recepção de mensagens SMS utilizando um chip GSM de uma operadora qualquer. O TSG utiliza um microprocessador AVR de 8Bits (ATMega128) e um Motorola G.24 Data Module.

2- GPS ME-1000RW, construído pela ME COMPONENTES E EQUIP. ELETR. LTDA, o modulo é capaz de receber sinais de 65 satélites GPS e converter os sinais em informações precisas de posicionamento que podem ser adquiridos através de uma porta serial.

Objetivo

Criar um sistema que seja capaz de informar via SMS qual a sua exata posição no momento em que ele receber uma mensagem requisitando a posição atual.


Desenvolvimento

O desenvolvimento foi realizado em C++ utilizando o compilador avr-g++ (GCC) 4.3.2 e outros aplicativos de desenvolvimento para plataformas Atmel AVR como o avrdude, tendo o SDK para os microprocessadores AVR Atmel apenas executar “make” devecompilar o sistema e “make prog” gera o arquivo “.hex” e otransfere para o AVR.

Divisão do Sistema:

1- GSM.h: responsável por enviar e receber mensagens SMS, que envolve a construção dos comandos AT e a interpretação das respostas. Também é responsável por inicializar e configurar o modem de maneira adequada, tornando possível o envio e recebimento de SMS.

2- GPS.h: responsável por se comunicar por uma interface serial com o equipamento GPS, obter os dados da posição atual e converte-los em dados mais compreensíveis (já que o equipamento GPS retorna apenas um numero que deve ser interpretado para obter a posição detalhada). Este classe envolve a comunicação entre o TGS e o equipamento GPS através da Serial RS232.

3- System.h:  fica em loop constante verificando se recebe uma nova mensagem, assim que ela recebe uma mensagem ela obtém a posição atual através do GPS.h e envia a por SMS utilizando o GSM.h.

4- ATMega128UART.h, responsável por obter dados vindos para o ATMega através da porta serial e por enviar dados através da mesma.


Repositório do projeto: https://svn.inf.ufsc.br/katcipis/c++/trunk/gps-sms/


Dificuldades

1 – Desenvolvimento da classe que faz a comunicação serial do TGS com o ME-1000RW. Primeiro fomos orientados a testar o ME-1000RW utilizando um Atmega128 simples sem o modem GPRS. Não nos demos conta de que a porta serial do Atmega128 e do ME-1000RW não eram compativeis, ficamos tentando fazer a comunicação serial funcionar, o que seria impossível por causa da diferença existente no hardware. Isso foi resolvido utilzando o TGS que já possui uma porta serial compativel com a do ME-1000RW.

2 – Desenvolvimento da classe que envia e recebe as SMS, o problema básico é montar os comandos AT corretamente, já que inicialmente utilizamos documentação de outros equipamentos sem nos dar conta que podem existir diferenças (apesar de existir um padão, ainda podem existir pequenas diferenças nos comandos e na capacidade de cada modem, alguns modens por exemplo não funcionam em modo TEXT para SMS, apenas PDU) nos comandos AT dependendo do modem e do fabricante do modem.