diff --git a/docs/Application_guide/en/README.md b/docs/Application_guide/en/README.md
index 1526ca19d33f625a6824e8fbf13b683889a87d0e..cea0c60f2fc5d8d8489438962cad55f812b849f4 100644
--- a/docs/Application_guide/en/README.md
+++ b/docs/Application_guide/en/README.md
@@ -98,6 +98,7 @@ QuecPython Application Guide is a guide on how to use the commonly used function
- [Smart Agriculture Central Control Panel](solutions/Agriculture-Control-Panel/README.md)
- [Wearable Solution](solutions/Wear/readme.md)
- [Electricity Meter](solutions/electricity-meter/README.md)
+- [Tracker Solution](solutions/tracker/README.md)
@@ -106,4 +107,4 @@ QuecPython Application Guide is a guide on how to use the commonly used function
- [Helios SDK Development Guide - Beginner](helios-sdk/quick-start.md)
- [Helios SDK Development Guide - Intermediate](helios-sdk/junior.md)
- [Helios SDK Development Guide - Advanced](helios-sdk/advanced.md)
-
\ No newline at end of file
+
diff --git a/docs/Application_guide/en/media/solutions/tracker/solution-tracker-001.png b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-001.png
new file mode 100644
index 0000000000000000000000000000000000000000..66ac56ab80bb5863724383b36282160fde9e1cd3
Binary files /dev/null and b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-001.png differ
diff --git a/docs/Application_guide/en/media/solutions/tracker/solution-tracker-002.png b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-002.png
new file mode 100644
index 0000000000000000000000000000000000000000..460123a5bb105feeb55d026fbcebea090a96c322
Binary files /dev/null and b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-002.png differ
diff --git a/docs/Application_guide/en/media/solutions/tracker/solution-tracker-003.png b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-003.png
new file mode 100644
index 0000000000000000000000000000000000000000..480630730e9caf09919fca6921c55f57d7f1e77d
Binary files /dev/null and b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-003.png differ
diff --git a/docs/Application_guide/en/media/solutions/tracker/solution-tracker-004.png b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-004.png
new file mode 100644
index 0000000000000000000000000000000000000000..ffcfab5177e3ae39dd8f013152d03d186756a5ff
Binary files /dev/null and b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-004.png differ
diff --git a/docs/Application_guide/en/media/solutions/tracker/solution-tracker-005.png b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-005.png
new file mode 100644
index 0000000000000000000000000000000000000000..967ab29fe863884dfb9aa0af156ce861277602a7
Binary files /dev/null and b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-005.png differ
diff --git a/docs/Application_guide/en/media/solutions/tracker/solution-tracker-006.png b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-006.png
new file mode 100644
index 0000000000000000000000000000000000000000..b2caa516e69be5c0012c51afb92ce3ca87d26d13
Binary files /dev/null and b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-006.png differ
diff --git a/docs/Application_guide/en/media/solutions/tracker/solution-tracker-007.png b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-007.png
new file mode 100644
index 0000000000000000000000000000000000000000..b0a55f14c5c9ce53b3b3826344ca1e51069623ad
Binary files /dev/null and b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-007.png differ
diff --git a/docs/Application_guide/en/media/solutions/tracker/solution-tracker-008.png b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-008.png
new file mode 100644
index 0000000000000000000000000000000000000000..f93609d2104192a6a71fdc091c01d51877f18ec9
Binary files /dev/null and b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-008.png differ
diff --git a/docs/Application_guide/en/media/solutions/tracker/solution-tracker-009.png b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-009.png
new file mode 100644
index 0000000000000000000000000000000000000000..88e83b9c3cfc794186bffb672129ba46b35e2056
Binary files /dev/null and b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-009.png differ
diff --git a/docs/Application_guide/en/media/solutions/tracker/solution-tracker-010.png b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-010.png
new file mode 100644
index 0000000000000000000000000000000000000000..2a9d8134af91344ec9634add2c61983e059f9f62
Binary files /dev/null and b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-010.png differ
diff --git a/docs/Application_guide/en/media/solutions/tracker/solution-tracker-011.png b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-011.png
new file mode 100644
index 0000000000000000000000000000000000000000..7ac88c47f1dd4b8abcbda324bea0b71e8254def6
Binary files /dev/null and b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-011.png differ
diff --git a/docs/Application_guide/en/media/solutions/tracker/solution-tracker-012.png b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-012.png
new file mode 100644
index 0000000000000000000000000000000000000000..0797bc0157c59026b546c252c38b88c0982dde8a
Binary files /dev/null and b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-012.png differ
diff --git a/docs/Application_guide/en/media/solutions/tracker/solution-tracker-013.png b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-013.png
new file mode 100644
index 0000000000000000000000000000000000000000..98b0a5b47928483df51ae0f70b7e23d8b5d029b4
Binary files /dev/null and b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-013.png differ
diff --git a/docs/Application_guide/en/media/solutions/tracker/solution-tracker-014.png b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-014.png
new file mode 100644
index 0000000000000000000000000000000000000000..d683421ef32dddea7cbbb45d63b7795cb5dcbcbb
Binary files /dev/null and b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-014.png differ
diff --git a/docs/Application_guide/en/media/solutions/tracker/solution-tracker-015.png b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-015.png
new file mode 100644
index 0000000000000000000000000000000000000000..b480370fba1a675d444db15f2551e5ca2adf74b7
Binary files /dev/null and b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-015.png differ
diff --git a/docs/Application_guide/en/media/solutions/tracker/solution-tracker-016.png b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-016.png
new file mode 100644
index 0000000000000000000000000000000000000000..4724a675cc1a2126882936eda72783687e5414dd
Binary files /dev/null and b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-016.png differ
diff --git a/docs/Application_guide/en/media/solutions/tracker/solution-tracker-101.png b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-101.png
new file mode 100644
index 0000000000000000000000000000000000000000..7a4423159dbb75e4c72398d0089b2e0ef9a933fc
Binary files /dev/null and b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-101.png differ
diff --git a/docs/Application_guide/en/media/solutions/tracker/solution-tracker-102.png b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-102.png
new file mode 100644
index 0000000000000000000000000000000000000000..9485afe0b75f041a35d751d22510322bb4851aea
Binary files /dev/null and b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-102.png differ
diff --git a/docs/Application_guide/en/media/solutions/tracker/solution-tracker-104.png b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-104.png
new file mode 100644
index 0000000000000000000000000000000000000000..f6aab3b0fe131c993f432972a44f44aaed55c335
Binary files /dev/null and b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-104.png differ
diff --git a/docs/Application_guide/en/media/solutions/tracker/solution-tracker-105.png b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-105.png
new file mode 100644
index 0000000000000000000000000000000000000000..d4ac95da3042bcd2104f1e6d5dfebdec34f161cf
Binary files /dev/null and b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-105.png differ
diff --git a/docs/Application_guide/en/media/solutions/tracker/solution-tracker-106.png b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-106.png
new file mode 100644
index 0000000000000000000000000000000000000000..5ac9736512942dc7bba117e1594cbfebb95e045a
Binary files /dev/null and b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-106.png differ
diff --git a/docs/Application_guide/en/media/solutions/tracker/solution-tracker-107.png b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-107.png
new file mode 100644
index 0000000000000000000000000000000000000000..98a27e6d10bd00732402b177876c06425ac57b92
Binary files /dev/null and b/docs/Application_guide/en/media/solutions/tracker/solution-tracker-107.png differ
diff --git a/docs/Application_guide/en/media/solutions/tracker/tracker_application.png b/docs/Application_guide/en/media/solutions/tracker/tracker_application.png
new file mode 100644
index 0000000000000000000000000000000000000000..328259d08a21ec854f8df4f1eb2de69face3e9dc
Binary files /dev/null and b/docs/Application_guide/en/media/solutions/tracker/tracker_application.png differ
diff --git a/docs/Application_guide/en/media/solutions/tracker/tracker_funcion.png b/docs/Application_guide/en/media/solutions/tracker/tracker_funcion.png
new file mode 100644
index 0000000000000000000000000000000000000000..049b410b178abe2488a1113e2b60459e47ff0679
Binary files /dev/null and b/docs/Application_guide/en/media/solutions/tracker/tracker_funcion.png differ
diff --git a/docs/Application_guide/en/media/solutions/tracker/tracker_process.png b/docs/Application_guide/en/media/solutions/tracker/tracker_process.png
new file mode 100644
index 0000000000000000000000000000000000000000..bf933ff912776939eb2ed05cbf76809fbd4ae8bc
Binary files /dev/null and b/docs/Application_guide/en/media/solutions/tracker/tracker_process.png differ
diff --git a/docs/Application_guide/en/sidebar.yaml b/docs/Application_guide/en/sidebar.yaml
index 475191406e91370383540a1d497813112bfe6b0d..0940d8d3c50124f7007ed540bd03ad9ee701208e 100644
--- a/docs/Application_guide/en/sidebar.yaml
+++ b/docs/Application_guide/en/sidebar.yaml
@@ -270,6 +270,8 @@ items:
file: solutions/Wear/readme.md
- label: Electricity Meter
file: solutions/electricity-meter/README.md
+ - label: Tracker Solution
+ file: solutions/tracker/README.md
- label: HeliosSDK
file: helios-sdk/README.md
items:
diff --git a/docs/Application_guide/en/solutions/README.md b/docs/Application_guide/en/solutions/README.md
index 94cd8f3aaf7950c58c1cf6b055b04b28c052f7e8..df79f190c0a50c7cdeaa40f7bf48b729a9bff125 100644
--- a/docs/Application_guide/en/solutions/README.md
+++ b/docs/Application_guide/en/solutions/README.md
@@ -6,3 +6,4 @@ To facilitate your application development and accelerate your project implement
- [Smart Agriculture Central Control Panel](./Agriculture-Control-Panel/README.md)
- [Wearable Solution](./Wear/readme.md)
- [Electricity Meter](./electricity-meter/README.md)
+- [Tracker Solution](./tracker/README.md)
diff --git a/docs/Application_guide/en/solutions/tracker/README.md b/docs/Application_guide/en/solutions/tracker/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..981f8496a5f9cefc44c6b770ffff2dd87e55f985
--- /dev/null
+++ b/docs/Application_guide/en/solutions/tracker/README.md
@@ -0,0 +1,380 @@
+# Smart Tracker Solution
+
+## Introduction
+
+This document describes the design framework of Quecel smart tracker in the QuecPython solution, including the software and hardware system framework, description of key components, introduction and functional examples of system initialization process and business process, to help you quickly understand the overall architecture and functions of Quectel smart tracker.
+
+### Overview
+
+- Smart tracker
+- Terminal device functions meet the majority of requirements in tracker application scenarios
+- The visual operation platform and the mobile APP make device management and data viewing more convenient.
+
+
+
+### Functions
+
+- Multi-technology positioning, geo-fence alarm, danger alarm, SOS alarm reporting, audio monitoring, recording, historical track playback, remote control, etc.
+- Smart positioning
+ - The system utilizes 4G communication/multi-technology positioning/distributed services to provide a one-stop solution from end to service for the smart tracker industry.
+- All-platform support
+ - The device operation platform and mobile APP have all-round functions, enabling terminal device manufacturers to quickly manage devices and end users without the need to build your own service platforms.
+- Reliable and stable
+ - The terminal device has high positioning accuracy, high sensitivity to danger perception, low power consumption, and stable operation. Terminal device manufacturers can develop customized solutions directly based on the public version, greatly shortening the hardware development cycle.
+
+
+
+### Features
+
+- Intelligent perception, recognition, and reporting of location information and danger alarms.
+- Support integration with various IoT platforms such as Alibaba IoT Platform, ThingsBoard, and other private services.
+- Secondary development with QuecPython to formulate modular and customizable solutions, thus shortening development cycles.
+- Visual operation platform and mobile APP to control terminal devices.
+
+### Applications
+
+- Vehicle tracking
+- Logistics and transportation
+- People tracking
+- Electronic student ID card
+- Pet tracking
+- Special industries (agricultural irrigation, rare species monitoring, etc.)
+
+
+
+## Application Framework
+
+### Function Overview
+
+The software functions of smart tracker solution are demonstrated in the diagram below. The solution is divided into functions based on the actual business of the tracker and developed in a modular way.
+
+
+
+- Transmission Protocol Parsing
+ + Connection and data interaction with Alibaba IoT Platform
+ + Connection and data interaction with ThingsBoard
+ + GT06 protocol
+ + JT/T808 protocol
+- Network Management
+ + MQTT protocol (Alibaba IoT/ThingsBoard/other platforms)
+ + TCP/UDP protocol (GT06/JTT808 protocol)
+ + APN settings (network registration and data call)
+ + LTE NET (4G network registration and data call)
+- Peripheral Management
+ + GNSS: Turn on/off the GNSS module, read positioning data from the GNSS module, and inject AGPS data.
+ + G-sensor: Read data of sensors
+ + Charge IC: Charging management, obtaining device charging status
+ + Battery: Battery management, reading battery voltage and calculating battery level
+ + LED: LED indicator
+- Data Storage
+ + Storage of system configuration parameters
+ + Storage of location data backup
+ + AGPS download storage
+ + Log information storage
+- Device Upgrade
+ + OTA upgrade
+- Business Function Management
+ + Connection and reconnection of network and IoT platforms
+ + Device data acquisition and reporting
+ + Alarm detection and reporting
+ + Processing of IoT platform downlink commands
+ + Device low power consumption
+
+### Data Interaction Process
+
+The data interaction process between the module and the IoT platform is described in the following diagram.
+
+
+
+Process description:
+
+1. The mobile APP sends commands to the IoT platform. The server issues commands to the module through TCP/UDP/MQTT protocols, and the module parses the command data.
+2. The module reports data to the IoT platform through TCP/UDP/MQTT protocols. The IoT platform processes the data and synchronously displays it on the mobile APP.
+
+### Design Philosophy and Patterns
+
+- This system is designed as a listener pattern, that is, transmit messages and listen for events through callback functions.
+- The software functions are split according to the tracker's business requirements, which are implemented based on functional modules. Each part is independently developed to reduce dependencies and can be debugged and run independently, thus achieving decoupling effects.
+- Interactions between functions are realized through callback functions. All business function processing, such as downlink command processing, alarm detection, data acquisition and reporting, and device control, is done in the `Tracker` class.
+
+
+
+1. All functional modules are registered in the `Tracker` class through `Tracker.add_module`.
+2. The Server module (IoT platform interaction module) transmits service downlink data to `Tracker.server_callback()` for processing through callback functions.
+3. The NetManage module transmits network disconnection events to `Tracker.net_callback` for processing through callback functions.
+
+### Software Architecture Diagram
+
+The software system framework is described as follows:
+
+- Display layer, connection with different IoT platforms
+- Transport layer, data interaction over different protocols
+- Business layer, mainly used for device data acquisition, device control, downlink commands receiving and processing of IoT platforms, and data integration and reporting.
+- Device layer, functions including obtaining and parsing location data, reading sensor data, battery management and historical data storage, and device information acquisition and device functions setting, such as device version, IMEI number, APN settings, network data call and device low power consumption.
+
+
+
+### Business Process
+
+
+
+Business Process Description:
+
+1. Power on the device.
+2. Configure APN and connect to the network (network registration and data call); Configure IoT platform and establish a connection, with retry on failure.
+3. Detect the boot of objects and acquire data.
+ - Power on the GNSS object and wait for positioning data.
+ - Power on the G-Sensor and detect the calibration.
+ - Turn on LED indicators (network status/positioning status/charging status, etc.).
+ - Acquire battery level and detect charging status.
+ - Detect alarms (overspeed/vibration/geo-fence/low battery level, etc.).
+4. After connecting to the IoT platform, check if there is any historical data that needs to be reported and proceed with reporting.
+5. Upon successful connection to the IoT platform, report current device information (location/alarms).
+6. If the connection to the IoT platform fails, store the current device information (location/alarms).
+7. When the device has no tasks, enter low power mode and wake up the device periodically to detect device information and report it.
+8. After connecting to the IoT platform, wait for commands to be issued by the IoT platform
+9. Parse commands
+ - Device control commands, such as modifying device business parameters and controlling device shutdown or reboot.
+ - OTA upgrade commands for OTA upgrades
+ - Device information query commands, which should be responded with device information
+
+### System Initialization Process
+
+
+
+1. Initialize basic functional objects, such as low power management, configuration parameters, battery, historical files, positioning, and sensors.
+2. Initialize IoT platform server object, such as Alibaba IoT Platform, ThingsBoard, or other private service platform (GT06, JT/T808, etc.).
+3. Initialize the core business object (Tracker), and add various functional objects to the Tracker object through *tracker.add_module()*, then register *Tracker.server_callback()* to the Server object for receiving downlink messages and commands from the server.
+
+## Application Development
+
+### Get Solution Resource
+
+Tracker solution resources can be downloaded from [https://github.com/QuecPython/solution-tracker](https://github.com/QuecPython/solution-tracker)
+
+> The solution project has a sub-project named `modules`. Do not forget to download the sub-project together.
+>
+> The command for downloading the sub-project synchronously: `git clone --recursive https://github.com/QuecPython/solution-tracker.git`
+
+Resource package directory:
+
+
+
+- *code*
+
+This directory contains the software solution code.
+
+
+
+- *docs*
+
+This directory contains project documents such as user guides and functional interface specifications.
+
+
+
+- *object_model_demo*
+
+This directory contains a TSL model file of the Alibaba IoT Platform, which can be directly imported into the Alibaba IoT Platform for debugging.
+
+### Solution Overview
+
+This is a public version of the tracker solution, which does not include all functions. The solution provides the functional implementation of the core components of the tracker and functions such as data interaction, and event forwarding with the server. You can continue to develop business functions based on this framework. The current software framework has the following features:
+
+- Data interaction over MQTT (Alibaba IoT Platform and ThingsBoard are supported currently.)
+- Read and write configuration file
+- OTA upgrade
+- LED indicator
+- Device network management
+- Device information management
+- Battery level and charging management
+- Backup data storage
+- GNSS positioning/LBS positioning/Wi-Fi positioning
+- Low power management
+- Log storage and recording
+
+### Set up Environment
+
+#### Install USB Driver
+
+Please download and install the driver according to the platform of the module to be debugged. [Click here to download USB Drivers](https://python.quectel.com/download)
+
+
+
+#### Download Development and Debugging Tool
+
+It is recommended to use QPYcom for development and debugging. The processes described in this document are under the premise that QPYcom is used and USB driver installation is successful.
+
+[Click here to download QPYcom](https://python.quectel.com/download)
+
+
+
+[Click here to view QPYcom User Guide](https://python.quectel.com/doc/Application_guide/en/dev-tools/QPYcom/qpycom-gui.html)
+
+#### Modify Code Configuration Parameters
+
+The configuration parameters used in the current solution code are not configured. Please modify configurations according to the instructions below.
+
+Find the configuration files starting with `settings_` in the *code* folder and modify the configuration based on actual parameters, as shown below.
+
+- `settings_server.py` is used to configure the IoT platform connection information.
+
+```python
+class AliIotConfig:
+
+ product_key = ""
+ product_secret = ""
+ device_name = ""
+ device_secret = ""
+ server = "iot-as-mqtt.cn-shanghai.aliyuncs.com"
+ qos = 1
+
+
+class ThingsBoardConfig:
+
+ host = ""
+ port = 1883
+ username = ""
+ qos = 0
+ client_id = ""
+```
+
+- `settings_loc.py` is used to configure the information of the module used for positioning (UART port of the external GNSS communication, authentication information for LBS/Wi-Fi positioning).
+
+```python
+gps_cfg = {
+ "UARTn": UART.UART1,
+ "buadrate": 115200,
+ "databits": 8,
+ "parity": 0,
+ "stopbits": 1,
+ "flowctl": 0,
+ "gps_mode": _gps_mode.external,
+ "nmea": 0b010111,
+ "PowerPin": None,
+ "StandbyPin": None,
+ "BackupPin": None,
+}
+
+cell_cfg = {
+ "serverAddr": "www.queclocator.com",
+ "port": 80,
+ "token": "xxxxxxxxxx",
+ "timeout": 3,
+ "profileIdx": profile_idx,
+}
+
+wifi_cfg = {
+ "token": "xxxxxxxxxx"
+}
+```
+
+- `settings_user.py` is used to configure parameters related to user business functions (e.g., alarm switch, low battery level threshold).
+
+```python
+class _server:
+ none = 0x0
+ AliIot = 0x1
+ ThingsBoard = 0x2
+
+class _drive_behavior_code:
+ none = 0x0
+ sharply_start = 0x1
+ sharply_stop = 0x2
+ sharply_turn_left = 0x3
+ sharply_turn_right = 0x4
+
+class _ota_upgrade_module:
+ none = 0x0
+ sys = 0x1
+ app = 0x2
+
+debug = 1
+log_level = "DEBUG"
+checknet_timeout = 60
+server = _server.AliIot
+phone_num = ""
+low_power_alert_threshold = 20
+low_power_shutdown_threshold = 5
+over_speed_threshold = 50
+sw_ota = 1
+sw_ota_auto_upgrade = 1
+sw_voice_listen = 0
+sw_voice_record = 0
+sw_fault_alert = 1
+sw_low_power_alert = 1
+sw_over_speed_alert = 1
+sw_sim_abnormal_alert = 1
+sw_disassemble_alert = 1
+sw_drive_behavior_alert = 1
+drive_behavior_code = _drive_behavior_code.none
+loc_method = _loc_method.all
+loc_gps_read_timeout = 300
+work_mode = _work_mode.cycle
+work_mode_timeline = 3600
+work_cycle_period = 30
+user_ota_action = -1
+ota_status = {
+ "sys_current_version": "",
+ "sys_target_version": "--",
+ "app_current_version": "",
+ "app_target_version": "--",
+ "upgrade_module": _ota_upgrade_module.none,
+ "upgrade_status": _ota_upgrade_status.none,
+}
+```
+
+#### Download Firmware
+
+Download the corresponding QuecPython firmware according to the current debugging module model from the QuecPython official website, and download the firmware into the module with QPYcom.
+
+[Click here to download firmware](https://python.quectel.com/download)
+
+
+
+Use QPYcom to download firmware.
+
+1. Select firmware
+
+
+
+2. Download firmware
+
+
+
+3. Wait for the completion of firmware download
+
+
+
+4. Successful download
+
+
+
+5. Connect to the interactive port
+
+
+
+6. View the download information
+
+
+
+#### Download Code
+
+- It is recommended to rename the *`main.py`* file to *`_main.py`* before downloading the code because the *`main.py`* file will run automatically when the module is powered on, which is not convenient for debugging. During the test, we can manually run the *`_main.py`* file for easier debugging.
+
+- When downloading the code via USB, you need to reserve a USB port or test point for the device. Or you can use an EVB for debugging, and install the driver in advance.
+
+1. Select "**`Quectel USB NMEA PORT`**". This serial port is for interaction, and QPYcom logs will also be output through this serial port.
+
+
+
+2. Download the business functional code to the device in batches. Click "**Download script**" and wait for the download to complete. After the download is complete, view the result on the "File" page.
+
+
+
+3. After successful download, it is recommended to reboot the device and run the function (If the *`main.py`* file was downloaded, the function will run automatically after the device is rebooted; if the *`main.py`* file was renamed to *`_main.py`* before downloading, you need to manually run the *`_main.py`* file to start the function).
+
+
+
+4. View the running result
+
+
diff --git a/docs/Application_guide/zh/README.md b/docs/Application_guide/zh/README.md
index e8cf850e41ab62db522024ea42ede3e44da5061a..e3d032de821258a49c75a8c2343116bffc31c39a 100644
--- a/docs/Application_guide/zh/README.md
+++ b/docs/Application_guide/zh/README.md
@@ -87,6 +87,7 @@ QuecPython 应用指导,是对QuecPython常用功能模块如何使用的指
- [智慧农业中控面板](solutions/Agriculture-Control-Panel/README.md)
- [可穿戴解决方案](solutions/Wear/readme.md)
- [电表](solutions/electricity-meter/README.md)
+- [智能定位器](solutions/tracker/README.md)
@@ -95,4 +96,4 @@ QuecPython 应用指导,是对QuecPython常用功能模块如何使用的指
- [Helios SDK开发指南__入门](helios-sdk/quick-start.md)
- [Helios SDK开发指南__进阶](helios-sdk/junior.md)
- [Helios SDK开发指南__高级](helios-sdk/advanced.md)
-
\ No newline at end of file
+
diff --git a/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-001.png b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-001.png
new file mode 100644
index 0000000000000000000000000000000000000000..66ac56ab80bb5863724383b36282160fde9e1cd3
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-001.png differ
diff --git a/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-002.png b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-002.png
new file mode 100644
index 0000000000000000000000000000000000000000..460123a5bb105feeb55d026fbcebea090a96c322
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-002.png differ
diff --git a/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-003.png b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-003.png
new file mode 100644
index 0000000000000000000000000000000000000000..045d9bf13c83cb6ca6978629e8480dc32e442afd
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-003.png differ
diff --git a/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-004.png b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-004.png
new file mode 100644
index 0000000000000000000000000000000000000000..d52a88c8d982f64cca9a2384ee005c97d5d33a0f
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-004.png differ
diff --git a/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-005.png b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-005.png
new file mode 100644
index 0000000000000000000000000000000000000000..9b1dbb05a436693e9d8e57d1fa50f6e4ccdd3a84
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-005.png differ
diff --git a/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-006.png b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-006.png
new file mode 100644
index 0000000000000000000000000000000000000000..b8dd5fbc2c49ea0737730d7bd8d859bd5cf414eb
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-006.png differ
diff --git a/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-007.png b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-007.png
new file mode 100644
index 0000000000000000000000000000000000000000..1952d0a4efaac91f26078ea13a3723ba00fac7f0
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-007.png differ
diff --git a/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-008.png b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-008.png
new file mode 100644
index 0000000000000000000000000000000000000000..51055475f8566e9650f35113f1a7f48c6b17325c
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-008.png differ
diff --git a/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-009.png b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-009.png
new file mode 100644
index 0000000000000000000000000000000000000000..52e3a88264a241cbde3737a5bcbdf69913960b9f
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-009.png differ
diff --git a/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-010.png b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-010.png
new file mode 100644
index 0000000000000000000000000000000000000000..dc51f07fc6acb6b1a1187fb05c3bbf2e12c7e7fd
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-010.png differ
diff --git a/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-011.png b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-011.png
new file mode 100644
index 0000000000000000000000000000000000000000..cc4b964c030468a76451983b53980e965aa6c0f8
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-011.png differ
diff --git a/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-012.png b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-012.png
new file mode 100644
index 0000000000000000000000000000000000000000..0052db0c64c24408dd15f87ca799cd3044d3088f
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-012.png differ
diff --git a/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-013.png b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-013.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd7f3541838b6f0d6421929ded9e9c0eda1c476b
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-013.png differ
diff --git a/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-014.png b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-014.png
new file mode 100644
index 0000000000000000000000000000000000000000..0d0845ba7e7121c9da46af19fa98df08cce5a77f
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-014.png differ
diff --git a/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-015.png b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-015.png
new file mode 100644
index 0000000000000000000000000000000000000000..b1b07d3582fbfc117e30ae7d4f10cf20d741836c
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-015.png differ
diff --git a/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-016.png b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-016.png
new file mode 100644
index 0000000000000000000000000000000000000000..7e18beb12610194b5849a458f4214eea51f77cdc
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-016.png differ
diff --git a/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-101.png b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-101.png
new file mode 100644
index 0000000000000000000000000000000000000000..3e8afed941e34d4e0b2ea6dde471d743071f38b4
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-101.png differ
diff --git a/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-102.png b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-102.png
new file mode 100644
index 0000000000000000000000000000000000000000..4c29c475e34d682bf45c4e2172b01df3a2767754
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-102.png differ
diff --git a/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-104.png b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-104.png
new file mode 100644
index 0000000000000000000000000000000000000000..f6aab3b0fe131c993f432972a44f44aaed55c335
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-104.png differ
diff --git a/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-105.png b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-105.png
new file mode 100644
index 0000000000000000000000000000000000000000..c82d4f9d4d6d1a4adc0c2944fc5b7611e6cc7298
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-105.png differ
diff --git a/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-106.png b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-106.png
new file mode 100644
index 0000000000000000000000000000000000000000..a024c880219f2823d58abbfae0096fd975968d57
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-106.png differ
diff --git a/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-107.png b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-107.png
new file mode 100644
index 0000000000000000000000000000000000000000..e0ac68d1915cfc21b9f87e389fd821236b39f4d5
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/tracker/solution-tracker-107.png differ
diff --git a/docs/Application_guide/zh/media/solutions/tracker/tracker_application.png b/docs/Application_guide/zh/media/solutions/tracker/tracker_application.png
new file mode 100644
index 0000000000000000000000000000000000000000..8309e6de83cd9d132b44ba65f1eda99d2c635916
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/tracker/tracker_application.png differ
diff --git a/docs/Application_guide/zh/media/solutions/tracker/tracker_funcion.png b/docs/Application_guide/zh/media/solutions/tracker/tracker_funcion.png
new file mode 100644
index 0000000000000000000000000000000000000000..a7cbc61fa92e61d8e0b1262083fdca3cb42c3836
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/tracker/tracker_funcion.png differ
diff --git a/docs/Application_guide/zh/media/solutions/tracker/tracker_process.png b/docs/Application_guide/zh/media/solutions/tracker/tracker_process.png
new file mode 100644
index 0000000000000000000000000000000000000000..bf933ff912776939eb2ed05cbf76809fbd4ae8bc
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/tracker/tracker_process.png differ
diff --git a/docs/Application_guide/zh/sidebar.yaml b/docs/Application_guide/zh/sidebar.yaml
index d6b41ed3989bf8cb77711534db730732bbfc70bc..9a94e2599f0c728c801fdcacb1d71946b44a2da9 100644
--- a/docs/Application_guide/zh/sidebar.yaml
+++ b/docs/Application_guide/zh/sidebar.yaml
@@ -273,6 +273,8 @@ items:
file: solutions/Wear/readme.md
- label: 电表
file: solutions/electricity-meter/README.md
+ - label: 智能定位器
+ file: solutions/tracker/README.md
- label: HeliosSDK
file: helios-sdk/README.md
items:
diff --git a/docs/Application_guide/zh/solutions/README.md b/docs/Application_guide/zh/solutions/README.md
index bcee44b34169c86b245d752238a1f6fe4aa3fb8c..6316346e55a20d58e869a1353056a44489427aab 100644
--- a/docs/Application_guide/zh/solutions/README.md
+++ b/docs/Application_guide/zh/solutions/README.md
@@ -6,3 +6,4 @@
- [智慧农业中控面板](./Agriculture-Control-Panel/README.md)
- [可穿戴解决方案](./Wear/readme.md)
- [电表](./electricity-meter/README.md)
+- [智能定位器](./tracker/README.md)
diff --git a/docs/Application_guide/zh/solutions/tracker/README.md b/docs/Application_guide/zh/solutions/tracker/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..0a574a00f876ebe5e884833fc7eda20e2c29c9f1
--- /dev/null
+++ b/docs/Application_guide/zh/solutions/tracker/README.md
@@ -0,0 +1,380 @@
+# 智能定位器解决方案
+
+## 方案介绍
+
+本文档主要描述移远通信QuecPython定位器的设计框架, 包含软硬件系统框架、关键组件功能描述、系统初始化流程和业务流程的介绍以及功能示例, 方便用户快速了解QuecPython定位器的整体架构与功能。
+
+### 产品概述
+
+- Tracker智能定位器。
+- 终端设备功能涵盖绝大部分定位器应用场景
+- 可视化运营平台+手机APP, 设备管理和数据查看更方便
+
+
+
+### 产品功能
+
+- 多重定位、安全围栏、危险报警、紧急求救、语音监听、录音、轨迹回放、远程控制等
+- 智能定位
+ - 系统利用4G通信/多重定位/分布式服务等技术, 为智能定位器行业提供从端到服务的一站式解决方案
+- 全平台支持
+ - 设备运营平台和手机APP功能齐全, 终端设备厂商无需自行搭建服务平台即可快速实现对设备和终端用户的管理
+- 可靠稳定
+ - 终端设备定位精度高、危险感知灵敏度高、功耗低、运行稳定, 终端设备厂商可套壳即用, 极大缩短硬件开发周期
+
+
+
+### 产品特点
+
+- 位置信息、危险警情智能感知、识别和上报
+- 支持阿里Iot平台、ThingsBoard、私有服务等多种Iot平台对接
+- QuecPython二次开发, 模块化、定制化、缩短开发周期
+- 可视化运营平台、手机APP控制终端
+
+### 应用行业
+
+- 车载定位
+- 物流货运
+- 人员定位
+- 电子学生证
+- 宠物定位
+- 特殊行业(农业灌溉, 稀有物种监控等)
+
+
+
+## 应用框架
+
+### 功能简介
+
+智能定位器方案中的软件功能介绍如下图所示, 方案根据定位器实际业务进行功能拆分, 模块化开发实现。
+
+
+
+- 传输协议解析
+ + 阿里Iot平台连接与数据交互
+ + ThingsBoard平台连接与数据交互
+ + GT06协议
+ + JT/T808协议
+- 网络管理
+ + MQTT协议(阿里Iot/ThingsBoard/其他平台)
+ + TCP/UDP协议(GT06/JTT808协议)
+ + APN设置(用于注网拨号)
+ + LTE NET(4G注网拨号)
+- 外设管理
+ + GNSS定位数据的读取, 使能, AGPS注入等
+ + G-Sensor传感器数据读取
+ + Charge IC充电管理, 获取设备充电状态
+ + Battery电池管理, 读取电池电压, 换算电量
+ + LED指示灯
+- 数据存储
+ + 系统配置参数存储
+ + 定位数据补传存储
+ + AGPS下载存储
+ + 日志信息存储
+- 设备升级
+ + OTA升级
+- 业务功能管理
+ + 网络与IoT 平台的连接与重连
+ + 设备数据采集与上报
+ + 报警检测与上报
+ + IoT 平台下行指令处理
+ + 设备低功耗休眠
+
+### 数据交互流程
+
+模组、IoT 平台之间数据交互流程如下图介绍:
+
+
+
+流程描述:
+
+1. 手机APP发送指令到IoT 平台, 服务端通过TCP/UDP/MQTT协议下发指令数据到模组端接收, 模组进行解析处理;
+2. 模组通过TCP/UDP/MQTT协议上报数据到IoT 平台, IoT 平台进行处理, 同步显示到手机端
+
+### 设计思想与模式
+
+- 本系统采用监听者模式设计, 通过回调函数进行消息的传递事件的监听
+- 软件根据定位器业务需求对其功能进行拆分, 主要分模块来实现, 每个部分独立开发实现, 相互之间减少依赖, 可独立调试运行, 达到解耦合的效果;
+- 功能之间的事件交互都通过回调函数来完成, 所有的业务功能处理全部在`Tracker`类中进行处理, 如下行的指令处理, 报警检测, 数据采集与上报, 设备的控制等。
+
+
+
+1. 所有的功能模块通过`Tracker.add_module`注册到`Tracker`类中进行控制
+2. Server模块(IoT 平台交互模块)通过回调将服务型下行的数据传递到`Tracker.server_callback`中进行处理
+3. NetManage模块通过回调将网络断开连接事件传递到`Tracker.net_callback`中进行处理
+
+### 软件架构图
+
+软件系统框架介绍描述如下:
+
+- 展现层, 对接不同的 Iot 平台, 进行可视化展示
+- 传输层, 支持使用不同的协议进行交互
+- 业务功层, 主要用于采集设备数据, 控制设备模块, 接收处理IoT 平台下行指令, 数据的整合上报
+- 设备层, 主要为设备数据的信息的采集与设备功能设置, 主要是定位数据的获取与解析, 传感器数据的读取, 电池管理, 历史数据存储, 外设控制, 设备的基础数据, 如设备的版本信息, IMEI号, APN设置, 网络拨号, 设备低功耗等
+
+
+
+### 业务流程
+
+
+
+业务流程说明:
+
+1. 设备上电启动
+2. 网络(APN)配置与(驻网拨号)连接, IoT 平台配置与连接, 失败重试
+3. 设备模块启动检测与数据采集
+ - GNSS定位模块启动, 等待定位数据
+ - G-Sensor三轴加速传感器模块启动与校准检测
+ - LED指示灯(网络状态/定位状态/充电状态等)启动
+ - 电池电量采集与充电状态检测
+ - 报警检测(超速检测/震动检测/围栏检测/低电检测等)
+4. IoT 平台连接成功后, 检测是否有历史数据需要上报进行上报
+5. IoT 平台连接成功, 上报当前设备信息(定位/告警)
+6. IoT 平台连接失败则存储当前设备信息(定位/告警)
+7. 设备无任务, 进入低功耗模式, 定时唤醒设备进行设备信息检测与上报
+8. IoT 平台连接成功后, 等待IoT 平台下发指令信息
+9. 指令信息的解析
+ - 设备控制指令, 如修改设备业务参数, 控制设备关机重启等
+ - 下发OTA升级指令, 进行OTA升级
+ - 设备信息查询指令, 应答设备信息
+
+### 系统初始化流程
+
+
+
+1. 基础功能模块初始化, 低功耗管理, 配置参数, 电池, 历史文件, 定位, 传感器。
+2. 初始化IoT 平台客户端模块, 阿里Iot或ThingsBoard平台或私有服务平台(GT06、JT/T808等)
+3. 初始化核心业务模块(Tracker), 将各个功能模块通过add_module接口添加到Tracker对象中, 再将Tracker.server_callback注册到Server对象中, 用于接收服务端下行的消息指令。
+
+## 应用开发
+
+### 方案资源获取
+
+定位器解决方案资源下载地址: https://github.com/QuecPython/solution-tracker
+
+> 该方案项目有一个`modules`子仓库, 在下载时需要注意同步下载
+>
+> 子仓库同步下载指令`git clone --recursive https://github.com/QuecPython/solution-tracker.git`
+
+资源包目录展示:
+
+
+
+- code 文件夹:
+
+该目录下包含软件方案代码
+
+
+
+- docs 文件夹:
+
+该目录下包含用户指导手册与功能接口说明的项目文档
+
+
+
+- object_model_demo 文件夹:
+
+该目录下提供了一个阿里Iot平台的物模型文件, 可以直接导入阿里Iot平台, 方便调试
+
+### 方案说明
+
+此方案为定位器公版方案, 不包含全部业务功能, 方案提供定位器业务核心组件的功能实现以及与服务端完成数据交互, 事件转发等功能, 使用者应基于此框架继续开发业务功能, 当前软件框架完成功能如下:
+
+- MQTT协议通讯(当前方案支持阿里Iot平台/ThingsBoard平台)
+- 配置文件读写
+- OTA远程升级
+- LED指示灯
+- 设备网络管理
+- 设备信息管理
+- 电池电量与充电管理
+- 备份信息存储
+- GNSS定位/基站定位/Wifi定位
+- 低功耗管理
+- 日志存储记录
+
+### 环境搭建
+
+#### USB驱动安装
+
+请根据调试模组平台进行驱动下载安装, [点击此处下载](https://python.quectel.com/download)
+
+
+
+#### 开发调试工具
+
+推荐使用QPYcom进行开发调试, 此文档中的流程介绍均使用该工具进行, 且成功安装USB驱动
+
+工具下载链接: [点击此处下载](https://python.quectel.com/download)
+
+
+
+工具使用说明: [点击此处访问](https://python.quectel.com/doc/Application_guide/en/dev-tools/QPYcom/qpycom-gui.html)
+
+#### 代码配置参数修改
+
+目前方案代码使用的配置参数未进行配置, 请按照下面说明进行更改。
+
+找到code中的以`settings_`开头的配置文件进行配置, 根据实际参数进行调整, 如下图:
+
+- `settings_server.py` 用于配置连接的 IoT 平台连接信息
+
+```python
+class AliIotConfig:
+
+ product_key = ""
+ product_secret = ""
+ device_name = ""
+ device_secret = ""
+ server = "iot-as-mqtt.cn-shanghai.aliyuncs.com"
+ qos = 1
+
+
+class ThingsBoardConfig:
+
+ host = ""
+ port = 1883
+ username = ""
+ qos = 0
+ client_id = ""
+```
+
+- `settings_loc.py` 用于配置定位模块的配置信息(外挂GNSS串口, 基站/Wifi定位的认证信息)
+
+```python
+gps_cfg = {
+ "UARTn": UART.UART1,
+ "buadrate": 115200,
+ "databits": 8,
+ "parity": 0,
+ "stopbits": 1,
+ "flowctl": 0,
+ "gps_mode": _gps_mode.external,
+ "nmea": 0b010111,
+ "PowerPin": None,
+ "StandbyPin": None,
+ "BackupPin": None,
+}
+
+cell_cfg = {
+ "serverAddr": "www.queclocator.com",
+ "port": 80,
+ "token": "xxxxxxxxxx",
+ "timeout": 3,
+ "profileIdx": profile_idx,
+}
+
+wifi_cfg = {
+ "token": "xxxxxxxxxx"
+}
+```
+
+- `settings_user.py` 用于配置用户业务功能的相关配置参数(如报警开关, 低电阈值等)
+
+```python
+class _server:
+ none = 0x0
+ AliIot = 0x1
+ ThingsBoard = 0x2
+
+class _drive_behavior_code:
+ none = 0x0
+ sharply_start = 0x1
+ sharply_stop = 0x2
+ sharply_turn_left = 0x3
+ sharply_turn_right = 0x4
+
+class _ota_upgrade_module:
+ none = 0x0
+ sys = 0x1
+ app = 0x2
+
+debug = 1
+log_level = "DEBUG"
+checknet_timeout = 60
+server = _server.AliIot
+phone_num = ""
+low_power_alert_threshold = 20
+low_power_shutdown_threshold = 5
+over_speed_threshold = 50
+sw_ota = 1
+sw_ota_auto_upgrade = 1
+sw_voice_listen = 0
+sw_voice_record = 0
+sw_fault_alert = 1
+sw_low_power_alert = 1
+sw_over_speed_alert = 1
+sw_sim_abnormal_alert = 1
+sw_disassemble_alert = 1
+sw_drive_behavior_alert = 1
+drive_behavior_code = _drive_behavior_code.none
+loc_method = _loc_method.all
+loc_gps_read_timeout = 300
+work_mode = _work_mode.cycle
+work_mode_timeline = 3600
+work_cycle_period = 30
+user_ota_action = -1
+ota_status = {
+ "sys_current_version": "",
+ "sys_target_version": "--",
+ "app_current_version": "",
+ "app_target_version": "--",
+ "upgrade_module": _ota_upgrade_module.none,
+ "upgrade_status": _ota_upgrade_status.none,
+}
+```
+
+#### 烧录固件
+
+根据当前调试模组型号下载对应QuecPython固件, 并使用Qpycom工具进行烧录
+
+固件下载地址: [点击此处访问](https://python.quectel.com/download)
+
+
+
+使用QPYcom工具下载固件
+
+1. 选择固件
+
+
+
+2. 下载固件
+
+
+
+3. 等待固件烧录
+
+
+
+4. 烧录成功
+
+
+
+5. 连接交互口
+
+
+
+6. 查看烧录信息
+
+
+
+#### 烧录代码
+
+- 建议在下载代码前将文件中的`main.py`重命名为`_main.py`, 因为`main.py`会上电自运行, 不方便调试, 我们测试阶段可以手动执行`_main.py`来运行, 方便调试问题
+
+- 通过USB下载代码需要设备预留USB接口或测试点, 或使用开发板进行调试, 并提前安装好驱动
+
+1. 选择`Quectel USB NMEA PORT`, 该串口为交互口, 程序LOG也会通过该串口输出
+
+
+
+2. 将业务功能代码批量烧录设备, 点击下载脚本后等待下载完成, 下载完成后在文件中查看
+
+
+
+3. 烧录成功后建议重启设备, 然后运行功能(如烧录了`main.py`, 则重启设备后, 功能会自动运行, 如已将`main.py`重命名后烧录, 则需手动运行`_main.py`启动功能)
+
+
+
+4. 运行结果展示
+
+