Fjärrpositionering via GPS och SMS



Relevanta dokument
DIGITALA PROJEKT Väderstation

Digitala Projekt (EITF11)

Temperaturmätare med lagringsfunktion DIGITALA PROJEKT EITF11 GRUPP 14, ERIK ENFORS, LUDWIG ROSENDAL, CARL MIKAEL WIDMAN

LARMANLÄGGNING. Digitala Projekt, EITF11. Oskar von Knorring Emin Karimov Henrik Akej Handledare: Bertil Lindvall

Innehållsförteckning. Figur- och tabellförteckning. Figure 1 Blockschema över hårdvaran...4 Figure 2 Blockschema över programet...

Blue Key Digitala projekt VT

Felsökning av kommunikation mellan DLS och GPS mottagare.

Digitala projekt, EDI021 Rapport Handledare: Bertil Lindvall

Digitala Projekt VT13. PING-Pong

Projekt EITA15. Väckarklocka. LTH Ingenjörshögskolan vid Campus Helsingborg Datateknik

The Intelligent Timer

Pulsmätare med varningsindikatorer

Digitala projekt - Radiostyrd bil

Systemkonstruktion SERIEKOMMUNIKATION

The Secure Light. Digitala Projekt EITF11. Hanna Tinglöf, I-12 Anna Horvath, I-12 Filippa Österlin, I-12. Handledare: Bertil Lindvall

Konstruktion av en radiostyrd legobil. Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia

Digitala projekt rapport

Formula Blue. Digitala Projekt 8p. Jesper Ferm E02 Carl Hakenäs E04

EDI021 Digitala projekt. Rapport LARMSYSTEM. Utförd av: Niklas Eklund E03 David Olsson E04. Inlämnad:

RemoteBud. Inlämnas: Patrik Johnsson, e01pjo Viktor Karlsson, e01vk

Jan Babor och Oscar Ågren Handledare: Bertil Lindvall 5/16/2011

Innehåll. 1 Inledning 3

LiTH Lab1: Asynkron seriell dataöverföring via optisk länk Laboration 1. Asynkron seriell dataöverföring via optisk länk

Digitala Projekt Konstruktion av Tamagocchi. Av: Oskar Andersson D05 & Danial Rehman D05

SweTrack Animal II. Svensk manual

Installationsmanual 501 GPS Tracker

Användarhandledning - Skogsappen

Projektlaboration 4, synkronisering av klockan

SNABB-GUIDE FÖR GOOGOL T1 PROGRAMMERING.

BRUKSANVISNING. 530 GPS tracker

Grundläggande bruksanvisning till GPS Tracker TK103-2

Digitala Projekt(EITF40) - Larm

LARMANLÄGGNING. Digitala Projekt, EITF11. Oskar von Knorring Emin Karimov Henrik Akej Handledare: Bertil Lindvall

Projektrapport i Digitala System

Lunds Tekniska Högskola Elektro- och informationsteknik Digitala projekt (EITF11)

Effektpedal för elgitarr

BRUKSANVISNING GSM-MODUL DBG4. Version 1.00 Utgåva 1

Concept V2.6. Quantum. Programmering via modem

FX2N-232-IF, kommunikationsmodul KI00055F

Dokumentation för funktionsblocksbibliotek MwaCOMLI

Installationsanvisningar för GSMlarmmodul för IVT värmepump C- och E- modell med reglercentral Rego600

TrackBlock Tracking System Bruksanvisning

LABORATION DATORKONSTRUKTION TSEA83 UART. Namn och personnummer. Version: (OS)

Snake. Digitala Projekt (EITF11) Fredrik Jansson, I-12 Lunds Tekniska Högskola,

Bruksanvisning. Bruksanvisning. Käyttöohje FIN. Brugsanvisning. User Manual. Gebruikershandleiding. DEFA SilentAlarm

TEMPERATUR OCH VINDMÄTARE MED HÖGTALARFUNKTION

Department of Information Technology Digitala projekt. SuperKull. Daniel Öhman Alexander Persson

TETRIS. LTH, Campus Helsingborg EITA15 Digitala System

Tags för 433 MHz är aktiva d.v.s. har ett inbyggt batteri, med 6-8 års livslängd vid normal aktivitet.

