diff --git a/docs/en/module/gps.md b/docs/en/module/gps.md index 6e3f8d31..0269e40e 100644 --- a/docs/en/module/gps.md +++ b/docs/en/module/gps.md @@ -8,33 +8,45 @@ ## Description -GPS is a module built in small GPS module. The small GPS -module named UBLOX NEO-M8N. You can program it through Blockly, Arduino -or MicroPython after connected to any series of M5Stack Core. +**GPS** is a global positioning navigation module with built-in GPS module (NEO-M8N). -GPS module is built on the high performing u-blox M8 GNSS engine and -exhibit high performance and high sensitivity.And it can supply your -global positioning information even you in the wild and get lost. +After stacking M5Core, you can use [UIFlow](http://flow.m5stack.com), [Arduino](http://www.arduino.cc) and [MicroPython](http://www.micropython). Once the program is burned, as long as the GPS is at the window or outdoors, it can obtain global positioning information for the module. + + + +The NEO-M8N which integrates a 72-channel [u-blox](https://www.u-blox.com) M8 GNSS engine that supports multiple GNSS systems ( Beidou, Galileo, GLONASS, GPS / QZSS ) can receive up to 3 GNSS systems simultaneously. + +The GPS internal default is to communicate with M5Core via **UART2 (GPIO16, GPIO17)** ( Change to other baud rate communication via [u-center-just-for-Windows](https://www.u-blox.com/en/product/u-center-windows) ) + +If GPIO16, GPIO17 is used for other purposes, you can use a cutter to cut the TXD and RXD that are connected by default on the GPS module and connect them to another port (GPIO3, GPIO13, GPIO1, GPIO5) using solder or 0Ω resistors. + +*The parameter of UART: baud rate (default is 9600bps), data bit (8 bits), start bit (1 bit), stop bit (1 bit), Parity (none)* + + !> **The M5Stack Fire** uses GPIO16 / 17 to connect to PSRAM by default, it overlaps with TXD / RXD (GPIO16, GPIO17) of GPS module. Therefore, when using the GPS module from the M5Stack Fire, it is necessary to cut the TXD and RXD default patterns on the GPS module with a cutter and connect them to another port using solder or 0Ω resistance. ## Feature -- GPS NEO-M8N Module -- high-performance -- high-sensitivity -- Concurrent reception of up to 3 GNSS -- Industry leading –167 dBm navigation sensitivity +- Operating voltage: 2.7 ~ 3.6 +- Operating temperature: -40 ~ 80 °C +- Antenna type: built-in ceramic antenna and external antenna +- Can receive data from 3 GNSS systems concurrently +- Horizontal position accuracy: minimum 2.5m +- GPS module (NEO-M8N) Built-in Flash, so that you can upgrade firmware via [u-center-just-for-Windows](https://www.u-blox.com/en/product/u-center-windows) +- Supported protocols: NMEA, UBX, RTCM +- Industry leading -167dBm sensitivity +- Backward compatibility with NEO‐7 and NEO‐6 series ## Include -- 1x M5Stack GPS Module -- 1x M5Stack Antenna +- 1x GPS Module +- 1x external Antenna ## Application -- Child positioning bracelet -- Logistics Tracking Management based on GPS +- GPS-based logistics tracking management +- Driverless car positioning ## Related Link @@ -46,12 +58,18 @@ global positioning information even you in the wild and get lost. - **[TinyGPS++ library](http://arduiniana.org/libraries/tinygpsplus/)** +- **Data Sheet** - [NEO-M8N](https://www.u-blox.com/sites/default/files/NEO-M8-FW3_DataSheet_%28UBX-15031086%29.pdf) + +- **[u-blox Protocol Manual](https://www.u-blox.com/sites/default/files/products/documents/u-blox8-M8_ReceiverDescrProtSpec_%28UBX-13003221%29_Public.pdf)** + ## Example ### Arduino IDE *If you want the complete code `GPSRaw.ino`, please click [here](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Module/GPS/Arduino).* +**Note: The GPS module needs to be outdoors to receive location information** + ```arduino #include @@ -81,16 +99,13 @@ void loop() { After burnt the example code `GPSRaw.ino`, m5core and PC serial terminal will display following information -``` -$GPGSA,A,1,,,,,,,,,,,,,25.5,25.5,25.5*02 -$BDGSA,A,1,,,,,,,,,,,,,25.5,25.5,25.5*13 -$GPGSV,1,1,00*79 -$BDGSV,1,1,00*68 -$GNRMC,,V,,,,,,,,,,M*4E -$GNVTG,,,,,,,,,M*2D -$GNZDA,,,,,,*56 -$GPTXT,01,01,01,ANTENNA OPEN*25 -``` + + +**Protocol Specification:** + +Please refer to the [u-blox 8 / u-blox M8 Receiver Description - Manual](https://www.u-blox.com/sites/default/files/products/documents/u-blox8-M8_ReceiverDescrProtSpec_%28UBX-13003221%29_Public.pdf), The following table is a description of the xxRMC message in the NMEA protocol as an example. + + ## Schematic diff --git a/docs/zh_CN/module/gps.md b/docs/zh_CN/module/gps.md index 2c76bedf..1b8cba32 100644 --- a/docs/zh_CN/module/gps.md +++ b/docs/zh_CN/module/gps.md @@ -10,23 +10,23 @@ **GPS** 是一款内置了 GPS 模组 ( NEO-M8N ) 的全球定位导航模块。 -堆叠了M5Core之后,你可以用 [UIFlow](http://flow.m5stack.com)、 [Arduino](http://www.arduino.cc) 和 [MicroPython](http://www.micropython.org) 来编程它。烧录了程序后,只要 GPS 处于窗边或室外,它就可获取模块的全球定位信息。 +堆叠了 M5Core 之后,你可以用 [UIFlow](http://flow.m5stack.com)、 [Arduino](http://www.arduino.cc) 和 [MicroPython](http://www.micropython.org) 来编程它。烧录了程序后,只要 GPS 处于窗边或室外,它就可获取模块的全球定位信息。 -模块上电之后,就会一直接收定位信息。M5Core烧录[例程](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Module/GPS/Arduino),堆叠了GPS模块和连接PC串口之后,屏幕和PC的串口显示终端就会打印GPS接收到的信息。 +模块上电之后,就会一直接收定位信息。M5Core 烧录[例程](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Module/GPS/Arduino),堆叠了 GPS 模块和连接 PC 串口之后,屏幕和 PC 的串口显示终端就会打印 GPS 接收到的信息。 NEO-M8N 集成了 72 通道的 [u-blox](https://www.u-blox.com) M8 GNSS 引擎,支持多个 GNSS 系统:北斗, Galileo, GLONASS, GPS / QZSS,能同时接收 3 个 GNSS 系统的数据。 +GPS 内部默认是通过 **UART2(GPIO16, GPIO17)** 与 M5Core 通讯 (可通过 [u-center-just-for-Windows](https://www.u-blox.com/en/product/u-center-windows) 更改为其他波特率通信)。 -GPS 内部默认是通过 **UART2(GPIO16, GPIO17)** 与 M5Core 通讯 (可通过 [u-center](https://www.u-blox.com/en/product/u-center-windows) 更改为其他波特率通信)。如果 GPIO16, GPIO17 用作了其他用途,那么您可以使用切割器切割 GPS 模块上默认连接的 TXD 和 RXD ,并使用焊接或 0Ω 电阻将它们连接到另一个端口 ( GPIO3, GPIO13, GPIO1, GPIO5 )。 +如果 GPIO16, GPIO17 用作了其他用途,那么您可以使用切割器切割 GPS 模块上默认连接的 TXD 和 RXD ,并使用焊接或 0Ω 电阻将它们连接到另一个端口 ( GPIO3, GPIO13, GPIO1, GPIO5 )。 *串口参数:波特率 ( 默认为 9600bps ), 数据位 ( 8 位 ), 起始位 ( 1 位 ), 停止位 ( 1 位 ), 校验位 ( 无 )* - !> **M5Stack Fire** 默认使用 GPIO16/17 连接到 PSRAM,它与 GPS 模块的 TXD/RXD(GPIO16,GPIO17) 重叠。因此,当使用 M5Stack Fire 中的 GPS 模块时,需要使用切割器切割 GPS 模块上默认连接的 TXD 和 RXD ,并使用焊接或 0Ω 电阻将它们连接到另一个端口。 @@ -38,7 +38,7 @@ GPS 内部默认是通过 **UART2(GPIO16, GPIO17)** 与 M5Core 通讯 (可通过 - 天线类型:内置陶瓷天线和外置天线 - 可并发接收 3 个 GNSS 系统的数据 - 水平位置精度:最小 2.5m -- GPS 模组 ( NEO-M8N ) 内置 Flash,可通过 [u-center](https://www.u-blox.com/en/product/u-center-windows) 简单升级固件 +- GPS 模组 ( NEO-M8N ) 内置 Flash,可通过 [u-center-just-for-Windows](https://www.u-blox.com/en/product/u-center-windows) 简单升级固件 - 支持的协议:NMEA, UBX, RTCM - 业界领先的 -167dBm 灵敏度 - 与 NEO‑7 和 NEO‑6 系列向后兼容 @@ -104,11 +104,11 @@ void loop() { 烧录例程`GPSRaw.ino`之后,屏幕和串口显示终端会打印如下类似的信息 - + **协议解读:请参考 [u-blox 协议手册](https://www.u-blox.com/sites/default/files/products/documents/u-blox8-M8_ReceiverDescrProtSpec_%28UBX-13003221%29_Public.pdf),以下是截取了 NMEA 协议中的 xxRMC 消息的说明作为示例** - + ## 原理图