Difference between revisions of "MAX-M8Q GNSS HAT"

From Waveshare Wiki
Jump to: navigation, search
 
(33 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<div class="tabber">
+
<div class="wiki-pages jet-green-color">
 
+
{{Infobox item
{{infobox item
+
|name=MAX-M8Q-GNSS-HAT
|name = MAX-M8Q GNSS HAT
+
|img=[[File:MAX-M8Q-GNSS-HAT-1.jpg|300px|{{Amazon_nolink|default={{#ifeq: {{#urlget:amazon|0}}|{{#urlget:Amazon|0}}| default|}}|url=link=https://www.waveshare.com/max-m8q-gnss-hat.htm}}]]
|img=[[File:MAX-M8Q-GNSS-HAT-1.jpg|360px |alt=MAX-M8Q GNSS HAT|{{Amazon_nolink|default={{#ifeq: {{#urlget:amazon|0}}|{{#urlget:Amazon|0}}| default|}}|url=links=https://www.waveshare.com/max-m8q-gnss-hat.htm}} | MAX-M8Q GNSS HAT]]
 
|caption=GNSS Module, u-blox MAX-M8Q onboard
 
|category=[[:Category:Modules|Modules]], [[:Category:GPS/GSM|GPS/GSM]]
 
 
|brand=Waveshare
 
|brand=Waveshare
|{{#ifeq: {{#urlget:amazon|0}}|{{#urlget:Amazon|0}}| default|}}=display
+
|{{#urlget:amazon|default}}=display
|website_cn=[http://www.waveshare.net/shop/MAX-M8Q-GNSS-HAT.htm 官网]
+
|website_cn=[http://www.waveshare.net/shop/MAX-M8Q-GNSS-HAT.htm 官方中文站点]
|website_en=[http://www.waveshare.com/product/MAX-M8Q-GNSS-HAT.htm Website]
+
|website_en=[https://www.waveshare.com/max-m8q-gnss-hat.htm Waveshare website]
|interface1=UART
+
|interface1=UART  
 
|related=
 
|related=
 
{{Product List|Modules/Wireless Communication/GPS / GSM}}
 
{{Product List|Modules/Wireless Communication/GPS / GSM}}
 
}}
 
}}
  
<div class="tabbertab" title="Instruction">
+
{{GNSS Principle}}
=Instruction=
+
==Dimension==
----
+
[[File:GNSS Principle section.jpg]]
==Positioning Principle==
 
===What's GNSS===
 
GNSS (Global Navigation Satellite System) is a general term for multiple satellite systems. At present, there are BDS (China), GLONASS (Russia), GPS (United States), Galileo (Europe), QZSS (Japan), IRNSS (India) navigation satellite systems in the world. The features of GNSS are as follows:
 
*GPS is widely used with mature technology, and the frequency band signals such as L1C/A, L2C, L5, have improve the positioning accuracy.
 
*GNSS module with multi-system and multi-band can capture satellites from different satellite systems, which greatly increases the number of effective satellites and improves positioning accuracy and stability.
 
*The signal received by the GNSS module contains reflected and refracted signals, resulting in multi-path effects that affect the positioning accuracy. The multi-band and multi-constellation system technology can effectively lessen errors caused by the atmosphere and improve positioning accuracy.
 
*With the development of GNSS, a variety of positioning technologies such as RTK, PPP-RTK and multi-sensor fusion positioning DR (Dead Reckoning) have emerged to meet the needs of differentiated high-precision positioning.
 
 
 
===GPS Principle===
 
In this section, the working principle of GPS receiver positioning is shown in the figure below, and the details are described in the following 5 points. For details of the positioning principle, please refer to [http://ftp.csr.utexas.edu/pub/ggfc/seogc/teacher_slides_pdf/Dong_GPS_PositioningTheory.pdf GPS Working Principle], [https://www.slideshare.net/SpringerIndia/fundamentals-of-gps-receivers Fundamentals of gps receivers], [http://wamis.org/agm/pubs/agm8/Paper-7.pdf  FUNDAMENTALS OF GPS]
 
*GPS satellites continuously send radio signals with their own time and position information in the air for GPS receivers (GNSS modules such as ZED-F9P)
 
*A pseudo-random code will be generated inside the satellite and the receiver. Once the two pseudo-random codes are synchronized, the receiver can measure the difference between the time the radio signal is transmitted and the time it arrives at the receiver (referred to as the time delay), and multiply the time delay by the speed of light to get the distance (pseudorange)
 
*The time of GPS system is maintained by the rubidium atomic frequency standard of the atomic clocks on each satellite. These satellite clocks are generally accurate to within a few nanoseconds of Coordinated Universal Time (UTC), which is maintained by the Naval Observatory's "Master Clock" , the stability of each master clock is several 10^(-13) seconds.
 
*Computers and navigation information generators on GPS satellites know precisely their orbital positions and system time, while a global network of monitoring stations keeps track of satellites' orbital positions and system time. The main control station at Schriever Air Force Base in Colorado, together with its operation and control section, input the orbital position and on-board clock correction data calculated on the basis of complex models into each GPS satellite at least once a day.
 
*To calculate the 3D position of the GPS receiver (GNSS module), the GPS receiver is required to receive signals from at least four satellites, and the 3D position is calculated according to the space triangle Pythagorean theorem and the quadratic linear equation.
 
[[File: GPS.png]]
 
 
 
===What's RTK===
 
RTK (Real Time Kinematic), also known as carrier phase differential technology, is a GNSS positioning technology that supports centimeter-level positioning accuracy (referred to as RTK), and is a differential method for real-time processing of the carrier phase observations of two measuring stations. The working process of RTK is shown in the figure below. The DGPS corrections generated by the base station (GNSS receiver) are transmitted to the mobile station (GNSS receiver) in real time through the mobile network for calculation and centimeter positioning.
 
 
 
[[File:RTK.png]]
 
 
 
===RTK Application===
 
*Apply in various control surveys such as traditional geodetic surveying and engineering control surveying in triangulation and wire netting methods, and use RTK to measure the positioning accuracy in real time to ensure observation quality and improve operational efficiency. Compared with non-real-time measurement such as normal GPS static surveys, fast static survey, pseudo-dynamic survey, it must be retested when the accuracy does not meet the requirements.In addition, RTK is used in highway control measurement, electronic circuit control measurement, water conservancy engineering control measurement, geodetic survey, which can reduce labor intensity and save costs, and can complete control point measurement within minutes or even seconds.
 
*Topographic mapping: Using RTK only requires one person with the instrument to stay at the detail point for a second or two, and input the feature code at the same time. The accuracy of point and area can be known in real time through the screen. After returning to the room, the professional software interface can output the required topographic map. In this way, RTK only requires one person to operate, and it does not require point-to-point vision, which greatly improves efficiency. With RTK and electronic handbook, you can measure and design various topographic maps, such as general surveying, railway strip topographic map, highway pipeline topographical map, can measure reservoir topographic map, nautical ocean surveying and so on with the depth sounder.
 
*Setting out is an application branch of measurement. When using RTK to set out, you only need to input the designed point coordinates into the electronic handbook with the GPS receiver on your back, and it will remind you to go to the position. It is not only fast and easy, but also is high-accuracy and uniform as GPS is set out by coordinates directly. Hence, the efficiency of setting out in exterior operation is greatly improved, and only one person can operate.
 
 
 
 
=Test it in Windows PC=
 
=Test it in Windows PC=
----
+
1. Download and install [https://www.u-blox.com/sites/default/files/u-centersetup_v20.06.01.zip u-center] software and then enter it.<br \>
1. Download and install [https://www.u-blox.com/sites/default/files/u-centersetup_v20.06.01.zip u-center] software and then open it<br \>
+
2. Set the jumpers in the A area, assemble the GNSS antenna, and <font color="red">set the receiver of the antenna on the open area outside</font>. Connect it to the micro USB interface and the PC.<br \>
2. Set the jumpers on A area, assemble GNSS antenna,and <font color="red">set the receiver of antenna on open area outside</font>. Connect the micro USB interface to PC<br \>
+
3. <font color="red">Note that you should set the side without sticker upward</font>, Open Device Manager and view the COM port, connect MAX-M8Q, and use auto-baudrate.<br \>
3. <font color="red">Note that you should set the side without sticker upward</font>, Open Device Manager and check the COM port, connect MAX-M8Q, and use auto-baudrate<br \>
+
4. Power the MAX-M8Q module and set it to 3D mode, select File -> Database Export -> Google Map Html to export file.<br \>
4. Power the MAX-M8Q module and set it to 3D mode, select File ->Database Export ->Google Map Html to export file<br \>
+
5. Download [https://files.waveshare.com/upload/6/63/Test_Release.zip Test file], unzip and open it by Chrome browser, and import the file which is saved from u-center above to check position information.<br \>
5. Download [https://www.waveshare.com/w/upload/6/63/Test_Release.zip Test file], upzip and open it by Chrome browser, import the file which is saved from u-center above to check position information.<br \>
 
 
6. Please refer to the [https://www.u-blox.com/sites/default/files/u-center_Userguide_%28UBX-13005250%29.pdf User guide] about how to use the u-center.<br \>
 
6. Please refer to the [https://www.u-blox.com/sites/default/files/u-center_Userguide_%28UBX-13005250%29.pdf User guide] about how to use the u-center.<br \>
 
[[File:MAX-M8Q GNSS HAT_002.jpg|600px]]
 
[[File:MAX-M8Q GNSS HAT_002.jpg|600px]]
Line 59: Line 28:
  
 
=Using with Raspberry Pi=
 
=Using with Raspberry Pi=
----
 
 
===Hardware Connection===
 
===Hardware Connection===
 
[[File:MAX-M8Q GNSS HAT_007.jpg|600px]]
 
[[File:MAX-M8Q GNSS HAT_007.jpg|600px]]
 
{|border=1; style="width:700px; text-align:center" align="auto"
 
{|border=1; style="width:700px; text-align:center" align="auto"
|-style="background:#0000ff; color:white;" align="center"
+
|-style="background:green; color:white;" align="center"
|PIN||Raspberry Pi(BCM)||Raspberry Pi(WiringPi)||Descruption
+
|PIN||Raspberry Pi(BCM)||Raspberry Pi(WiringPi)||Description
 
|-a
 
|-a
 
|5V||-||-||5V Power input
 
|5V||-||-||5V Power input
Line 82: Line 50:
 
|INT||P27||P2||Wakeup pin, low active
 
|INT||P27||P2||Wakeup pin, low active
 
|}
 
|}
 +
 
===Enable Serial Port===
 
===Enable Serial Port===
Open the Raspberry Pi Terminal and configure by commands
+
Open the Raspberry Pi Terminal and configure by commands.
 
<pre>
 
<pre>
 
sudo raspi-config
 
sudo raspi-config
Line 91: Line 60:
 
</pre>
 
</pre>
 
[[file:L76X_GPS_Module_rpi_serial.png|1200px]]<br />
 
[[file:L76X_GPS_Module_rpi_serial.png|1200px]]<br />
 +
 
===Install and Modify Parameters===
 
===Install and Modify Parameters===
*Install Python library function
+
*Install the Python library function:
 
<pre>
 
<pre>
 
sudo apt-get update
 
sudo apt-get update
Line 98: Line 68:
 
sudo pip3 install gps3
 
sudo pip3 install gps3
 
</pre>
 
</pre>
*Modify gpsd
+
*Modify gpsd:
 
<pre>
 
<pre>
 
#Open gpsd file
 
#Open gpsd file
Line 107: Line 77:
 
GPSD_OPTIONS="/dev/ttyUSB0"
 
GPSD_OPTIONS="/dev/ttyUSB0"
 
</pre>
 
</pre>
*Download demo codes
+
*Download demo codes:
 
<pre>
 
<pre>
 
mkdir ~/Documents/MAX-XXX_GNSS_HAT_Code
 
mkdir ~/Documents/MAX-XXX_GNSS_HAT_Code
 
cd ~/Documents/MAX-XXX_GNSS_HAT_Code/
 
cd ~/Documents/MAX-XXX_GNSS_HAT_Code/
wget https://www.waveshare.com/w/upload/0/0f/MAX-XXX_GNSS_HAT_Code.zip
+
wget https://files.waveshare.com/upload/0/0f/MAX-XXX_GNSS_HAT_Code.zip
 
unzip MAX-XXX_GNSS_HAT_Code.zip
 
unzip MAX-XXX_GNSS_HAT_Code.zip
 
</pre>
 
</pre>
<!--
 
===Wiring example===
 
-->
 
  
 
===Python Example===
 
===Python Example===
Line 128: Line 95:
  
 
===NTP Server===
 
===NTP Server===
The system clock of personal computers, servers and other equipment will be skewed as shown in the figure below. High-precision clock scenarios will be affected in high-frequency trading systems, automated production lines, etc., while NEO-M8T can achieve coverage in harsh signal environments. It relies on the atomic clock on the satellite to ensure that the accuracy of the clock is not affected by factors such as the network. In this section, NEO-M8T and Raspberry Pi are used to build an NTP server to provide timing functions for devices in the local area network in an indoor closed environment.<br/>
+
The system clock of personal computers, servers, and other equipment will be skewed as shown in the figure below. High-precision clock scenarios will be affected in high-frequency trading systems, automated production lines, etc., while NEO-M8T can achieve coverage in harsh signal environments. It relies on the atomic clock on the satellite to ensure that the accuracy of the clock is not affected by factors such as the network. In this section, NEO-M8T and Raspberry Pi are used to build an NTP server to provide timing functions for devices in the local area network in an indoor closed environment.<br/>
  
 
[[File:NTP.png]]<br/>
 
[[File:NTP.png]]<br/>
Line 140: Line 107:
 
  cd RPi-GPS-PPS-StratumOne
 
  cd RPi-GPS-PPS-StratumOne
 
  sudo chmod 777 install-gps-pps.sh
 
  sudo chmod 777 install-gps-pps.sh
4. The installation takes a long time, reboot the Raspberry Pi after installation<br/>
+
4. The installation takes a long time, reboot the Raspberry Pi after installation.<br/>
5. Open the /boot/config.txt file, jump to the last line, change gpiopin=4 to gpiopin=18, press Ctrl+X then Y and press Enter to save<br/>
+
5. Open the /boot/config.txt file, jump to the last line, change gpiopin=4 to gpiopin=18, press Ctrl+X then Y and press Enter to save.<br/>
 
  sudo nano /boot/config.txt
 
  sudo nano /boot/config.txt
 
  dtoverlay=pps-gpio,gpiopin=18,capture_clear  # /dev/pps0
 
  dtoverlay=pps-gpio,gpiopin=18,capture_clear  # /dev/pps0
6.Use the following command to test the operation of pps0, the Raspberry Pi time has already used the time system provided by NEO-M8T
+
6. Use the following command to test the operation of pps0, the Raspberry Pi time has already used the time system provided by NEO-M8T
  watch -n1 chronyc syntaxhighlightstats -v<br/>
+
  watch -n1 chronyc syntaxhighlightstats -v
 
 
 
[[File:NTP2.png]]<br/>
 
[[File:NTP2.png]]<br/>
7.To provide time for other devices, obtain the address of the Raspberry Pi running NTP, such as 192.168.6.93<br/>
+
7.To provide time for other devices, obtain the address of the Raspberry Pi running NTP, such as 192.168.6.93.<br/>
  
 
[[File:NTP3.png]]<br/>
 
[[File:NTP3.png]]<br/>
  
8.For Linux devices, use the following command to synchronize the time<br/>
+
8. For Linux devices, use the following command to synchronize the time.<br/>
 
  sudo apt install ntpdate
 
  sudo apt install ntpdate
 
  sudo ntpdate 192.168.6.93
 
  sudo ntpdate 192.168.6.93
  
 
=Using STM32 Board=
 
=Using STM32 Board=
----
 
 
===Hardware Connection===
 
===Hardware Connection===
 
[[File:MAX-M8Q GNSS HAT_008.jpg|600px]]
 
[[File:MAX-M8Q GNSS HAT_008.jpg|600px]]
 
{|border=1; style="width:700px; text-align:center" align="auto"
 
{|border=1; style="width:700px; text-align:center" align="auto"
|-style="background:#0000ff; color:white;" align="center"
+
|-style="background:green; color:white;" align="center"
 
|GNSS Module||XNUCLEO-F103RB||Description
 
|GNSS Module||XNUCLEO-F103RB||Description
 
|-
 
|-
Line 174: Line 139:
  
 
===Run the example===
 
===Run the example===
Download the demo codes. Open the STM32 project by Keil software, compile and download it to the XNUCLEO-F103RB board, connect UART2 pins to PC and check the information by COM assistance software.<br \>
+
Download the demo codes. Open the STM32 project by Keil software, compile and download it to the XNUCLEO-F103RB board, connect UART2 pins to the PC, and check the information with COM assistance software.<br \>
 
[[File:MAX-M8Q GNSS HAT_009.jpg|800px]]
 
[[File:MAX-M8Q GNSS HAT_009.jpg|800px]]
  
 
==Using with Jetson Nano==
 
==Using with Jetson Nano==
*Install Python library function
+
*Install Python library function:
 
<pre>
 
<pre>
 
sudo apt-get update
 
sudo apt-get update
Line 185: Line 150:
 
sudo pip3 install gps3
 
sudo pip3 install gps3
 
</pre>
 
</pre>
*Modify gpsd parameters
+
*Modify gpsd parameters:
 
  #Open gpsd document
 
  #Open gpsd document
 
  sudo nano /etc/default/gpsd
 
  sudo nano /etc/default/gpsd
Line 194: Line 159:
  
 
</pre>
 
</pre>
*Download the demo
+
*Download the demo:
 
<pre>
 
<pre>
mkdir ~/Documents/MAX-XXX_GNSS_HAT_Code
+
mkdir -p ~/Documents/MAX-XXX_GNSS_HAT_Code
 
cd ~/Documents/MAX-XXX_GNSS_HAT_Code/
 
cd ~/Documents/MAX-XXX_GNSS_HAT_Code/
wget https://www.waveshare.com/w/upload/0/0f/MAX-XXX_GNSS_HAT_Code.zip
+
wget https://files.waveshare.com/upload/0/0f/MAX-XXX_GNSS_HAT_Code.zip
 
unzip MAX-XXX_GNSS_HAT_Code.zip
 
unzip MAX-XXX_GNSS_HAT_Code.zip
 
</pre>
 
</pre>
*Check the port for data
+
*Check the port for data:
 
<pre>
 
<pre>
 
sudo chmod 777 /dev/ttyTHS1
 
sudo chmod 777 /dev/ttyTHS1
Line 212: Line 177:
 
</pre>
 
</pre>
 
===python===
 
===python===
Enter the python directory and run the demo, and you can view the information directly on Google Maps
+
Enter the python directory and run the demo, and you can view the information directly on Google Maps.
 
<pre>
 
<pre>
 
cd ~/Documents/MAX-XXX_GNSS_HAT_Code/RaspberryPi/python/coordinate_converter
 
cd ~/Documents/MAX-XXX_GNSS_HAT_Code/RaspberryPi/python/coordinate_converter
Line 219: Line 184:
  
 
[[File:MAX-M8Q_GNSS_HAT_016.jpg|600px]]
 
[[File:MAX-M8Q_GNSS_HAT_016.jpg|600px]]
 
 
</div>
 
 
<div class="tabbertab" title="Resources">
 
  
 
=Resources=
 
=Resources=
----
+
==Documents==
===Documents===
+
* [https://files.waveshare.com/upload/e/e0/MAX-M8Q_GNSS_HAT_Sch.pdf Schematic]
* [https://www.waveshare.com/w/upload/e/e0/MAX-M8Q_GNSS_HAT_Sch.pdf Schematic]
+
==Demo codes==
 
+
*[[:File:MAX-XXX GNSS HAT Code.zip|Demo codes]]
===Demo codes===
+
==Software==
*[https://www.waveshare.net/w/upload/0/0f/MAX-XXX_GNSS_HAT_Code.zip Demo codes]
 
 
 
===Software===
 
 
* [https://www.u-blox.com/sites/default/files/u-centersetup_v20.06.01.zip u-center]
 
* [https://www.u-blox.com/sites/default/files/u-centersetup_v20.06.01.zip u-center]
*[https://{{SERVERNAME}}/w/upload/6/62/CP210x_USB_TO_UART.zip CP2102 Driver]<br/>
+
*[https://files.waveshare.com/upload/6/62/CP210x_USB_TO_UART.zip CP2102 Driver]<br/>
*[https://{{SERVERNAME}}/w/upload/5/5f/Sscom.7z Serial Debugging Aides]<br/>
+
*[[:File:Sscom5.13.1.zip|SSCOM]]
 
+
==Datasheet==
</div>
+
*[https://www.u-blox.com/en/product/max-m8-series#tab-documentation-resources Official MAX-M8Q Datasheet]
<div class="tabbertab" title="FAQ"><br />
 
  
 +
=FAQ=
 +
{{FAQ|Why BeiDou and Galileo don't work? |
 +
Enable NMEA 4.10 output to see BeiDou and Galileo<br>
 +
[[File:MAX-M8Q-beidou.png|600px]]
 +
|||}}
 
=Support=
 
=Support=
----
+
{{Servicebox1}}
<div class="tabbertab" title="Support"><br />{{Service00}}</div>
 

Latest revision as of 02:59, 21 March 2024

MAX-M8Q-GNSS-HAT
MAX-M8Q-GNSS-HAT-1.jpg
{{{name2}}}

{{{name3}}}

{{{name4}}}

{{{name5}}}

Positioning Principle

What's GNSS

GNSS (Global Navigation Satellite System) is a general term for multiple satellite systems. At present, there are BDS (China), GLONASS (Russia), GPS (United States), Galileo (Europe), QZSS (Japan), and IRNSS (India) navigation satellite systems in the world. The features of GNSS are as follows:

  • GPS is widely used with mature technology, and the frequency band signals such as L1C/A, L2C, and L5, have improved the positioning accuracy.
  • GNSS modules with multi-system and multi-band can capture satellites from different satellite systems, which greatly increases the number of effective satellites and improves positioning accuracy and stability.
  • The signal received by the GNSS module contains reflected and refracted signals, resulting in multi-path effects that affect the positioning accuracy. The multi-band and multi-constellation system technology can effectively lessen errors caused by the atmosphere and improve positioning accuracy.
  • With the development of GNSS, a variety of positioning technologies such as RTK, PPP-RTK and multi-sensor fusion positioning DR (Dead Reckoning) have emerged to meet the needs of differentiated high-precision positioning.

GPS Principle

In this section, the working principle of GPS receiver positioning is shown in the figure below, and the details are described in the following 5 points. For details of the positioning principle, please refer to GPS Working Principle, Fundamentals of gps receivers, FUNDAMENTALS OF GPS.

  • GPS satellites continuously send radio signals with their own time and position information in the air for GPS receivers (GNSS modules such as ZED-F9P)
  • A pseudo-random code will be generated inside the satellite and the receiver. Once the two pseudo-random codes are synchronized, the receiver can measure the difference between the time the radio signal is transmitted and the time it arrives at the receiver (referred to as the time delay), and multiply the time delay by the speed of light to get the distance (pseudorange).
  • The time of the GPS system is maintained by the rubidium atomic frequency standard of the atomic clocks on each satellite. These satellite clocks are generally accurate to within a few nanoseconds of Coordinated Universal Time (UTC), which is maintained by the Naval Observatory's "Master Clock", the stability of each master clock is several 10^(-13) seconds.
  • Computers and navigation information generators on GPS satellites know precisely their orbital positions and system time, while a global network of monitoring stations keeps track of satellites' orbital positions and system time. The main control station at Schriever Air Force Base in Colorado, together with its operation and control section, input the orbital position and onboard clock correction data calculated on the basis of complex models into each GPS satellite at least once a day.
  • To calculate the 3D position of the GPS receiver (GNSS module), the GPS receiver is required to receive signals from at least four satellites, and the 3D position is calculated according to the space triangle Pythagorean theorem and the quadratic linear equation.

GPS.png

What's RTK

RTK (Real Time Kinematic), also known as carrier phase differential technology, is a GNSS positioning technology that supports centimeter-level positioning accuracy (referred to as RTK) and is a differential method for real-time processing of the carrier phase observations of two measuring stations. The working process of RTK is shown in the figure below. The DGPS corrections generated by the base station (GNSS receiver) are transmitted to the mobile station (GNSS receiver) in real-time through the mobile network for calculation and centimeter positioning.

RTK.png

RTK Application

  • Apply in various control surveys such as traditional geodetic surveying and engineering control surveying in triangulation and wire netting methods, and use RTK to measure the positioning accuracy in real-time to ensure observation quality and improve operational efficiency. Compared with non-real-time measurements such as normal GPS static surveys, fast static surveys, and pseudo-dynamic surveys, it must be retested when the accuracy does not meet the requirements. In addition, RTK is used in highway control measurement, electronic circuit control measurement, water conservancy engineering control measurement, and geodetic survey, which can reduce labor intensity, save costs, and complete control point measurement within minutes or even seconds.
  • Topographic mapping: Using RTK only requires one person with the instrument to stay at the detail point for a second or two, and input the feature code at the same time. The accuracy of points and areas can be known in real-time through the screen. After returning to the room, the professional software interface can output the required topographic map. In this way, RTK only requires one person to operate, and it does not require point-to-point vision, which greatly improves efficiency. With RTK and the electronic handbook, you can measure and design various topographic maps, such as general surveying, railway strip topographic maps, highway pipeline topographical maps, reservoir topographic maps, nautical ocean surveying, and so on with the depth sounder.
  • Setting out is an application branch of measurement. When using RTK to set out, you only need to input the designed point coordinates into the electronic handbook with the GPS receiver on your back, and it will remind you to go to the position. It is not only fast and easy but also is high-accuracy and uniform as GPS is set out by coordinates directly. Hence, the efficiency of setting out in exterior operation is greatly improved, and only one person can operate.

Dimension

GNSS Principle section.jpg

Test it in Windows PC

1. Download and install u-center software and then enter it.
2. Set the jumpers in the A area, assemble the GNSS antenna, and set the receiver of the antenna on the open area outside. Connect it to the micro USB interface and the PC.
3. Note that you should set the side without sticker upward, Open Device Manager and view the COM port, connect MAX-M8Q, and use auto-baudrate.
4. Power the MAX-M8Q module and set it to 3D mode, select File -> Database Export -> Google Map Html to export file.
5. Download Test file, unzip and open it by Chrome browser, and import the file which is saved from u-center above to check position information.
6. Please refer to the User guide about how to use the u-center.
MAX-M8Q GNSS HAT 002.jpg MAX-M8Q GNSS HAT 003.jpg MAX-M8Q GNSS HAT 005.jpg MAX-M8Q GNSS HAT 004.jpg

Using with Raspberry Pi

Hardware Connection

MAX-M8Q GNSS HAT 007.jpg

PIN Raspberry Pi(BCM) Raspberry Pi(WiringPi) Description
5V - - 5V Power input
GND - - Ground
RXD P14 P15 Receiver pin of UART
TXD P15 P16 Transmit pin of UART
SDA P2 P8 SDA pin of I2C
SCL P3 P9 SCL pin of I2C
PPS P18 P1 PPS pin of module
INT P27 P2 Wakeup pin, low active

Enable Serial Port

Open the Raspberry Pi Terminal and configure by commands.

sudo raspi-config
#Choose Interfacing Options -> Serial -> No -> Yes
#You should disable shell login and enable the hardware serial
sudo reboot

L76X GPS Module rpi serial.png

Install and Modify Parameters

  • Install the Python library function:
sudo apt-get update
sudo apt-get install gpsd gpsd-clients gpsd-tools
sudo pip3 install gps3
  • Modify gpsd:
#Open gpsd file
sudo nano /etc/default/gpsd
#Change the below codes of file and save
USBAUTO="false"
DEVICES="/dev/ttyS0"
GPSD_OPTIONS="/dev/ttyUSB0"
  • Download demo codes:
mkdir ~/Documents/MAX-XXX_GNSS_HAT_Code
cd ~/Documents/MAX-XXX_GNSS_HAT_Code/
wget https://files.waveshare.com/upload/0/0f/MAX-XXX_GNSS_HAT_Code.zip
unzip MAX-XXX_GNSS_HAT_Code.zip

Python Example

Enter the python directory (demo codes), and run the example.

cd ~/Documents/MAX-XXX_GNSS_HAT_Code/RaspberryPi/python/coordinate_converter
sudo python3 main.py

MAX-M8Q GNSS HAT 006.jpg

NTP Server

The system clock of personal computers, servers, and other equipment will be skewed as shown in the figure below. High-precision clock scenarios will be affected in high-frequency trading systems, automated production lines, etc., while NEO-M8T can achieve coverage in harsh signal environments. It relies on the atomic clock on the satellite to ensure that the accuracy of the clock is not affected by factors such as the network. In this section, NEO-M8T and Raspberry Pi are used to build an NTP server to provide timing functions for devices in the local area network in an indoor closed environment.

NTP.png

1. Connect the NEO-M8T GNSS TIMING HAT to the antenna, and place the other end of the antenna near the outer wall or window sill.
2. Connect the NEO-M8T connected to the antenna to the Raspberry Pi, power it on, and wait for the NE0-M8T to output the PPS signal.
3. Copy and paste the following command to the Raspberry Pi command line to execute.

sudo apt-get install git
cd ~/Documents
sudo git clone https://github.com/beta-tester/RPi-GPS-PPS-StratumOne.git
cd RPi-GPS-PPS-StratumOne
sudo chmod 777 install-gps-pps.sh

4. The installation takes a long time, reboot the Raspberry Pi after installation.
5. Open the /boot/config.txt file, jump to the last line, change gpiopin=4 to gpiopin=18, press Ctrl+X then Y and press Enter to save.

sudo nano /boot/config.txt
dtoverlay=pps-gpio,gpiopin=18,capture_clear  # /dev/pps0

6. Use the following command to test the operation of pps0, the Raspberry Pi time has already used the time system provided by NEO-M8T

watch -n1 chronyc syntaxhighlightstats -v

NTP2.png
7.To provide time for other devices, obtain the address of the Raspberry Pi running NTP, such as 192.168.6.93.

NTP3.png

8. For Linux devices, use the following command to synchronize the time.

sudo apt install ntpdate
sudo ntpdate 192.168.6.93

Using STM32 Board

Hardware Connection

MAX-M8Q GNSS HAT 008.jpg

GNSS Module XNUCLEO-F103RB Description
5V - 5V Power input
GND GND Ground
RXD P9(TX) Receive pin of UART
TXD P10(RX) Transmit pin of UART

Run the example

Download the demo codes. Open the STM32 project by Keil software, compile and download it to the XNUCLEO-F103RB board, connect UART2 pins to the PC, and check the information with COM assistance software.
MAX-M8Q GNSS HAT 009.jpg

Using with Jetson Nano

  • Install Python library function:
sudo apt-get update
sudo apt-get install python-serial
sudo apt-get install gpsd gpsd-clients python-gps
sudo pip3 install gps3
  • Modify gpsd parameters:
#Open gpsd document
sudo nano /etc/default/gpsd
#Modify the following parameters in the document and save the Settings to exit
USBAUTO="false"
DEVICES="/dev/ttyTHS1"
GPSD_OPTIONS="/dev/ttyUSB0"
  • Download the demo:
mkdir -p ~/Documents/MAX-XXX_GNSS_HAT_Code
cd ~/Documents/MAX-XXX_GNSS_HAT_Code/
wget https://files.waveshare.com/upload/0/0f/MAX-XXX_GNSS_HAT_Code.zip
unzip MAX-XXX_GNSS_HAT_Code.zip
  • Check the port for data:
sudo chmod 777 /dev/ttyTHS1
sudo minicom -D /dev/ttyTHS1 -b 9600
sudo cat /dev/ttyTHS1
sudo gpsd /dev/ttyTHS1 -F /var/run/gpsd.sock
sudo cgps -s
sudo killall gpsd
sudo reboot

python

Enter the python directory and run the demo, and you can view the information directly on Google Maps.

cd ~/Documents/MAX-XXX_GNSS_HAT_Code/RaspberryPi/python/coordinate_converter
sudo python3 main.py

MAX-M8Q GNSS HAT 016.jpg

Resources

Documents

Demo codes

Software

Datasheet

FAQ

 Answer:

Enable NMEA 4.10 output to see BeiDou and Galileo
MAX-M8Q-beidou.png


Support



Technical Support

If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 AM GMT+8 (Monday to Friday)