Last Updated on : 2024-05-11 04:29:48download
This topic describes the voice service that applies to the VWXR2 voice module only.
The MCU requests the voice status from the module.
The MCU sends the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x03 |
Command | 1 | 0x60 |
Data length | 2 | 0x0000 |
Data | 0 | None |
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 03 60 00 00 62
The module returns the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x00 |
Command | 1 | 0x60 |
Data length | 2 | 0x0001 |
Data | 1 | Voice status:
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 00 60 00 01 00 60
The MCU can use this command to mute the mic or query the mic status.
The MCU sends the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x03 |
Command | 1 | 0x61 |
Data length | 2 | 0x0001 |
Data | 1 | Mute settings:
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 03 61 00 01 00 64
The module returns the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x00 |
Command | 1 | 0x61 |
Data length | 2 | 0x0001 |
Data | 1 | Mute status:
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 00 61 00 01 00 61
The MCU can use this command to adjust the speaker volume or query the current volume.
The MCU sends the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x03 |
Command | 1 | 0x62 |
Data length | 2 | 0x0001 |
Data | 1 |
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 03 62 00 01 03 68
The module returns the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x00 |
Command | 1 | 0x62 |
Data length | 2 | 0x0001 |
Data | 1 | Volume: 0 to 10. |
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 00 62 00 01 03 65
Record voices while playing back the recording. Use acoustic equipment to compare the input and output audio signals.
The MCU sends the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x03 |
Command | 1 | 0x63 |
Data length | 2 | 0x0001 |
Data | 1 | Valid values for audio testing:
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 03 63 00 01 02 68
The module returns the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x00 |
Command | 1 | 0x63 |
Data length | 2 | 0x0001 |
Data | 1 | Audio testing status:
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 00 63 00 01 02 65
After the voice module enters test mode, the wake word must be delivered within 10 seconds. If the module is not woken up within 10 seconds, it returns a failure result.
The MCU sends the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x03 |
Command | 1 | 0x64 |
Data length | 2 | 0x0000 |
Data | 0 | None |
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 03 64 00 00 66
The module returns the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x00 |
Command | 1 | 0x64 |
Data length | 2 | 0x0001 |
Data | 0 | The result of waking up.
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 00 64 00 01 01 65
You can implement the extended features for your voice modules, including notifications, play/pause, Bluetooth on/off, local alarm clocks, and grouped voice controls.
The MCU sends the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x03 |
Command | 1 | 0x65 |
Data length | 2 | N |
Data | 1 | Subcommand: 0x00 |
Data: { “play”:true, “bt_play”:true ,“ctrl_group”:“xxxx”} |
|
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: {"play":true,"bt_play":true,"ctrl_group":"next"}
55 aa 03 65 00 31 00 7b 22 70 6c 61 79 22 3a 74 72 75 65 2c 22 62 74 5f 70 6c 61 79 22 3a 74 72 75 65 2c 22 63 74 72 6c 5f 67 72 6f 75 70 22 3a 22 6e 65 78 74 22 7d c7
The module returns the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x00 |
Command | 1 | 0x65 |
Data length | 2 | 0x0002 |
Data | 1 | Subcommand: 0x00 |
1 | Operation result:
|
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 00 65 00 02 00 00 66
The module sends the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x00 |
Command | 1 | 0x65 |
Data length | 2 | 1 + N |
Data | 1 | Subcommand: 0x01 |
Data: { “play”:true, “bt_play”:true,“ alarm”:“xxxx”, “ ctrl_group”:“xxxx” } |
|
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: {"play":true,"bt_play":true,"ctrl_group":"next", "alarm":"xxx"}
55 aa 00 65 00 3f 01 7b 22 70 6c 61 79 22 3a 74 72 75 65 2c 22 62 74 5f 70 6c 61 79 22 3a 74 72 75 65 2c 22 63 74 72 6c 5f 67 72 6f 75 70 22 3a 22 6e 65 78 74 22 2c 22 61 6c 61 72 6d 22 3a 22 78 78 78 22 7d 36
The MCU returns the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x03 |
Command | 1 | 0x65 |
Data length | 2 | 2 |
Data | 1 | Subcommand: 0x01 |
1 | Operation result:
|
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 03 65 00 02 01 00 6a
The MCU can send this command to wake up the module.
This command only applies to Linux-based modules.
The MCU sends the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x03 |
Command | 1 | 0x65 |
Data length | 2 | 0x01 |
Data | 1 | Subcommand: 0x02 |
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 03 65 00 01 02 6a
The module returns the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x00 |
Command | 1 | 0x65 |
Data length | 2 | 0x02 |
Data | 1 | Subcommand: 0x02 |
1 | Operation result:
|
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 00 65 00 02 02 00 68
With this feature enabled, automatic speech recognition (ASR) processed texts will be transmitted through the command 0x6504
.
The MCU sends the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x03 |
Command | 1 | 0x65 |
Data length | 2 | 0x02 |
Data | 1 | Subcommand: 0x03 |
1 |
|
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 03 65 00 02 03 00 6c
The module returns the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x00 |
Command | 1 | 0x65 |
Data length | 2 | 0x02 |
Data | 1 | Subcommand: 0x03 |
1 | Operation result:
|
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 00 65 00 02 03 00 69
The module sends the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x03 |
Command | 1 | 0x65 |
Data length | 2 | 0xXX |
Data | 1 | Subcommand: 0x04 |
1 | { “text”:“content in UTF-8”, “speaker”:“human”,//robot “id”:1171 } |
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: {"text":"xx", "speaker":"human", "id":1171}
55 aa 03 65 00 2b 04 7b 22 74 65 78 74 22 3a 22 78 78 22 2c 22 73 70 65 61 6b 65 72 22 3a 22 68 75 6d 61 6e 22 2c 20 22 69 64 22 3a 31 31 37 31 7d 69
The MCU returns the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x00 |
Command | 1 | 0x65 |
Data length | 2 | 0x01 |
Data | 1 | Subcommand: 0x04 |
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 00 65 00 01 04 69
The MCU sends the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x03 |
Command | 1 | 0x65 |
Data length | 2 | 0x01 |
Data | 1 | Subcommand: 0x05 |
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 03 65 00 01 05 6d
The module returns the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x00 |
Command | 1 | 0x65 |
Data length | 2 | 0x0002 + N |
Data | 1 | Subcommand: 0x05 |
1 | Operation result: Data[0]:
|
|
N | When the operation result is 0x01 , this field will be empty. { “artist”:“Beethoven”, “trackTitle”:“Serenade in D major, Op.8” }// Chinese characters are encoded in UTF-8. |
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: {"artist":"Beethoven", "trackTitle":"Serenade in D major, Op.8"}
55 aa 00 65 00 34 05 00 7b 22 61 72 74 69 73 74 22 3a 22 e8 96 9b e4 b9 8b e8 b0 a6 22 2c 22 74 72 61 63 6b 54 69 74 6c 65 22 3a 22 e5 8a a8 e7 89 a9 e4 b8 96 e7 95 8c 22 7d dc
The MCU sends the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x03 |
Command | 1 | 0x65 |
Data length | 2 | 0x02 |
Data | 1 | Subcommand: 0x06 |
Status
|
||
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 03 65 00 02 06 00 6f
The module returns the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x00 |
Command | 1 | 0x65 |
Data length | 2 | 0x02 |
Data | 1 | Subcommand: 0x06 |
1 | Operation result:
|
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 00 65 00 02 06 00 6c
The MCU can send this command to trigger voice recording. The module will pick up voices and automatically end the recording. The recording can be up to 10 seconds long in one go.
The MCU sends the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x03 |
Command | 1 | 0x65 |
Data length | 2 | 0x02 |
Data | 1 | Subcommand: 0x07 |
0x01 : Recording is started. |
||
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 03 65 00 02 07 01 71
The module returns the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x00 |
Command | 1 | 0x65 |
Data length | 2 | 0x02 |
Data | 1 | Subcommand: 0x07 |
1 | Operation result:
|
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 00 65 00 02 07 00 6d
The MCU can send this command to trigger voice recording but the recording must be ended manually. The recording can be up to 10 seconds long in one go.
The MCU sends the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x03 |
Command | 1 | 0x65 |
Data length | 2 | 0x02 |
Data | 1 | Subcommand: 0x08 |
1 | Status
|
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 03 65 00 02 08 00 71
The module returns the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x00 |
Command | 1 | 0x65 |
Data length | 2 | 0x02 |
Data | 1 | Subcommand: 0x08 |
1 | Operation result:
|
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 00 65 00 02 08 00 6e
With this feature enabled, alarm data will be transmitted through the command 0x650A
.
The MCU sends the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x03 |
Command | 1 | 0x65 |
Data length | 2 | 0x02 |
Data | 1 | Subcommand: 0x09 |
1 |
|
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 03 65 00 02 09 01 73
The module returns the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x00 |
Command | 1 | 0x65 |
Data length | 2 | 0x02 |
Data | 1 | Subcommand: 0x09 |
1 | Operation result:
|
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 00 65 00 02 09 00 6f
The module sends the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x00 |
Command | 1 | 0x65 |
Data length | 2 | 0xXX |
Data | 1 | Subcommand: 0x0A |
|
||
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: A one-time alarm with ID 1 is scheduled to go off at 17:32 on August 23, 2021.
55 aa 00 65 00 24 0a 01 01 00 00 00 00 00 01 15 08 17 11 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fa
The MCU returns the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x03 |
Command | 1 | 0x65 |
Data length | 2 | 0x01 |
Data | 1 | Subcommand: 0x0A |
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 03 65 00 01 0a 72
The MCU sends the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x03 |
Command | 1 | 0x65 |
Data length | 2 | 0x01 |
Data | 1 | Subcommand: 0x0B |
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 03 65 00 01 0b 73
The module returns the list of alarms through the command 0x650A
.
The MCU sends the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x03 |
Command | 1 | 0x65 |
Data length | 2 | 0x02 |
Data | 1 | Subcommand: 0x0C |
Status
|
||
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 03 65 00 02 0c 00 75
The module returns the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x00 |
Command | 1 | 0x65 |
Data length | 2 | 0x02 |
Data | 1 | Subcommand: 0x0C |
1 | Operation result:
|
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 00 65 00 02 0c 00 72
The MCU sends the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x03 |
Command | 1 | 0x65 |
Data length | 2 | 0xXX |
Data | 1 | Subcommand: 0x0D |
Status
|
||
Data is in JSON format. | ||
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: {"date":"20210326", "time":"17:05", "loops":"0000000", "timeZone":"+08:00", "bell":0}
55 aa 03 65 00 53 0d 01 7b 22 64 61 74 65 22 3a 22 32 30 32 31 30 33 32 36 22 2c 22 74 69 6d 65 22 3a 22 31 37 3a 30 35 22 2c 22 6c 6f 6f 70 73 22 3a 22 30 30 30 30 30 30 30 22 2c 22 74 69 6d 65 5a 6f 6e 65 22 3a 22 2b 30 38 3a 30 30 22 2c 22 62 65 6c 6c 22 3a 30 7d 9e
The module returns the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x00 |
Command | 1 | 0x65 |
Data length | 2 | 0x09 |
Data | 1 | Subcommand: 0x0D |
1 | Opcode
|
|
1 | Operation result:
|
|
6 | The timerId of the operation. |
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 00 65 00 09 0d 01 00 00 00 00 00 00 0a 85
Set an alarm
Name | Type | Description | Optional |
---|---|---|---|
time | String | Set the time for the alarm, such as 08:30. | N |
loops | String | The repetition rule for Sunday through Saturday, where 1 indicates on and 0 indicates off. For example, 0100001 indicates the alarm goes off every Monday and Saturday. |
N |
date | String | Set the date for the alarm. This field defaults to 00000000 for repeated alarms. For one-time alarms, enter the specific date when the alarm should go off. For example, 20181126 . |
N |
timeZone | String | The timezone, such as +08:00 . |
N |
bell | Integer | The alarm ringtone, a positive integer.
|
Y |
bellDesc | String | The ringtone description, used to match a song. | Y |
{ "date": "20181126", "time": "20:30", "loops": "0000000", "timeZone": "+08:00", "bell":1 }
{ "date": "00000000", "time": "08:00", "loops": "0111110", "timeZone": "+08:00", "bell":1 }
Edit an alarm
Name | Type | Description | Optional |
---|---|---|---|
time | String | Set the time for the alarm, such as 08:30. | N |
loops | String | The repetition rule for Sunday through Saturday, where 1 indicates on and 0 indicates off. For example, 0100001 indicates the alarm goes off every Monday and Saturday. |
N |
date | String | Set the date for the alarm. This field defaults to 00000000 for repeated alarms. For one-time alarms, enter the specific date when the alarm should go off. For example, 20181126 . |
N |
timerId | Long | The alarm ID. | N |
timeZone | String | The timezone, such as +08:00 . |
N |
bell | Integer | The alarm ringtone, a positive integer.
|
Y |
bellDesc | String | The ringtone description, used to match a song. | Y |
{ "timerId": 10164075, "date": "20210322", "time": "14:30", "loops": "0000000", "timeZone": "+08:00", "bell":1 }
{ "timerId": 10164075, "date": "20210322", "time": "14:30", "loops": "0111110", "timeZone": "+08:00", "bell":1 }
Delete an alarm
Request parameters
Name | Type | Description | Optional |
---|---|---|---|
timerId | Long | The alarm ID. | N |
Sample request
{"timerId": 1002}
Turn off an alarm
Request parameters
Name | Type | Description | Optional |
---|---|---|---|
timerId | Long | The alarm ID. | N |
Sample request
{"timerId": 1002}
Turn on an alarm
Request parameters
Name | Type | Description | Optional |
---|---|---|---|
timerId | Long | The alarm ID. | N |
Sample request
{"timerId": 1002}
The MCU sends the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x03 |
Command | 1 | 0x65 |
Data length | 2 | 0x01 |
Data | 1 | Subcommand: 0x0E |
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 03 65 00 01 0e 76
The module returns the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x00 |
Command | 1 | 0x65 |
Data length | 2 | 0x02 |
Data | 1 | Subcommand: 0x0E |
1 | The number of reminders: 0 to 30. | |
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 00 65 00 02 0e 02 76
The MCU sends the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x03 |
Command | 1 | 0x65 |
Data length | 2 | 0x0001 + N |
Data | 1 | Subcommand: 0x0F |
N | { “text”: “xxx”, // The text or text command stored on the device. “type”: “tts/music”, // tts indicates the text the speaker reads out. music indicates the custom ringtone to be set.“target”: “alert/clock”, // Indicates this is an alarm or a reminder. } |
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: {"text":"Play Beethoven", "type":"music", "target":"alert"}
55 aa 03 65 00 41 0f 7b 22 74 65 78 74 22 3a 22 e6 92 ad e6 94 be e6 9e 97 e4 bf 8a e6 9d b0 e7 9a 84 e6 ad 8c 22 2c 22 74 79 70 65 22 3a 22 6d 75 73 69 63 22 2c 22 74 61 73 67 65 74 22 3a 22 61 6c 65 72 74 22 7d 91
The module returns the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x00 |
Command | 1 | 0x65 |
Data length | 2 | 0x0002 |
Data | 1 | Subcommand: 0x0F |
1 | Operation result:
|
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 00 65 00 02 0f 00 75
This service extends the source of data sending to LAN, WAN, and Bluetooth.
This service conflicts with the ordinary command sending.
The MCU sends the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x03 |
Command | 1 | 0x36 |
Data length | 2 | 0x0002 |
Data | 1 | Subcommand: 0x01 |
1 |
|
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 03 36 00 02 01 01 3c
The module returns the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x00 |
Command | 1 | 0x36 |
Data length | 2 | 0x0002 |
Data | 1 | Subcommand: 0x01 |
1 |
|
|
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: 55 aa 00 36 00 02 01 00 38
For more information about the DP data unit, see Data units.
One command can contain data units of multiple DPs.
Asynchronous communication applies when the module sends control commands and the MCU reports DP status.
The extended source of sending DP data must be set manually, which conflicts with the ordinary command sending.
The supported extended sources are listed below. Any sources other than these are not supported.
The module sends the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x00 |
Command | 1 | 0x36 |
Data length | 2 | It depends on the types and the number of data units. (N + 2) |
Data | 1 | Subcommand: 0x02 |
1 | The sources of sending DP data:
|
|
N | Data units | |
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: Suppose that DP 3 of Boolean type is used for on/off control over LAN, and 1
means to turn on the device. The module sends the following to the MCU.
Example: 55 aa 00 36 0007 02 01 03 01 0001 01 45
This feature only applies to offline voice modules. For modules where it does not apply, use the standard status reporting command.
For more information about the DP data unit, see Data units.
This is an asynchronous command. The MCU uses it to report device status to the module, which can be triggered by three mechanisms.
After the MCU executes the command received from the module, it reports the changed DP status to the module.
When the MCU proactively detects status changes of DPs, it reports the changed DP status to the module.
When the MCU receives the DP status query, it sends the status of all DPs to the module.
The MCU can report the status of multiple DPs.
The MCU sends the following data.
Field | Bytes | Description |
---|---|---|
Header | 2 | 0x55aa |
Version | 1 | 0x03 |
Command | 1 | 0x36 |
Data length | 2 | It depends on the types and the number of data units. (N + 3) |
Data | 1 | Subcommand: 0x03 |
1 |
|
|
1 | When the MCU proactively reports data or responds to a status query, this field is set to 0x00 . When the MCU responds to a DP command sent via an extended source, it returns the specific source.
|
|
N | Data units | |
Checksum | 1 | Start from the header, add up all the bytes, and then divide the sum by 256 to get the remainder. |
Example: The MCU responds to a command sent over WAN. Suppose that DP 5 of a value type describes the humidity. When the current humidity is 30%, the MCU reports the following data.
Example: 55 aa 03 36 000b 03 02 02 05 02 0004 0000001e 73
Is this page helpful?
YesFeedbackIs this page helpful?
YesFeedback