In order to be able to display GPS coordinates on google maps, we need to understand what GPS is. We provide some basic knowledge as follows:
A GPS is a system of 27 satellites (including three shells) that travel across orbit around the earth. The US military developed this system for military purposes but now it has been extended for civilian purposes.
Each satellite weighs about 2 tons, using solar energy, moving about 19300 km above the ground. Each satellite orbits around the earth 2 rounds a day and night. The orbits of satellites are calculated so that at any place on earth, at any given time, it is possible to "see" at least four satellites.
The work of a GPS receiver is to locate 4 or more satellites, calculate distances from satellites and use that information to determine its location. This process is based on a simple mathematical principle.
By combining these two angles, one can determine the horizontal position of any point on Earth.
There are many ways to write degrees, all of them appear in the same order Latitude - Longitude:
To switch from DM or DMS to DD, decimal degrees = degrees plus minutes divided by 60, plus the number of seconds divided by 3600. DMS is the most common format, and is standard across all charts and maps, as well as global positioning and geographic information systems.
Back to the subject that AT-COM today would like to introduce to you, the purpose of this topic is to verify the accuracy of the GPS coordinates when received. Help you get the basics to develop the topic if you like. As for the test sequences as well as the AT Command for GPS commands we introduced in the previous article, if you forgot you can refer to here:
http://at-sky.com.vn/nghien-cuu/gsm-gprs-gps/28-ung-dung-gps-tren-sim908.html#.UftYYazebBM
Our system uses a SIM908 breakout that communicates with the PIC16f887 microcontroller to perform GPS coordinate updates. About the footprint and structure of the Sim908 Breakout you can refer to the breakout SIM908.
The system will design the circuit based on the SIM908 breakout circuit diagram.
The following is a detailed explanation of the system, based on this system you can fully deploy a similar application system to a greater extent, it is entirely possible.
c. System block diagram:
For you to imagine more than the system, you can refer to the following block diagram.
The simple configuration consists of a central processor block communicating with the SIM908 Breakout through a UART port, the central processing unit whose most important task is to send commands requesting the SIM908 for coordinates and processing. The sequence of coordinates obtained, in addition, also checks the message request that the message user to execute the request.
The SIM908 Breakout Block is a bridge for GPS and GSM data acquisition. Deliver content to users.
The power supply is used to supply power to the entire system, the power supply with large currents to ensure stable system operation.
The requirement of the power supply block is to be sufficiently strong to provide the most stable system load. Here we choose to use the source with the LM2596 -ADJ source IC that can provide up to 3A load current, supplying the voltage divider up to a stable 3.3V voltage level for the SIM and microprocessor blocks with The formula is as follows:
Vout = 1.23 (1 + R8 / R7)
Select the value R8 = 3K9 and R7 = 2K2 to output the value Vout = 3.3V.
The microprocessor carries out all important tasks in the circuit, taking care of the task of receiving the received GPS string and conducting the alarm for the user upon request.
The microprocessor is selected using PIC16F887 as the central processing IC, interfacing with the SIM908 Breakout via two pins Tx (leg 25), Rx (pin 26). Can explain the entire process of PIC in the system as follows:
The first step after the power supply system is definitely the SIM908 startup as well as the GPS for the SIM908.
Here are two programs that do that job, to activate SIM908 works just like the SIM900 need to click on pin number 1 of the high-level Breakout 1, pins PWU (pin B0) of the PIC will take care of that. Once completed click on, check the SIM activity by sending the AT command to the SIM card continuously, if it returns OK then the boot is considered complete.
Next is to start the GPS system in SIM908, to activate the GPS system to send the following commands:
Printf(“AT”);
Printf(“AT+CGPSPWR=1”);
Printf(“AT+CGPSRST=0”);
Printf(“AT+CGPSOUT=32”);
The meaning and function of each command we introduced in the previous article, to save time we will not repeat, you can refer back here:
http://at-sky.com.vn/nghien-cuu/gsm-gprs-gps/28-ung-dung-gps-tren-sim908.html#.UftYYazebBM
The next step in implementing the program is to start asking the SIM908 to collect GPS data and process that data so that it can be displayed on the Google Map.
The order requires SIM908 to capture and collect GPS coordinates of the form:
Printf ("AT + CGPSINF = 32");
GPS SIM908 sent to microprocessors in the form of:
32,014840.000,A,1050.746637,N,10639.579534,E,0.00,0.00,190213,,E,A
Thus, the value 1050.746637 is the latitude value, 10639.579534 is the longitude value. The task of the processor is to get the string on and separate the longitude, latitude and longitude values, change the unit to match Google Map.
As shown above, the GPS coordinates have three different unit types, our task is to change the unit to match the standard. The coordinates of the SIM908 return we need to convert to DD, formulas like star:
GT_gps = (Toa to / 100) + [(Toa to0) / 60]
For example:
Latitude: VD = (1050.746637 / 100) + (50.746637 / 60) = 10 + 0.845 = 10,845
Longitude: KD = (10639.579534 / 100) + (39.579534 / 60) = 106 + 0.659 = 106.659
So the result after change is:
Average: 10.845
Longitude: 106.659
The results displayed on Google Map are as follows:
The last function of the microcontroller to do is to send the response coordinates to the user when requested by the user to the message. The program sends the message as follows:
When a message arrives with a syntactically correct message, the processor will send an SMS request to SIM908. The AT Command syntax is as follows:
AT + CMGS = "xxxxxxxxxxx" (xxxxxxxxxxx: is the phone number needed for IM)
> message content
After entering the message content and finally Ctrl + z to simulate and send the message.
Here is the complete description of the GPS data collection and processing system, hope this article will help you in the study of GPS. The restriction of this article is that only updated coordinates and reports via mobile phone. When you need to see the location, you need a PC with Internet connection to view, the development direction is coming, AT-COM will introduce to you interface system to receive and display location on the phone. portable and does not need to turn on the PC. It will be introduced as soon as possible, you pay attention to follow.