Tuya Cloud Universal Serial Port Access Protocol
Protocol version
Date
1.2.3
20200521
1、Serial communication conventions
Baud rate: 9600/115200
Data bits: 8
Parity: None
Stop bits: 1
Data flow control: None
MCU: User control board control chip, connected with Tuya module through serial port.
2、Frame Format Description
Field
Length (byte)
Description
Frame Header
2
Fixed at 0x55aa
Version
1
Upgrade and Expansion
Command word
1
Specific frame type
Data Length
2
Big Endian
Data
N
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Explanation:
All data larger than 1 byte is transmitted in big-endian mode.
Under normal circumstances, the same command word is used to send and receive synchronization mechanism, that is, one party sends a command and the other responds. If the sender does not receive the correct response packet after timeout, the timeout is transmitted, as shown in the figure below:
Note: The specific communication method is subject to the "Protocol Details" section.
The module control command is issued and the MCU status is reported in asynchronous mode. Assuming that the module control command is issued with the "command word" as x and the MCU status is reported with the "command word" as y, as follows:
Module control command is issued:
MCU status report:
3、Protocol details
3.1、Heartbeat detection
Explanation:
After the WIFI module is powered on, it periodically sends heartbeats at 15s intervals. If no response is received from the MCU within the timeout period (3s), the MCU is considered offline.
The MCU can also periodically check whether the module is working properly based on this heartbeat. If the module is issued without a heartbeat, the MCU can reset the WIFI module through the hardware reset pin provided by the module.
Module sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x00
Data length
2
0x0000
Data
0
None
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Example: 0x55aa 00 00 0000 ff
The MCU returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x00
Data length
2
0x0001
Data
1
0x00: The first heartbeat return value after the MCU restarts, sent only once, used by the module to determine whether the MCU restarts during the work process. Return this value
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Example: 0x55aa 03 00 0001 00 03 (MCU returns for the first time)
0x55aa 03 00 0001 01 04 (except for the first time, return normally)
3.2、Query Product Information
Explanation:
Product ID: Corresponds to the Tuya Developer Platform PID (product identification), which is generated by the Tuya Cloud Developer Platform and used to record product-related information in the cloud.
Product information consists of product ID and MCU software version
MCU software version number format definition: in dotted decimal form, "x.x.x" (0 \ <= x \ <= 99), x is a decimal number
Module sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x01
Data length
2
0x0000
Data
0
None
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Example: 0x55aa 00 01 0000 00
The MCU returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x01
Data Length
2
N
Data
N
{“p”:”AIp08kLIftb8x2x0”,“v”:”1.0.0”,”m”:1,”mt”:10,”n”:0,”ir”:”5.12”,”low”:0}
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Example: {“p”:”AIp08kLIftb8x2x0”,“v”:”1.0.0”,”m”:1,”mt”:10,”n”:0,”ir”:”5.12”,”low”:0}
Product information field description:
1) p means the product ID is AIp08kLIftb8x2x0, which is the product ID created by the user on the Tuya IOT platform.
2) v indicates that the MCU version is 1.0.0, and the MCU version number format needs to be defined in the format of x.x.x
3) m indicates the working mode of the module: 0-normal distribution network working mode, 1-overtime distribution network working mode, 2-anti-mistouch working mode.
normal distribution network working mode: After leaving the factory, the module has been in the state of network distribution and has been maintained.
overtime distribution network working mode: The module is in a non-distribution state after it is powered on from the factory and requires the MCU to send a reset command before entering the corresponding distribution mode The device will enter the non-distribution state again after the module is in the distribution state for three minutes without the user distributing the module. The command will re-enter the network configuration mode.
anti-mistouch working mode: After the module is configured by the user locally (the MCU sends a reset command), the device is in the network to be configured If the status is not configured for three minutes, it will automatically restore the user's network connection before reset. The device breaks abnormally halfway after local reset Power on will also automatically restore the user's network connection before reset. In this mode, only when the device is moved from the APP by the user Except for the device, it will not record the last user's network connection and reconnect. This mode is for users who need local reset The needs of the scene.
4) mt field (optional): Set the state switching time of safe mode and anti-mistouch mode, without uploading this field, follow the old mechanism Three minutes processing, can support the set time range: 3 minutes ~ 10 minutes.
5) n field (optional): indicates the network configuration mode of the mode. Without this field, the traditional two-network mode switching mode is maintained: 0-smartconfig & AP coexistence distribution network mode The module supports both AP connection and EZ distribution without user switching. For the corresponding distribution status package, see 1-Only AP configuration mode In this mode, the product can only be configured through AP connection.
6) ir field (optional): enable the infrared function of the module and inform the module that the infrared transceiver pins use those IO ports. Without this field, the infrared capability is turned off by default 5.12: the infrared transmit pin is IO5, and the infrared receive pin is IO12. Note that if the module self-processing mode is used in the working mode, do not repeat it with the IO port set according to the WIFI indicator light. Part of the module cross-group IO setting, you need to add 32 to the base of the setting group IO, PB20 set the serial number to 20+32. The infrared sending pin needs to use PWM resources, and the receiving needs to use IO interrupt. The specific module supports the IO port reference module information.
7) low field (optional): Whether the module is turned on to maintain a low-power mode for long connection, without this field, the low-power mode is turned off by default. For some products, when there is no network control, the average power consumption of the module needs to be lower than 15MA under the connection of the module to maintain and route. Through this field, we can open the ability of the module. After the dual-mode module turns on this function, the module has only the Bluetooth distribution function, and the Bluetooth control will be turned off. Products that do not require power consumption do not need to care about this field. 0-turn off low power mode 1-Turn on the module low power mode
3.3、Query MCU and set the module's working mode
Explanation:
The module working mode is mainly for how to indicate the working status of WIFI and how to reset WIFI. There are mainly two cases:
a. MCU cooperates with the module, that is, the module notifies the MCU through the serial port The current working status of WIFI is supported by the MCU; the MCU detects the need to reset the WIFI and informs the module to reset the WIFI through the serial port.
b. Module self-processing: The working status of the WIFI module drives the LED status display through the WIFI GPIO pins; WIFI reset is handled by detecting the GPIO input requirements. The module's self-processing WIFI reset method is: WIFI detects the GPIO entry low level for more than 5s to trigger Wi-Fi reset. The GPIO pins used by the indicators and buttons are configured by the following commands.
Module sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x02
Data length
2
0x0000
Data
0
None
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Example: 0x55aa 00 02 0000 01
The MCU returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x02
Data length
2
0x0000 / 0x0002 0x0000: Instruct the module to work in "MCU and module cooperative processing" mode. The MCU must implement the functions mentioned in the "Description" above. 0x0002: Instruct the module to work in "module self-processing" mode.
Data
0/2
The data length is 2: the first byte is the WIFI status indication GPIO sequence number; the second byte is the WIFI reset button GPIO sequence number
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Example: 0x55aa 03 02 0000 04 (MCU and module work together)
0x55aa 03 02 0002 0c0d1f (module self-processing, indicator 0x0c: GPIO12, reset button 0x0d: GPIO13)
3.4、Report device networking status
Device Networking Status
Description
Status Values
Status 1
smartconfig configuration status
0x00
State 2
AP configuration state
0x01
State 3
WIFI is configured but not connected to the router
0x02
State 4
WIFI is configured and connected to the router
0x03
Status 5
Connected to the router and connected to the cloud
0x04
State 6
WIFI device is in low power mode
0x05
State 7
WIFI device is in smartconfig&AP mode
0x06
Explanation:
Device networking status: 1 smartconfig configuration status 2 AP configuration status 3 WIFI configured successfully but not connected to the router 4 WIFI configured successfully and connected to the router 5 The device is connected to a router and connected to the cloud. The corresponding LED displays of the "module self-processing" working mode are: 1 250ms flashing interval; 2 1500ms flashing interval; 3 long dark state; 4 or 5 long bright state
When the module detects the process of MCU restart or MCU disconnection and then online, it will actively send WIFI status to MCU
When the WIFI status of the module changes, it will actively send the WIFI status to the MCU
If the module working mode is set to "module self-processing", the MCU does not need to implement the protocol
Module sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x03
Data length
2
0x0001
Data
1
Indicate the working status of WIFI: 0x00: State 1 0x01: State 2 0x02: State 3 0x03: State 4 0x04: State 5 0x05: State 6 0x06: State 7
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Example: 0x55aa 00 03 0001 00 03
The MCU returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x03
Data length
2
0x0000
Data
0
None
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Example: 0x55aa 03 03 0000 05
3.5、Reset WIFI
Explanation:
Reset WIFI status transition as shown below:
The module's self-processing WIFI reset method is: WIFI detects the GPIO entry low level for more than 5s to trigger Wi-Fi reset.
If the module working mode is set to "module self-processing", the MCU does not need to implement the protocol
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x04
Data length
2
0x0000
Data
0
None
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Example: 0x55aa 03 04 0000 06
The module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x04
Data length
2
0x0000
Data
0
None
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Example: 0x55aa 00 04 0000 03
3.6、Reset WIFI-select configuration mode
Explanation:
Compared to “Resetting WIFI” in section 3.5, this frame provides the MCU to selectively choose the configuration mode after resetting WIFI according to its own needs.
MCU access users can selectively implement the protocol
If the module working mode is set to "module self-processing", the MCU does not need to implement the protocol
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x05
Data length
2
0x0001
Data
1
0x00: Enter smartconifg configuration mode 0x01: Enter AP configuration mode
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Example: 0x55aa 03 05 0001 00 08, enter smartconfig configuration mode
The module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x05
Data length
2
0x0000
Data
0
None
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Example: 0x55aa 00 05 0000 04
3.7、Command issued
Explanation:
The datapoint command / status data unit is as follows:
Data Section
Length (byte)
Explanation
dpid
1
datapoint serial number
type
1
Corresponds to the specific data type of a datapoint on the open platform, identified by the following "representation value"
Type
Value
Length (bytes)
raw
0x00
N
Corresponds to raw datapoint (module transparent transmission)
bool
0x01
1
value range: 0x00 / 0x01
value
0x02
4
Corresponds to int type, big-endian
string
0x03
N
corresponds to a specific string
enum
0x04
1
Enumeration type, range 0-255
bitmap
0x05
1/2/4
len
2
Number of bytes corresponding to length
value
1/2/4 / N
hex indicates that big-endian transmission is used for more than 1 byte
Datapoint command / status data unit except "raw" type, other types are "obj" type datapoint
The "command delivery" may contain multiple datapoint "command data units"
"Command Issue" is an asynchronous processing protocol, corresponding to the "status report" of the MCU's datapoint
Module sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x06
Data length
2
Depends on Command Data Unit type and number
Data
N
"3.7.1 Command Data Unit" Group
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Example: The system switch corresponds to DP No. 3, using a bool-type variable, and the power-on value is 1.
0x55aa 00 06 0005 03 01 0001 01 10
3.8、Status report
Explanation:
For details of the datapoint status data unit, see "Section 3.7"
"State Report" is an asynchronous processing protocol. There are three types of "State Report" trigger mechanisms:
a. When the MCU receives the "command to issue a processing frame, the corresponding datapoint command is correctly executed, and then the changed datapoint status is sent to the module through the" status report "frame;
b. The MCU actively detects a change in the datapoint and sends the changed datapoint status to the module;
c. When the MCU receives the status query frame of “3.9”, it sends all datapoint status to the module.
The "status report" may contain multiple datapoint "command data units"
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x07
Data length
2
Depends on the type and number of Status Data Units
Data
N
"3.7.1 Status Data Unit" Group
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Example: The humidity corresponds to No. 5 DP, using a valve-type variable, and the humidity is 30 ° C
0x55aa 03 07 0008 05 02 0004 0000001e 3a
3.9、Status query
Explanation:
"Status query" is an asynchronous processing protocol, which is mainly used by the module to query the status of all "obj" type datapoints of the MCU. When the MCU receives this frame, it reports the datapoint status through the "3.8" status report frame
There are two main timings for sending "Status Query":
a. The module is powered on for the first time, and after the connection is established with the MCU through the heartbeat, the query is sent;
b. During the module's work, it is detected that the MCU restarts or goes offline and then goes online. The query is sent.
Module sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x08
Data length
2
0x0000
Data
0
None
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Example: 0x55aa 00 08 0000 07
3.10、MCU upgrade service
Explanation:
When to upgrade the customer The Tuya IoT platform ’s own product page configuration related upgrade options are triggered. The module is only used as a data transmission channel to support MCU upgrades and does not perform any analysis of the data content.
At present, the MCU upgrade of Tuya platform supports the following four configuration methods:
a.App reminder upgrade: In this upgrade method, users will receive the pop-up window of the upgrade reminder every time they enter the device control panel. Whether to confirm the upgrade is confirmed by the user in the App.
b.App silent upgrade: This upgrade method App will not have any pop-up window. The firmware will automatically detect the upgrade within one minute after the firmware is powered on. It will automatically start pulling related upgrade packages if it finds a higher version upgrade package. After power-on, the module will go to the cloud to check whether there is an upgrade package configuration at an interval of 24 hours.
c.App forced upgrade:In this upgrade method, there will be an upgrade reminder pop-up on the App side. If the user does not confirm the upgrade, the user cannot use the control panel of this product normally.
d.App detection upgrade: this upgrade method App sideThere will not be any pop-up window for upgrade reminder. The user must click on the App to check the relevant firmware version by himself. If there is a higher firmware configuration, the upgrade prompt message will be displayed.
MCU upgrade related flowchart:
After the WIFI module sends all the upgrade packages, resend the 01 command word (3.2 query product information). The MCU needs to reply the software version number in the product information with the updated MCU version number in one minute. The version number needs to be configured in Tuya's background. Upgraded version numbers remain the same.
3.10.1、Upgrade started (upgrade package size notification)
Explanation:
The upgrade startup method includes automatic and manual upgrades. When it is in automatic upgrade, the module detects that the cloud MCU has a newer version of firmware, then it automatically starts the interaction process with the MCU upgrade package; when it is in manual upgrade, it is determined by the App that the module inspires the interaction process with the MCU upgrade package
Module sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x0a
Data length
2
0x0004
Data
4
Firmware Package Bytes, unsigned int, Big Endian
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Example: 0x55aa 00 0a 0004 00006800 75 (the firmware package length is 26624, which is 26KB)
The MCU returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x0a
Data length
2
0x0001
Data
1
Upgrading packet transfer size: 0x00: default 256byte (compatible with old firmware) 0x01: 512byte 0x02: 1024byte
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Example: 0x55aa 03 0a 0001 00 0d
3.10.2、Upgrade package transmission
Explanation:
Upgrade packet transmission data format: packet offset (unsigned short) + packet data
If the MCU receives the frame data length of 4 and the packet offset > = firmware size, the packet transmission ends.
Module sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x0b
Data length
2
0x0004 + Data packet length
Data
N
The first four bytes, fixed at the packet offset, followed by the packet content
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
example:
The file size to be upgraded is 530Byte, (the last packet of data may not be returned)
(1) The first packet of data, the packet offset is 0x00000000, and the packet length is 256
0x55aa 00 0b 0104 00000000 xx ... xx XX
(2) The second packet of data, the packet offset is 0x00000100, and the packet length is 256
0x55aa 00 0b 0104 00000100 xx ... xx XX
(3) The third packet of data, the packet offset is 0x00000200, and the packet length is 18
0x55aa 00 0b 0016 00000200 xx ... xx XX
(4) The last packet, the packet offset is 0x00000212, and the data packet length is 0
0x55aa 00 0b 0004 00000212 xx ... xx XX
The MCU returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x0b
Data length
2
0x0000
Data
0
None
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Example: 0x55aa 03 0b 0000 0d
3.11、Get System Time (GMT)
Explanation:
(1) Green Time does not include time zone and daylight saving time factors, and is an international standard time reference.
(2) When the local time stamp is calibrated before the module is connected to the network, it will return success with valid time data.
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x0c
Data length
2
0x0000
Data
0
None
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Example: 0x55aa 03 0c 0000 0e
The module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x0c
Data length
2
0x0007
Data
7
Data length is 7 bytes: Data [0] is the time success flag, 0 means failure, 1 means success Data [1] means year, 0x00 means 2000 Year Data [2] is the month, starting from 1 to 12 Data [3] is the date, starting from 1 to 31 Data [4] is the clock, starting from 0 to 23 ends Data [5] is minutes, starting from 0 to 59 and ends Data [6] is seconds, starting from 0 to 59 ends
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Example: 0x55aa 00 0c 0007 01 10 04 13 05 06 07 4c (5: 6: 7 GMT on April 19, 2016)
3.12、Get local time
Explanation:
(1) Local time is based on GMT plus local time (where the device is activated) and daylight saving time.
(2) When the local time stamp is calibrated before the module is connected to the network, it will return success with valid time data.
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x1c
Data length
2
0x0000
Data
xxxx
None
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
The module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x1c
Data length
2
0x0008
Data
Data
The length of the data is 8 bytes: Data [0] is the time success flag, 0 means failure, 1 means success Data [1] means year, 0x00 means 2000 Year Data [2] is the month, starting from 1 to 12 Data [3] is the date, starting from 1 to 31 Data [4] is the clock, starting from 0 to 23 ends Data [5] is minutes, starts from 0 to 59 ends Data [6] is seconds, starts from 0 to 15 ends Data [7] is days, from 1 Start to end of 7, 1 for Monday
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
example:
(1) If the device is activated and used in China, local time is Beijing time (Eastern District 8)
0x55aa 00 1c 0008 01 10 04 13 05 06 07 02 5f (Beijing time April 19, 2016 5: 6: 7PM)
(2) If the device is activated for use abroad, the local time is the time zone of the device
3.13、WIFI functional test (scan specified routes)
Explanation:
The module currently scans the specified SSID: tuya_mdev_test, and returns the scan result and signal strength percentage.
In order to prevent the defective products to the greatest extent, it is recommended that the customer control the distance between the router and the device to about 5 meters.
A signal strength of 60% or higher is qualified. Here you can adjust it according to your production line and factory environment.
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x0e
Data length
2
0x0000
Data
None
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
The module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x0e
Data Length
2
0x0002
Data
2
Data length is 2 bytes: Data [0]: 0x00 failed, 0x01 succeeded; When Data [0] is 0x01, that is, Data [1] indicates the signal strength (0-100, 0 signal is the worst, 100 signal is the strongest) When Data [0] is 0x00, which means failure, Data [1] is 0x00 means that the specified ssid is not scanned, and Data [1] is 0x01 indicates that the module has not flashed the authorization key
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
3.14、Get module memory
Description: Get the remaining memory of the WIFI module
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x0f
Data length
2
0x0000
Data
None
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
The module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x0f
Data length
2
0x0004
Data
4
Data length is 4 bytes, big-endian format: Such as 0x00 0x00 0x28 0x00 represents the remaining 10240 bytes of memory
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
3.15、Turn on the function of obtaining weather data (optional)
Note: Turn on the function of obtaining weather data
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x20
Data length
2
N ((L + K) + (L + K) ...)
Data
Data
L: Occupies 1 byte, indicating the length of K K: Request parameter name For example: L: 0x06 K: w.temp L: 0x06 K: w.pm25 L : 0x0a K: w.humidity L: 0x0b K: w.condition
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
The module returns:
Field
length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x20
Data Length
2
0x0002
Data | 2 | Data [0]: 0x00 indicates failure. For the specific error reason, see the error code description of Data [1] 0x01 indicates success Data [1]: <br / > 0x00 No error 0x01 error code, illegal data format 0x02 error code, abnormal error | Checksum | 1 | Byte-sum results from the beginning of the frame, 256 remainder |
3.16、Send weather data (optional)
Note: The weather data is issued. After the weather data function is turned on, the module will issue it regularly. After the function is turned on, it will be sent out immediately, followed by 30-minute intervals.
Module sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x21
Data length
2
N ((LKTLV) + (LKTLV) + ...)
Data
Data
0x00: indicates failure 0x01: error code, indicates that the parameter service does not have permissions (confirm whether the parameter service is purchased) 0x01: indicates success L: Parameter name length K: Parameter name T: 0x00 integer, 0x01 character string L: Field name length V: Field value
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
The MCU module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x21
Data length
2
0x0000
Data
0
None
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Remarks:
The request parameter list such as w.temp, w.pm25 returns w.temp, and the returned parameters are less than the request parameters. Please check carefully that the request parameter names are correct.
The field value of w.condition can refer to "Weather UTF-8 Code Comparison Table" or the following "W.condition Weather UTF-8 Code Table"
example:
w.humidity: 69, w.temp: 32, w.pm25: 10, w.condition: cloudy (UTF-8 encoding E5A49A E4BA91)
55 AA 00 21 00 40 01 0A 77 2E 68 75 6D 69 64 69 74 79 00 04 00 00 00 45 06 77 2E 74 65 6D 70 00 04 00 00 00 20 06 77 2E 70 6D 32 35 00 04 00 00 00 10 0B 77 2E 63 6F 6E 64 69 74 69 6F 6E 01 06 E5 A4 9A E4 BA 91 1E
The weather UTF-8 code table for w.condition is as follows:
Text
hex encoding
text
hex encoding
Sunny
E699B4
Heavy Rain
E5A4A7 E99BA8
Thunderstorm
E99BB7 E69AB4
Sandstorm
E6B299 E5B098 E69AB4
Light Snow
E5B08F E99BAA
Snow
E99BAA
Frost Mist
E586BB E99BBE
Heavy Rain
E69AB4 E99BA8
Partial showers
E5B180 E983A8 E998B5 E99BA8
Dust
E6B5AE E5B098
Lightning
E99BB7 E794B5
Light Shower
E5B08F E998B5 E99BA8
Rain
E99BA8
Sleet
E99BA8 E5A4B9 E99BAA
Dust tornado
E5B098 E58DB7 E9A38E
Ice particles
E586B0 E7B292
Strong Sandstorm
E5BCBA E6B299 E5B098 E69AB4
Yangsha
E689AC E6B299
Light to moderate rain
E5B08F E588B0 E4B8AD E99BA8
Mostly sunny
E5A4A7 E983A8 E699B4 E69C97
Fog
E99BBE
Shower
E998B5 E99BA8
Strong showers
E5BCBA E998B5 E99BA8
Heavy Snow
E5A4A7 E99BAA
Heavy Rain
E789B9 E5A4A7 E69AB4 E99BA8
Blizzard
E69AB4 E99BAA
Hail
E586B0 E99BB9
Small to medium snow
E5B08F E588B0 E4B8AD E99BAA
Shao Yun
E5B091 E4BA91
Snow showers
E5B08F E998B5 E99BAA
Zhongxue
E4B8AD E99BAA
Overcast
E998B4
Ice Needle
E586B0 E99288
Heavy Rain
E5A4A7 E69AB4 E99BA8
Thunderstorm with hail
E99BB7 E998B5 E99BA8 E4BCB4 E69C89 E586B0 E99BB9
Freezing rain
E586BB E99BA8
Snow showers
E998B5 E99BAA
Light rain
E5B08F E99BA8
Haze
E99CBE
Rain
E4B8AD E99BA8
Cloudy
E5A49A E4BA91
Thunderstorm
E99BB7 E998B5 E99BA8
Medium to heavy rain
E4B8AD E588B0 E5A4A7 E99BA8
Heavy rain
E5A4A7 E588B0 E69AB4 E99BA8
3.17、Status reporting (synchronous)
Explanation:
This command is a synchronous instruction. After the MCU data status is reported, you need to wait for the module to return the result.
Each time the sending module will respond, the WIFI module cannot report multiple times before it responds;
When the network is not good and the data is difficult to report in time, the module will fail after 5 and the MCU will need to wait more than 5 seconds.
For details of the datapoint status data unit, see "Section 3.7"
The "status report" may contain multiple datapoint "command data units"
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x22
Data length
2
Depends on the type and number of Status Data Units
Data
N
"3.7.1 Status Data Unit" Group
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
The module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x23
Data Length
2
0x01
Data
Data
0x00: indicates failure 0x01: indicates success
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
3.18、Get the current WIFI signal strength (optional)
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x24
Data length
2
0
Data
N
None
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
The module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x24
Data length
2
0x0001
Data
Data
0x00: indicates failure less than 0: indicates signal strength, such as (-60db)
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
3.19、Notify WIFI module to turn off heartbeat (optional)
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x25
Data length
2
0
Data
N
None
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
The module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x25
Data length
2
0
Data
N
None
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Explanation:
For MCU modules that need to sleep to reduce power consumption, this command can be sent before sleep to turn off the heartbeat of the WIFI module, which is convenient for entering the sleep state. Do not send this command when the device is powered on. After the WIFI module is powered on, a heartbeat connection must be established with the MCU.
3.20、Serial port network interface (optional)
Explanation:
It can be used for Tuya App or Tuya App's SDK for independent development to obtain relevant distribution network parameters, and can send serial data to the module through the serial port to achieve the module's network distribution operation through serial communication.
The module must be in the network ready state to complete serial port network configuration.
After the module returns the response of successfully receiving the serial network configuration information, it will use the received information to connect to the route and activate it in the cloud.
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x2A
Data length
2
xx
Data
Data
{"s": "xxx", "p": "yyy", "t": "zzz"} s: ssid p: password t: token, generated by the App
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
The module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x2A
Data Length
2
0x0001
Data
x
0x00: Data received successfully 0x01: Not in the network status 0x02: json data is illegal 0x03: Other errors
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
3.21、Get the current WIFI network status
Device Networking Status
Description
Status Values
Status 1
smartconfig configuration status
0x00
State 2
AP configuration state
0x01
State 3
WIFI is configured but not connected to the router
0x02
State 4
WIFI is configured and connected to the router
0x03
Status 5
Connected to the router and connected to the cloud
0x04
State 6
WIFI device is in low power mode
0x05
State 7
WIFI device is in smartconfig&AP mode
0x06
Note: Consistent with 3.4.
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x2B
Data length
2
0x0000
Data
None
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
The module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x2B
Data length
2
0x0000
Data
x
0x00: smartconfig configuration status 0x01: AP configuration status 0x02: WIFI is configured but not connected to a router 0x03: WIFI is configured and connected to a router 0x04: Connected to the router and connected to the cloud 0x05: WIFI device is in low power mode 0x06: WIFI device is in smartconfig&AP mode
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
3.22、Sweeper map data service (optional)
Explanation:
The command of the sweeper stream service is not supported by all modules. The use of this service requires the use of a specific module to enable related services before it can be used normally.
This service is currently a service for the transmission of the map data of the sweeper, as a special shortcut channel for the sweeper and Tuya App map line.
The complete map data of the sweeper is distinguished by the map ID in the protocol. The data App of the same ID will think that this is a map data and will be accumulated.
The sweeping machine needs to move around the whole house during the cleaning process. Here, weak WIFI signals in some areas may cause data upload failure. At present, the module can cache 24 pieces of data under sufficient premise.
3.22.1、Map Stream Data Transmission
Explanation:
1) The offset indicates the total length of data that has been sent before the map data MCU.
2) The data content here can be up to 1024 bytes in the module serial port.
The data part of the data packet cannot exceed 1024 bytes, and the content of map data in each packet is recommended to be 512 bytes per packet.
3) The map ID is used as a sign of a complete map data. The data transmission party needs to change the map ID to start a new cleaning after the completion of a completed cleaning, that is, the end of a map data. Generally, the map ID is performed in increments. Display local map ID. Changing the current map data display will clear the previous data and restart the display.
4) After the data transmission is started, the module will stop sending heartbeat packets to ensure the priority transmission of map data. The subsequent modules will not actively resume the sending of heartbeat packets under the premise of continuous power.
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x28
Data length
2
0x0006 + N
Data
2
Map ID number: The map ID number is used as the belonging identifier of a map data.
4
Offset (the first packet is 0)
N
Entity Data (Big Endian Mode)
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
The module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x28
Data length
2
0x0001
Data
Data
0x00: Success 0x01: The streaming service function is not enabled 0x02: The streaming server was not successfully connected 0x03: Data push timeout 0x04: The length of the transmitted data is wrong
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
3.23、WIFI functional test (connection specified route)
Explanation:
After the MCU sends the routing information to the module successfully, the module will use the relevant information to connect to the route.
The MCU here determines whether to connect to the router, according to the packet received in the module 3.4 protocol (state 4-WIFI is configured and connected to the router). Here it is judged that the failed MCU receives the return failure, or does not receive the status packet connected to the route for a long time (more than 15S) and considers it to have failed.
The production test can be re-sent to the production test and the test command can be resent. If no routing packet is received, it indicates that the module is in production test and needs to reset the module or send the test command to power on again.
The module needs to be connected to the network to complete the connection test.
Before the production test, the module's heartbeat package and product query package module must be initialized before entering the production test of the connection route.
The router name string length supports a maximum of 32 bytes, and the router password string length supports a maximum of 64 bytes.
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x2C
Data Length
2
xxxx
Data
Data
{"ssid": "xxx", "password": "xxxxxxxx"} ssid: route name password: routing password
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
The module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x2C
Data length
2
0x0001
Data
1
The data length is 1 byte: Data [0]: 0x00 routing information reception failed: (Please check whether the routing information packet sent is not the completed JSON packet data ) 0x01 routing information received successfully (result please note the network status packet in 3.4)
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
3.24、Get module MAC
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x2d
Data length
2
0x0000
Data
None
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
The module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x2d
Data length
2
0x0007
Data
data [0]: Flag indicating whether the MAC address was successfully obtained: 0x00 indicates success, which means that the next 6 bytes of the MAC address are valid. 0x01 indicates that the MAC address failed, Indicates that the following 6 bytes of the MAC are invalid. data [1] \ ~ data [6]: When the MAC address flag data [0] is obtained, it indicates that the module has a valid MAC address.
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
3.25、Infrared status notification (optional)
Device Infrared Status
Description
Status Value
Status 1
Sending Infrared Code
0x00
State 2
Send infrared code end
0x01
State 3
Infrared Learning Begins
0x02
State 4
Infrared Learning End
0x03
Explanation:
The infrared function is manually configured and sent samples by the Tuya IOT front desk configuration or the relevant project manager.
The time period of infrared code sending is very short and needs to maintain good real-time performance. Here the serial data is sent directly. No related retransmissions are performed.
According to their own development needs, customers can display related status according to the infrared status report.
Infrared code sending and receiving infrared codes need to use the two IO pins of the module. If the networking status of your device is also the module's self-processing mode, please note that the IO port should not be set with related IO pins.
Module sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x2e
Data length
2
0x0001
Data
Data
Indicate infrared working status: 0x00: status 1 0x01: status 2 0x02: status 3 0x03: status 4
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
MCU returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x2e
Data length
2
0x0000
Data
None
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
3.26、Infrared enters production test (optional)
Explanation:
The infrared production test function can be entered only when the network is not configured.
The module enters the infrared learning state when it enters the infrared production test state.
Once the module enters the infrared production test mode, it will always be in the production test state and then send it out according to the learning data. When the module is equipped with the Internet or is powered off, it will exit the production test.
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x2f
Data length
2
0x0000
Data
None
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
The module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x2f
Data length
2
0x0001
Data
Data
0x00 indicates that the infrared transmission and reception production testing was successful 0x01 indicates that the infrared transmission and reception production test failed
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
3.27、Map streaming data transmission (supports multiple map data) (optional)
Explanation: 1) The commands of the sweeping machine streaming service are not supported by all modules. To use this service, you need to use a specific module to activate related services before it can be used normally. 2) This service is currently aimed at the data transmission of sweeper maps, and serves as a special shortcut for sweeper and graffiti APP map lines. 3) This channel is used for sweeping a map to show a sweeper machine with multiple data maps synthesized.
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x30
Data length
2
0x0009+N
Data
1
Map service agreement version: 0x00
2
Map service session ID number: used as a sign for a map display
6
BUF [0] Sub-map ID number (a map session can be synthesized from multiple map data, such as a route map) BUF [1] Map ID data processing method 0x00: continue to accumulate 0x01: clear the data uploaded by the sub map ID number BUF [2] ~ BUF [5] Submap data offset (the first packet is 0)
N
Entity data (big endian mode)
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
The module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x30
Data length
2
0x0001
Data
1
0x00:success 0x01:failure
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
3.28、File download service (optional)
Description: 1) This channel is used by customers to download and use application files other than MCU firmware. The files need to be uploaded to the Tuya product management background to be used with the corresponding version APP. 2) The firmware only performs the data transmission channel and does not do anything to the customer to download the file. The integrity check in the relevant file is handled by the user. 3) While the file is being downloaded, DP data can also be sent and uploaded normally. It is not recommended to do large amount of data communication during file download to affect the data download efficiency.
3.28.1、Download start (file package size notification)
Description: 1) Before the actual file is downloaded here, the module will first send the size of the file to be downloaded to the MCU as the download start notification. When the MCU confirms that the length of the packet is correct, it will start to pull the file package when the command packet is returned normally Otherwise, the process of pulling files will be interrupted and exited.
Module send:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x31
Data length
2
0x0004
Data
4
File total bytes, unsigned int, big endian
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Example: 0x55aa 00 31 0004 00006800 9C (file length 26624, or 26KB)
The MCU returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x31
Data length
2
0x0001
Data
4
File transfer size:0x00:256byte0x01:512byte0x02:1024byte
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Example:0x55aa 03 31 0001 00 34
3.28.2、File package transfer
Description: 1) Upgrade package transmission data format: package offset (unsigned short) + package data 2) If the MCU receives the data length of the frame is 4 and the packet offset> = firmware size, the packet transmission ends
Description: 1) Upgrade package transmission data format: package offset (unsigned short) + package data 2) If the MCU receives the data length of the frame is 4 and the packet offset >= firmware size, the packet transmission ends
Module send:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x32
Data length
2
0x0004 + Packet length
Data
4
The first four bytes are fixed to the packet offset, followed by the data packet content
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
example:
The file size to be upgraded is 530Byte, (the last packet of data may not be returned)
(1) The first packet of data, the packet offset is 0x00000000, and the packet length is 256
0x55aa 00 32 0104 00000000 xx… xx XX
(2) The second packet data, the packet offset is 0x00000100, and the data packet length is 256
0x55aa 00 32 0104 00000100 xx… xx XX
(3) The third packet of data, the packet offset is 0x00000200, and the packet length is 18
0x55aa 00 32 0016 00000200 xx… xx XX
(4) The last packet, the packet offset is 0x00000212, and the data packet length is 0
0x55aa 00 32 0004 00000212 xx ... xx XX
The MCU returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x32
Data length
2
0x0000
Data
0
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Example:0x55aa 03 32 0000 34
3.29、Voice module related protocol (optional)
Description: 1) The protocols in this catalog apply to the universal docking of the voice module VWXR2 2) The general firmware of other non-voice modules does not have the relevant protocol functions in this directory
3.29.1、Get voice status code (optional)
Description:
The voice status code of the voice module will automatically return, and the MCU can also actively query.
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x60
Data length
2
0x0000
Data
0
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
The module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x60
Data length
2
0x0001
Data
1
Voice status code: 0: idle; 1: mic mute state; 2: wake up; 3: recording; 4: recognition; 5: Recognition success; 6: Recognition failure;
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
3.29.2、mic mute setting (optional)
Description:
The command word can be set to mute, or query the mute state.
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x61
Data length
2
0x0001
Data
1
Mute setting value: 0x00: mic on; 0x01: mic mute; 0xA0: query mute status;
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
The module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x61
Data length
2
0x0001
Data
1
Mute state value: 0: mic is on; 1: mic is mute;
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
3.29.3、Speaker volume setting (optional)
Description:
The command word can set the volume, and also can query the volume.
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x62
Data length
2
0x0001
Data
1
0-10:Volume value; 0xA0:query volume;
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
The module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x62
Data length
2
0x0001
Data
1
0-10:Volume value;
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
3.29.4、Audio production test (optional)
Description:
Audio production test is to record and broadcast while comparing the input and output audio signals of the module through acoustic instruments.
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x63
Data length
2
0x0001
Data
1
Audio production test value: 0x00: turn off the audio production test; 0x01: mic1 audio loop test; 0x02: mic2 audio loop test; 0xA0: query the current production test status;
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
The module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x63
Data length
2
0x0001
Data
1
Current production value
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
3.29.5、Wake up production test (optional)
Description:
After entering the wake-up test, it is required to play the wake-up word electrical signal for 10s, and return failure after 10s timeout.
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x64
Data length
2
0x0000
Data
0
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
The module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x64
Data length
2
0x0001
Data
1
Wake-up result returns 0: Wake-up failed; 1: Wake-up success;
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
3.29.6、extensions
Description: Expand the relevant system functions of the voice module
1) Add status notification and settings for "Play/Pause, Bluetooth On/Off, Local Alarm, Voice Control Combination" function
"Play/Pause" function: play and pause functions of music, ancient poems, jokes, etc.;
"Bluetooth on/off" function: Bluetooth switch of Bluetooth speaker;
"Local alarm clock" function: synchronous notification of alarm data set by voice and APP;
"Voice control combination" function: notification of voice control instructions such as "previous song" and "next song";
MCU function settings:
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x65
Data length
2
N
Data
1
Subcommand:0x00
Data: {“play”:true,”bt_play”:true}
play: play/pause function true (play)/false (pause) bt_play: Bluetooth switch function true (on)/false(off) MCU settings only support "play/pause" ""Bluetooth switch"
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x65
Data length
2
0x0002
Data
1
Subcommand:0x00
1
Operation result: 0x00: success 0x01: failure
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Status notification:
Module sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x65
Data length
2
1+N
Data
1
Subcommand:0x01
Data: {“play”:true,”bt_play”:true,” alarm”:”xxxx”,” ctrl_group”:”xxxx”}
play: play/pause function true(play)/false(pause) bt_play: Bluetooth switch function true(on)/false(off) alarm: local alarm function "xxx" is a character string ctrl_group: voice control combination function "xxx" is a character string
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
MCU returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x65
Data length
2
0x0002
Data
1
Subcommand:0x01
1
Operation result: 0x00: success 0x01: failure
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
3.30、Module development service
3.30.1、Turn on module time service notification
Description:
1) The MCU requires the module to re-power on every time to notify the MCU whether the time of the module has been calibrated in the cloud. Use this command to open the module's initiative to notify the MCU of the time data service required.
2) After the module is powered on, the service is started. When the time is calibrated, the time service required by the MCU to actively notify the relevant time is selected, and the time data required by the relevant MCU is sent.
3) If the module is not powered on, the service will not be restarted after the service is turned on. If the module is not restarted, you need to obtain the time and time.
4) At present, the acquisition time protocol of 3.11 and 3.12, the time stamp of the module will not be calibrated immediately after connecting to the server. There is a time period that causes the MCU to retry to obtain the time every time it is powered on. This service can be activated after the module Proactively notify the MCU after time calibration
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x34
Data length
2
0x0002
Data
1
0x01 (subcommand)
1
0x00: Green time 0x01: Local time
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
The module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x34
Data length
2
0x0002
Data
1
0x01 (subcommand)
1
0x00: Service started successfully 0x01: Service started failed
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
3.30.2、Module Time Service Notification
Description:
1) The module chooses to send the corresponding time data according to the service of the open time notification sent by the MCU.
2) The module power-on service is closed, and the MCU needs to re-send the open module time notification service
Module sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x34
Data length
2
0x0009
Data
1
0x02 (subcommand)
1
0x00: Green time 0x01: Local time
7
The data length is 6 bytes Data [0] is the year, 0x00 means 2000 Data [1] is the month, from 1 to 12 Data [2] is the date 1 to 31 end Data [3] is the clock, from 0 to 23 Data [4] is the minute, from 0 to 59 end Data [5] is the second , From 0 to 15 end Data [6] is week, from 1 to 7 end, 1 represents Monday
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
The MCU returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x34
Data length
2
0x0001
Data
1
0x02 (subcommand)
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
3.30.3、Actively request weather service data
Description:
(1) For some product needs, it is necessary to have the ability to actively obtain weather service data based on the weather service that is actively sent for half an hour.
We provide this command for users to actively obtain weather service interface data.
(2) The frequency of this command cannot be less than one minute, and multiple requests within one minute are processed only once.
(3) This command is used to confirm the data request, whether the data is issued or the command to send weather data through 0x21.
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x34
Data length
2
0x0001
Data
1
0x03 (subcommand)
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x34
Data length
2
0x0002
Data
1
0x03 (subcommand)
1
Execution result: 0x00: success 0x01: failure
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
3.30.4、Open module reset status notification (optional)
Description:
(1) At present, the module supports local removal, APP removal, and APP factory reset, but the MCU has no way to know the module.
Status notification This service is used for users who need to open the module status notification.
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x34
Data length
2
0x0001
Data
1
0x04 (subcommand)
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x34
Data length
2
0x0002
Data
1
0x04 (subcommand)
1
Execution result: 0x00: success 0x01: failure
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
3.30.5、Module reset status notification (optional)
Device reset status
description
State value
State 1
Module local reset
0x00
State 2
APP remote reset
0x01
State 3
APP factory reset
0x02
Description:
(1) The transmission in the reset state will be retransmitted at most twice, and the retransmission interval remains 1s
Module send:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x34
Data length
2
0x0002
Data
1
0x05 (subcommand)
1
Reset status: 0x00: Module local reset 0x01:APP remote reset 0x02:APP factory reset
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
MCU return:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x34
Data length
2
0x0001
Data
1
0x05 (subcommand)
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Bluetooth related functions (optional)
Bluetooth functional test (scan specified Bluetooth beacons)
Description:
(1) The module currently scans the specified Bluetooth beacon: ty_mdev, and returns the scan result and signal strength percentage
(2) In order to prevent defective products to the greatest extent, it is recommended that customers control the distance from the equipment to about 5 meters.
Signal strength greater than or equal to 60% is qualified. Here you can adjust it according to your own production line and factory environment.
MCU sends:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x03
Command Word
1
0x35
Data length
2
0x0001
Data
1
0x01 (subcommand)
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
The module returns:
Field
Length (byte)
Description
Frame Header
2
0x55aa
Version
1
0x00
Command Word
1
0x35
Data length
2
0x0003
Data
1
0x01 (subcommand)
2
The data length is 2 bytes: Data [0]: 0x00 fails, 0x01 succeeds; When Data [0] is 0x01, which means success, Data [1] indicates the signal strength (0-100, 0 signal is the worst, 100 signal is the strongest); When Data [0] is 0x00, that is, failure, Data [1] is 0x00 means the specified Bluetooth beacon is not scanned, and Data [1] is 0x01 The module has not burned the authorization key
Checksum
1
Byte-sum results from the beginning of the frame, 256 remainder
Last updated
Was this helpful?