Files
maglink-console/AT_Commands_Reference.md
brentperteet 5703c05c1d Initial commit
2026-06-24 11:12:44 -05:00

545 lines
10 KiB
Markdown

# AT Commands Reference Guide
## Overview
This document provides detailed information about AT commands for controlling the H11hw GNSS RTK device via Bluetooth. All commands follow the format `AT+COMMAND=ACTION` where ACTION is either `SET` or `GET`.
**Response Format:**
- Success: `AT+COMMAND=ACTION\r\nOK\r\n`
- Error: `AT+COMMAND=ACTION\r\nERROR\r\n`
---
## 1. APN Configuration
Configure the APN (Access Point Name) for cellular network connection.
### AT+APN=SET
**Description:** Set APN parameters for 4G/LTE network connection.
**Format:**
```
AT+APN=SET,<flag>,<apn>,<username>,<password>\r\n
```
**Parameters:**
- `flag`: Enable/disable custom APN
- `0` = Use default APN (automatic)
- `1` = Use custom APN
- `apn`: APN name (string, max 64 chars)
- `username`: APN username (string, max 32 chars, optional)
- `password`: APN password (string, max 32 chars, optional)
**Examples:**
```
AT+APN=SET,0\r\n
AT+APN=SET,1,internet.v6.telekom,telekom,tm\r\n
AT+APN=SET,1,cmnet\r\n
```
**Response:**
```
AT+APN=SET
OK
```
### AT+APN=GET
**Description:** Query current APN configuration.
**Format:**
```
AT+APN=GET\r\n
```
**Response:**
```
AT+APN=GET,<flag>,<apn>,<username>,<password>
OK
```
**Example:**
```
AT+APN=GET,1,internet.v6.telekom,telekom,tm
OK
```
---
## 2. OLED Display Rotation
Control the OLED screen orientation.
### AT+OLEDROTATE=SET
**Description:** Set OLED display rotation angle.
**Format:**
```
AT+OLEDROTATE=SET,<angle>\r\n
```
**Parameters:**
- `angle`: Rotation angle in degrees
- `0` = Normal (0°)
- `1` = Rotated 180°
**Examples:**
```
AT+OLEDROTATE=SET,0\r\n
AT+OLEDROTATE=SET,1\r\n
```
**Response:**
```
AT+OLEDROTATE=SET
OK
```
### AT+OLEDROTATE=GET
**Description:** Query current OLED rotation setting.
**Format:**
```
AT+OLEDROTATE=GET\r\n
```
**Response:**
```
AT+OLEDROTATE=GET,<angle>
OK
```
---
## 3. Bluetooth Output Configuration
Configure which NMEA sentences and custom messages are output via Bluetooth.
### AT+BT_OUT=SET
**Description:** Configure Bluetooth data output format and content.
**Format:**
```
AT+BT_OUT=SET,<type>,<json>,<gnpos>,<gndev>,<gga>,<gst>,<rmc>,<vtg>,<gsv>,<gsa>\r\n
```
**Parameters:**
- `type`: Output mode
- `0` = Standard mode (output all raw GNSS data)
- `1` = Custom mode (selective output based on following parameters)
- `json`: Output JSON format position data (0=disable, 1=enable)
- `gnpos`: Output custom GNPOS sentence (0=disable, 1=enable)
- `gndev`: Output custom GNDEV sentence (0=disable, 1=enable)
- `gga`: Output NMEA GGA sentence (0=disable, 1=enable)
- `gst`: Output NMEA GST sentence (0=disable, 1=enable)
- `rmc`: Output NMEA RMC sentence (0=disable, 1=enable)
- `vtg`: Output NMEA VTG sentence (0=disable, 1=enable)
- `gsv`: Output NMEA GSV sentence (0=disable, 1=enable)
- `gsa`: Output NMEA GSA sentence (0=disable, 1=enable)
**Examples:**
```
AT+BT_OUT=SET,0\r\n
AT+BT_OUT=SET,1,1,1,1,1,1,1,1,1,1\r\n
AT+BT_OUT=SET,1,0,1,1,1,0,0,0,0,0\r\n
AT+BT_OUT=SET,1,,,,1,1,1,1\r\n
```
**Notes:**
- Empty parameters retain previous values
- When `type=0`, all other parameters are ignored
- When `type=1`, you can selectively enable/disable each output
**Response:**
```
AT+BT_OUT=SET
OK
```
### AT+BT_OUT=GET
**Description:** Query current Bluetooth output configuration.
**Format:**
```
AT+BT_OUT=GET\r\n
```
**Response:**
```
AT+BT_OUT=GET,<type>,<json>,<gnpos>,<gndev>,<gga>,<gst>,<rmc>,<vtg>,<gsv>,<gsa>
OK
```
---
## 4. Data Upload Configuration
Configure network data upload parameters (TCP/HTTP/MQTT).
### AT+UPLOADDATA_PARM=SET
**Description:** Set data upload server parameters.
**Format:**
```
AT+UPLOADDATA_PARM=SET,<enable>,<server>,<port>\r\n
```
**Parameters:**
- `enable`: Enable/disable data upload
- `0` = Disable
- `1` = Enable
- `server`: Server address (IP or domain name, max 128 chars)
- `port`: Server port number (1-65535)
**Examples:**
```
AT+UPLOADDATA_PARM=SET,0\r\n
AT+UPLOADDATA_PARM=SET,1,192.168.0.1,2202\r\n
AT+UPLOADDATA_PARM=SET,1,data.example.com,8080\r\n
```
**Response:**
```
AT+UPLOADDATA_PARM=SET
OK
```
### AT+UPLOADDATA_PARM=GET
**Description:** Query data upload server configuration.
**Format:**
```
AT+UPLOADDATA_PARM=GET\r\n
```
**Response:**
```
AT+UPLOADDATA_PARM=GET,<enable>,<server>,<port>
OK
```
---
## 5. Data Upload Type Configuration
Configure upload protocol and authentication.
### AT+UPLOADDATA_TYPE=SET
**Description:** Set upload protocol type and credentials.
**Format:**
```
AT+UPLOADDATA_TYPE=SET,<type>,USERNAME,<username>,PASSWORD,<password>\r\n
```
**Parameters:**
- `type`: Upload protocol type
- `0` = TCP
- `1` = HTTP
- `2` = MQTT
- `username`: Authentication username (required for MQTT)
- `password`: Authentication password (required for MQTT)
**Examples:**
```
AT+UPLOADDATA_TYPE=SET,0\r\n
AT+UPLOADDATA_TYPE=SET,1\r\n
AT+UPLOADDATA_TYPE=SET,2,USERNAME,user11,PASSWORD,password11\r\n
```
**Response:**
```
AT+UPLOADDATA_TYPE=SET
OK
```
### AT+UPLOADDATA_TYPE=GET
**Description:** Query upload protocol configuration.
**Format:**
```
AT+UPLOADDATA_TYPE=GET\r\n
```
**Response:**
```
AT+UPLOADDATA_TYPE=GET,<type>,<username>,<password>
OK
```
---
## 6. Rover Mode Configuration
Configure NTRIP client parameters for RTK rover mode.
### AT+ROVER_PARM=SET
**Description:** Set NTRIP/CORS server parameters for receiving RTK corrections.
**Format:**
```
AT+ROVER_PARM=SET,<enable>,<server>,<port>,<mountpoint>,<username>,<password>\r\n
```
**Parameters:**
- `enable`: Enable/disable NTRIP client
- `0` = Disable
- `1` = Enable
- `server`: NTRIP server address (IP or domain name)
- `port`: NTRIP server port (typically 2101 or 2102)
- `mountpoint`: NTRIP mountpoint name
- `username`: NTRIP authentication username
- `password`: NTRIP authentication password
**Examples:**
```
AT+ROVER_PARM=SET,0\r\n
AT+ROVER_PARM=SET,1,211.144.118.5,2102,RTCM32,username,password\r\n
AT+ROVER_PARM=SET,1,sh.mijiatech.cn,2102,22C018,zd,zd\r\n
```
**Response:**
```
AT+ROVER_PARM=SET
OK
```
### AT+ROVER_PARM=GET
**Description:** Query NTRIP client configuration.
**Format:**
```
AT+ROVER_PARM=GET\r\n
```
**Response:**
```
AT+ROVER_PARM=GET,<enable>,<server>,<port>,<mountpoint>,<username>,<password>
OK
```
---
## 7. Base Station Mode Configuration
Configure base station parameters for outputting RTK corrections.
### AT+BASE_PARM=SET
**Description:** Set base station mode parameters.
**Format (Mode 0 - Disable):**
```
AT+BASE_PARM=SET,0\r\n
```
**Format (Mode 1 - TCP Server):**
```
AT+BASE_PARM=SET,1,<server>,<port>\r\n
```
**Format (Mode 2 - NTRIP Caster):**
```
AT+BASE_PARM=SET,2,<server>,<port>,<mountpoint>,<username>,<password>\r\n
```
**Parameters:**
- Mode `0`: Disable base station mode
- Mode `1`: TCP server mode
- `server`: Server address to send RTCM data
- `port`: Server port
- Mode `2`: NTRIP caster mode
- `server`: NTRIP caster address
- `port`: NTRIP caster port
- `mountpoint`: Mountpoint name
- `username`: Authentication username
- `password`: Authentication password
**Examples:**
```
AT+BASE_PARM=SET,0\r\n
AT+BASE_PARM=SET,1,192.168.1.100,2102\r\n
AT+BASE_PARM=SET,2,sh.mijiatech.cn,2102,RTCM32-1,zd,zd\r\n
```
**Response:**
```
AT+BASE_PARM=SET
OK
```
### AT+BASE_PARM=GET
**Description:** Query base station configuration.
**Format:**
```
AT+BASE_PARM=GET\r\n
```
**Response (Mode 0):**
```
AT+BASE_PARM=GET,0
OK
```
**Response (Mode 1):**
```
AT+BASE_PARM=GET,1,<server>,<port>
OK
```
**Response (Mode 2):**
```
AT+BASE_PARM=GET,2,<server>,<port>,<mountpoint>,<username>,<password>
OK
```
---
## 8. GNSS Mode Configuration
Configure device operating mode (Rover/Base/Static).
### AT+GNSS_MODE=SET
**Description:** Set GNSS operating mode.
**Format:**
```
AT+GNSS_MODE=SET,<mode>\r\n
```
**Parameters:**
- `mode`: Operating mode
- `0` = Rover mode (mobile RTK positioning)
- `1` = Base station mode (output RTK corrections)
- `2` = Static mode (stationary positioning)
**Examples:**
```
AT+GNSS_MODE=SET,0\r\n
AT+GNSS_MODE=SET,1\r\n
AT+GNSS_MODE=SET,2\r\n
```
**Response:**
```
AT+GNSS_MODE=SET
OK
```
**Notes:**
- Changing mode may require device restart
- Base mode requires fixed position configuration
- Rover mode requires NTRIP configuration for RTK
### AT+GNSS_MODE=GET
**Description:** Query current GNSS operating mode.
**Format:**
```
AT+GNSS_MODE=GET\r\n
```
**Response:**
```
AT+GNSS_MODE=GET,<mode>
OK
```
**Example:**
```
AT+GNSS_MODE=GET,0
OK
```
---
## Command Summary Table
| Command | SET | GET | Description |
|---------|-----|-----|-------------|
| AT+APN | ✓ | ✓ | Configure cellular APN |
| AT+OLEDROTATE | ✓ | ✓ | Set display rotation |
| AT+BT_OUT | ✓ | ✓ | Configure Bluetooth output |
| AT+UPLOADDATA_PARM | ✓ | ✓ | Set upload server |
| AT+UPLOADDATA_TYPE | ✓ | ✓ | Set upload protocol |
| AT+ROVER_PARM | ✓ | ✓ | Configure NTRIP client |
| AT+BASE_PARM | ✓ | ✓ | Configure base station |
| AT+GNSS_MODE | ✓ | ✓ | Set operating mode |
---
## Common Usage Scenarios
### Scenario 1: Configure Rover Mode for RTK Positioning
```
AT+GNSS_MODE=SET,0\r\n
AT+ROVER_PARM=SET,1,rtk.server.com,2101,MOUNT01,user,pass\r\n
AT+BT_OUT=SET,1,0,1,1,1,1,0,0,0,0\r\n
```
### Scenario 2: Configure Base Station Mode
```
AT+GNSS_MODE=SET,1\r\n
AT+BASE_PARM=SET,2,caster.server.com,2101,BASE01,user,pass\r\n
```
### Scenario 3: Enable All NMEA Output via Bluetooth
```
AT+BT_OUT=SET,1,0,1,1,1,1,1,1,1,1\r\n
```
### Scenario 4: Configure Custom APN
```
AT+APN=SET,1,internet,username,password\r\n
```
---
## Error Handling
**Common Error Responses:**
- `ERROR` - Invalid command format or parameters
- No response - Command timeout (check Bluetooth connection)
**Troubleshooting:**
1. Ensure commands end with `\r\n`
2. Check parameter count and format
3. Verify Bluetooth connection is active
4. Wait for response before sending next command
---
## Notes
- All commands are case-sensitive
- Commands must end with `\r\n` (carriage return + line feed)
- String parameters should not contain commas
- Empty parameters in SET commands retain previous values
- Configuration changes are saved to flash memory automatically
- Some changes may require device restart to take effect
---
**Document Version:** 1.0
**Firmware Version:** 1.2.37
**Last Updated:** 2026-05-07