sexta-feira, abril 10, 2009

GPS Tracking System

Vou falar um pouco sobre o que me foi proposto fazer em Abril de 2009. O cliente em questão tem um negócio que abrange todas as áreas relativas ao ramos automóvel. Este, para juntar ao grupo de serviços que dispões, quer um sistema próprio de GPS Tracking para poder servir os seus clientes.

Um serviço de GPS tracking pressupõe uma panóplia de requisitos essenciais.

Tipo de dispositivos a serem usados nos automoveis;
Tipo de informação a ser processada (Strings de GPS GPRMC, etc);
Serviço Online 24x7;
Acesso personalidado mediante autenticação;
Acesso a informação actualizada sobre o rumo, direcção, posicionamento, geo-referenciação imediato e em tempo real.

Mediante estes pressupostos resumidos e após análise resolvi por mãos à obra.

1º Fase - Recepção e processamento
Em primeiro criei um serviço Windows que corre em servidor dedicado para receber as coordenadas do GPS. O GPS dispositivo envia de x em x segundos um conjunto de dados incluindo a String GPRMC, conhecida por Recomended Minimum sentence que contem quase tudo que a aplicação precisa de receber para processar. A string envia, de modo codificado, a latitude, longitude, velocidade, direcção em º , satellite-derived time, fix status e magnetic variation.

O dispositivo em questão teve de ser programado para enviar de x em x segundos, via TCP para um socket onde o serviço windows fica activo.

Este serviço recebe a string, processa-a e guarda toda a informação préviamente tratada em Base de dados MSSQL 2005.

2º Fase - Presentation Layer
Nesta segunda fase a preocupação foi a apresentação dos dados, visto que grande parte do processamento e tratamento da informação é efectuada na recepção dos dados.

Para isso Usei a linguagem de programação FLEX (XML). Como o flex não trabalha directamente com os dados, era preciso um serviço Web que os disponibilizasse.

Criei um serviço web em vb.NET alojado no servidor dedicado de recepção e armazenamento de coordenadas GPS que sirva de camada intermediária de dados para a aplicação Web em FLEX.

A aplicação permite aos utilizadores terem acesso imediato a localização dos veículos, disponibilidade de colocação de marcadores, rotas percorridas, tempos de paragem e viagem, soma de km, etc.

Tempo de desenvolvimento: 1 mês
Plataforma de desenvolvimento: Windows + Visual Studio 2008 + Flex Builder 3
Linguagem de programação: vb.net, Flex
SGBD: MSSQL 2005