Webbplatsen för ME Control

Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK.

Manual, GSM-relä rev

Installationsguide. Nimbus Alarm Server för Fidelix

I-101 GSM Transponder. Bruksanvisning. Invator

Introduktion till Arduino

PlantPuppy Räddaren för den som inte kan hålla växterna vid liv

SMS Switch Butler. SMS-Switch Butler. Toleka AB, Fenixväg 28, Gustavsberg Tel: , fax:

Installationsguide. Nimbus Alarm Server för Fidelix

Vägledning för 4-modulenhet. Montering

GPS-Link version 1.7 Användarhandledning Kort & Matrikelstyrelsen och Chips Development Team

Digital Projekt EDI 021 Konstruktion av talande nummerpresentatör VT1 2004

GSM-RELÄ MED 2 INGÅNGAR, 2 UTGÅNGAR. 850/900/1800/1900 MHz. GSMS-SW22 Manual

Digitalt Projekt: Radiostyrd Bil

Växtviskaren EITF11 Digitala projekt VT15, I12

Om konsolporten. Beskrivning av portarna

KOMPONENTER. Klocka. Klockan. Öppning av armband. Kontakt för batteriladdning. ON/OFF Magnet. Elektronikenhet. Laddnings- indikator

Programmera Avant 5 med PC mjukvara

BRUKSANVISNING GSM-MODUL DBG2. Utgåva. FAAC Nordic AB BOX 125, SE PERSTORP SWEDEN TEL FAX

LUNDS TEKNISKA HÖGSKOLA. Väderstation. Digitala Projekt, EITF11. Martin Olofsson, I08 & Fredrik Oher, I08 Vt 2012

GATEWAY TJÄNSTEBESKRIVNING. Webbservice. WSDL-fil. Skicka meddelanden. SMS och FastnätsSMS

SMS-Relay. Digital Projects Lund University, Faculty of Engineering. Lund Supervisor: Bertil Lindvall

MyConnect Link. Konfigurationsverktyg för Flygt MμConnect. Snabbguide

Snabb vägledning för 9 modul enhet Montering GSM-enheten indvändigt (oversättelse, se bilaga) Spänning

Manual Skogsappen - Hemkomstkontroll

INTAB Interface-teknik AB Bruksanvisning för SMS-temp. SMS-temp

Uppmätning, lagring och presentation av samtalstider i det fasta telenätet

IOGuidePro och nätverksadapter NA-9173 KI

Gsm A6a2 Larm Driftsättning

Accelerometer. Rikard Ekström Mattias Kindborg. Informationsteknologi Lunds Universitet

SMS-larm L Version Gjutarevägen Stenkullen

Teknisk presentation av VDL Mode 4 för allmänflyg

Styrteknik 7.5 hp distans: E-1000 och E-Designer

JA-82Y Användarmanual

Digitalteknik: CoolRunner-II CPLD Starter Kit Med kommentarer för kursen ht 2012

SMS-larm L Gjutarevägen Stenkullen

Institutionen för systemteknik Department of Electrical Engineering

SMS-Temperaturlarm med både intern och extern givare

MOBILT INKÖP MANUAL VERSION 3. Sida 1

Gsm A22 Dolda kommando

PNSPO! Tips! Xpectia kommunikation till OMRON PLC via Seriellt. 14 mars 2012 OMRON Corporation

För varje barns rätt att upptäcka världen

Handbok för Din Turs mobila tjänster - för äldre mobiler som inte är smartphones

Instrument Link, en snabbguide

Användarmanual FlexiSwitch/FlexiSwitchRF

Styrning från telefon. Styrning mellan två Robofonsändare. Styrning via SMS. Styrning via dator

INSTALLATION- och DRIFTSANVISNING ARITERM GSM A2

Manual Sportident Onlinekontroll via GPRS

ARITERM GSM A2. Inkoppling / Snabbstart

Installationsguide. Lynx Mobile RxTx. Dokumentversion: 1.3/131106

Introduktion till Arduino

Transkript:

Fjärrpositionering via GPS och SMS Digitala projekt 5p 2005 VT1 Projektdeltagare: Christian Carlsson Handledare: Bertil Lindwall

