软件协议文档
终端设备协议文档
功能&协议池(所有功能协议)
MQTT协议文档
HTTP协议文档
微光TLV协议文档
微光卡&码协议
功能模块&UI文档
人脸机
VF105
门禁标品MQTT协议文档(DejaOS版本)
Access control standard MQTT protocol document
VF系列HTTP协议接口文档V1.0.28(Vbar版本)
VF系列MQTT协议文档V1.37.0(Vbar版本)
VF系列-协议模式下通讯协议文档V1.0.4(Vbar版本)
VF系列MQTT协议文档V1.37.3(Vbar版)
VF系列HTTP协议文档_V1.37.2(Vbar版本)
VF系列HTTP协议文档_V1.37.5(Vbar版本)
门禁标品配置项文档(DejaOS版本)
VF-MQTT 协议文档_V1.1.37.13(Vbar版本)
VF203
门禁标品MQTT协议文档(DejaOS版本)
VF系列HTTP协议接口文档V1.0.28(Vbar版本)
VF系列-协议模式下通讯协议文档V1.0.4(Vbar版本)
VF系列-MQTT协议文档V1.37.2(Vbar版本)
VF 系列 HTTP 协议接口文档-V1.37.1(Vbar版本)
VF系列-MQTT协议文档V1.37.11(Vbar版本)
VF106
门禁标品MQTT协议文档(Android版本)
Access control standard MQTT protocol document
VF114
门禁标品MQTT协议文档(DejaOS版本)
VF系列HTTP协议接口文档V1.0.28(Vbar版本)
VF系列-协议模式下通讯协议文档V1.0.4(Vbar版本)
VF205
门禁标品MQTT协议文档(DejaOS版本)
VF系列HTTP协议接口文档V1.0.28(Vbar版本)
VF系列-协议模式下通讯协议文档V1.0.4(Vbar版本)
VF202
门禁标品MQTT协议文档(DejaOS版)
门禁标品配置项文档(DejaOS版本)
VF107
MQTT Protocol Documentation(DejaOS Version)
门禁标品MQTT协议文档(DejaOS版)
门禁标品配置项文档(DejaOS版本)
VF124
门禁标品MQTT协议文档(DejaOS版)
门禁标品配置项文档(DejaOS版本)
读头
EE200
读头标品TLV通讯协议
Read header standard TLV communication protocol
读头标品TLV通讯协议V3.10(Vbar版本)
微光RS485一拖多协议V0.7(Vbar版)
TX200
读头标品TLV通讯协议
Read header standard TLV communication protocol
QT960
读头标品TLV通讯协议
Read header standard TLV communication protocol
QT660
读头标品TLV通讯协议
Read header standard TLV communication protocol
Q340
读头标品TLV通讯协议
Read header standard TLV communication protocol
M300
读头标品TLV通讯协议
Read header standard TLV communication protocol
读头标品TLV通讯协议V3.10(Vbar版本)
JL7000
读头标品TLV通讯协议
Read header standard TLV communication protocol
Q350
读头标品TLV通讯协议
Read header standard TLV communication protocol
MU86
读头标品TLV通讯协议
Read header standard TLV communication protocol
读头标品TLV通讯协议V3.10(Vbar版本)
MET
读头标品TLV通讯协议
Read header standard TLV communication protocol
扫码器TCP/HTT通讯协议V1.0(Vbar版本)
读头标品TLV通讯协议V3.10(Vbar版本)
M350
读头标品TLV通讯协议
Read header standard TLV communication protocol
读头标品TLV通讯协议V3.10(Vbar版本)
扫码器TCP/HTT通讯协议V1.0(Vbar版本)
DW200
读头标品TLV通讯协议(DejaOS版本)
Read header standard TLV communication protocol
读头标品HTTP&TCP协议文档(DejaOS版本)
读头标品HTTP&TCP协议文档(Vbar版本)
读头标品TLV通讯协议V3.10(Vbar版)
读头标品RS485一拖多协议V0.7(Vbar版本)
M340
读头标品TLV通讯协议
Read header standard TLV communication protocol
CR90
刷卡模块通信协议v3.0
CR90指令文档
微光指令:0x60 蓝牙设备控制
1.7/2.x扫码器配置字段说明文档
3.1 扫码器新配置字段说明
门禁
DW200
门禁标品MQTT协议文档-V1(DejaOS版本)
Access control standard MQTT protocol document
门禁扫码器MQTT协议文档(Vbar版本)
DW200 门禁系统配置项文档(DejaOS版本)
门禁标品MQTT协议文档-V2(DejaOS版本)
dw205配置项临时
MU86
门禁20180820 MQTT协议文档V1.0.2(Vbar版)
Q350
门禁20180820 MQTT协议文档V1.0.2(Vbar版)
MET
门禁20180820 MQTT协议文档V1.0.2(Vbar版)
M350
门禁标品MQTT协议文档
Access control standard MQTT protocol document
门禁20180820 MQTT协议V1.0.1(Vbar版本)
门禁20180820 MQTT协议文档V1.0.2(Vbar版本)
MP86
门禁20180820 MQTT协议文档V1.0.2(Vbar版本)
S450
MQTT协议V1.0.0
DW205
门禁标品MQTT协议文档-V2(DejaOS版本)
Access Standard Product MQTT Protocol-V2 (DejaOS Version)
DW205 门禁系统配置项文档(DejaOS版本)
控制板
CC104
控制板标品MQTT协议文档
Control board standard MQTT protocol documentation
CC101
控制板标品MQTT协议文档
CC101标品20211101MQTT协议V3.6(Vbar版本)
平台服务协议文档
网关服务接口定义
门禁应用接口定义
工具文档
多弦产品API签名安全规则
海外锁
app和后台的mqtt协议
凡汐应用接口定义
文档
-
+
首页
Access control standard MQTT protocol document
1\. Overview ============ Application scenarios --------------------- This document is used to establish network communication with devices through the MQTT protocol. Interface format ---------------- **API topic** * Downlink command: `xxxx/cmd/{#uuid}/xxxx` * Upstream reply: `xxxx/cmd/xxxx_reply` * Upstream event: `xxxx/event/yyyy` * Downlink reply: `xxxx/event/{#uuid}/yyyy_reply` **General packets** * Parameter description <table><thead><tr><th>Parameter Name</th><th>Description</th><th>type</th><th>Required</th><th>remark</th></tr></thead><tbody><tr><td>serialNo</td><td>Serial number</td><td>string</td><td>Yes</td><td>When sending a message to the device in the background or by an app, you must pass a unique serial number, no more than 32 digits, and the device will use the same serial number when it receives the message and returns the result. Vice versa.</td></tr><tr><td>uuid</td><td>Unique device identifier</td><td>string</td><td>Yes</td><td>It is usually a 6-character unique identifier</td></tr><tr><td>data</td><td>Message data body</td><td>object</td><td>Yes</td><td>The format of the message body is different for different types of messages, and the data format is mainly listed in detail in the interface list</td></tr><tr><td>time</td><td>timestamp</td><td>long</td><td>Yes</td><td>A 10-bit timestamp, in seconds</td></tr><tr><td>sign</td><td>Message signature</td><td>string</td><td>No</td><td>Currently, signature authentication is not enabled by default</td></tr><tr><td>code</td><td>Result code</td><td>string</td><td>No</td><td>The returned data must contain codes, and different codes represent different result identifiers.</td></tr></tbody></table> * Sending examples: { "serialNo": "6w8keif5g6", "uuid": "1118HD", "data": { Different interfaces use different parameters; refer to each interface's `Request Parameters` }, "time": 1647580466, "sign": "e0k4jrir85tje8ru4jrur499r99ii4ur" } * Sample response: { "serialNo": "6w8keif5g6", "uuid": "1118HD", "code": "000000", "data": { Different interfaces use different parameters; refer to each interface's `Request Parameters` }, "time": 1647580466, "sign": "e0k4jrir85tje8ru4jrur499r99ii4ur" } 2\. Method interface ==================== Configure queries ----------------- **request** * Flow direction: Platform -> device * Topic:**20220814/cmd/{#uuid}/getConfig** * Note: Data is empty, returns all configuration data, allows query of specified configurations under the group, and supports up to 2 levels. To query the specified configuration, pass the string to the data, example "data": "netInfo.ip". The CI list refers to the attribute list. * Request parameters * Sample request **return** * Flow direction: Device -> platform * Topic:**20220814/cmd/getConfig\_reply** * Note: key/value corresponds to many attributes. For more information, see Attribute List * Return parameters <table><thead><tr><th>parameter</th><th>name</th><th>type</th><th>Required</th><th>example</th><th>Description</th></tr></thead><tbody><tr><td>netInfo</td><td>Network configuration group</td><td>object</td><td>Yes</td><td></td><td>The CI list refers to the attribute list.</td></tr><tr><td>netInfo.ip</td><td>IP address</td><td>string</td><td>Yes</td><td>192.168.1.101</td><td>IP address</td></tr><tr><td>netInfo.dns</td><td>DNS address</td><td>string</td><td>Yes</td><td>8.8.8.8</td><td>DNS address</td></tr></tbody></table> * Returns an example { "netInfo": { "ip": "192.168.1.101", "dns": "8.8.8.8" } } Configuration modifications --------------------------- **request** * Flow direction: Platform -> device * Topic:**20220814/cmd/{#uuid}/setConfig** * Description: None * Request parameters <table><thead><tr><th>parameter</th><th>name</th><th>type</th><th>Required</th><th>example</th><th>Description</th></tr></thead><tbody><tr><td>netInfo</td><td>Network configuration group</td><td>object</td><td>Yes</td><td></td><td>The CI list refers to the attribute list.</td></tr><tr><td>netInfo.ip</td><td>IP address</td><td>string</td><td>Yes</td><td>192.168.1.101</td><td>IP address</td></tr><tr><td>netInfo.dns</td><td>DNS address</td><td>string</td><td>Yes</td><td>8.8.8.8</td><td>DNS address</td></tr></tbody></table> * Sample request { "netInfo": { "ip": "192.168.1.101", "dns": "8.8.8.8" } } **return** * Flow direction: Device -> platform * Topic:**20220814/cmd/setConfig\_reply** * Note: Data is in a standard format * Return parameters * Returns an example Query permissions ----------------- **request** * Flow direction: Platform -> device * Topic:**20220814/cmd/{#uuid}/getPermission** * Description: null * Request parameters <table><thead><tr><th>parameter</th><th>name</th><th>type</th><th>Required</th><th>example</th><th>Description</th></tr></thead><tbody><tr><td>size</td><td>Number per page</td><td>int</td><td>Yes</td><td>10</td><td>Number per page, up to 200 (1 face type)</td></tr><tr><td>page</td><td>page number</td><td>int</td><td>Yes</td><td>0</td><td>On the first few pages, start with 0</td></tr><tr><td>code</td><td>Voucher number</td><td>string</td><td>No</td><td></td><td>Voucher number</td></tr><tr><td>type</td><td>Credential type</td><td>int</td><td>No</td><td>103</td><td>At present, it supports 100-transparent QR code, 101-static QR code, 103-dynamic QR code, 202-card, 303-face, and 501-pass password</td></tr><tr><td>id</td><td>Permission ID</td><td>string</td><td>No</td><td>2kifk39k40</td><td></td></tr></tbody></table> * Sample request { "size": 10, "page": 0, "code": "", "type": 103, "id": "2kifk39k40" } **return** * Flow direction: Device -> platform * Topic:**20220814/cmd/getPermission\_reply** * Description: None * Return parameters <table><thead><tr><th>parameter</th><th>name</th><th>type</th><th>Required</th><th>example</th><th>Description</th></tr></thead><tbody><tr><td>page</td><td>Current page</td><td>int</td><td>Yes</td><td>0</td><td>Current Page(0 Start)</td></tr><tr><td>size</td><td>Size per page</td><td>int</td><td>Yes</td><td>10</td><td>The current page size</td></tr><tr><td>total</td><td>total</td><td>int</td><td>Yes</td><td>100</td><td>Total number of whitelists</td></tr><tr><td>totalPage</td><td>Total number of pages</td><td>int</td><td>Yes</td><td>10</td><td>Total number of pages</td></tr><tr><td>count</td><td>The actual number of whitelists on the current page</td><td>int</td><td>Yes</td><td>5</td><td>The actual number of whitelists on the current page</td></tr><tr><td>content</td><td>List of permissions</td><td>array</td><td>Yes</td><td></td><td>List of permissions</td></tr><tr><td>content.id</td><td>Permission Id</td><td>string</td><td>Yes</td><td>2kifk39k40</td><td>The unique identifier of the permission, which is determined according to the identifier when adding and deleting, is recommended to pass a 32-bit random value</td></tr><tr><td>content.type</td><td>Permission type</td><td>int</td><td>Yes</td><td>100</td><td>At present, it supports 100-transparent QR code, 101-static QR code, 103-dynamic QR code, 202-card, 303-face, and 501-pass password</td></tr><tr><td>content.code</td><td>Permission value</td><td>string</td><td>Yes</td><td>abcd1234</td><td>If the permission type is 303, this value corresponds to base64</td></tr><tr><td>content.extra</td><td>Additional parameters</td><td>object</td><td>No</td><td>{}</td><td>Scalable, the face device will pass information such as the name of the person</td></tr><tr><td>content.time</td><td>Time period</td><td>object</td><td>Yes</td><td>{}</td><td>See the Appendix for a list of time intervals</td></tr></tbody></table> * Returns an example { "page": 0, "size": 10, "total": 100, "totalPage": 10, "count": 5, "content": null } Add permissions --------------- **request** * Flow direction: Platform -> device * Topic:**20220814/cmd/{#uuid}/insertPermission** * Description: null * Request parameters <table><thead><tr><th>parameter</th><th>name</th><th>type</th><th>Required</th><th>example</th><th>Description</th></tr></thead><tbody><tr><td>id</td><td>Permission Id</td><td>string</td><td>Yes</td><td>20190101120101</td><td>The unique identifier of the permission, which is determined according to the identifier when adding and deleting, is recommended to pass a 32-bit random value</td></tr><tr><td>type</td><td>Permission type</td><td>int</td><td>Yes</td><td>103</td><td>At present, it supports 100-transparent QR code, 101-static QR code, 103-dynamic QR code, 202-card, 303-face, and 501-pass password</td></tr><tr><td>code</td><td>Permission value</td><td>string</td><td>Yes</td><td>001002</td><td>Note: If the permission type is 303, this value is passed as userId; For other types, this value corresponds to the content (e.g., card number, passcode content, code value)</td></tr><tr><td>extra</td><td>Additional parameters</td><td>Object</td><td>No</td><td>0</td><td>It can be extended, and the face device will pass information such as the name of the person, and the parameters are detailed in the extra parameter table when adding permissions</td></tr><tr><td>time</td><td>Time period</td><td>Object</td><td>Yes</td><td>0</td><td>Refer to the appendix for the time parameter table</td></tr><tr><td>account</td><td>The number of passes</td><td>int</td><td>No</td><td>1</td><td>The number of passes, that is, the number of passes, is counted by the number of passes</td></tr></tbody></table> * Sample request { "id": "20190101120101", "type": 103, "code": "001002", "extra": null, "time": null, "account": 1 } **return** * Flow direction: Device -> platform * Topic:**20220814/cmd/insertPermission\_reply** * Note: If the inserted permission already exists in the device (the ID is the same), it will be ignored, but it will still return successful. JSON array strings, each element is a permission ID, example: \["20190101120101","20190101120102"\] * Return parameters * Returns an example Remove permissions ------------------ **request** * Flow direction: Platform -> device * Topic:**20220814/cmd/{#uuid}/delPermission** * Description: JSON array string array, each element is a permission ID, example: \["20190101120101","20190101120102"\] * Request parameters * Sample request **return** * Flow direction: Device -> platform * Topic:**20220814/cmd/insertPermission\_reply** * Note: If the deleted permission ID does not exist, it will be ignored, but it will still return success. JSON array strings, each element is a permission ID, example: \["20190101120101","20190101120102"\] * Return parameters * Returns an example Clear permissions ----------------- **request** * Flow direction: Platform -> device * Topic:**20220814/cmd/{#uuid}/clearPermission** * Note: Data is in a standard format * Request parameters * Sample request **return** * Flow direction: Device -> platform * Topic:**20220814/cmd/clearPermission\_reply** * Note: Data is in a standard format * Return parameters * Returns an example Add faces --------- **request** * Flow direction: Platform -> device * Topic:**20220814/cmd/{#uuid}/insertPersonFace** * Description: None * Request parameters <table><thead><tr><th>parameter</th><th>name</th><th>type</th><th>Required</th><th>example</th><th>Description</th></tr></thead><tbody><tr><td>userId</td><td>Permission userId</td><td>string</td><td>Yes</td><td>2kifk39k40</td><td>The unique identifier of the permission, which is determined according to the identifier when adding and deleting, is recommended to pass a 32-bit random value</td></tr><tr><td>code</td><td>Permission value</td><td>string</td><td>Yes</td><td>abcd1234</td><td>Note: The photo is base64 or the file ID corresponding to the photo file</td></tr><tr><td>extra</td><td>Additional parameters</td><td>object</td><td>No</td><td></td><td></td></tr><tr><td>extra.name</td><td>The name of the person</td><td>string</td><td>Yes</td><td>Tom</td><td>The name parameter must be passed and the content cannot be empty. There is no limit to length or content.</td></tr><tr><td>extra.accessMode</td><td>Permission mode</td><td>int</td><td>Yes</td><td>0</td><td>0: Permission access mode only, 1: Personnel identification + authority access mode; Default: 0</td></tr><tr><td>extra.sex</td><td>gender</td><td>int</td><td>No</td><td>0</td><td>0: Male, 1: Female</td></tr><tr><td>extra.country</td><td>country</td><td>string</td><td>No</td><td></td><td></td></tr><tr><td>extra.groupName</td><td>Group name</td><td>string</td><td>No</td><td></td><td></td></tr><tr><td>extra.idCardNumber</td><td>Card number</td><td>string</td><td>No</td><td>1234567890</td><td>If you fill in the card number when the face permission is issued, you can directly swipe the card with the corresponding card number for identification, and the screen will also display the name of the person corresponding to the card number.</td></tr><tr><td>extra.mobile</td><td>Mobile phone number</td><td>string</td><td>No</td><td>13800138000</td><td>Personnel's mobile phone number</td></tr><tr><td>extra.remarks</td><td>remark</td><td>string</td><td>No</td><td>Here's a note</td><td>Used to fill in the description information</td></tr><tr><td>extra.photo</td><td>On-screen photos</td><td>string</td><td>No</td><td>base64EncodedImageString</td><td>Base64 picture of personnel</td></tr></tbody></table> * Sample request { "userId": "2kifk39k40", "code": "abcd1234", "extra": { "name": "Zhang San", "accessMode": 0, "sex": 0, "country": "", "groupName": "", "idCardNumber": "1234567890", "mobile": "13800138000", "remarks": "This is a remark", "photo": "base64EncodedImageString" } } **return** * Flow direction: Device -> platform * Topic:**20220814/cmd/insertPersonFace\_reply** * Description: JSON array string array, each element is a permission ID, example: \["20190101120101","20190101120102"\] * Return parameters * Returns an example Delete a face ------------- **request** * Flow direction: Platform -> device * Topic:**20220814/cmd/{#uuid}/deletePersonFace** * Description: JSON array string array, each element is a permission ID, example: \["20190101120101","20190101120102"\] * Request parameters * Sample request **return** * Flow direction: Device -> platform * Topic:**20220814/cmd/deletePersonFace\_reply** * Note: Either all succeeds or all fail, or the deleted face does not exist, it will be ignored, but it will still return successful. JSON array strings, each element is a permission ID, example: \["20190101120101","20190101120102"\] * Return parameters * Returns an example Clear the face -------------- **request** * Flow direction: Platform -> device * Topic:**20220814/cmd/{#uuid}/clearAllPersonFace** * Note: Data is in a standard format * Request parameters * Sample request **return** * Flow direction: Device -> platform * Topic:**20220814/cmd/clearAllPersonFace\_reply** * Note: Data is in a standard format * Return parameters * Returns an example Query faces ----------- **request** * Flow direction: Platform -> device * Topic:**20220814/cmd/{#uuid}/getAllPersonFace** * Description: null * Request parameters <table><thead><tr><th>parameter</th><th>name</th><th>type</th><th>Required</th><th>example</th><th>Description</th></tr></thead><tbody><tr><td>size</td><td>Number per page</td><td>int</td><td>Yes</td><td>10</td><td>Number per page, up to 200 (1 face type)</td></tr><tr><td>page</td><td>page number</td><td>int</td><td>Yes</td><td>0</td><td>On the first few pages, start with 0</td></tr><tr><td>picLarge</td><td>A photo taken at the time of registration</td><td>int</td><td>No</td><td>1</td><td>Whether to return the photo at the time of registration, 0 or do not upload or do not return, 1: return</td></tr></tbody></table> * Sample request { "size": 10, "page": 0, "picLarge": 1 } **return** * Flow direction: Device -> platform * Topic:**20220814/cmd/getAllPersonFace\_reply** * Description: null * Return parameters <table><thead><tr><th>parameter</th><th>name</th><th>type</th><th>Required</th><th>example</th><th>Description</th></tr></thead><tbody><tr><td>page</td><td>Current page</td><td>int</td><td>Yes</td><td>0</td><td>Current Page(0 Start)</td></tr><tr><td>size</td><td>Size per page</td><td>int</td><td>Yes</td><td>10</td><td>The current page size</td></tr><tr><td>total</td><td>total</td><td>int</td><td>Yes</td><td>100</td><td>Total number of whitelists</td></tr><tr><td>totalPage</td><td>Total number of pages</td><td>int</td><td>Yes</td><td>10</td><td>Total number of pages</td></tr><tr><td>count</td><td>The actual number of faces on the current page</td><td>int</td><td>Yes</td><td>5</td><td>The actual number of faces on the current page</td></tr><tr><td>content</td><td>List of permissions</td><td>array</td><td>Yes</td><td></td><td>List of permissions</td></tr><tr><td>content.id</td><td>Permission Id</td><td>string</td><td>Yes</td><td>2kifk39k40</td><td>When adding and deleting a unique identifier of a face, it is recommended to pass a 32-bit random value based on this identifier</td></tr><tr><td>content.code</td><td>Permission value</td><td>string</td><td>Yes</td><td>abcd1234</td><td>If the permission type is 303, this value corresponds to base64</td></tr><tr><td>content.extra</td><td>Additional parameters</td><td>object</td><td>No</td><td></td><td>Scalable, the face device will pass information such as the name of the person</td></tr><tr><td>content.time</td><td>Time period</td><td>object</td><td>Yes</td><td></td><td>View the list of time ranges</td></tr></tbody></table> * Returns an example { "page": 0, "size": 10, "total": 100, "totalPage": 10, "count": 5, "content": null } Remote control -------------- **request** * Flow direction: Platform -> device * Topic:**20220814/cmd/{#uuid}/control** * What it does: Remotely control the device and trigger corresponding actions of the device, including restarting, remote door opening, device enablement, device disablement, device reset, etc * Request parameters <table><thead><tr><th>parameter</th><th>name</th><th>type</th><th>Required</th><th>example</th><th>Description</th></tr></thead><tbody><tr><td>command</td><td>command</td><td>int</td><td>Yes</td><td>0</td><td>0: Restart, 1: Remotely open the door, 2: Device enabled, 3: Device disabled, 4: Device reset</td></tr></tbody></table> * Sample request { "command": 0 } **return** * Flow direction: Device -> platform * Topic:**20220814/cmd/control\_reply** * Description: None * Return parameters <table><thead><tr><th>parameter</th><th>name</th><th>type</th><th>Required</th><th>example</th><th>Description</th></tr></thead><tbody><tr><td>command</td><td>command</td><td>int</td><td>Yes</td><td>0</td><td>0: Restart, 1: Remotely open the door, 2: Device enabled, 3: Device disabled, 4: Device reset</td></tr></tbody></table> * Returns an example { "command": 0 } Apply upgrades -------------- **request** * Flow direction: Platform -> device * Topic:**20220814/cmd/{#uuid}/upgradeFirmware** * Note: After the device receives the updated firmware, it downloads the firmware file, returns the result to the application platform after the download is successful, and then restarts it * Request parameters <table><thead><tr><th>parameter</th><th>name</th><th>type</th><th>Required</th><th>example</th><th>Description</th></tr></thead><tbody><tr><td>type</td><td>The type of upgrade package</td><td>int</td><td>Yes</td><td>0</td><td>The type value must be 0 or 10: the system is upgraded, the file is xxx.pkg1, and the application upgrade package is xxx.tar.xz</td></tr><tr><td>url</td><td>The download address of the upgrade package, http address</td><td>string</td><td>Yes</td><td><a href="http://example.com/upgrade/xxx.pkg">http://example.com/upgrade/xxx.pkg</a></td><td>If the URL can be accessed, the device will start downloading the file. If URL access fails, the API returns the message "URL access failed, the device cannot download it"</td></tr><tr><td>md5</td><td>The value of the upgrade package is MD5</td><td>string</td><td>Yes</td><td>d41d8cd98f00b204e9800998ecf8427e</td><td>The upgrade package is MD5 verified</td></tr></tbody></table> * Sample request { "type": 0, "url": "http://example.com/upgrade/xxx.pkg", "md5": "d41d8cd98f00b204e9800998ecf8427e" } **return** * Flow direction: Device -> platform * Topic:**20220814/cmd/upgradeFirmware\_reply** * Note: Data is in a standard format * Return parameters * Returns an example Synchronization key ------------------- **request** * Flow direction: Platform -> device * Topic:**20220814/cmd/{#uuid}/secretSync** * Note: The device has a synchronization key to use the dynamic QR code normally, otherwise it cannot be recognized and cannot be used normally. * Request parameters <table><thead><tr><th>parameter</th><th>name</th><th>type</th><th>Required</th><th>example</th><th>Description</th></tr></thead><tbody><tr><td>syncFlag</td><td>Synchronization identity</td><td>int</td><td>Yes</td><td>1</td><td>1 - Full, 2 - Incremental</td></tr><tr><td>secretKeys</td><td>Array of keys</td><td>array</td><td>Yes</td><td></td><td></td></tr><tr><td>secretKeys.secretKeyType</td><td>The type of key</td><td>string</td><td>Yes</td><td>RSA</td><td>Key type, such as RSA, AES, etc</td></tr><tr><td>secretKeys.secretKeyCode</td><td>Key encoding</td><td>string</td><td>Yes</td><td>vguang</td><td>Key encoding, corresponding to the key encoding, such as vguang</td></tr><tr><td>secretKeys.secretKeyValue</td><td>The value of the key</td><td>string</td><td>Yes</td><td>abc123</td><td></td></tr><tr><td>secretKeys.secretKeyStartTime</td><td>Start time</td><td>int</td><td>Yes</td><td>1672502400</td><td>Key start time, timestamp (seconds)</td></tr><tr><td>secretKeys.secretKeyExpirytime</td><td>Expiration time</td><td>int</td><td>Yes</td><td>1672588800</td><td>Key expiration time, timestamp (seconds)</td></tr><tr><td>secretKeys.syncType</td><td>Synchronization type</td><td>int</td><td>Yes</td><td>1</td><td>Valid when SyncFlag=2, 1-increase, 2-modify, 3-delete, SecretKeyValue, SecretKeyStartTime, and SecretKeyExpirytime are optional when deleted, and SecretKeyStartTime is greater than or equal to SecretKeyStartTime. The deletion of SecretKeyExpirytime is less than or equal to the SecretKeyExpirytime</td></tr></tbody></table> * Sample request { "syncFlag": 1, "secretKeys": null } **return** * Flow direction: Device -> platform * Topic:**20220814/cmd/secretSync\_reply** * Note: Data is in a standard format * Return parameters * Returns an example 3\. Event interface =================== Connection escalation --------------------- **request** * Flow direction: Device -> platform * Topic:**20220814/event/connect** * Note: Once the device is connected to the MQTT server, the device will report the current status of the device immediately * Request parameters <table><thead><tr><th>parameter</th><th>name</th><th>type</th><th>Required</th><th>example</th><th>Description</th></tr></thead><tbody><tr><td>time</td><td>The current time of the device</td><td>Long</td><td>Yes</td><td>1647580466</td><td></td></tr><tr><td>sysVersion</td><td>The system version number</td><td>string</td><td>Yes</td><td>v1.0.3.4050</td><td></td></tr><tr><td>appVersion</td><td>App version number</td><td>string</td><td>Yes</td><td>v3.204.234.5</td><td></td></tr><tr><td>createTime</td><td>The date the app was published</td><td>Long</td><td>Yes</td><td>1647550466</td><td></td></tr><tr><td>uuid</td><td>Unique device identifier</td><td>string</td><td>Yes</td><td>1117U9</td><td></td></tr><tr><td>name</td><td>The name of the device</td><td>string</td><td>Yes</td><td>#12-B01</td><td></td></tr><tr><td>model</td><td>Device type</td><td>string</td><td>Yes</td><td>vf106</td><td></td></tr></tbody></table> * Sample request { "time": null, "sysVersion": "v1.0.3.4050", "appVersion": "v3.204.234.5", "createTime": null, "uuid": "1117U9", "name": "#12-B01", "model": "vf106" } **return** * Flow direction: None * Topic: **None** * Description: No need to return * Return parameters * Returns an example Alarm reporting --------------- **request** * Flow direction: Device -> platform * Topic:**20220814/event/alarm** * Description: None * Request parameters <table><thead><tr><th>parameter</th><th>name</th><th>type</th><th>Required</th><th>example</th><th>Description</th></tr></thead><tbody><tr><td>type</td><td>Status type</td><td>int</td><td>Yes</td><td>1</td><td>For details, see Appendix - Alarm Types</td></tr><tr><td>value</td><td>Status value</td><td>int</td><td>No</td><td>0</td><td>For details, see Appendix - Alarm Types</td></tr></tbody></table> * Sample request { "type": 1, "value": 0 } **return** * Flow direction: Platform -> device * Topic:**20220814/event/{#uuid}/alarm\_reply** * Note: Data is in a standard format * Return parameters * Returns an example Pass escalation --------------- **request** * Flow direction: Device -> platform * Topic:**20220814/event/access** * Note: During the operation of the device, if a person passes through the access control, the access result is automatically reported to the application platform * Request parameters <table><thead><tr><th>parameter</th><th>name</th><th>type</th><th>Required</th><th>example</th><th>Description</th></tr></thead><tbody><tr><td>id</td><td>Permission Id</td><td>string</td><td>Yes</td><td>20190101120101</td><td>If the permission exists in the whitelist of the device, the corresponding permission ID is returned, and if it does not exist, -1 is returned</td></tr><tr><td>type</td><td>Permission type</td><td>int</td><td>Yes</td><td>103</td><td>At present, it supports 100-transparent QR code, 101-static QR code, 103-dynamic QR code, 202-card, 303-face, and 501-pass password</td></tr><tr><td>code</td><td>Permission value</td><td>string</td><td>Yes</td><td>001002</td><td>If it's a face, it's a feature value</td></tr><tr><td>time</td><td>Travel time</td><td>Long</td><td>Yes</td><td>1647580466</td><td>Timestamps are in seconds</td></tr><tr><td>result</td><td>Pass results</td><td>int</td><td>Yes</td><td>1</td><td>1 indicates that it passes, and 0 indicates that it does not pass</td></tr><tr><td>extra</td><td>Additional parameters</td><td>Object</td><td>No</td><td></td><td>Extensible, the face device will transmit information such as the person's name, real-time photo, body temperature, etc., if the ID is -1, the value of extra is the recognized raw data</td></tr></tbody></table> * Sample request { "id": "20190101120101", "type": 103, "code": "001002", "time": null, "result": 1, "extra": null } **return** * Flow direction: Platform -> device * Topic:**20220814/event/{#uuid}/access\_reply** * Note: The data is in a standard format, and the device deletes the access record after the platform returns * Return parameters * Returns an example 4\. Configure attributes ======================== Network configuration --------------------- **Configuration Group Name: netInfo** **configuration group description: information body about network configuration** * Configure parameters <table><thead><tr><th>parameter</th><th>name</th><th>type</th><th>Required</th><th>example</th><th>Description</th></tr></thead><tbody><tr><td>type</td><td>The type of network</td><td>int</td><td>Yes</td><td>1</td><td>Network type (0: Ethernet, 1: WiFi)</td></tr><tr><td>ssid</td><td>Wifi name</td><td>string</td><td>Yes</td><td>MyWiFiNetwork</td><td>WiFi name</td></tr><tr><td>pwd</td><td>Wifi password</td><td>string</td><td>Yes</td><td>SecurePassword123</td><td>WiFi password</td></tr><tr><td>dhcp</td><td>Specifies whether the DHCP mode is used</td><td>int</td><td>Yes</td><td>2</td><td>DHCP (1: Static, 2: Dynamic)</td></tr><tr><td>ip</td><td>IP address</td><td>string</td><td>Yes</td><td>192.168.1.100</td><td>IP address</td></tr><tr><td>gateway</td><td>gateway</td><td>string</td><td>Yes</td><td>192.168/XMLSchema=instance1.1</td><td>gateway</td></tr><tr><td>dns</td><td>DNS servers</td><td>string</td><td>Yes</td><td>8.8.8.8</td><td>DNS servers</td></tr><tr><td>subnetMask</td><td>Subnet mask</td><td>string</td><td>Yes</td><td>255.255.255.0</td><td>Subnet mask</td></tr></tbody></table> MQTT configuration ------------------ **Configuration Group Name: mqttInfoConfiguration** **Group Description: An information body about the mqtt server configuration** * Configure parameters <table><thead><tr><th>parameter</th><th>name</th><th>type</th><th>Required</th><th>example</th><th>Description</th></tr></thead><tbody><tr><td>mqttAddr</td><td>MQTT server IP</td><td>string</td><td>Yes</td><td>192.168.1.100:1883</td><td>MQTT Address (IP: Port)</td></tr><tr><td>port</td><td>MQTT port</td><td>string</td><td>Yes</td><td>1883</td><td>MQTT Address (IP: Port)</td></tr><tr><td>clientId</td><td>The client ID, which is the same as the device address</td><td>string</td><td>Yes</td><td>device_001</td><td>The client ID, which is the same as the device address</td></tr><tr><td>mqttName</td><td>MQTT username</td><td>string</td><td>Yes</td><td>user123</td><td>MQTT username</td></tr><tr><td>password</td><td>MQTT password</td><td>string</td><td>Yes</td><td>securePass456</td><td>MQTT password</td></tr></tbody></table> Basic configuration ------------------- **Configuration Group Name: baseInfo** **configuration group description: About the basic configuration information body** * Configure parameters <table><thead><tr><th>parameter</th><th>name</th><th>type</th><th>Required</th><th>example</th><th>Description</th></tr></thead><tbody><tr><td>time</td><td>Time</td><td>long</td><td>Yes</td><td>1672502400</td><td>Time</td></tr><tr><td>sysVersion</td><td>The system version number</td><td>string</td><td>No</td><td>1.0.0</td><td>The system version number</td></tr><tr><td>appVersion</td><td>App version number</td><td>string</td><td>No</td><td>1.0.0</td><td>App version number</td></tr><tr><td>createTime</td><td>The date the app was published</td><td>string</td><td>No</td><td>2023-01-01</td><td>The date the app was published</td></tr><tr><td>uuid</td><td>Device Address (MAC)</td><td>string</td><td>No</td><td>1118HF</td><td>Device Address (MAC)</td></tr><tr><td>deviceName</td><td>The name of the device</td><td>string</td><td>Yes</td><td>MyDevice</td><td>The name of the device</td></tr><tr><td>model</td><td>Device type</td><td>string</td><td>No</td><td>ModelX</td><td>Device type</td></tr><tr><td>status</td><td>Basic status of the device</td><td>string</td><td>No</td><td>1</td><td>0 - Inactive, 1 - Normal, 2 - Disabled</td></tr><tr><td>operationMode</td><td>Mode of operation</td><td>string</td><td>No</td><td>0</td><td>Device operation mode (all data records in the previous mode will be cleared when switching between different modes, including permission whitelist), 0: Internet mode, 1: LAN mode, 2: stand-alone mode, default: 0</td></tr><tr><td>tamperSwitch</td><td>Tamper switch</td><td>string</td><td>Yes</td><td>1</td><td>0: Off, 1: On, Default: 1</td></tr><tr><td>alarmSwitch</td><td>Alarm switch</td><td>string</td><td>Yes</td><td>1</td><td>0: Off, 1: On, Default: 1</td></tr><tr><td>autoRbootTime</td><td>Auto-restart time</td><td>int</td><td>Yes</td><td>10</td><td>Auto-restart time, unit: seconds, default 10s (i.e., the application operation does not respond and the waiting time exceeds 10s, it will automatically restart)</td></tr></tbody></table> System configuration -------------------- **Configuration Group Name: sysInfo** **Configuration Group Description: About System Configuration Info** * Configure parameters <table><thead><tr><th>parameter</th><th>name</th><th>type</th><th>Required</th><th>example</th><th>Description</th></tr></thead><tbody><tr><td>disk</td><td>Remaining space on the device</td><td>int</td><td>No</td><td>1048576</td><td>The remaining space of the device is measured in kb</td></tr><tr><td>memroy</td><td>Memory space remaining</td><td>int</td><td>No</td><td>524288</td><td>The remaining memory space is measured in kilobytes</td></tr><tr><td>cpu</td><td>CPU usage ratio</td><td>int</td><td>No</td><td>20</td><td>CPU Usage %</td></tr></tbody></table> Access control configuration ---------------------------- **Configuration Group Name: doorInfo** **Configuration Group Description: About Access Control Configuration Info** * Configure parameters <table><thead><tr><th>parameter</th><th>name</th><th>type</th><th>Required</th><th>example</th><th>Description</th></tr></thead><tbody><tr><td>mode</td><td>Device door opening mode</td><td>string</td><td>Yes</td><td>0</td><td>The device opens the door mode, 0-normal, 1-normally open mode, 2-normally closed mode; Default: 0</td></tr><tr><td>openTime</td><td>Door opening time, in seconds</td><td>string</td><td>Yes</td><td>5</td><td>Door opening time, in seconds</td></tr><tr><td>relayDelay</td><td>Relay delay time, in seconds</td><td>int</td><td>Yes</td><td>2</td><td>Default: 2 seconds</td></tr><tr><td>recMode</td><td>Recognize patterns</td><td>int</td><td>Yes</td><td>1</td><td>Recognition mode (1: person/card in one, 2: person/code in one, 3: person/card/code either)</td></tr><tr><td>scannerWorkMode</td><td>Scanner operating mode</td><td>int</td><td>Yes</td><td>4</td><td>Working mode (for card swiping/code scanning 1: transparent transmission mode, 2: protocol mode, 3: development mode, 4: local whitelist mode) Note: When it is in development mode, faceWorkMode will also change to development mode at the same time. Default: 4</td></tr><tr><td>faceWorkMode</td><td>Face working mode</td><td>int</td><td>Yes</td><td>4</td><td>Working mode (for face swiping 1: transparent transmission mode, 2: protocol mode 3: development mode, 4: local whitelist mode) Note: If it is in development mode, faceWorkMode will also change to development mode at the same time. Default: 4</td></tr><tr><td>qrEn</td><td>Scan the code switch</td><td>int</td><td>Yes</td><td>1</td><td>0: Off, 1: On; Default: 1</td></tr><tr><td>qrCheckInterval</td><td>Scan interval</td><td>int</td><td>Yes</td><td>1000</td><td>The default scanning interval is 1000 milliseconds</td></tr><tr><td>qrAffixesFt</td><td>Prefix and prefix format</td><td>int</td><td>Yes</td><td>1</td><td>QR code prefix and prefix format 1: string format, 2: hexadecimal format; Default: 1</td></tr><tr><td>qrPrefix</td><td>prefix</td><td>string</td><td>Yes</td><td></td><td>QR code prefix, default: "" (empty)</td></tr><tr><td>qrPostfix</td><td>suffix</td><td>string</td><td>Yes</td><td></td><td>QR code suffix, default: "" (empty)</td></tr><tr><td>nfcEn</td><td>Swipe switch</td><td>int</td><td>Yes</td><td>1</td><td>0: Off, 1: On; Default: 1</td></tr><tr><td>nfcFt</td><td>Format conversion</td><td>int</td><td>Yes</td><td>0</td><td>NFC format conversion, 0: do not convert, 1: convert to 16 decimal character format output, 2: convert 10 character output; Default: 0</td></tr><tr><td>nfcOrd</td><td>Forward and reverse order</td><td>int</td><td>Yes</td><td>0</td><td>NFC data forward and reverse order 0: positive order, 1: reverse order; Default: 0</td></tr><tr><td>nfcAffixesFt</td><td>Prefix and prefix format</td><td>int</td><td>Yes</td><td>1</td><td>NFC prefix and prefix format, 1: string format, 2: hexadecimal format; Default: 1</td></tr><tr><td>nfcPrefix</td><td>prefix</td><td>string</td><td>Yes</td><td></td><td>NFC prefix, default: "" (empty)</td></tr><tr><td>nfcPostfix</td><td>suffix</td><td>string</td><td>Yes</td><td></td><td>NFC suffix, default: "" (empty)</td></tr><tr><td>nfcReadIdNum</td><td>Identification number</td><td>int</td><td>Yes</td><td>0</td><td>0: read the physical card number of the ID card, 1: read the ID number; Default: 0</td></tr><tr><td>doorSensorDelay</td><td>Alarm delay</td><td>int</td><td>Yes</td><td>30</td><td>How long after the alarm signal is executed, in seconds, default: 30s</td></tr><tr><td>doorSensor</td><td>Trigger type</td><td>int</td><td>Yes</td><td>2</td><td>Alarm signal trigger type, 0: disconnected from ground trigger, 1: short contact with ground, 2: not triggered (default)</td></tr><tr><td>alarmOutputSwitch</td><td>Output switch</td><td>int</td><td>Yes</td><td>1</td><td>The alarm triggers the output switch, 1: ON (default), 0: OFF</td></tr><tr><td>alarmRelay</td><td>Alarm relays</td><td>int</td><td>Yes</td><td>1</td><td>alarmOutputSwitch=1 is valid, 1: output relay, 0: no output relay</td></tr></tbody></table> Real-time status ---------------- **Configuration Group Name: statusInfoConfiguration** **Group Description: About the real-time status configuration body of the device** * Configure parameters <table><thead><tr><th>parameter</th><th>name</th><th>type</th><th>Required</th><th>example</th><th>Description</th></tr></thead><tbody><tr><td>door</td><td>Door magnetic status</td><td>int</td><td>No</td><td>0</td><td>0: The door is turned off, and 1: The door is open</td></tr><tr><td>fire</td><td>Fire alarm status</td><td>int</td><td>No</td><td>0</td><td>0: Fire alarm off, 1: Fire alarm on</td></tr></tbody></table> Temperature measurement configuration ------------------------------------- **Configuration Group Name: temperatureInfoConfiguration** **Group Description: About the temperature measurement configuration information body** * Configure parameters <table><thead><tr><th>parameter</th><th>name</th><th>type</th><th>Required</th><th>example</th><th>Description</th></tr></thead><tbody><tr><td>alarmTemperature</td><td>Alarm temperature</td><td>float</td><td>Yes</td><td>37.3</td><td>Default 37.3</td></tr><tr><td>bodyTemperatureDetect</td><td>Temperature measuring switch</td><td>string</td><td>Yes</td><td>1</td><td>0: Close, 1: Turn on the temperature measurement service module; Default: 0</td></tr><tr><td>infraredEnable</td><td>Infrared preview</td><td>string</td><td>Yes</td><td>1</td><td>Infrared image, 0: off, 1: on; Default: 1</td></tr><tr><td>temperatureCompensation</td><td>Temperature compensation</td><td>string</td><td>Yes</td><td>0</td><td>Temperature compensation, default: 0</td></tr></tbody></table> Face configuration ------------------ **Configuration Group Name: faceInfo** **Configuration Group Description: About the face configuration information body** * Configure parameters <table><thead><tr><th>parameter</th><th>name</th><th>type</th><th>Required</th><th>example</th><th>Description</th></tr></thead><tbody><tr><td>recgThreshold</td><td>Identify thresholds</td><td>string</td><td>Yes</td><td>54</td><td>Face similarity threshold, which is used to determine whether the person has passed the recognition (0~100); Default: 54</td></tr><tr><td>registerThreshold</td><td>Permission thresholds</td><td>string</td><td>Yes</td><td>80</td><td>Permission threshold, personnel similarity threshold (0~100), when the personnel similarity reaches this value, the permission delivery will fail</td></tr><tr><td>living</td><td>Liveness detection</td><td>string</td><td>Yes</td><td>1</td><td>0: Biopsy off, 1: Biopsy on; Default: 1</td></tr><tr><td>livingThreshold</td><td>Liveness threshold</td><td>string</td><td>Yes</td><td>10</td><td>The threshold of liveness detection (0~100) is defaulted (10), the biopsy algorithm judges whether the face video frame is alive every time, and gives a score, when the score is greater than the threshold, it is considered to be live, the larger the liveness detection threshold, the higher the score that needs to be biopsied, the more difficult it is to attack non-live, and it may affect the liveness pass rate</td></tr><tr><td>exposureValues</td><td>Exposure compensation</td><td>string</td><td>Yes</td><td>0</td><td>Exposure compensation, default: 0</td></tr><tr><td>maxTrackFaces</td><td>Number of face recognitions</td><td>string</td><td>Yes</td><td>5</td><td>Multi-person recognition and face recognition number configuration[1,5]</td></tr><tr><td>faceRecgEnable</td><td>Identify the switch</td><td>string</td><td>Yes</td><td>1</td><td>Face recognition: 0: off, 1: on; Default: 1</td></tr><tr><td>maskDetectEnable</td><td>Mask testing</td><td>string</td><td>Yes</td><td>0</td><td>Mask detection: 0: off, 1: on; Default: 0</td></tr><tr><td>maskEnable</td><td>Mask identification</td><td>string</td><td>Yes</td><td>1</td><td>Mask identification: 0: off, 1: on; Default: 1</td></tr><tr><td>maskThresholdValue</td><td>Mask thresholds</td><td>string</td><td>Yes</td><td>53</td><td>Mask threshold (0~100), default: 53</td></tr><tr><td>recgDistance</td><td>Recognize the distance</td><td>string</td><td>Yes</td><td>150</td><td>Recognition distance (50~150cm), default: 150</td></tr><tr><td>recgInterval</td><td>Identify the interval</td><td>string</td><td>Yes</td><td>1500</td><td>The time interval for repeated recognition is milliseconds, default: 1500, which must be greater than recgTimeout</td></tr><tr><td>recgTimeout</td><td>Identify timeouts</td><td>string</td><td>Yes</td><td>1000</td><td>Recognize the timeout unit milliseconds, with a minimum of 1000</td></tr><tr><td>repeatRecgEnable</td><td>Duplicate recognition</td><td>string</td><td>Yes</td><td>1</td><td>Repeat recognition switch, 0: Off, 1: On, Default: 1</td></tr><tr><td>strangerVoice</td><td>Recognize speech</td><td>string</td><td>Yes</td><td>3</td><td>The corresponding bit of stranger voice is 1 valid, bit0: please register first to play, bit1: hello stranger</td></tr><tr><td>alarmVoiceData</td><td>Alarm voice</td><td>string</td><td>Yes</td><td>alert</td><td>alarmOutputSwitch=1 is valid, "" (empty): plays the default voice, "Alarm": plays "Alarm".</td></tr><tr><td>faceCheckSucVoice</td><td>Voice type</td><td>string</td><td>Yes</td><td>1</td><td>Voice of face verification successful: 0: no voice, 1: play default voice, 2: play custom voice</td></tr><tr><td>faceCheckSucVoiceData</td><td>Voice data</td><td>string</td><td>Yes</td><td>Customize your voice content</td><td>The voice content is successfully customized for face verification</td></tr><tr><td>faceCheckSucRelay</td><td>Face brushing relay</td><td>string</td><td>Yes</td><td>1</td><td>Face verification success relay, 0: no action, 1: output relay</td></tr><tr><td>faceCheckFailedVoice</td><td>Voice type</td><td>string</td><td>Yes</td><td>1</td><td>Voice of face verification failure, 0: no voice, 1: play default voice, 2: play custom voice</td></tr><tr><td>faceCheckFailedVoiceData</td><td>Voice data</td><td>string</td><td>Yes</td><td>Customize your voice content</td><td>Face verification failed, and the voice content was customized</td></tr><tr><td>cardCheckSucVoice</td><td>Voice type</td><td>string</td><td>Yes</td><td>1</td><td>Swipe the card to verify the successful voice: 0: no voice, 1: play the default voice, 2: play the custom voice</td></tr><tr><td>cardCheckSucVoiceData</td><td>Voice data</td><td>string</td><td>Yes</td><td>Customize your voice content</td><td>Swipe the card to verify that the voice content is customized</td></tr><tr><td>cardCheckSucRelay</td><td>Relay switches</td><td>string</td><td>Yes</td><td>1</td><td>Swipe the card to verify the relay successfully, 0: no action, 1: output relay</td></tr><tr><td>cardCheckFailedVoice</td><td>Voice type</td><td>string</td><td>Yes</td><td>1</td><td>Swipe the card to verify the failed voice, 0: no voice, 1: play the default voice, 2: play the custom voice</td></tr><tr><td>cardCheckFailedVoiceData</td><td>Voice data</td><td>string</td><td>Yes</td><td>Customize your voice content</td><td>The voice of the voice custom voice content failed to be verified by swiping the card</td></tr><tr><td>qrCheckSucVoice</td><td>Voice type</td><td>string</td><td>Yes</td><td>1</td><td>Scan the QR code to verify the successful voice: 0: no voice, 1: play the default voice, 2: play the custom voice</td></tr><tr><td>qrCheckSucVoiceData</td><td>Voice data</td><td>string</td><td>Yes</td><td>Customize your voice content</td><td>Scan the code to verify the voice content of the voice customization</td></tr><tr><td>qrCheckSucRelay</td><td>Relays</td><td>string</td><td>Yes</td><td>1</td><td>Scan the code to verify the relay successfully, 0: no action, 1: output relay</td></tr><tr><td>qrCheckFailedVoice</td><td>Voice type</td><td>string</td><td>Yes</td><td>1</td><td>Failed voice by scanning the QR code, 0: no voice, 1: play the default voice, 2: play the custom voice</td></tr><tr><td>qrCheckFailedVoiceData</td><td>Voice data</td><td>string</td><td>Yes</td><td>Customize your voice content</td><td>Scan the code to verify the voice content of the voice customization</td></tr><tr><td>saveLargePic</td><td>Panorama picture</td><td>string</td><td>Yes</td><td>1</td><td>Traffic record panorama 1: Save, 0: Do not save</td></tr><tr><td>saveSmallPic</td><td>Face pictures</td><td>string</td><td>Yes</td><td>1</td><td>Traffic record face picture 1: save, 0: do not save</td></tr><tr><td>saveStrangerRecord</td><td>Stranger Records</td><td>string</td><td>Yes</td><td>1</td><td>Stranger Records: 1: Save, 0: Not Saved</td></tr><tr><td>avoidAttendanceStep</td><td>Preservation interval</td><td>string</td><td>Yes</td><td>3</td><td>Passage record keeping intervals. Unit: seconds, default is 3</td></tr><tr><td>voiceMode</td><td>Voice mode</td><td>string</td><td>Yes</td><td>3</td><td>The corresponding bit of the voice mode is 1 is valid, bit0 broadcasts the registration word, and bit1 plays the greeting</td></tr><tr><td>grettings</td><td>Greetings</td><td>string</td><td>Yes</td><td>3</td><td>The corresponding bit of the greeting is 1, bit0: the playback is successful, bit1: please pass the play, bit2: the playback welcome, bit3: the playback time greeting</td></tr><tr><td>infraredLightSet</td><td>Fill light</td><td>string</td><td>Yes</td><td>2</td><td>Fill light mode, 0: long closed, 1: long open, 2: auto mode</td></tr><tr><td>lightSensitive</td><td>Photosensitive control</td><td>string</td><td>Yes</td><td>1</td><td>Photosensitive control (not used for the time being), 1: ON (default), 0: Off</td></tr><tr><td>lightHighBrightness</td><td>Highest brightness</td><td>string</td><td>Yes</td><td>100</td><td>Ambient light is higher than this value, turning off infrared detection of whether a face has entered the reading area</td></tr><tr><td>lightLowBrightness</td><td>Minimum brightness</td><td>string</td><td>Yes</td><td>50</td><td>The ambient light is lower than this value and a face enters the reading area to turn on the fill light</td></tr><tr><td>lightDetInterval</td><td>Detection interval</td><td>string</td><td>Yes</td><td>1</td><td>Ambient light detection interval, in seconds, default: 1s</td></tr><tr><td>lightDelayTime</td><td>Fill light time-lapse</td><td>string</td><td>Yes</td><td>15</td><td>In automatic mode, the delay time of the fill light is on, in seconds, default: 15s</td></tr><tr><td>lightBrightness</td><td>brightness</td><td>string</td><td>Yes</td><td>50</td><td>Fill light brightness (0~100)</td></tr><tr><td>language</td><td>language</td><td>string</td><td>Yes</td><td>0</td><td>0: Chinese, 1: English</td></tr><tr><td>volume</td><td>volume</td><td>string</td><td>Yes</td><td>50</td><td>Volume (0-100), default: 50</td></tr><tr><td>autoSetTime</td><td>Time updates</td><td>string</td><td>Yes</td><td>1</td><td>Auto-update time, 0: Off, 1: On (default)</td></tr><tr><td>autoSetTimezone</td><td>Time zone updates</td><td>string</td><td>Yes</td><td>1</td><td>Set time zone automatically, 0: off, 1: on (default)</td></tr><tr><td>timezone</td><td>time zone</td><td>string</td><td>Yes</td><td>Asia/Shanghai</td><td><font class="notranslate immersive-translate-target-wrapper" lang="en"><br><font class="notranslate immersive-translate-target-translation-theme-none immersive-translate-target-translation-block-wrapper-theme-none immersive-translate-target-translation-block-wrapper"><font class="notranslate immersive-translate-target-inner immersive-translate-target-translation-theme-none-inner">Time zone, default: Asia/Shanghai, see the <a href="#timeInterval">list of available time zones</a></font></font></font></td></tr><tr><td>deviceName</td><td>The name of the device</td><td>string</td><td>Yes</td><td>gate</td><td>Default: Gate, any string length less than 128</td></tr><tr><td>deviceDirection</td><td>Device location</td><td>string</td><td>Yes</td><td>1</td><td>Device location, 1: in (default), 2: out, 3: in/out</td></tr><tr><td>nameShow</td><td>name</td><td>string</td><td>Yes</td><td>1</td><td>Display name, 0: Not shown, 1: Show, Default: 1</td></tr><tr><td>snShow</td><td>Device SN</td><td>string</td><td>Yes</td><td>1</td><td>Show SN, 0: Don't show, 1: Display, Default: 1</td></tr><tr><td>ipShow</td><td>Device IP</td><td>string</td><td>Yes</td><td>1</td><td>Display IP, 0: Not Displayed, 1: Displayed, Default: 1</td></tr><tr><td>autoDisplayBrightness</td><td>Screen brightness adjustment</td><td>string</td><td>Yes</td><td>0</td><td>Automatically adjust screen brightness, 0: off, 1: on, default: 0</td></tr><tr><td>displayBrightness</td><td>Screen brightness</td><td>string</td><td>Yes</td><td>80</td><td>Screen brightness (0-100) default: 80</td></tr><tr><td>autoScreenOff</td><td>Automatically turn off the screen</td><td>string</td><td>Yes</td><td>1</td><td>Auto screen off, 0: off, 1: on, default: 1</td></tr><tr><td>autoScreenOffTime</td><td>Screen off time</td><td>string</td><td>Yes</td><td>300</td><td>Auto screen off time, default: 300 seconds</td></tr><tr><td>autoScreenSaverTime</td><td>Automatic screensaver</td><td>string</td><td>Yes</td><td>30</td><td>Automatic screensaver time, default: 30 seconds</td></tr></tbody></table> 5\. Appendices ============== Result code ----------- **Description: None** <table><thead><tr><th>parameter</th><th>name</th><th>Description</th></tr></thead><tbody><tr><td>000000</td><td>succeed</td><td>The instruction was successfully executed</td></tr><tr><td>100000</td><td>General error reports</td><td>Unknown error</td></tr><tr><td>100001</td><td>General error reports</td><td>The device has been disabled. Many commands are not allowed to be executed after the device is disabled</td></tr><tr><td>100002</td><td>General error reports</td><td>The device is busy, please try again later. The device is in the process of upgrading, setting up a network, or other task</td></tr><tr><td>100003</td><td>General error reports</td><td>Signature verification failed</td></tr><tr><td>200000-299999</td><td>The parameter is abnormal</td><td>The parameter is abnormal. Different instructions correspond to different parameter specifications, refer to the parameter exception description after each interface</td></tr><tr><td>300000-399999</td><td>Other abnormalities</td><td>Abnormalities due to other known causes. Different instructions correspond to different exceptions, refer to the parameter exception description after each interface</td></tr></tbody></table> Alarm type ---------- **Description: None** <table><thead><tr><th>parameter</th><th>name</th><th>Description</th></tr></thead><tbody><tr><td>0</td><td>Door magnetic status</td><td>0: The door is turned off, and 1: The door is open</td></tr><tr><td>1</td><td>Fire alarm status</td><td>0: Fire alarm off, 1: Fire alarm on</td></tr><tr><td>2</td><td>Illegal door opening</td><td>None</td></tr><tr><td>3</td><td>The door opening times out</td><td>None</td></tr><tr><td>4</td><td>The closing door is timed out</td><td>None</td></tr><tr><td>5</td><td>Escalation debriefing</td><td>0: The upgrade failed and 1: The upgrade was successfully completed</td></tr><tr><td>6</td><td>The watchdog causes the restart</td><td>1: The watchdog causes a restart</td></tr></tbody></table> Time period ----------- **Note: Available time zones: China Standard Time (Beijing), Japan Time (Tokyo), Greenwich Mean Time (London), UK Time (Paris), German Time (Berlin), Eastern US Time (New York)** <table><thead><tr><th>parameter</th><th>name</th><th>Description</th></tr></thead><tbody><tr><td>0</td><td>Permanent permissions</td><td>{"type":0}</td></tr><tr><td>1</td><td>Time period</td><td>{"type":1,"beginTime":1640917147,"endTime":1640917147}</td></tr><tr><td>2</td><td>Week repeats</td><td>{"type":2,"beginTime":1640917147,"endTime":1640917147,"weekPeriodTime":{"1":"9:00-10:00","2":"12:00-13:30</td></tr></tbody></table>
马志祥
2026年6月11日 11:40
124
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
Word文件
PDF文档
PDF文档(打印)
分享
链接
类型
密码
更新密码
有效期