Quectel MC20 GNSS AT Commands Manual V1.1
User Manual:
Open the PDF directly: View PDF .
Page Count: 19
Download | ![]() |
Open PDF In Browser | View PDF |
MC20 GNSS AT Commands Manual GSM/GPRS/GNSS Module Series Rev. MC20_GNSS_AT_Commands_Manual_V1.1 Date: 2016-07-30 www.quectel.com GSM/GPRS/GNSS Module Series MC20 GNSS AT Commands Manual Our aim is to provide customers with timely and comprehensive service. For any assistance, please contact our company headquarters: Quectel Wireless Solutions Co., Ltd. Office 501, Building 13, No.99, Tianzhou Road, Shanghai, China, 200233 Tel: +86 21 5108 6236 Email: info@quectel.com Or our local office. For more information, please visit: l e t l c a e i t u n Q ide f n o C http://www.quectel.com/support/salesupport.aspx For technical support, or to report documentation errors, please visit: http://www.quectel.com/support/techsupport.aspx Or email to: Support@quectel.com GENERAL NOTES QUECTEL OFFERS THE INFORMATION AS A SERVICE TO ITS CUSTOMERS. THE INFORMATION PROVIDED IS BASED UPON CUSTOMERS’ REQUIREMENTS. QUECTEL MAKES EVERY EFFORT TO ENSURE THE QUALITY OF THE INFORMATION IT MAKES AVAILABLE. QUECTEL DOES NOT MAKE ANY WARRANTY AS TO THE INFORMATION CONTAINED HEREIN, AND DOES NOT ACCEPT ANY LIABILITY FOR ANY INJURY, LOSS OR DAMAGE OF ANY KIND INCURRED BY USE OF OR RELIANCE UPON THE INFORMATION. ALL INFORMATION SUPPLIED HEREIN IS SUBJECT TO CHANGE WITHOUT PRIOR NOTICE. COPYRIGHT THE INFORMATION CONTAINED HERE IS PROPRIETARY TECHNICAL INFORMATION OF QUECTEL CO., LTD. TRANSMITTING, REPRODUCTION, DISSEMINATION AND EDITING OF THIS DOCUMENT AS WELL AS UTILIZATION OF THE CONTENT ARE FORBIDDEN WITHOUT PERMISSION. OFFENDERS WILL BE HELD LIABLE FOR PAYMENT OF DAMAGES. ALL RIGHTS ARE RESERVED IN THE EVENT OF A PATENT GRANT OR REGISTRATION OF A UTILITY MODEL OR DESIGN. Copyright © Quectel Wireless Solutions Co., Ltd. 2016. All rights reserved. MC20_GNSS_AT_Commands_Manual Confidential / Released 1 / 18 GSM/GPRS/GNSS Module Series MC20 GNSS AT Commands Manual About the Document History Revision 1.0 1.1 l e t l c a e i t u n Q ide f n o C Date Author Description 2016-06-24 Hyman DING Initial Hyman DING Added the following new AT commands: AT+QGNSSTS/AT+QGNSSEPO/ AT+QGREFLOC/AT+QGEPOAID 2016-07-30 MC20_GNSS_AT_Commands_Manual Confidential / Released 2 / 18 GSM/GPRS/GNSS Module Series MC20 GNSS AT Commands Manual Contents About the Document ................................................................................................................................... 2 Contents ....................................................................................................................................................... 3 Table Index ................................................................................................................................................... 4 1 Introduction .......................................................................................................................................... 5 2 AT Commands for MC20 GNSS .......................................................................................................... 6 2.1. Overview of AT Commands for MC20 GNSS ............................................................................. 6 2.1.1. AT+QGNSSC Control Power Supply of GNSS Module ................................................ 6 2.1.2. AT+QGNSSRD Read GNSS Navigation Information ................................................... 7 2.1.3. AT+QGNSSCMD Send Commands to GNSS Module ................................................. 8 2.1.4. AT+QGNSSTS Get Time Synchronization Status for GNSS Module ........................... 8 2.1.5. AT+QGNSSEPO Enable/Disable EPOTM Function ....................................................... 9 2.1.6. AT+QGREFLOC Set Reference Location Information for QuecFastFix Online ......... 10 2.1.7. AT+QGEPOAID Trigger EPOTM Function ................................................................... 11 l e t l c a e i t u n Q ide f n o C 3 Examples ............................................................................................................................................ 12 3.1. AT+QGNSSC ............................................................................................................................ 12 3.2. AT+QGNSSRD.......................................................................................................................... 12 3.3. AT+QGNSSCMD....................................................................................................................... 13 3.4. AT+QGNSSTS .......................................................................................................................... 13 3.5. AT+QGNSSEPO ....................................................................................................................... 13 3.6. AT+QGREFLOC........................................................................................................................ 14 3.7. AT+QGEPOAID......................................................................................................................... 14 3.8. Complete Example for Operating EPOTM and QuecFastFix Online ......................................... 15 4 Appendix ............................................................................................................................................. 17 4.1. Related Documents................................................................................................................... 17 4.2. Terms and Abbreviations........................................................................................................... 17 4.3. Summary of CME ERROR Codes Related to GNSS ............................................................... 18 MC20_GNSS_AT_Commands_Manual Confidential / Released 3 / 18 GSM/GPRS/GNSS Module Series MC20 GNSS AT Commands Manual Table Index TABLE 1: OVERVIEW OF AT COMMANDS FOR MC20 GNSS ................................................................. 6 TABLE 2: RELATED DOCUMENTS .......................................................................................................... 17 TABLE 3: TERMS AND ABBREVIATIONS ................................................................................................ 17 TABLE 4: DIFFERENT CODING SCHEMES OF +CME ERROR RELATED TO GNSS:............ 18 l e t l c a e i t u n Q ide f n o C MC20_GNSS_AT_Commands_Manual Confidential / Released 4 / 18 GSM/GPRS/GNSS Module Series MC20 GNSS AT Commands Manual 1 Introduction GNSS, a featured function embedded in Quectel MC20 module, can help customers get the current accurate coordinates, high precision time, etc. MC20 integrates both GNSS and GSM engines which can work as a whole (all-in-one solution) unit or work independently (stand-alone solution) according to customer demands. In all-in-one solution, the internal GNSS module can be regarded as a peripheral of the whole unit, and is completely controlled by the GSM module, including power supply, UART communication, etc. In stand-alone solution, the internal GNSS module and the GSM module work independently, and the GNSS has to be controlled separately. l e t l c a e i t u n Q ide f n o C MC20_GNSS_AT_Commands_Manual Confidential / Released 5 / 18 GSM/GPRS/GNSS Module Series MC20 GNSS AT Commands Manual 2 AT Commands for MC20 GNSS 2.1. Overview of AT Commands for MC20 GNSS l e t l c a e i t u n Q ide f n o C The commands below are effective only in all-in-one solution. Table 1: Overview of AT Commands for MC20 GNSS Command AT+QGNSSC AT+QGNSSRD Description Control power supply of GNSS module Read GNSS navigation information AT+QGNSSCMD Send commands to GNSS module AT+QGNSSETS Get time synchronization status for GNSS module AT+QGNSSEPO Enable/Disable EPOTM function AT+QGREFLOC Set reference location information for QuecFastFix Online AT+QGEPOAID Trigger EPOTM function 2.1.1. AT+QGNSSC Control Power Supply of GNSS Module The command is used to control the power supply of GNSS module. AT+QGNSSC Control Power Supply of GNSS Module Test Command AT+QGNSSC=? Response +QGNSSC: (list of supported s) OK Read Command AT+QGNSSC? Response +QGNSSC: MC20_GNSS_AT_Commands_Manual Confidential / Released 6 / 18 GSM/GPRS/GNSS Module Series MC20 GNSS AT Commands Manual OK Write Command AT+QGNSSC= Response OK If error is related to ME functionality: +CME ERROR: Parameter NOTE 0 1 Power off GNSS module Power on GNSS module l e t l c a e i t u n Q ide f n o C In stand-alone solution, the power supply of GNSS is controlled by an external circuit rather than the PIN GPS_VCC_EN. In such case, command AT+QGNSSC cannot be used and thus can be ignored. 2.1.2. AT+QGNSSRD Read GNSS Navigation Information The command is used to get the GNSS navigation information. AT+QGNSSRD Read GNSS Navigation Information Test Command AT+QGNSSRD=? Response +QGNSSRD: (list of supported - s) OK Read Command AT+QGNSSRD? Response +QGNSSRD: (information of all supported
- s) OK Write Command AT+QGNSSRD=
- Response +QGNSSRD: (information of
- s) OK If error is related to ME functionality: +CME ERROR:
Parameter - “NMEA/GGA”: Get GGA sentence “NMEA/GLL”: Get GLL sentence MC20_GNSS_AT_Commands_Manual Confidential / Released 7 / 18 GSM/GPRS/GNSS Module Series MC20 GNSS AT Commands Manual “NMEA/GSA”: Get GSA sentence “NMEA/GSV”: Get GSV sentence “NMEA/RMC”: Get RMC sentence “NMEA/VTG”: Get VTG sentence 2.1.3. AT+QGNSSCMD Send Commands to GNSS Module The command is used to send commands to GNSS module, which allows customers to optionally use some functions to meet application demands. l e t l c a e i t u n Q ide f n o C AT+QGNSSCMD Send Commands to GNSS Module Test Command AT+QGNSSCMD=? Response +QGNSSCMD: (0,1),“cmdString” OK Write Command AT+QGNSSCMD=
, Response OK If error is related to ME functionality: +CME ERROR: Parameter NOTE 0 1 NMEA style command Hex style command Command string Currently only =0 is supported. 2.1.4. AT+QGNSSTS Get Time Synchronization Status for GNSS Module The command is used to get time synchronization status for GNSS module. Time plays a very important role in EPOTM function. AT+QGNSSTS Test Command AT+QGNSSTS=? Get Time Synchronization Status for GNSS Module Response +QGNSSTS: MC20_GNSS_AT_Commands_Manual Confidential / Released 8 / 18 GSM/GPRS/GNSS Module Series MC20 GNSS AT Commands Manual OK Read Command AT+QGNSSTS? Response +QGNSSTS: OK Parameter NOTE 0 1 Time is not synchronized Time is synchronized successfully l e t l c a e i t u n Q ide f n o C Exact time is very important to EPOTM function. So customers must ensure the time is valid before using EPOTM function. Enable/Disable EPOTM Function 2.1.5. AT+QGNSSEPO The command is used to enable or disable EPOTM function. AT+QGNSSEPO Enable/Disable EPOTM Function Test Command AT+QGNSSEPO=? Response +QGNSSEPO: (list of supported s)[, ] OK Read Command AT+QGNSSEPO? Response +QGNSSEPO: , OK Write Command AT+QGNSSEPO= [,< account_id>] Response OK If error is related to ME functionality: +CME ERROR: Parameter 0 1 2 Disable EPOTM function Enable EPOTM function Set account ID for EPOTM function MC20_GNSS_AT_Commands_Manual Confidential / Released 9 / 18 GSM/GPRS/GNSS Module Series MC20 GNSS AT Commands Manual NOTE The parameter only supports 2. It can be omitted when input, and in this case, 2 will be used as the default value. 2.1.6. AT+QGREFLOC Set Reference Location Information for QuecFastFix Online The command is used to set reference location information for QuecFastFix Online function. l e t l c a e i t u n Q ide f n o C AT+QGREFLOC Set Reference Location Information for QuecFastFix Online Test Command AT+QGREFLOC=? Response +QGREFLOC: , OK Read Command AT+QGREFLOC? Response +QGREFLOC: , OK Write Command AT+QGREFLOC= , Response OK If error is related to ME functionality: +CME ERROR: Parameter NOTES Latitude information of the reference location Longitude information of the reference location 1. The range of is -90°~90°North Latitude, and the range of is -180°~180 East Longitude. The input format of the parameter should retain 6 decimal places, and the unit is degree. 2. The command works for QuecFastFix Online function and should be set before executing AT+QGNSSEPO=1. MC20_GNSS_AT_Commands_Manual Confidential / Released 10 / 18 GSM/GPRS/GNSS Module Series MC20 GNSS AT Commands Manual 2.1.7. AT+QGEPOAID Trigger EPOTM Function The command is used to trigger EPOTM function. AT+QGEPOAID Trigger EPOTM Function Test Command AT+QGEPOAID=? Response OK Active Command AT+QEPOAID Response OK If error is related to ME functionality: +CME ERROR: NOTES l e t l c a e i t u n Q ide f n o C 1. If GNSS is powered on already, customers could use this command to trigger EPOTM function after executing AT+QGNSSEPO=1. 2. If execute AT+QGNSSEPO=1 first and then power on GNSS, executing this command will not trigger EPOTM function. MC20_GNSS_AT_Commands_Manual Confidential / Released 11 / 18 GSM/GPRS/GNSS Module Series MC20 GNSS AT Commands Manual 3 Examples 3.1. AT+QGNSSC AT+QGNSSC? +QGNSSC: 0 OK AT+QGNSSC=1 OK // Query GNSS power status // GNSS powered off l e t l c a e i t u n Q ide f n o C // Power on GNSS 3.2. AT+QGNSSRD AT+QGNSSRD? // Inquire GNSS NMEA sentence +QGNSSRD: $GNRMC,033836.000,A,3150.8272,N,11711.9889,E,0.00,140.50,140716,,,D*72 $GNVTG,140.50,T,,M,0.00,N,0.00,K,D*26 $GNGGA,033836.000,3150.8272,N,11711.9889,E,2,10,0.96,166.6,M,0.0,M,,*4A $GPGSA,A,3,28,16,09,27,08,07,30,,,,,,1.52,0.96,1.17*01 $BDGSA,A,3,04,07,10,,,,,,,,,,1.52,0.96,1.17*1F $GPGSV,3,1,10,08,64,016,51,07,61,300,28,42,42,134,34,30,34,315,42*7E $GPGSV,3,2,10,27,32,043,45,16,25,085,43,09,17,227,39,28,08,294,30*7D $GPGSV,3,3,10,26,02,102,,193,,,*76 $BDGSV,3,1,09,10,76,324,44,08,76,235,,07,73,125,44,15,48,226,28*6A $BDGSV,3,2,09,01,47,141,27,12,41,240,27,02,38,231,,04,32,119,39*69 $BDGSV,3,3,09,05,18,252,27*5D $GNGLL,3150.8272,N,11711.9889,E,033836.000,A,D*40 OK AT+QGNSSRD=”NMEA/RMC” // Inquire RMC information +QGNSSRD: $GNRMC,033837.000,A,3150.8272,N,11711.9889,E,0.00,140.50,140716,,,D*73 OK AT+QGNSSRD=”NMEA/GSA” // Inquire GSA information +QGNSSRD: $GPGSA,A,3,28,16,09,27,08,07,30,,,,,,1.52,0.96,1.17*01 $BDGSA,A,3,04,07,10,,,,,,,,,,1.52,0.96,1.17*1F OK AT+QGNSSRD? MC20_GNSS_AT_Commands_Manual // Inquire GNSS NMEA sentence Confidential / Released 12 / 18 GSM/GPRS/GNSS Module Series MC20 GNSS AT Commands Manual +QGNSSRD: $GNRMC,033839.000,A,3150.8272,N,11711.9889,E,0.00,140.50,140716,,,D*7D $GNVTG,140.50,T,,M,0.00,N,0.00,K,D*26 $GNGGA,033839.000,3150.8272,N,11711.9889,E,2,10,0.96,166.6,M,0.0,M,,*45 $GPGSA,A,3,28,16,09,27,08,07,30,,,,,,1.52,0.96,1.17*01 $BDGSA,A,3,04,07,10,,,,,,,,,,1.52,0.96,1.17*1F $GPGSV,3,1,10,08,64,016,51,07,61,300,26,42,42,134,34,30,34,315,42*70 $GPGSV,3,2,10,27,32,043,46,16,25,085,43,09,16,226,39,28,08,294,30*7E $GPGSV,3,3,10,26,02,102,,193,,,*76 $BDGSV,3,1,09,10,76,324,44,08,76,235,,07,73,125,44,15,48,226,28*6A $BDGSV,3,2,09,01,47,141,27,12,41,240,27,02,38,231,,04,32,119,39*69 $BDGSV,3,3,09,05,18,252,27*5D $GNGLL,3150.8272,N,11711.9889,E,033839.000,A,D*4F OK l e t l c a e i t u n Q ide f n o C 3.3. AT+QGNSSCMD AT+QGNSSCMD=0,"$PMTK605*31" OK // Inquire GNSS version information +QGNSSCMD: $PMTK705,AXN_3.82_3333_16051101,0001,MC20-GNSS,1.0*2A 3.4. AT+QGNSSTS AT+QGNSSTS=? +QGNSSTS: (0,1) OK AT+QGNSSTS? +QGNSSTS: 1 OK // Test command // Read time synchronization mode and status // Time synchronized successfully 3.5. AT+QGNSSEPO AT+QGNSSEPO=? // Test command +QGNSSEPO: (0,1)[, ] OK AT+CREG?;+CGREG? +CREG: 0,1 // Check network status MC20_GNSS_AT_Commands_Manual Confidential / Released 13 / 18 GSM/GPRS/GNSS Module Series MC20 GNSS AT Commands Manual +CGREG: 0,1 OK AT+QGNSSEPO=1 OK AT+QGNSSEPO? +QGNSSEPO: 1,2 // Enable EPOTM function //Read EPOTM status OK l e t l c a e i t u n Q ide f n o C 3.6. AT+QGREFLOC AT+QGREGLOC=? // Test command +QGREFLOC: , OK AT+QGREFLOC=31.507985,117.119750 OK 3.7. AT+QGEPOAID AT+QGNSSC=1 OK AT+CREG?;+CGREG? +CREG: 0,1 +CGREG: 0,1 OK AT+QGNSSTS? +QGNSSTS: 1 // Power on GNSS // Check network status // Inquire time synchronization status OK AT+QGNSSEPO=1 OK AT+QGEPOAID OK MC20_GNSS_AT_Commands_Manual Confidential / Released 14 / 18 GSM/GPRS/GNSS Module Series MC20 GNSS AT Commands Manual 3.8. Complete Example for Operating EPOTM and QuecFastFix Online AT+QGNSSC=1 // Power on GNSS OK AT+QIFGCNT=2 OK AT+QICSGP=1,”CMNET” OK AT+QGNSSTS? // Read time synchronization status +QGNSSTS: 0 l e t l c a e i t u n Q ide f n o C OK AT+CREG?;+CGREG? +CREG: 0,2 +CGREG: 0,2 OK AT+CREG?;+CGREG? +CREG: 0,1 +CGREG: 0,1 OK AT+QGNSSTS? +QGNSSTS: 1 // Check network status // Check network status // Read time synchronization status // Time synchronization completed OK AT+QGREFLOC=31.507985,117.119750 // Set reference location information for QuecFastFix Online OK AT+QGNSSEPO=1 // Enable EPOTM function OK AT+QGEPOAID // Trigger EPOTM function OK AT+QGNSSRD? +QGNSSRD: $GNRMC,032220.291,V,,,,,0.00,0.00,140716,,,N*5D $GNVTG,0.00,T,,M,0.00,N,0.00,K,N*2C $GNGGA,032220.291,,,,,0,0,,,M,,M,,*5D $GPGSA,A,1,,,,,,,,,,,,,,,*1E $BDGSA,A,1,,,,,,,,,,,,,,,*0F $GPGSV,2,1,07,23,,,31,08,,,49,30,,,33,16,,,45*7E $GPGSV,2,2,07,07,,,44,27,,,49,26,,,43*72 $BDGSV,1,1,03,10,,,47,04,,,40,07,,,48*62 $GNGLL,,,,,032220.291,V,N*6F MC20_GNSS_AT_Commands_Manual Confidential / Released 15 / 18 GSM/GPRS/GNSS Module Series MC20 GNSS AT Commands Manual OK AT+QGNSSRD? +QGNSSRD: $GNRMC,032221.301,V,,,,,0.00,0.00,140716,,,N*54 $GNVTG,0.00,T,,M,0.00,N,0.00,K,N*2C $GNGGA,032221.301,,,,,0,0,,,M,,M,,*54 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $BDGSA,A,1,,,,,,,,,,,,,,,*0F $GPGSV,2,1,07,23,,,31,08,,,49,30,,,33,16,,,45*7E $GPGSV,2,2,07,07,,,44,27,,,49,26,,,43*72 $BDGSV,1,1,03,10,,,47,04,,,40,07,,,48*62 $GNGLL,,,,,032221.301,V,N*66 l e t l c a e i t u n Q ide f n o C OK … AT+QGNSSRD? +QGNSSRD: $GNRMC,032225.306,A,3150.7859,N,11711.9215,E,0.06,204.08,140716,,,A*70 $GNVTG,204.08,T,,M,0.06,N,0.11,K,A*2B $GNGGA,032225.306,3150.7859,N,11711.9215,E,1,9,1.54,35.0,M,0.0,M,,*40 $GPGSA,A,3,08,30,16,07,27,26,,,,,,,1.75,1.54,0.83*00 $BDGSA,A,3,10,04,07,,,,,,,,,,1.75,1.54,0.83*19 $GPGSV,3,1,09,08,70,004,49,07,55,309,44,42,45,141,,27,38,040,49*7D $GPGSV,3,2,09,16,28,079,45,30,28,317,31,26,06,096,43,193,,,*7C $GPGSV,3,3,09,23,,,28*7B $BDGSV,1,1,03,07,74,113,48,10,74,329,47,04,32,119,40*51 $GNGLL,3150.7859,N,11711.9215,E,032225.306,A,A*4A OK AT+QGNSSRD? +QGNSSRD: $GNRMC,032225.306,A,3150.7859,N,11711.9215,E,0.06,204.08,140716,,,A*70 $GNVTG,204.08,T,,M,0.06,N,0.11,K,A*2B $GNGGA,032225.306,3150.7859,N,11711.9215,E,1,9,1.54,35.0,M,0.0,M,,*40 $GPGSA,A,3,08,30,16,07,27,26,,,,,,,1.75,1.54,0.83*00 $BDGSA,A,3,10,04,07,,,,,,,,,,1.75,1.54,0.83*19 $GPGSV,3,1,09,08,70,004,49,07,55,309,44,42,45,141,,27,38,040,49*7D $GPGSV,3,2,09,16,28,079,45,30,28,317,31,26,06,096,43,193,,,*7C $GPGSV,3,3,09,23,,,28*7B $BDGSV,1,1,03,07,74,113,48,10,74,329,47,04,32,119,40*51 $GNGLL,3150.7859,N,11711.9215,E,032225.306,A,A*4A OK MC20_GNSS_AT_Commands_Manual Confidential / Released 16 / 18 GSM/GPRS/GNSS Module Series MC20 GNSS AT Commands Manual 4 Appendix 4.1. Related Documents l e t l c a e i t u n Q ide f n o C Table 2: Related Documents SN Document Name Remark [1] NMEA 0183 Version 3.01 Standard for Interfacing Marine Electronic Devices [2] Quectel_MC20_Hardware_Design MC20 Hardware Design 4.2. Terms and Abbreviations Table 3: Terms and Abbreviations Abbreviation GGA GLL GNSS GPS GSA Description Global Positioning System Fixed Data Geographic Position – Latitude/Longitude Global Navigation Satellite System Global Positioning System GNSS DOP and Active Satellites GSM Global System for Mobile Communication GSV GNSS Satellites in View ME Mobile Equipment MC20_GNSS_AT_Commands_Manual Confidential / Released 17 / 18 GSM/GPRS/GNSS Module Series MC20 GNSS AT Commands Manual NMEA National Marine Electronics Association RMC Recommended Minimum Specific GNSS Data VTG Course Over Ground and Ground Speed 4.3. Summary of CME ERROR Codes Related to GNSS l e t l c a e i t u n Q ide f n o C Table 4: Different Coding Schemes of +CME ERROR Related to GNSS: Code of 7101 7102 7103 Meaning Invalid parameter Not supported Operation failed MC20_GNSS_AT_Commands_Manual Confidential / Released 18 / 18
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.5 Linearized : No Has XFA : No Language : zh-CN Tagged PDF : Yes XMP Toolkit : Adobe XMP Core 4.2.1-c041 52.342996, 2008/05/07-20:48:00 Format : application/pdf Creator : kelly Create Date : 2016:07:30 17:18:27+08:00 Creator Tool : Microsoft® Word 2010 Modify Date : 2016:07:30 17:18:47+08:00 Metadata Date : 2016:07:30 17:18:47+08:00 Producer : Microsoft® Word 2010 Document ID : uuid:56a72969-2d29-468b-afc7-71b63c35ee94 Instance ID : uuid:5f74d6d3-7ce3-4408-b2d3-e18f3bf5e57d Page Count : 19 Author : kellyEXIF Metadata provided by EXIF.tools