Abstract The target of this project was to create a remote controlled system for a GPS and GSM cellphone. A PC connected to another GSM cellphone will send a SMS containing commands that will be received and interpreted by the remote GPS controller. Depending on the command the controller will respond with either one or multipal SMS containing GPS navigation data to be presented in some kind of map software installed on PC. The controller is based on AVR's ATMega16 microcontroller. 2

Index Abstract...2 Index...3 Inledning...4 1 Funktionalitet...5 2 Hårdvara...6 2.1 Mikroprocessor...6 2.2 Utvecklingsmiljö...6 2.3 RS232 krets...6 2.4 GSM-telefon...6 2.5 GPS-mottagare...6 2.6 PC...6 3 Mjukvara...7 3.1 UART...7 3.2 Mottagning av GPS-sträng...8 3.3 Kommunikation med GSM via AT kommandon...9 3.4 SMS...10 3.5 Huvudloopens tillståndsmaskin...10 4 PC-applikationen...11 5 Problem under projektets gång...12 6 Sammanfattning...12 7 Litteraturförteckning...13 Appendix...14 A Kopplingsschema...14 3

Inledning Detta projektarbete beskriver möjligheten att via GPS-mottagare och GSMtelefon kunna skicka SMS med positionsangivelse till en dator. Användningsområdet kan tex vara att lokalisera en borttappad bil eller dylikt. Det finns i dag kommersiella system med både hård- och mjukvara, men syftet med detta projekt var att göra en billig lösning där det går att återanvända sin gamla mobiltelefon till något roligt. 4

1 Funktionalitet Från en PC, med kartprogram eller tillgång till internet för plottning av position, skickas kommando via SMS till kontrollenheten som är kopplad till mobiltelefon och en GPS mottagare. Det går att välja om kontrollenheten skall skicka ett eller flera positionsangivelse tillbaks till PC:n. Även en hårdvarusignal kan trigga sändning av SMS, till exempel från ett larm. Figur 1 Översiktsbild Kontrollenheten kommunicerar via RS232 med både GPS mottagaren och GSM enheten. Från GPS:en kommer teckensträngar enligt NMEA0183 standarden. GSM enheten kontrolleras via AT-kommandon. Figur 2 Signalgränssnitt 5

2 Hårdvara 2.1 Mikroprocessor Hjärtat i systemet är AVR:s RISC mikroprocessor ATMega16 med bland annat följande data: 1-8 Mhz intern oscillator 16 kbyte flashminne 512 byte EEPROM 1 kbyte SRAM Två åttabitars timer och en 16 bitars. 32 konfigurerabara I/O. Seriell USART 2.2 Utvecklingsmiljö Felsökning av mjukvaran i ATMega16 sker med hjälp av ACR JTAG ICE debuginterface. Det är inkopplat via fem av microprocessorns omkonfigurerbara ingångar och till serieporten på en PC. Kontrollen sker med utvecklingsmiljön AVRStudio som bland annat programmerar processorn, ger möjlighet att lägga in brytpunkter och stega igenom sitt program. 2.3 RS232 krets För att konvertera TTL-nivåer till RS232 användes en MAXIM 233. Den matas med +5 V. 2.4 GSM-telefon GSM-telefonen måste ha ett inbyggt modem och kopplas till microcontroller via RS232. Kommunikationen sker med AT-kommandon. 2.5 GPS-mottagare Kraven på GPS-mottagaren är att kunna skicka positionssträngar enligt NMEA0183 standarden via RS232. 2.6 PC PC:n är kopplad till en mobiltelefon för mottagning av SMS med positionsangivelser och plotta position i lämplig kartmkjukvara. 6

