Universitas Kristen Maranatha i
SISTEM PELACAKAN KEBERADAAN LOKASI KENDARAAN
BERBASIS MIKROKONTROLER ATMEGA16
MELALUI LAYANAN SMS
Disusun Oleh :
Nama : Indra Pratama
Nrp : 0522033
Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha, Jl. Prof.Drg.Suria Sumantri, MPH no.65, Bandung, Indonesia.
Email : pratamaindra@ovi.com
ABSTRAK
Akhir-akhir ini teknologi komunikasi berkembang sangat pesat. Penerapan teknologi komunikasi semakin memudahkan manusia dalam melakukan monitoring dan navigasi. Salah satu teknologi yang sedang banyak digunakan adalah teknologi Global Positioning System (GPS). GPS ini memiliki fungsi sebagai alat bantu penentu koordinat posisi dalam koordinat tiga dimensi, serta petunjuk tanggal dan waktu. Salah satu aplikasi GPS yaitu pelacakan keberadaan lokasi kendaraan menggunakan GPS receiver yang menerima data posisi kendaraan dari satelit, dan layanan SMS untuk mengirimkan data dari GPS serta Geographic Information System (GIS) untuk visualisasi lokasi objek merupakan teknologi pelacakan kendaraan yang relatif murah dan mudah dikembangkan.
Pada tugas akhir ini, dirancang suatu sistem penentuan posisi kendaraan menggunakan GPS (sumber informasi posisi), dua buah handphone (komunikasi sistem dan pengguna) dan mikrokontroler (pengatur lalulintas data dan instruksi) yang dibagi menjadi dua bagian yaitu bagian objek dan bagian navigasi. Bagian objek bertugas mengirimkan data-data GPS berupa lintang, bujur, kecepatan, dan arah kendaraan setiap saat diminta dengan bantuan teknologi SMS sebagai media pengiriman data posisinya. Bagian navigasi dibantu dengan software Visual Basic bertugas untuk menyimpan data GPS, lalu data yang diterima diolah menjadi tampilan pada gambar peta agar memudahkan pengguna untuk mengamati posisi objek.
Setelah dilakukan pengujian pada sistem pelacakan kendaraan menggunakan layanan SMS. Alat bekerja dengan baik sesuai dengan apa yang diharapkan.
VECHICLE LOCATION TRACKING SYSTEM
BASED ON ATMEGA16 MICROCONTROLLER VIA SMS
Composed by :
Name : Indra Pratama
Nrp : 0522033
Electrical Engineering, Maranatha Cristian University, Jl. Prof.Drg.Suria Sumantri, MPH no.65, Bandung, Indonesia.
Email : pratamaindra@ovi.com
ABSTRACT
Nowadays, technology of communications is more growing fast. The application of communication technology make people easier to do the monitoring and navigation. One of the technologies that are widely used is the Global Positioning System (GPS). This GPS has a function as a tool in determining the three-dimensional of position coordinates, also as a date and time instructions. One of the GPS’s applications that are tracking the presence of vehicle location using a GPS receiver that receives vehicle position data from satellites, and SMS services to send data from GPS and Geographic Information System (GIS) to visualize the location of the object is a vehicle tracking technology, which is relatively inexpensive and easily developed.
In this final project, will be design a vehicle positioning system using GPS (position information system), two mobile phone (communications systems and users) and microcontroller (traffic control data and instructions) divided into two parts of the objects and the navigation. Part of object worked to send GPS data in the form of latitude, longitude, speed, and direction of the vehicle at any time requested by the help of SMS technology as a media for data transmission position. The part of navigation is helped by software Visual Basic makes GPS data mapping system, then the data receive and process into display in image of the map to make it easier for users to observe the position of the object.
After testing the vehicle tracking system using SMS service. Tools work well in accordance with what is expected.
Key word : GPS, GIS, Tracking, SMS, Handphone, AT Mega16 Microcontroller.
Universitas Kristen Maranatha iii
DAFTAR ISI
Halaman
ABSTRAK ... i
ABSTRACT... ii
KATA PENGANTAR ... iii
DAFTAR ISI... v
DAFTAR TABEL... viii
DAFTAR GAMBAR ... ix
BAB I PENDAHULUAN I.1 Latar Belakang ... 1
I.2 Perumusan Masalah ... 2
I.3 Tujuan Penelitian ... 2
I.4 Pembatasan Masalah ... 2
I.5 Metodologi Penelitian ... 3
I.6 Sistematika Penulisan ... 4
BAB II LANDASAN TEORI II.1 Global Positioning System (GPS) ... 6
II.1.1 Segment Sistem GPS... 6
II.1.1.1 Segment Sistem Kontrol ... 7
II.1.1.2 Segment Sistem Satelit ... 8
II.1.1.3 Segment Penguna ... 9
II.1.2 Sinyal GPS ... 10
II.1.3 Metoda Penentuan Posisi ... 12
II.1.4 Sumber Kesalahan pada GPS ... 14
II.1.5 Kelebihan dan Kekurangan GPS ... 14
II.2. Geographic Information System (GIS) ... 15
II.3. Mikrokontroler AVR ... 16
II.3.2. Kelebihan AVR ATMega 16 ... 17
II.3.3 Deskripsi Pin / Kaki AVR ATMega16 ... 18
II.3.4 Port Sebagai Input/Output Digital... 21
II.3.5 Arsitektur AVR ATMega16... 21
II.3.6 Komunikasi Serial pada AVR ATMega16 ... 22
II.3.7 Serial Data RS-232... 23
II.3.8 Stardar RS-232 ... 24
II.4. Voltage Level Converter MAX 232 ... 24
II.5. Short Message Service (SMS) ... 25
II.5.1 Teori dasar SMS ... 25
II.5.2 AT Command ... 27
II.5.3 PDU (Protocol Data Unit) ... 28
II.6. Program Visual Basic ... 30
II.6.1 Interface Antar Muka Visual Basic 6.0 ... 31
II.6.2 Konsep Dasar Pemrograman Dalam Visual Basic 6.0 ... 32
II.6.3 Kode Program ... 33
II.7. Aplikasi MapInfo ... 34
II.7.1 Karakteristik MapInfo ... 34
II.6. PTS ( Position Tracking System ) ... 36
BAB III PERANCANGAN DAN REALISASI III.1. Deskripsi Kerja Sistem ... 38
III.2. Perancangan Sistem Bagian Objek ... 39
III.2.1 GPS Argent Data System (AGS-GM1) ... 40
III.2.2 Perancangan Mikrokontroler AVR ATMega16 ... 41
III.2.3 Cara Kerja Mikrokontroler AVR ATMega16 ... 42
III.2.4 Rangkaian Komunikasi Serial (RS-232) ... 44
III.2.5 Handphone GSM ... 45
III.2.6 Sumber Tegangan (Power Supply) ... 46
III.3. Perancangan Bagian Monitoring ... 46
III.3.1 Spesifikasi Komputer ... 47
Universitas Kristen Maranatha v
III.3.3 Koneksi Antara Handphone dan PC ... 48
III.3.4 Format Peta Digital ... 49
III.3.5 Keakuratan pemetaan data GPS pada peta digital ... 49
III.4. Realisasi Sistem Pelacakan Keberadaan Lokasi Kendaraan berbasis Mikro kontroler AT Mega16 Melalui Layanan SMS ... 50
BAB IV PENGUJIAN DAN ANALISA DATA
IV.1 Pengujian Perangkat Yang Digunakan ... 52
IV.2 Pengujian Perangkat Lunak Visual Basic ... 52
IV.3 Pengujian Perangkat Lunak MapInfo ... 53
IV.4 Pengujian Komunikasi Handphone GSM ... 53
IV.5 Pengujian GPS Argent Data ... 55
IV.6 Pengujian Sistem Minimum Mikrokontrol AVR AT Mega16 ... 56
IV.7 Pengujian Sistem Pelacakan Lokasi Kendaraan ... 57
IV.8 Analisa Hasil Pengujian Sistem ... 60
BAB V KESIMPULAN DAN SARAN V.1 Kesimpulan ... 62
V.2 Saran ... 62
DAFTAR PUSTAKA ... 63 LAMPIRAN A GAMBAR SISTEM
DAFTAR TABEL
Halaman
Tabel 2.1 Parameter data GPS dengan header $GPRMC ... 13
Tabel 2.2 Fungsi Khusus Port B ... 19
Tabel 2.3 Fungsi Khusus Port C ... 20
Tabel 2.4 Fungsi Khusus Port D ... 20
Tabel 2.5 Konfigurasi Pin Port ... 21
Tabel 2.6 Fungsi Pin pada DB9 ... 24
Tabel 2.7 PDU SMS kirim ... 28
Tabel 2.8 PDU SMS terima ... 29
Tabel 2.9 File format image ... 35
Universitas Kristen Maranatha vii
DAFTAR GAMBAR
Halaman
Gambar 2.1 Segmen-segmen GPS... 7
Gambar 2.2 Skema kerja sistem kontrol ... 8
Gambar 2.3 Koordinat orbit satelite GPS ... 9
Gambar 2.4 Komponen utama dari receiver GPS ... 10
Gambar 2.5 Penentuan jarak dengan kode... 11
Gambar 2.6 Proses pembuatan Sistem Informasi Geografis ... 15
Gambar 2.7 Konfigurasi Pin AT Mega16... 18
Gambar 2.8 Arsitektur AVR ATMega16 ... 22
Gambar 2.9 Konektor standar RS232 ... 23
Gambar 2.10IC max 232 beserta pinya ... 25
Gambar 2.11Arsitektur SMS ... 26
Gambar 2.12 Interface antar muka Visual Basic 6.0 ... 31
Gambar 2.13 Komponen standar dalam Toolbox ... 32
Gambar 2.14 Tampilan kode window... 33
Gambar 2.15 Arsitektur Pelacakan kendaraan dengan mengunakan SMS.. 37
Gambar 3.1 Blok diagram sistem ... 38
Gambar 3.2 Blok diagram sistem bagian objek ... 40
Gambar 3.3 GPS Argent Data System (AGS-GM1) ... 41
Gambar 3.4 Skematik perancangan mikrokontroler AVR ATmega16... 42
Gambar 3.5 Diagram alir mikrokontroler pertama ... 43
Gambar 3.6 Diagram alir mikrokontroler kedua ... 43
Gambar 3.7 Bentuk dan penjelasan Serial Port ... 45
Gambar 3.8 Perancangan sistem bagian navigasi ... 47
Gambar 3.9 Diagram alir program visual basic ... 48
Gambar 3.10 Contoh tampilan peta digital ... 49
Gambar 3.13 Realisasi software sistem pelacakan kendaraan Form2 ... 51
Gambar 4.1 Tampilan bagian navigasi ... 52
Gambar 4.2 Hyperterminal setting... 54
Gambar 4.3 Hasil Pengujian Handphone GSM ... 55
Gambar 4.4 Data keluaran GPS Argent Data ... 56
Gambar 4.5 Hasil Pengujian Mikrokontrol... 57
Gambar 4.6 Tampilan hasil pengujian 1 ... 58
Gambar 4.7 Tampilan hasil pengujian 2 ... 59
LAMPIRAN A
GAMBAR SISTEM
LAMPIRAN B
LISTING PROGRAM AVR ATMEGA 16
OCR2=0x00;
MCUCR=0x00; MCUCSR=0x00;
TIMSK=0x00;
UCSRA=0x00; UCSRB=0x18; UCSRC=0x86; UBRRH=0x00; UBRRL=0x8F;
ACSR=0x80; SFIOR=0x00;
x=0;
while (1) {
x=getchar(); PORTA=x; delay_us(10); PORTA=0xFF; };
}
/*****************************************************
#define enter putchar(0x0D);
unsigned char in,out,x,index=0,n,ok=0,sip,panjang;
unsigned char data[80];
void chartohex(unsigned char input) // fungsi untuk merubah bilangan ke bentuk ASCII hex
{
unsigned char digit1,digit2,t; t=input/16;
void encode( unsigned char *c) // fungsi untuk merubah string ke bentuk PDU dan mengirimnya ke port serial
}
MCUCR=0x00;
data[n]=0; n--;
tulis("AT+CMGS="); panjang=n;
n=n-n/8; n=n+14;
if(n>9) putchar(n/10+0x30); putchar(n%10+0x30); enter;
while(getchar()!='>'); delay_ms(1000); tulis("0001000D9126");
tulis("5827525485F7"); // no. hp penerima
tulis("0000");
chartohex(panjang); delay_ms(5);
encode(data); delay_ms(1000); putchar(0x1A); }
} }
LAMPIRAN C
CODE VISUAL BASIC
Form 1
'untuk login memerlukan password Dim login As Integer
Dim kesempatan As Integer Private Sub Command1_Click() kesempatan = kesempatan + 1
If (LCase(Text1.Text) = "login") And (kesempatan <= 3) Then Image1.Visible = True
Dim doit As Boolean Dim buffer As String 'deklarasi untuk SMS
Dim objGsmProtocol As AXmsCtrl.SmsProtocolGsm Dim objSmsMessage As AXmsCtrl.SmsMessage Dim objSmsConstants As AXmsCtrl.SmsConstants Dim ShowReference As Boolean
Next x End Sub
Private Sub fresh_Click1() List1.AddItem "connected..." End Sub
Private Sub chkDebug_Click()
Me.picDebug.Visible = Me.chkDebug.Value End Sub
Private Sub cmdConnect_Click() On Error GoTo p1
If Me.cmdConnect.Caption = "&Connect" Then
If Len(Me.cmbPorts.Text) = 0 Then MsgBox "TOLONG dicek lagi ya portnya...": Me.cmbPorts.SetFocus: Exit Sub
Me.cmdConnect.Caption = "&Disconnect" setStatus "Sudah tersambung..."
setStatus "Sudah Tersambung ke Port: " & Me.cmbPorts.Text DoEvents
Me.picInfo1.Enabled = True setStatus "Getting Status nich...." getMobileInfo
setStatus "Berhasil...Tersambung Ke COM : " & Me.cmbPorts.Text ElseIf Me.cmdConnect.Caption = "&Disconnect" Then
Me.cmdConnect.Caption = "&Connect"
MsgBox "MAAF, TIDAK BISA CONNECT NICH HPNYA, Tolong di cek lagi ya Portnya...Coba lagi aja.. OK :D" & vbCrLf & Err.Description
End
End Sub
If st = True Then
st = sendIt("ATI", "OK", "ERROR") If st = True Then
Me.lblDevType.Caption = getDevType(Me.txtOut) Else
Me.lblDevType.Caption = "" End If
Me.txtOut = ""
st = sendIt("AT+CGMI", "OK", "ERROR") If st = True Then
Me.lblManufacturer.Caption = getManufacturer(Me.txtOut) Else
Me.lblManufacturer.Caption = "" End If
Me.txtOut = ""
st = sendIt("AT+COPS?", "OK", "ERROR") If st = True Then
Me.lblProvider.Caption = getProvider(Me.txtOut) Else
setStatus "Getting Available Com Portsnya yaa..." For i = 1 To 16
Function sendIt(ByVal s, ByVal ok, ByVal eror, Optional ByVal TOut = 2) As Boolean
mOK = ok mErr = eror
Me.List1.AddItem "sending..." & s MSComm1.Output = s & Chr(13)
'Perintah untuk misscall ke bagian objek
Private Sub Command1_Click(Index As Integer) Me.txtOut = ""
st = sendIt("ATD085721615485;", "OK", "ERROR") Call delay
Me.txtOut = ""
st = sendIt("ATH", "OK", "ERROR") End Sub
'Perintah untuk keluar dari aplikasi Private Sub Command3_Click() End
End Sub
'Prosedur untuk mengaktifkan mapinfo Private Sub Command4_Click()
Shell "C:\Program Files\MapInfo\Professional\MAPINFOW.exe", vbNormalFocus Me.SetFocus
End Sub
'Perintah untuk menampilkan form help? pada form3 Private Sub Command5_Click()
Form3.Show End Sub
FileExists = CBool(Len(Dir$(sFileName))) And CBool(Len(sFileName)) End Function
'Perintah untuk melihat logfile Private Sub Logfile_Click()
If FileExists(TextLogfile.Text) = True Then
Shell "notepad " + TextLogfile.Text, vbNormalFocus End If
End Sub
Private Sub Form_Load() Dim numDevices
Dim i
Set objGsmProtocol = CreateObject("ActiveXperts.SmsProtocolGsm") Set objSmsMessage = CreateObject("ActiveXperts.SmsMessage") Set objSmsConstants = CreateObject("ActiveXperts.SmsConstants") Set objMm1Protocol = CreateObject("ActiveXperts.MmsProtocolMm1") numDevices = objMm1Protocol.GetDeviceCount
For i = 0 To numDevices - 1
ComboDevice.AddItem (objMm1Protocol.GetDevice(i)) ComboDevice.ListIndex = 0
Next
SetDefaultLogFile End Sub
' Untuk menunjukan keterangan $GPRMC header Private Sub Text1_Change()
a = Mid(Text1.Text, 8, 6) ' indikasi UTM time Text2.Text = a
b = Mid(Text1.Text, 19, 1) ' indikasi data valid atau tidak valid Text3.Text = b
c = Mid(Text1.Text, 21, 9) ' indikasi latitude Text4.Text = c
d = Mid(Text1.Text, 31, 1) ' indikasi N/S Text5.Text = d
d = Mid(Text1.Text, 33, 10) ' indikasi lognitude Text6.Text = d
e = Mid(Text1.Text, 44, 1) 'indikasi E/W Text7.Text = e
'Prosedur untuk menyimpan data.gps k = Text1.Text
buffer = buffer & k filedata = "data.gps"
Open filedata For Output As #1
Print #1, buffer Close #1 'buffer = "" ' Set LogFile
objGsmProtocol.Logfile = TextLogfile.Text End Sub
Private Sub MSComm1_OnComm() Dim sdata1
Me.List1.AddItem "In OnComm"
If MSComm1.CommEvent = comEvReceive Then sdata1 = MSComm1.Input
'Perintah untuk mememunculkan inbox di text2 dengan waktu 10 detik Private Sub Timer1_Timer()
Dim NumMessages As Long Dim i As Long
Set objGsmProtocol = CreateObject("ActiveXperts.SmsProtocolGsm") Set objSmsMessage = CreateObject("ActiveXperts.SmsMessage") Set objSmsConstants = CreateObject("ActiveXperts.SmsConstants") Screen.MousePointer = vbHourglass
Text1.Text = ""
objGsmProtocol.Device = ComboDevice.Text 'Set Device
End If
'objGsmProtocol.DeleteMessage (0) Screen.MousePointer = vbDefault End Sub
Private Function SetDefaultLogFile() TextLogfile.Text = "C:\sms.txt" End Function
MODULES Option Explicit '// API calls
Private Declare Function EnumPorts Lib "winspool.drv" Alias "EnumPortsA" (ByVal pName As String, ByVal Level As Long, ByVal lpbPorts As Long, ByVal cbBuf As Long, pcbNeeded As Long, pcReturned As Long) As Long
Private Declare Function lstrlenW Lib "kernel32" (ByVal lpString As Long) As Long Private Declare Sub CopyMem Lib "kernel32" Alias "RtlMoveMemory" (pTo As Any, uFrom As Any, ByVal lSize As Long)
Private Declare Function HeapAlloc Lib "kernel32" (ByVal hHeap As Long, ByVal dwFlags As Long, ByVal dwBytes As Long) As Long
Private Declare Function GetProcessHeap Lib "kernel32" () As Long
Private Declare Function HeapFree Lib "kernel32" (ByVal hHeap As Long, ByVal dwFlags As Long, lpMem As Any) As Long
'// Public Data Structure - up to 100 Ports Information Public Ports(0 To 100) As PORT_INFO_2
'// API Structures
'// These declarations are used to detect what Com ports '// are available
'// API Declarations
Public Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As
Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, ByVal
dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
'// API Structures
Public Type SECURITY_ATTRIBUTES nLength As Long
lpSecurityDescriptor As Long bInheritHandle As Long End Type
'// API constants
Public Const FILE_SHARE_READ = &H1 Public Const FILE_SHARE_WRITE = &H2 Public Const OPEN_EXISTING = 3
Public Const FILE_ATTRIBUTE_NORMAL = &H80
'// This detects if a COM ports is available. '// Used by the ListComPorts() procedure
'// Returns TRUE if the COM exists, FALSE if the COM does not exist Public Function COMAvailable(COMNum As Integer) As Boolean Dim hCOM As Long
Dim ret As Long
Dim sec As SECURITY_ATTRIBUTES
'try to open the COM port
hCOM = CreateFile("COM" & COMNum & "", 0, FILE_SHARE_READ +
FILE_SHARE_WRITE, sec, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0) If hCOM = -1 Then
'// This procedure returns all the available ports '// Used by the cmdGetAllPorts_Click() procedure
'// Use ServerName to specify the name of a Remote Workstation i.e. "//WIN95WKST" '// or leave it blank "" to get the ports of the local Machine
Public Function GetAvailablePorts(ServerName As String) As Long Dim ret As Long
Dim pcReturned As Long Dim TempBuff As Long Dim i As Integer
'// Get the amount of bytes needed to contain the data returned by the API call ret = EnumPorts(ServerName, 2, TempBuff, 0, pcbNeeded, pcReturned) '// Allocate the Buffer
TempBuff = HeapAlloc(GetProcessHeap(), 0, pcbNeeded)
ret = EnumPorts(ServerName, 2, TempBuff, pcbNeeded, pcbNeeded, pcReturned) If ret Then
'// Convert the returned String Pointer Values to VB String Type CopyMem PortsStruct(0), ByVal TempBuff, pcbNeeded
For i = 0 To pcReturned - 1
Ports(i).pDescription = LPSTRtoSTRING(PortsStruct(i).pDescription) Ports(i).pPortName = LPSTRtoSTRING(PortsStruct(i).pPortName)
Ports(i).pMonitorName = LPSTRtoSTRING(PortsStruct(i).pMonitorName) Ports(i).fPortType = PortsStruct(i).fPortType
Next End If
GetAvailablePorts = pcReturned
'// Free the Heap Space allocated for the Buffer
If TempBuff Then HeapFree GetProcessHeap(), 0, TempBuff End Function
Public Function TrimStr(strName As String) As String '// Finds a null then trims the string
Dim x As Integer
x = InStr(strName, vbNullChar)
If x > 0 Then TrimStr = Left(strName, x - 1) Else TrimStr = strName End Function
Public Function LPSTRtoSTRING(ByVal lngPointer As Long) As String Dim lngLength As Long
'// Get number of characters in string lngLength = lstrlenW(lngPointer) * 2
'// Initialize string so we have something to copy the string into LPSTRtoSTRING = String(lngLength, 0)
'// Copy the string
CopyMem ByVal StrPtr(LPSTRtoSTRING), ByVal lngPointer, lngLength '// Convert to Unicode
LPSTRtoSTRING = TrimStr(StrConv(LPSTRtoSTRING, vbUnicode)) End Function
Penjelasan GPS NMEA 0813
NMEA-0183 adalah standar kalimat laporan yang dikeluarkan oleh GPS receiver. Standar NMEA memiliki banyak jenis bentuk kalimat laporan, di antaranya yang paling penting adalah koordinat lintang (latitude), bujur (longitude), ketinggian (altitude), waktu sekarang standar UTC (UTC time), dan kecepatan (speed over ground).
Output GPS : $GPRMC
Contoh: $GPRMC,092204.999,A,4250.5589,S,14718.5084,E,0.00,89.68,211200,,*25
Field Contoh isi Deskripsi Sentence ID $GPRMC
UTC Time 092204.999 hhmmss.sss
Status A A = Valid, V = Invalid
Latitude 4250.5589 ddmm.mmmm N/S Indicator S N = North, S = South Longitude 14718.5084 dddmm.mmmm E/W Indicator E E = East, W = West Speed over ground 0.00 Knots
Course over ground 0.00 Degrees
UTC Date 211200 DDMMYY
Magnetic variation Degrees
Checksum *25
Terminator CR/LF
Jenis kalimat NMEA-0183 adalah sebagai berikut.
Kalimat Deskripsi
$GPGGA Global positioning system fixed data $GPGLL Geographic position - latitude / longitude $GPGSA GNSS DOP and active satellites
$GPGSV GNSS satellites in view
$GPRMC Recommended minimum specific GNSS data $GPVTG Course over ground and ground speed
$GPGGA
Contoh: $GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,,,,0000*1F
Field Contoh isi Deskripsi Sentence ID $GPGGA
UTC Time 092204.999 hhmmss.sss
Latitude 4250.5589 ddmm.mmmm
N/S Indicator S N = North, S = South Longitude 14718.5084 dddmm.mmmm E/W Indicator E E = East, W = West
Position Fix 1 0 = Invalid, 1 = Valid SPS, 2 = Valid DGPS, 3 = Valid PPS
Satellites Used 04 Satellites being used (0-12) HDOP 24.4 Horizontal dilution of precision
Altitude 19.7 Altitude in meters according to WGS-84 ellipsoid
Altitude Units M M = Meters
Geoid Seperation Geoid seperation in meters according to WGS-84 ellipsoid
Seperation Units M = Meters
DGPS Age Age of DGPS data in seconds
DGPS Station ID 0000
Checksum *1F
PERINTAH – PERINTAH AT (AT Commands)
Perintah Fungsi
AT+CACM Akumulasi panggilan meter
AT+CALM Peringatan tipe suara
AT+CAMM Maksimum panggilan meter terakumulasi
AT+CAOC Jumlah yang perlu diisi
AT+CBC Pengisi baterai
AT+CBST Pemilihan pembawa tipe service
AT+CCFC Panggilan ke depan
AT+CCLK Jam
AT+CCWA Panggilan ditunggu
AT+CEER Query alas an untuk memutuskan hubungan panggilan terakhir
AT+CGACT PDP pengisi aktif atau nonaktif
AT+CGANS Respon manual ke sebuah permintaan jaringan untuk PDP mengaktivasi konteks
AT+CGATT GPRS attach atau detach
AT+CGAUTO Respon otomatis ke sebuah permintaan jaringan untuk PDP mengaktifasi konteks
AT+CGCLASS GPRS mobile station class
AT+CGDATA Tempat pemasukan data
AT+CGDCONT Penentuan isi PDP
AT+CGEREP Laporan kejadian GPRS
AT+CGMI Isu manufaktur kode ID
AT+CGMM Isu model kode ID
AT+CGMR Keluar GSM versi telepon
AT+CGPADDR Petunjuk alamat PDP
AT+CGQMIN Kualitas dari service profile (permintaan minimum) AT+CGQREQ Kualitas dari service profile (diminta)
AT+CGREQ Jaringan pendaftaran status GPRS AT+CGSMS Pemilihan service untuk pesan MO SMS AT+CGSN Pengeluaran nomor serial (IMEI)
AT+CHLD Panggilan di-hold dan multiparty
AT+CHUP Panggilan terminal
AT+CIMI Keluaran dari IMSI
AT+CKPD Keypad kontrol
AT+CLCC Daftar panggilan sekarang
AT+CLCK Switch pengunci on dan off
AT+CLIP Menampilakan nomor telepon pemanggil
AT+CLIR Memilih modus incognito (pembatas panggilan line identifikasi)
AT+CLVL Level volume pengeras suara
AT+CMUT Mute Kontrol
AT+COLP Terkoneksi baris lampiran identitas
AT+COPN Membaca nama operator
AT+COPS Perintah mengenai pilihan operator jaringan
AT+CPAS Query status telepon
AT+CPBR Membaca sebuah pemasukan buku telepon
AT+CPIN Memasukan PIN dan kunci query
AT+CPOL Mengajukan daftar operator
AT+CPUC Harga perunit dan tabel mata uang
AT+CPWD Mengubah password ke sebuah kunci
AT+CR Kontrol servis pelaporan
AT+CRC Hasil kode-kode seluler
AT+CREG Pendaftaran jaringan
AT+CRLP Memilah radio link protocol parameter untuk keaslian nontransparansi data panggilan
AT+CRSL Level suara kring (ringer)
AT+CRSM Keterbatasan akses SIM
AT+CSCS Memilih karakter TE
AT+CSQ Kualitas sinyal keluaran
AT+CSSN Supplementary service notifications
AT+CVIB Modus getaran
AT+GSN Pengeluaran nomor serial (IMEI)
AT+VTS Penerimaan sebuah bunyi DTMF
AT+VTD Menentukan lamanya DTMF tone
AT+WS46 Memilih jaringan wirelesss
AT+CMGC Mengirim sebuah perintah SMS
AT+CMGD Menghapus sebuah SMS dalam SMS memori
AT+CMGF SMS format
AT+CMGL Daftar SMS
AT+CMGR Membaca dalam sebuah SMS
AT+CMGS Mengirim sebuah SMS
AT+CMGW Mengisi sebuah SMS ke SMS memori
AT+CMSS Mengirim sebuah SMS dari SMS memori
AT+CNMA Pemberitahuan pasan singkat langsung pengeluarannya
AT+CNMI Menampilkan datangnya SMS baru
AT+CPMS Preferred SMS message storage
AT+CSCA Alamat dari pusat SMS service
AT+CSCB Memilih sel pesan-pesan broadcast
AT+CSMS Pemilihan dari service pesan
AT+GCAP Permintaan daftar kemampuan
AT+IPR Terpasang DTE rate
AT+FBADLIN Menentukan atau membaca nomor line-line yang rusak (bad line)
AT+FBOR Query urutan bit untuk modus penerimaan AT+FCIG Query atau set pemilihan lokal id
AT+FCLASS Memilih baca atau tes fax servis class
AT+FCQ Kontrol kualitas duplikasi
AT+FCR Kemampuan untuk menerima
AT+FDCC Memilih servics untuk pesan MOSMS
AT+FDFFC Kompresi data penukaran format AT+FDIS Query atau set session parameter
AT+FDR Memulai atau melanjutkan fase C penerimaan data
AT+FDT Transmisi data
AT+FET Akhir dari halaman atau dokumen
AT+FK Menghentikan operasi seperti membatalkan fax AT+FLID Query or set session parameters
AT+FMDL Pengenalan model produk
AT+FMFR Meminta identifikasi manufaktur AT+FOPT Set bit order secara independen AT+FPHCTO DTE Phase C respons waktu-habis AT+FREV Mengidentifikasi produk revisi
AT+FRH Penerimaan data menggunakan bingkai HDLC
AT+FRM Penerimaan data
AT+FRS Penerimaan sepi
AT+FTH Pemindahan data menggunakan bingkai HDLC
AT+FTM Pemindahan data
AT+FTS Penghentian transmisi dan tunggu
AT+FVRFC Vertical resolution format conversion
AT+SACM Keluaran ACM (terakumulasi penggilan meter) dan ACMmax
AT+SBNR Pembacaan binary
AT+SBNW Pengisian binary
AT+SCID Keluaran kartu ID
AT+SCKS Keluaran kartu SIM status
AT+SCNI Keluaran nomor panggilan informasi
AT+SDBR pembacaan database
AT+SDLD Mengapus dial nomor terakhir di memori
AT+SGAUTH Select Type of Authent cation for PPP connection
AT+SICO Kontrol gambar icon
AT+SLCK Switch locks (including user define locks) on dan off
AT+SLNG Setting bahasa
AT+SMGO SMS indikasi overflow
AT+SMGL Daftar SMS (tanpa perubahan status dari yang tak membaca ke yang membaca)
AT+SMGR Membaca SMS (tanpa status berubah dari tak terbaca ke yang baca)
AT+SMSO Mengganti peralatan off
AT+SNFV Set volume
AT+SPBC Melihat ke masukan pertama dalam urutan buku telepon yang dimulai dari surat yang terpilih (atau keberadaan selanjutnya)
AT+SPBG Membaca ke masukan dari urutan buku telepon melalui urutan indeks
AT+SPBS Memilih sebuah buku telepon (termasuk buku spesifikasi)
AT+SPIC Pengeluaran counter PIN
AT+SPLM Membaca PLMN
AT+SPLR Membaca sebuah pemasukan dari operator yang ditunjuk
AT+SPLW Menulis sebuah pemasukan ke operator yang ditunjuk
AT+SPST Memainkan sinyal tone
AT+SPWD Mengubah password ke sebuah kunci (termasuk kunci-kunci yang ditentukan pengguna)
AT+SRTC Set bunyi kring (ringer)
AT+SSTK Peralatan SIM
A/ Mengulang perintah penting sesudahnya
AT . . . Awalan untuk semua perintah lainnya
ATA Menerima panggilan (V.25)
ATB[n] Perintah modem ini digunakan menset pembawa service untuk data koneksi (cf.AT+CBST).
<n> dapat menggunakan salah satu nilai berikut : 7 2400 bps, asynchronus, V.22bis
ATD<str> Dial abjad <str> dengan utiliti suara valid pengubah dial:
Jika tidak, tanda# akan diurutkan dalam perintah dial, dan panggilan data tinggal tak berubah.
ATD><n>; Dial nomor telepon dari buku telepon nomor lokasi <n> ATD><mem><n>; Dial nomor telepon dari buku telepon nomor lokasi
<mem><n>
ATDx[;] Dial nomor telepon x
i ISDN
Panggilan telepon akan membuat seperti sebuah panggilan UDI. Sebuah koneksi ISDN ke sebuah V.110 terminal adapter akan diselenggarakan. Kecepatan data transmisi sama seperti untuk sebuah panggilan analog (2400/4800/9600/14400bps).
PP Plus: sama seperti + karakter
ATDL Dial nomor telepon terakhir
ATE0 Pengurangan aktivasi perintah echo
ATE1 Mengaktivasi perintah echo
ATH[0] Melepaskan koneksi yang ada
ATI[n] Perintah modem sesuai [3];
Menampilkan kode produksi : 0 042
ATL[n] Monitor kekerasan speker (perintah modem menurut ke [3])
ATM[m] Monitor speaker mode (perintah modem menurut ke [3])
ATO[n] Switch kembali ke transparent mode setelah +++ intrupsi (perintah modem menurut ke [3])
ATQ0 Menampilakan penerimaan (respons atau pesan) ATQ1 Meniadakan pemberitahuan (repons atau pesan)
ATSn=x Menulis nilai x ke S register n (perintah modem menurut[3])
ATSn? Memperlihatkan nilai S register n (perintah modem menurut [3])
catatan : Tipe mobile tidak mengizinkan nila dari S register untuk ditampilkan dengan sebuah perintah single
ATV0 Menampilkan penerimaan seperti angka-angka
ATV1 Menampilkan penerimaan seperti naskah
baudrate, biarkan sinyal sibuk 2 Sama seperti ATX1
3 Sama seperti ATX, tetapi laporan BUSY 4 Sama seperti ATX, tetapi laporan BUSY
ATZ Set ke konfigurasi semula
AT&C[n] Sirkuit 109 (penerimaan baris sinyal pendeteksi/DCD) perilaku
<n> dapat mengambil salah satu nilai berikut : 0 DCD selalu on
1 DCD ON jika pembawa terdeteksi
AT&D[n] Sirkuit 108 (Data Terminal Ready/DTR) perilaku Catatan : Perintah AT&D<n> dicirikan berikut sehingga tidak berpengaruh sejak sirkuit 108 tidak mendukung dalam tipe mobil phone ini. <n> dapat mengambil salah satu nilai berikut :
0 DTR ignored
AT&F[0] Reset semua parameter sementara dari beberapa perintah AT untuk profil pabrik
ATE, ATQ, ATV, ATX
AT+CBST, AT+CRLP, AT+CRC, AT+CR, AT+CNMI, AT+CMEE, AT+CSMS,AT+SCKS, AT+SACM, AT+CREG, AT+CLIP
- S parameter
- AT&D;AT&C;AT&S
Beberapa koneksi yang dihadirkan akan terputus. Bukan perintah lain yang diterima pada baris perintah
<n> dapat diambil satu dari nilai berikut : 0 Tanpa aliran kontrol
1 XON-XOFF aliran software kontrol 2 Hanya CTS aliran kontrol
3 RTS/CTS aliran kontrol
\V[n] Perintah modem :
BAB I
PENDAHULUAN
I.1. Latar Belakang Masalah
Dalam era globalisasi yang terus berkembang saat ini, kebutuhan manusia
akan informasi mencakup banyak hal, salah satunya adalah kebutuhan akan
informasi lokasi. Untuk memenuhi kebutuhan tersebut banyak dikembangkan
suatu sistem penentuan posisi yang umum digunakan adalah dengan
menggunakan teknologi GPS (Global Positioning System). Karena dengan menggunakan GPS dapat mengetahui koordinat lintang dan bujur dari suatu
tempat atau titik di permukaan bumi, sehingga dapat ditentukan posisi dari titik
tempat tersebut. Posisi tersebut dapat ditentukan dengan mengunakan GPS
receiver yang merupakan koordinat lintang dan bujur dari GPS receiver. GPS
receiver akan memberikan data keluaran berupa data posisi, waktu, kecepatan dan arah dari GPS receiver tersebut.
Apabila posisi GPS receiver dan posisi pengamat berada di tempat yang berlainan, pengamat dapat mengetahui posisi GPS receiver dengan melakukan koneksi GPS tersebut untuk mendapatkan data posisi. Proses pengiriman data
posisi GPS ke pengamat dapat dilakukan dengan menggunakan media
komunikasi, salah satunya adalah SMS (Short Messanging Service).
Sistem penentuan posisi GPS ini dibagi menjadi dua bagian yaitu objek dan
bagian navigasi. Bagian Objek terdiri dari GPS receiver, sistem minimum
mikrokontroler AVR-ATmega16, dan handphone GSM. Sedangkan bagian navigasi terdiri dari perangkat handphone GSM dan PC (personal Computer)
untuk memantau lokasi objek. Komunikasi antar perangkat pada bagian objek
mengunakan Port serial RS-232. Sedangkan pada bagian navigasi mengunakan
port USB (Universal Serial Bus).
Dalam tugas akhir ini yaitu merancang sistem monitoring untuk keberadaan
BAB I PENDAHULUAN
Universitas Kristen Maranatha
2
dalam mempermudah mencari suatu lokasi keberadaan kendaraan sebagai alat
monitoring dan alat keamanan mobil jarak jauh yang dapat dipantau oleh user.
I.2. Perumusan Masalah
Perumusan masalah dalam penyusunan tugas akhir ini yaitu bagaimana
membuat hardware dan software serta pengujian dan analisis dari sistem monitoring lokasi kendaraan dengan menggunakan GPS (Global Positioning
System) sehingga data posisi GPS yang telah ditransmisikan melalui komunikasi SMS berbasis mikrokontroler AVR-ATmega16 dapat ditampilkan pada peta
digital MapInfo.
I.3. Tujuan Penelitian
Tugas akhir ini bertujuan untuk :
1. Membuat sebuah prototipe alat untuk melacak lokasi kendaraan
melalui layanan SMS.
2. Mampu melacak keberadaan suatu objek bergerak seperti kendaraan
bermotor.
3. Membuat perangkat lunak aplikasi sistem pelacakan kendaraan
dengan Visual Basic 6, sehingga data posisi GPS (Global Positioning System) yang telah ditransmisikan melalui jaringan SMS (Short Messanging Service) dan dapat ditampilkan pada peta digital MapInfo. 4. Memahami pengetahuan tentang teknologi GPS, Mikrokontroler, GIS
dan SMS.
I.4. Pembatasan Masalah
Pembatasan masalah diperlukan agar masalah yang diamati tidak terlalu luas
dan penelitian menjadi lebih fokus. Pembatasan masalah pada penelitian ini
adalah :
1. Sistem monitoring posisi GPS ini dibagi dalam dua bagian, yaitu
BAB I PENDAHULUAN 3
2. Pengiriman data posisi kendaraan dari GPS menggunakan layanan
SMS.
3. Informasi yang dikirimkan lewat SMS yaitu karakter $GPRMC saja.
4. Komunikasi antara minimum sistem dengan GPS dan Handphone
adalah melalui serial dan komunikasi antar mikrokontroler
menggunakan port paralel.
5. Sistem ini hanya memonitor satu kendaraan bermotor.
6. Penampilan Peta Menggunakan Software MapInfo dan MapBasic
"Geotrack".
1.5. Metodologi Penelitian
Dalam penyusunan tugas akhir ini, digunakan beberapa metoda agar
mempermudah penulisan, yaitu sebagai berikut :
1. Metoda Studi Pustaka
Eksplorasi dari literatur dilakukan terhadap bahasan yang secara umum
berhubungan dengan sistem penentuan posisi. Bahasan-bahasan yang
dipelajari antara lain yang berkaitan dengan : Global Positioning System,
Mikrokontroler AT-Mega16, SMS (Short Messanging Service), serta software Visual Basic 6 yang dibutuhkan dalam menyelesaikan tugas akhir.
2. Metode Konsultasi
Metode ini dilakukan pada dosen pembimbing, dosen-dosen jurusan Teknik
Elektro, alumni dan rekan-rekan mahasiswa.
3. Metode Observasi
Metode ini merupakan suatu pengumpulan berbagai informasi secara
langsung, yaitu pengamatan dan pencatatan terhadap kegiatan yang
BAB I PENDAHULUAN
Universitas Kristen Maranatha
4
4. Metode Kepustakaan
Metode kepustakaan adalah suatu metode pengumpulan informasi yang
diperlukan dengan membaca buku-buku literatur, dokumen, catatan kuliah,
dan bacaan lainnya sebagai referensi yang berkaitan dengan permasalahan.
I.6. Sistematika Penulisan
Dalam penyusunan laporan tugas akhir ini akan diuraikan dalam bentuk bab,
dan masing-masing bab akan dipaparkan dalam beberapa sub bab, diantaranya :
BAB I PENDAHULUAN
Dalam bab ini membahas tetang latar belakang, rumusan masalah, batasan
masalah, tujuan, metode penelitian dan sistematika penulisan laporan tugas
akhir.
BAB II LANDASAN TEORI
Dalam bab ini akan membahas dan menjelaskan mengenai dasar teoritis
GPS (Global Positioning Sistem), GIS (Geografic Information System) mikrokontroler AVR AT-Mega16 dan SMS (Short Messanging Service) yang menjadi landasan dan mendukung pelaksanaan penulisan tugas akhir.
BAB III PERANCANGAN
Bab ini menguraikan tentang perancangan dan realisasi sistem pelacak
kendaraan di sisi pengirim (kendaraan yang dipantau) dan di sisi penerima
(pemantau).
BAB IV PENGUJIAN DAN ANALISA
Bab ini menguraikan pengujian dan analisis sistem yang telah
direalisasikan. Pengujian sistem mengacu pada masing-masing komponen
BAB I PENDAHULUAN 5
BAB V PENUTUP
Dalam bab ini menguraikan kesimpulan yang dapat diambil dari
keseluruhan pembangunan tugas akhir dan juga saran untuk pengembangan
Universitas Kristen Maranatha
62
BAB V
KESIMPULAN DAN SARAN
V.1. Kesimpulan
Dari hasil realisasi, pengujian dan analisa yang dilakukan pada sistem,
dapat disimpulkan sebagai berikut :
1. Setelah dilakukan pengujian pada sistem pelacakan kendaraan menggunakan
layanan SMS. Alat bekerja dengan baik sesuai dengan apa yang diharapkan.
2. Sinyal yang paling tepat digunakan dalam sistem pelacakan kendaraan adalah
sinyal dengan tipe $GPRMC, dimana telah terdiri dari data waktu, lintang,
bujur, kecepatan dan arah.
3. Berdasarkan pada pengujian dan analisis dapat disimpulkan bahwa data yang
dipetakan pada Mapinfo sesuai dengan data yang dididapatkan dari penerima
GPS.
4. Perangkat yang dibuat memiliki kekurangan antara lain : deteksi objek yang
dipantau tidak bisa didalam gedung beton karena tidak dapat menerima sinyal
GPS dan kesuksesan pengiriman tergantung kualitas dari jaringan operator
SMS.
V.2. Saran
Pada tugas akhir ini masih terdapat beberapa kekurangan sehingga perlu
dilakukan pengembangan.
1. Bila pengiriman data posisi kendaraan menggunakan teknologi RF (Radio
Frekuensi) yang terintegrasi dengan modem dapat mempercepat komunikasi
antar bagian objek dan bagian navigasi.
2. Untuk mendapatkan akurasi yang tinggi dalam penentuan posisi, sebaiknya
memakai GPS receiver yang mempunyai tingkat akurasi yang lebih tinggi.
3. Penggunaan General Paket Radio Service (GPRS) untuk menggantikan SMS.
Saat ini GPRS memiliki harga yang lebih murah (Rp 1/Kb) dibandingkan
dengan SMS (Rp. 150 /SMS) dan kecepatan transfer yang lebih tinggi dari
DAFTAR PUSTAKA
1. Abidin,H. Z. DR., Penentuan Posisi Dengan GPS dan Aplikasinya, Edisi
Ketiga, PT. Pradnya Paramita, Jakarta, 2007.
2. Andrianto Heri. Pemrograman Mikrokontroler AVR ATMEGA 16
Menggunakan Bahasa C (Code Vision AVR). Bandung : Informatika. 2008.
3. Haryanto, Hadi. GPS : Satelit Penentu Posisi di Belahan Bumi.
http://www.ristishop.com 2004 [2 November 2009].
4. Khang Bustam. Trik Pemprograman Aplikasi berbasis SMS, PT Elex Media
Komputindo. 2002.
5. Peter and Joe. NMEA format. (online). 2008 Available :
www.gpsinformation.org [ 12 September 2009].
6. Prahasta, Eddy. "SIG : Aplikasi Pemrograman Mapinfo. Informatika".
Bandung. 2005.
7. Setiawan, Yulianto. Pemprograman perangkat lunak aplikasi sistem
pejejakan posisi dengan GPS melalui jaringan GSM-CSD berbasis visual
Basic. Universitas Indonesia. Depok. 2008.
8. Wardhana, Lingga. Belajar Sendiri Mikrokontroler AVR seri 8535.
Yogyakarta: Andi, 2006.
9. Wisesa, Oriza. 2009. Short Message Service. URL :
http://www.ittelkom.ac.id/library/index.php?option=com_content&view=artic
le&id=411:sms-short-message-service&catid=17:sistem-komunikasi-bergerak&Itemid=15
10. Anonimus. GSM/SMS remote control. 2005 http://www.bieneelectronics.com
[8 September 2009].
11. Anonimus. 2005. MAXIM, ‘MAX232 Dual-Band LNA/Mixer ICs’. 2005.
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/1798.
12. http://www.activexperts.com/files/xmstoolkit/manual.htm
13. http://www.atmel.com
14. http://www.mikron123.com dikunjungi pada tanggal 15 November 2009