Académique Documents
Professionnel Documents
Culture Documents
1022081064
1012081049
0922081012
1022081052
0912081101
1122081016
1122081027
1012081035
0622081017
Braslia/DF, 2014
Autores:
Allan Anderson Maciano de Sousa
Arthur Martins Carvalho
Danielle Tavares da Silva
Diogo Martins Macedo
Paulo Henrique Lencio
Leandro Discaciate Gomes
Luciano Fernandes Alves
Marcos Antonio de Jesus Alves
Natalia Lopes de Castro
___________________________
Orientador
Ttulo/Instituio
___________________________
Examinador
Ttulo/Instituio
___________________________
Examinador
Ttulo/Instituio
RESUMO
ABSTRACT
Construction of an anti-theft security system with GPS based location e with location report
capabilities (Geographic Coordinates) for mobile cellular users, via GSM network.
Keywords: Arduino, GSM, GPS, Tracker.
LISTA DE ILUSTRAES
LISTA DE TABELAS
SUMRIO
1.
12
1.1.2
Shields Arduino
12
1.1.3
A IDE do Arduino
13
1.1.4
14
15
1.2.1
Segmentos do GPS
16
1.2.2
O posicionamento
17
1.2.3
Erros do GPS
17
1.2.4
Aplicaes do GPS
18
1.3
Tecnologia GSM
1.3.1
1.4
18
18
20
1.4.1
Cell-ID
20
1.4.2
20
1.4.3
21
1.5
Tecnologia GPRS
1.5.1
Arquitetura GPRS
Metodologia Empregada
21
22
24
24
2.1.1
Planejamento e Projeto
24
2.1.2
24
2.2
Cronograma de Atividades
26
2.3
Especificaes do Projeto
28
2.4
Componentes do Projeto
28
2.4.1
29
2.4.2
32
2.5
3.
11
1.1.1
1.2
2.
11
Projeto Construdo
Concluso
33
35
10
INTRODUO
11
arquitetura AVR. Em funo de sua natureza aberta, tanto em software quanto em hardware,
existem diversos fabricantes e modelos. O hardware original produzido pela empresa
italiana Smart Projects. At a data da concluso deste trabalho, foram comercializadas
quatorze verses distintas de Arduino, cada uma delas dotada de diferentes funcionalidades.
Figura 1 Plataforma Arduino, em sua variante DUE (fonte: divulgao oficial Arduino).
12
Figura 2 Arduino Lilypad, usado em aplicaes embarcadas em roupas. (fonte: reproduo).
1.1.1
O Hardware Arduino
Dotado de um microcontrolador integrado AVR da ATMEL, o Arduino capaz de
realizar uma grande gama de operaes lgicas. A arquitetura AVR um tipo modificado de
mquina de arquitetura Harvard, onda dados e programas so armazenados em memrias
fsicas distintas e aparecem em diferentes endereos de memria. Chips AVRs so usados em
uma grande gama de aplicaes, sendo o Arduino somente uma delas. Exemplos de usos dos
AVRs se encontram em sistemas de automao, entretenimento e controle em automveis
(com a BMW e a Chrysler se configurando como grandes clientes) e nos controles do
videogame Xbox, da Microsoft.
No caso especfico do Arduino, usa-se o microcontrolador de 8-bits ATmega328,
ATmega 1280 ou ATmega2560 (ou, para o caso de sistemas Arduino mais antigos, o
ATmega168 e ATmega8). A configurao, a quantidade de pinos de entrada, de sada e de
entradas analgicas depende da verso de Arduino utilizada. A grande maioria das placas
tambm dotada de um LED conectado a um resistor e um dos pinos (normalmente o 13),
que serve de maneira bastante til para verificaes simples de status e testes.
Shields Arduino
Shields so placas que podem ser encaixadas em cima do Arduino para expandir suas
O shield GSM permite que o Arduino conecte-se a internet, faa e receba chamadas de
voz alm de mandar e receber mensagens de texto. Este shield utiliza um modem via radio da
Quectel modelo M10. Sua biblioteca possui um grande numero de mtodos para a
comunicao com o shield.
13
1.1.3
A IDE do Arduino
A maneira mais comum de se programar uma placa Arduino por intermdio de um
PC, usando o software Arduno IDE e se conectando com a placa por meio de uma interface
USB. Existem opes de programao em interface de linha de comando e comunicao via
porta RS232, mas essas so de uso mais raro.
O Arduino IDE um programa multi-plataforma e de cdigo livre e aberto, escrito
em Java, e com vrias das facilidades normalmente atrelados a editores de cdigo. A
compilao do programa e o posterior upload para o microcontrolador do programa tambm
realizada no mbito da Arduino IDE.
Figura 7 Captura de tela do Arduino IDE v1.0 (fonte: divulgao oficial Arduino).
14
Uma das grandes facilidades dadas pelo Arduino IDE a presena de uma biblioteca
C/C++ denominada Wiring. Tal biblioteca dotada de vrias implementaes que facilitam
as operaes de entrada e sada e de controle e manipulao de outros hardwares e add-ons.
Escapa ao escopo deste trabalho a explicao detalhada de como se programa em
C/C++ e, consequentemente, em Arduino. Entretanto, um exemplo bsico apresentado
abaixo:
#define LED_PIN 13
void setup () {
pinMode (LED_PIN, OUTPUT);
}
void loop () {
digitalWrite (LED_PIN, HIGH);
delay (1000);
digitalWrite (LED_PIN, LOW);
delay (1000);
//
//
//
//
liga o LED
aguarda 1000ms (1 segundo)
desliga o LED
aguarda 1000ms (1 segundo)
O cdigo acima usado para fazer com que o LED apresentado na figura 3 pisque em
intervalos de um segundo. Por intermdio do uso da biblioteca Wiring possvel simplificar
bastante o controle e a execuo das funes do hardware, e possvel perceber o que o uso
dessas funes permitem que pequeno cdigo seja mais simples de implementar, planejar e
de fcil compreenso.
Para se criar um programa executvel em uma board Arduino, obrigatrio o uso e a
definio de duas funes especficas:
setup() Funo que rodada uma vez, ao incio do programa, e que configura a
placa de acordo com a aplicao.
1.1.4
15
muitos exemplos desses add-ons ou shields para o caso especfico do projeto aqui
abordado, sero usados os mdulos de comunicao GSM e o de GPS.
Tal micro-controlador pode ser considerado o crebro do sistema e ser
responsvel pela integrao das diferentes informaes recebidas, seja da rede GSM ou da
rede GPS. Tambm papel do Arduino servir de interface entre o smartphone do usurio e o
rastreador remoto, usando recursos de SMS para informar a localidade do rastreador. Tambm
caber ao Arduino o recebimento de comandos oriundos do telefone celular, permitindo a
execuo de tarefas no dispositivo remoto.
1.2
americanos, este sistema foi amplamente utilizado para aplicaes geodsicas, a partir de
1967 em todo o mundo. O geo-posicionamento propiciado pelo NNSS (Navy Navigation
Satellite System) j era realizado por meio de ondas eletromagnticas e o sistema era
suportado por uma constelao de 8 satlites ativos, em rbitas polares elpticas (quase
circulares), a uma altitude mdia de 1.100 km. O NNSS, que ficou em operao at meados
de 1993, tinha dois grandes problemas: no provia cobertura mundial total e havia uma falha
de tempo considervel, entre passagens sucessivas dos satlites para um mesmo ponto na
superfcie terrestre. Para se obter uma posio aprimorada, necessitava-se de dois a trs dias
estacionado num mesmo ponto. No entanto, como em qualquer rea da evoluo humana, as
experincias foram se acumulando ao longo do tempo, e o processo evolutivo culminou com
o atual GPS.
O GPS, que entrou em operao em 1991, um sistema de rdio navegao por
satlite que fornece a usurios que possuam equipamento apropriado, coordenadas precisas de
posicionamento tridimensional e informao sobre a navegao e o tempo [2]. Foi
desenvolvido pelo Departamento de Defesa dos Estados Unidos da Amrica DoD
(Department of Defense), com o propsito de ser o principal sistema de navegao das foras
armadas americanas [1].
A concepo do sistema GPS permite que um usurio, em qualquer ponto da
superfcie terrestre, ou prximo a ela, tenha sempre a disposio, no mnimo 4 (quatro)
satlites para serem rastreados, conforme representado na figura 5, permitindo navegao em
tempo real, sob quaisquer condies meteorolgicas [1].
16
1.2.1
Segmentos do GPS
O funcionamento do GPS suportado por 3 segmentos principais:
17
O posicionamento
Posicionamento consiste na determinao da posio de objetos em relao a um
referencial especfico. Embora o GPS empregue alguns dos equipamentos da mais alta
tecnologia j construdos e softwares sofisticados, o princpio bsico do posicionamento por
satlite relativamente simples. O clculo de posicionamento do receptor GPS est baseado
nas distncias entre o receptor e os satlites e, ainda, da posio de cada satlite no espao
cartesiano. Isso significa que determinamos nossa posio na terra, como j mencionado,
medindo nossa distncia para um grupo de satlites localizados no espao. Os satlites atuam,
na realidade, como pontos de referncia precisa para o usurio.
O princpio bsico do posicionamento usado pelo GPS conhecido como
Trilaterao Eletrnica e diz o seguinte:
Erros do GPS
Tem-se a impresso de que o GPS um sistema 100% preciso, onde so utilizados
relgios atmicos nos satlites, medio extra para eliminar o erro do relgio do receptor e os
satlites transmitem correes de modo a permitir uma determinao mais precisa de suas
posies orbitais. Mas, por mais perfeito que o sistema parea ser, ele possui uma margem de
18
erro extremamente baixa (Erro < 1 cm) [1], estes erros so inerentes a vrias fontes: nos
satlites, na propagao do sinal, no receptor/antena, entre outros fatores que podem acabar
prejudicando as informaes recebidas, mas estes problemas so minimizados ao mximo de
forma que o sistema GPS altamente confivel.
1.2.4
Aplicaes do GPS
Atualmente, o uso do Sistema de Posicionamento Global est ao alcance dos diversos
1.3
Tecnologia GSM
A grande evoluo dos sistemas de comunicaes celulares mveis, bem como o
por uma antena transmissora e uma Estao Rdio Base (Base Transceiver Station BTS).
Considerando que se trata de uma rede mvel, h a necessidade de uma arquitetura bem
19
registrados
nas
suas
respectivas
redes
GSM,
20
Uma rea de Localizao (Location Area LA) um conjunto de clulas em um
determinado setor dentro da rede. Elas so controladas por uma MSC (Mobile Switching
Center), que a central de comutao de chamadas [6]. A rea total de cobertura de uma
operadora denominada PLMN (Public Land Mobile Network), que representa um conjunto
de LAs.
A rede GSM formada pelo conjunto de PLMNs presentes no mundo, podendo ser
considerada a rea total do mundo onde h cobertura GSM.
1.4
necessrio considera-se um ponto fixo. Em se tratando de GSM, esse ponto fixo considerado
a Estao Rdio Base (ERB).
So diversas as opes de mtodos para determinar a localizao de um mvel, e essa
escolha depender do objetivo da aplicao.
1.4.1
Cell-ID
Por meio dos elementos HLR e/ou VLR possvel saber a localizao aproximada do
mvel, atravs das coordenadas fixas da BTS na qual ele est se comunicando no momento.
Uma vez que o prprio sistema GSM j exige um canal de controle para saber em qual clula
est o mvel, no h necessidade de mudanas no sistema para que o servio seja executado
[4]. Nos casos em que o aparelho estiver desligado, a localizao fornecida ser o ltimo
posicionamento registrado. Trata-se de um mtodo de localizao simples, por necessitar
apenas de uma clula para fornecer a localizao, uma das suas desvantagens que a preciso
est associada ao tamanho da clula, que pode variar de 500m a mais de 10km de raio [7].
1.4.2
ngulos dos sinais que chegam s antenas [4]. Esse clculo realizado atravs da diferena de
fase das antenas de determinado grupo, resultando em um ponto de interseo dos ngulos de
ao menos duas BTS. Quanto maior o nmero de BTSs envolvidas, maior ser a preciso da
localizao.
21
Figura 12 Sistema AoA (fonte: Kuhnen, 2003)
1.4.3
Chegada)
Esta tcnica se baseia na diferena do tempo de chegada de sinais. [8] Ou seja,
o posicionamento calculado atravs da diferena entre os tempos de envio e chegada dos
sinais, possibilitando assim, estimar a distncia em que se encontra o terminal de acesso e a
BTS. Nessa tcnica para que seja vivel a triangulao das antenas necessria a utilizao de
no mnimo trs BTSs.
Para que o sistema no seja falho, um requisito importante a necessidade de
existir uma sincronizao entre as BTSs, pois a transmisso originria do telefone mvel
detectada em diversas estaes base, portanto deve existir uma relao de tempo entre o
relgio do receptor e as estaes base [4].
1.5
Tecnologia GPRS
O progresso da internet tem sido cada vez mais acelerado, o que motivou os
22
transmisso de dados, com a possibilidade de manter-se online sem precisar fazer uma ligao
sempre que desejar-se aceder a uma pgina Web [9] ou acessar algum aplicativo que requeira
o acesso internet.
Atravs do GPRS tambm foi possvel otimizar os custos, uma vez que passouse a cobrar pela quantidade de dados transmitidos ao invs da durao da ligao. Isso porque
os canais so alocados aos usurios somente quando h a demanda de enviar/receber pacotes
de dados [10].
Para os usurios da tecnologia GPRS h a possibilidade de utilizao de todos
os oito times slots (canais de dados) simultaneamente o que beneficia para que alcance-se
taxas de transmisso tericas prximas 170 kbps, logo, proporciona velocidades maiores
que as oferecidas pela tecnologia GSM.
Considerando que o sistema GSM inicialmente foi estruturado na forma de
comutao de circuitos, a tecnologia GPRS veio com o intuito de integrar e complementar
esse sistema, o qual no possui adaptao para trfego de dados por pacote, requisito
necessrio para transporte de dados atravs do protocolo IP.
1.5.1
Arquitetura GPRS
A arquitetura GPRS utiliza toda a estrutura j montada na rede GSM,
23
24
2.1
Metodologia Empregada
O objetivo do trabalho comunicar a posio geogrfica do objeto rastreado, atravs
Planejamento e Projeto
Para a execuo desse projeto algumas pesquisas foram feitas para uma melhor
orientao de como conseguir a comunicao entre o arduino e os shields tanto GPS como
GSM. E foram obtidos os shields GPS e GSM, j o arduino faz-se posse dele.
J com o resultado dessa pesquisa pde-se conseguir uma programao que faz a
comunicao do arduino e shield GPS coletando os dados recebidos dos satlites.
No decorre da evoluo do projeto ser apresentado as ligaes entre os
componentes arduino+shields, a fonte que os alimentar e a programao que comunicar o
arduino com shield GSM.
2.1.2
25
26
#include <SoftwareSerial.h>
#include <TinyGPS.h>
TinyGPS gps;
SoftwareSerial serialgps(2,3);
int year;
byte month, day, hour, minute, second, hundredths;
unsigned long chars;
unsigned short sentences, failed_checksum;
void setup()
{
Serial.begin(115200);
serialgps.begin(4800);
Serial.println("");
Serial.println("GPS Shield QuickStart Example Sketch v12");
Serial.println(" ...waiting for lock... ");
Serial.println("");
}
void loop()
{
while(serialgps.available())
{
int c = serialgps.read();
if(gps.encode(c))
{
float latitude, longitude;
gps.f_get_position(&latitude, &longitude);
Serial.print("Lat/Long: ");
Serial.print(latitude,5);
Serial.print(", ");
Serial.println(longitude,5);
gps.crack_datetime(&year,&month,&day,&hour,&minute,&second,&hundredths);
Serial.print("Date: "); Serial.print(month, DEC); Serial.print("/");
Serial.print(day, DEC); Serial.print("/"); Serial.print(year);
Serial.print(" Time: "); Serial.print(hour, DEC); Serial.print(":");
Serial.print(minute, DEC); Serial.print(":"); Serial.print(second, DEC);
Serial.print("."); Serial.println(hundredths, DEC);
Serial.print("Altitude (meters): "); Serial.println(gps.f_altitude());
Serial.print("Course (degrees): "); Serial.println(gps.f_course());
Serial.print("Speed(kmph): "); Serial.println(gps.f_speed_kmph());
Serial.print("Satellites: "); Serial.println(gps.satellites());
Serial.println();
gps.stats(&chars, &sentences, &failed_checksum);
}}}
2.2
Cronograma de Atividades
Dados os requisitos do projeto e a necessidade da realizao de uma grande
27
Data
15.Fev.2014
22.Fev.2014
03.Mar.2014
10.Mar.2014
17.Mar.2014
24.Mar.2014
31.Mar.2014
Atividade
1 Reunio professor-alunos e divulgao do plano didtico pedaggico.
Proposta de temas pelo professor e pelos alunos e distribuio das tarefas.
Feriado de Carnaval
Exposio de temas propostos e apresentao de novos temas.
Definio do tema escolhido pelo grupo e distribuio das tarefas.
Discusso sobre o avano do projeto.
Exposio do material coletado para elaborao do Seminrio.
07.Abr.2014
12.Abr.2014
14.Abr.2014
21.Abr.2014
Feriado de Tiradentes
28.Abr.2014
05.Mai.2014
12.Mai.2014
19.Mai.2014
26.Mai.2014
02.Jun.2014
09.Jun.2014
16.Jun.2014
Apresentao do PI
20.Jun.2014
28
2.3
Especificaes do Projeto
Como base na pesquisa prvia, na definio macro de como o projeto deveria operar,
2.4
Componentes do Projeto
Parte dos componentes usado nesse projeto (como celulares e Arduinos) de fcil
Componente
Custo Unitrio
29
Arduino Uno R3
R$ 75,00
R$ 60,00
Shield GPS
R$ 48,00
R$ 350,00
R$ 525,00
A escolha por tal componente para o projeto se deu em funo das seguintes
caractersticas do mesmo:
30
31
GSM07.05 Comando
Descrio
AT+CMGD
AT+CMGF
AT+CMGL
AT+CMGR
L mensagem SMS
AT+CMGS
AT+CMGW
AT+CMSS
AT+CNMI
AT+CPMS
AT+CRES
AT+CSAS
AT+CSCA
AT+CSCB
AT+CSDH
AT+CSMP
AT+CSMS
32
Shield GPS GY-6MV1
2.4.2
Tamanho reduzido.
Alta sensibilidade.
Esse mdulo GPS utiliza a tecnologia mais atual para prover a localizao mais exata
possvel. Em que pese esse shield funcione apenas em locais abertos, em virtude do registro
contnuo das coordenadas da posio do objeto, possvel obter a ltima localizao
registrada.
Conforme visto na parte terica, um sistema GPS deve ser capaz de entregar uma
srie de parmetros. Para o sistema proposto, foram tomadas a latitude, longitude, a data e a
hora da localizao. Em se tratando do objetivo do projeto, optou-se pelo descarte da
informao de altitude.
O fragmento do cdigo implementado abaixo demonstra a etapa de declarao das
variveis referentes ao sistema GPS. Tambm possvel perceber o emprego da API do
Google Maps para gerar um SMS que funcione como um hyperlink para aplicativos
compatveis com o Google Maps.
33
char GPS_Data[7];
char GPS_Hora[12];
char GPS_Status[2];
char GPS_Latitude[11];
char GPS_Latitude_Dir[2];
char GPS_Longitude[12];
char GPS_Longitude_Dir[2];
String server = "http://maps.google.com.br/maps?q=";
2.5
Projeto Construdo
Conforme visto nas sees anteriores, pode-se entender o projeto como sendo dividido
Shield
GPS
Shield
GSM
Arduino
Dispositivo
Mvel
34
void loop()
{
String local="";
local=GPS();
if(digitalRead(alarme)==HIGH && desliga==0){
enviar_sms(local + ajuste_data(GPS_Data )+ ' '+ ajuste_hora(GPS_Hora)+
"ALARME DISPADADO");
desliga=1;
Serial.println("tampa aberta");
}
Toda a atuao por parte do usurio se d por intermdio de mensagens SMS entre o
dispositivo mvel usado e o rastreador, usando como backbone as redes de telefonia GSM.
A primeira verso do trabalho contava com uma simples interface de mensagens em
formate de link para o aplicativo mvel Google Maps. Com o intuito de prover uma melhor
experincia ao usurio final, o grupo optou pelo uso de um aplicativo especialmente
desenvolvido para Android, de onde o usurio pudesse controlar todas as funcionalidades do
projeto. Salienta-se, que a programao no OS Android escapa ao escopo deste trabalho e
que, ao contrrio do restante do trabalho, essa no foi uma etapa inteiramente desenvolvida
pelo grupo, contando com a ajuda voluntria de terceiros. A figura seguinte demonstra a
interface grfica de controle do rastreador.
35
3. CONCLUSO
36
REFERNCIAS
[1] GPS: Sistema de Posicionamento Global tem diferentes utilidades Acesso em 04/2014,
disponvel em: < http://goo.gl/TFVlFL >
[2] Aplicao do Sistema de Posicionamento Global (GPS) na Coleta de Dados Acesso
em 04/2014, disponvel em: < http://goo.gl/VOtfna >
[3] O que trilaterao? Acesso em 04/2014, disponvel em: < http://goo.gl/44Y4wf >
[4] Localizao de Estaes Mveis Praticada sob GSM e GPS Acesso em 04/2014,
disponvel em: < http://goo.gl/abkMzZ >
[5] Arquitetura (GSM) Acesso em 04/2014, disponvel em: < http://goo.gl/0bdCXY >
[6] Rede GSM: Conceitos e Geografia da Rede Acesso em 04/2014, disponvel em: <
http://goo.gl/U78jzt >
[7] Mtodos de Localizao: Identificao da Clula Acesso em 04/2014, disponvel em: <
http://goo.gl/QDy3Kh >
[8] Localizao em Redes GSM II: Uso da Tcnica de Trilaterao de Potncia Acesso
em 04/2014, disponvel em: < http://goo.gl/miiX86 >
[9] GPRS disponvel em: < http://goo.gl/bQjvRb >, acesso em 07/06/2014.
[10] Recurso Rdio em GSM/GPRS: GPRS disponvel em: < http://goo.gl/0AuOvV >
acesso em 11/04/2014.
[11] Histrico da Telefonia Celular, Acesso em 04/2014, disponvel em: <
http://goo.gl/kKGkI7 >
[12] Redes GSM e GPRS Acesso em 04/2014, disponvel em: < http://goo.gl/vTJWcj >
[13]Arduino, Arduino Serial Comunications Library Acesso em 03/2014, disponvel em:
< http://arduino.cc/en/Reference/SoftwareSerial>
[14]GPS Shield Retail Kit Acesso em 04/2014, disponvel em: < http://goo.gl/pPIDnx >
[15]Arduino GSM Shield Acesso em 04/2014, disponvel em: < http://goo.gl/sC8UxI >