3 Mjukvara Applikationen är uppbyggd av ett antal tillståndsmaskiner i olika lager som sinsemellan kommunicerar med globala variabler, och semaforer. Detta gör att alla tillståndsmaskiner exekveras parallellt. Figur 3 Blockschema 3.1 UART Eftersom ATMega16 endast har en USART, och detta projektet kräver ytterligare en ingång för seriell kommunikation med GPS-enheten, valde jag att göra en mjukvaruimplementation av en UART istället för att lägga till ytterligare hårdvarukomponenter. För att UART:en skall synkronisera mot bitströmmen krävs att RS232-bussen är tyst i minst en tidsperiod motsvarande sändning av en byte inklusive start- och stoppbit. Synkroniseringen börjar med att timerinterrupt sätts till halva bitlängden och när mer än 20 sample är höga anses kommunikationen tyst, och interrupt på negativ flank aktiveras. Vid nästa negativa flank startar mottagning av databyte genom att sampla mitt i varje bit en gång tills stoppbit kommer. Är denna hög betraktas läst byte som godkänd annars förkastas den. 7

Figur 4 Tillståndsmaskinen för UART:en 3.2 Mottagning av GPS-sträng GPS:en skickar ut ett antal olika informationssträngar enligt NMEA0183 standarden. För att få information om position räcker det att ta emot RMCsträngen. RMC står för "Recommended minimum specific GPS/Transit data". Den är uppbygd på följande sätt: $GPRMC,201432,A,5023.12,N,10819.25,W,005.1,013.4,280205,018.1,E*35 $GP Tillverkarspecifikt, i detta fallet Garmin. RMC Typ av GPS-datasträng. 201432 Tid för position 20:14:32 UTC. A Status A = OK, V = varning. 5023.12,N Latitud 50 deg 23.12 min nord. 10819.25,W Longitud 108 deg 19.25 min väst. 005.1 Landhastighet, knop. 013.4 Kurs. 280205 Datum för position 28 februari 2005. 018.1,E Magnetisk variation 18.1 deg öst. *35 Obligatorisk checksumma. 8

Inläsningen börjar när tecknet $ tas emot, och avslutas på tecknen för vagnretur och radmatning. Om det är RMC-strängen och navigationsstatusen är ok sparas strängen. På så sätt lagras endast giltig GPS-information. Figur 5 Tillståndsmaskinen för mottagning av GPS-datasträng. 3.3 Kommunikation med GSM via AT kommandon Kommunikationen med mobiltelefonen sker via AT kommandon. Detta kräver att telefonen har inbyggt modem. Varje funktion har sitt eget AT kommando med olika parametrar. Kommandot skickas till telefonen, via RS232, som svarar med resultatet. De kommandon som används är de i Tabell 1. AT kommando Svar Förklaring AT OK Svarar OK om modemet är redo. ATE0 OK Deaktiverar eko av tecken. AT+CPMS="ME" +CPMS: <minnesstatus> Väljer telefonens arbetsminne för SMS. AT+CMGS=<n> > SMS med n st byte att läsa. <SMS i PDU format> +CMGS <mr> OK AT+CMGL=4 +CMG: <index> <Mottaget SMS> Efter att SMS-strängen i PDU format skickats svarar telefonen med OK om meddelandet sänts eller ERROR om något fel uppstått Detta kommando listar alla mottagna SMS i PDU format tillsammans med information om minnesplats. AT+CMGD=<index> OK Tar bort SMS på minnesplats index och svarar OK om det gick bra, annars ERROR Tabell 1 Använda AT kommandon 9

AT kommandona exekveras av en tillståndsmaskin som initieras varje gång ett nytt kommando skall sändas. När ett kommando är slutexekverat stannar den i tillståndet "Stopp" tills nästa kommano skall köras. Figur 6 Sekvens för godtyckligt AT kommando 3.4 SMS För kommunikationen mellan GPS-kontrollen (MCU) och PC:n används SMS. De kommandon som finns att tillgå är: SMSSINGLE SMSMULTInnnn SMSSTOP Skickar ett SMS med positions data till PC:n. Skickar kontinuerligt positions-sms till PC:n med intervallet nnnn minuter. Stoppar sändningen av fler SMS. En del telefoner kan hantera SMS i klar text men den jag hade att tillgå, en Ericsson T39, klarade bara PDU-formatet vilket gjorde det hela lite besvärligare med mycket stränghantering till följd. Normalt så skickas data i PDU-format som sjubits-tecken men genom att man inte använder telefonen, vilket menas knappsatsen, utan en dator och AT-kommandon så går det att, via en parameter i SMS-strängen, ställa om dataformatet till åttabitstecken. Detta innebär att det bara går att skicka de tidigare beskrivna SMS-kommandon mha dator. För en bra beskrivning av PDU-formatet hänvisas den intresserade till litteraturförteckningen. 3.5 Huvudloopens tillståndsmaskin Huvudloopens tillståndsmaskin är den översta och kontrollerar flödet av SMS. Vid initiering försöker den börja kommunicera med mobiltelefonen och när det lyckas går den vidare meda att stänga av ekofunktionaliteten 10

samt väljer telefonens interna minne som arbetsminne för SMS. När kommunikationen med telefonen är etablerad börjar MCU:n att polla efter anlända SMS. Om det har kommit ett SMS, och det innehåller en av styrparamtrarna, exekveras detta. Är det en begäran om positionsangivelse besvaras SMS:et till avsändarens telefonnummer med en GPS-sträng. Finns ingen giltig GPS-sträng väntar MCU:n att skicka SMS tills en giltig positionsangivelse finns. Ett positions SMS kan även skickas om triggknappen, som är kopplad till MCU:n, aktiveras. Tabell 2 Huvudloopens tillståndsmaskin 4 PC-applikationen PC-applikationens uppgift är att skicka kontrollkommandon till MCU:n och att ta emot positions-sms och plotta denna angivna positionen på någon form av karta. Två testapplikationer har implementerats i Visual Basic. Den ena skickar vidare positionssträngen via en virtuell serieport till en kartapplikation som har stöd för GPS-anslutning. Den andra behöver inget separat kartprogram, men däremot en uppkoppling mot internet där positionen anges på Mapquests hemsida. 11

5 Problem under projektets gång Under tiden som projektet fortlidit har ett antal problem uppstått. Flera av dem tidsödande men lärorika. Här redovisas en del av dem. Vid de första kommunikationsproven med ATMega16 inbyggda USART gick det bara fram kryptiska tecken till terminalfönstret. Efter lite mätningar på bitlängder visade det sig att dessa låg långt utanför toleransen för given baudrate. Detta berodde på att processorns klocka behövdes kalibreras, vilket tog någon timmes nätsurfande att komma på. En kalibreringsbyte för den valda oscillatorfrekvens läses ut från processorn med JTAG-miljön och används sedan i applikation till att skriva in i ett register. Mjukvaru-UART:en var till en början svår att verifiera. Slutligen lade jag ut en signal på en pinne som växlade nivå vid varje bitsample. Det gjorde det en aning lättare att kalibrera UART:en. Efter att ha testat kommunikationen för AT-kommandon med hjälp av Windows hyperterminal blev det totalstopp när jag kopplade in en riktig telefon. Alla bokstäver ekades tillbaka men svar uteblev. Efter ytterligare en tids nätsurfning och test med annan terminalmjukvara visade det sig att det räckte inte med Rx,Tx och GND för att få kommunikation, utan även någon form av hårdvaruhandskakning krävdes. Hittade en beskrivning hur det skulle kopplas och sedan fungerade det. 6 Sammanfattning Inte helt ovanligt så underskattades arbetsmängden och tankarna på GPRS sköts snabbt åt sidan. I övrigt så är det en mycket trevlig och lärorik kurs där man får använda den praktiska sidan lite grann. Prototypen fungerar tillfredställande, men så här i efterhand hittar man andra lösningar som förmodligen hade varit bättre och enklare att implementera. Något som saknas är en hundraprocentig felhantering. Konstruktionen är varken idioteller teknologsäker. Skall den användas i automotivemiljö så krävs även en översyn av störningstålighet och då behöver bla UART:en uppdateras så den tar in mer än ett sample per bit. 12

7 Litteraturförteckning AVR ATMega16 produktspec MAXIM datablad för MAX233 RS232 Transceiver NMEA0183 information, http://vancouver-webpages.com/pub/peter/ SMS PDU formatet, http://www.dreamfabric.com/sms/ Virtuell serieport, http://www.eltima.com/ Kartservice på nätet, http://www.mapquest.com/ Eagle CAD-mjukvara, http://www.cadsoft.de/ AVR JTAG ICE User guide AVR Libc reference manual 13

Appendix A Kopplingsschema 14