WiFi_dtu协议
<p>[售前咨询](<a href="https://www.showdoc.com.cn/1014034257250686/11408054792643053">https://www.showdoc.com.cn/1014034257250686/11408054792643053</a> "售前咨询")</p>
<p><strong>技术参数:</strong>
1、供电:12V或24V,推荐12V(最大区间7-30V);
2、锁控接口:1个(1路继电器接口 + 锁状态反馈接口),继电器接口内部可通过跳线设置通断功能或12v输出(默认)功能,锁状态接口为光耦隔离可检测通断状态;
3、按键:1个,短按开锁,长按5s进入ap配置模式;
4、指示灯:3组,组1为电源状态(通电亮,断电灭)、系统状态(网络连接成功:慢闪2s间隔,未连接:快闪0.5s间隔,WEB配置状态:1S闪烁一次,数据发送接收:闪烁一下);组2为485收发指示灯;组3为锁控指示灯,分为继电器状态(导通亮,断开灭)、锁状态(开锁灭,关锁亮);
5、天线接口:1个,2.4g;
6、调试接口:G-2- -V3,波特率74880
7、外接扩展433接口:G-14- -V3
8、锁控接口支持跳线,可选择多种输入输出组态,默认锁控组态【输入是通道信号,输出是12v电压】</p>
<p><strong>使用说明:</strong>
1、设备上电(12v电源接入);
2、进入WEB配置状态配置WIFI网络;
3、使用”迅鸣万物“小程序绑定设备,并进行开关调试;
4、进入”物联网云控系统“WEB页面进行业务配置;
5、重新给设备上电;</p>
<p><strong>WEB配置流程:</strong>
1、长按KEY键6S打开AP配置功能【指示灯按照1s周期性闪烁,表示进入web配置状态】;
2、手机或电脑连接设备发布的WiFi热点【热点名称:XMIOT-XXXX,或者ESP-XXXX】;(设备默认连接热点“XunMingIOT/13256666293")
3、打开浏览器访问192.168.4.1 ,即可打开设备配置页面,按照页面提示配置设备;</p>
<p><strong>特殊说明:</strong>
进入ap配置时会断开网络连接,已释放空间,保证扫描wifi有足够空间;
数据json响应时间戳为开机到现在的时间,单位s,最大0xffffffff;
通过网络下发数据,除mqttclient模式外接收到数据直接转发到串口,mqtt发送数据需要用过数据topic才会转发到串口;
通过485接口发送控制指令,需要在数据头前增加“+comm,”标识该数据为配置数据,否则数据会透传。</p>
<p><strong>性能参数:</strong></p>
<p>串口缓存900byte,2个接收缓存,单次发包超过(缓存值-128byte)会自动分包并切换缓存,完成一包接收超时后会切换缓存。
如果串口发送速率低,导致缓存切换到正在发送的缓存地址,会导致数据丢失或数据混乱。
串口接收满中断会提前128byte触发,因此单包发送长度< 串口缓存-128byte时才不会分包;
串口默认配置:波特率115200,数据位8,校验位None,停止位one;
串口最大单包长度500byte,共有2个串口接收buf,因此最大连续数据长度1000byte;-----
网络发送根据网络协商mtu自动分包,无丢包;
115200波特率下进行文件传输,tcp client 收发正常,tcp server模式下仅支持一路客户端,否则会有丢包;
<strong>注意:网络信号差,也会导致丢包!</strong></p>
<p><strong>按钮功能说明:</strong>
短按开锁(按下,抬起,按下时间不超过1s);
长按启动ap配置,用于WiFi等功能配置(按下,保持6秒指示灯按照1s周期性闪烁后,抬起);</p>
<p><strong>指示灯说明:</strong>
PWR:电源指示灯,电源接通后该指示灯亮起;
SYS:系统状态指示灯,快闪(闪烁间隔0.2ms)表示系统正在连接网络种,慢闪(闪烁间隔2秒)表示系统已连接网络,偶然闪烁表示有网络数据发送;
TX:485网络数据发送;
RX:485网络接收到数据;
OP:点亮表示设备继电器打开;
STA:点亮表示关锁状态;</p>
<p><strong>接口说明:</strong>
DC接口:供电接口,支持12V或24V直流供电,电流2A以上(推荐12V供电,具体使用12V还是24V需要根据锁控接口连接设备需要电压决定);
485接口:连接485网络,默认波特率115200(用于数据透传、设备使用串口方式配置、对接迅鸣十六路锁控板);
锁控接口:连接电控锁或用于继电器输出信号(设备默认用于锁控,如果用于继电器输出需要调整设备内部跳线);
天线接口:2.4G天线,用于WiFi网络连接;
注意:设备不可直接控制24V以上电路,如果高压控制请连接”中间继电器或接触器使用)!</p>
<p><strong>工作模式:</strong></p>
<p>支持迅鸣云、迅鸣网关、mqtt client、tcp client、tcp server、udp client、udp server,六种工作模式:
迅鸣云:主要用于锁控、继电器控制等板载设备控制,结合迅鸣云业务使用;
迅鸣网关:主要用于连接16路多控板,结合迅鸣云业务使用;
其他模式:主要用于数据透传,无法通过网络配置设备,但串口配置、AP配置始终可用;</p>
<p>备注:
迅鸣云、迅鸣网关、mqtt client三种模式均使用mqtt方式通信,迅鸣云与迅鸣网关两种模式不支持服务器配置参数修改;
迅鸣云、迅鸣网关设备上线、离线topic和数据格式是一样的,都通过v2版本topic上报;
mqtt client模式,控制topic及控制协议是固定的,透传有专用topic,数据透传发送、订阅用的topic可修改。心跳、注册包也通过透传topic发送;
<strong>所有配置项均为英文模式输入!!!</strong></p>
<p>控制指令通道:【固定不可修改】
发送topic:主topic/xm/sh/response/mqtt/#sn/2001/v2 【固定不可修改】
订阅topic:主topic/xm/sh/request/mqtt/#sn/+/v2 【固定不可修改】
主topic:默认为空 【按需修改,仅支持英文字符,不能有符号】</p>
<p>数据透传通道:【修改为mqttClient模式后,必须配置】
接收topic:为透传数据时的topic【举例:sub/#sn/data】
发送topic:为透传数据时的topic【举例:pub/#sn/data】
<strong>注意:</strong>
配置为mottclient时务必配置这两个参数,不配置会导致心跳包、注册包、透传数据无法正常上报。
配置参数ASCII模式支持变量,变量参照控制指令topic。</p>
<p>遗嘱通道:【修改为mqttClient模式后,可选配置】
遗嘱topic:遗嘱触发后的发送topic【不支持特殊字符,不支持变量,通过内容判断触发节点(仅2.0.7之前版本存在)】【举例:willTopic】
遗嘱数据:遗嘱触发后发送的内容【ASCII模式支持变量】【举例:willData,#sn】</p>
<p>心跳包通道:【修改为mqttClient模式后,可选配置】
心跳包数据:连接服务器后每个配置时间主动发送【ASCII模式支持变量】【通过数据透传通道发送】【举例:heartData,#sn】</p>
<p>注册包通道:【修改为mqttClient模式后,可选配置】
注册包数据:连接服务器后发送【ASCII模式支持变量】【通过数据透传通道发送】【举例:regData,#sn】</p>
<p>注意:
2.0.7之前版本,每次配置mqttClient模式后,都需要重新配置注册包数据、心跳包数据。</p>
<p><strong>设备配置方法:</strong></p>
<p>mqtt模式:控制topic进行json配置、串口配置、web页面配置;</p>
<p>其他模式:串口配置、web页面配置;</p>
<p>备注:
串口配置方式为“+comm,{配置json}"。即配置json前面增加“+comm,”标识;配置json要使用压缩方式减少字符数量;
使用json配置时,涉及到模式配置,需携带该模式所需全部配置,否则还需再发送一次该模式所需配置,只有设置为该模式时,相关配置项才会有效;
使用web配置时,需先配置模式->保存->配置该模式相关配置->保存->重启,否则无法开启模式相关配置项;</p>
<p><strong>系统支持配置及取值范围:</strong></p>
<p>配置json中mode配置应该在最前,ip模式配置应该在ip、netmask、gw、dns配置之前。即该项开关配置要在内容配置之前,否则会不生效;</p>
<p>mqtt配置仅在mqtt client模式时才允许修改;</p>
<p>切换回迅鸣云、迅鸣网关模式时,配置会被重置,仅WiFi、ip、433 配置被保留。心跳时间等如需修改,需重新在线修改即可;</p>
<p>topic最大长度50byte【有变量时应考虑替换后长度\<50,不支持特殊字符】;</p>
<p>心跳包、注册包最大长度100byte【不含转义符,含转义符最大长度255,有变量时应考虑替换后长度\<255】,HEX模式时,不支持变量替换;</p>
<p><strong>配置变量表(--xx--包裹的名称是实际json参数名,没有的则使用变量名)</strong></p>
<pre><code> //wifi
uint8_t sta_ssid[32]; //WiFi热点名称 //--ssid--
uint8_t sta_pwd[32]; //WiFi密码 //--password--
uint32_t sta_type; //wifi 验证模式 //--authmode--
//系统配置
uint8_t service_type; //服务类型【0:udpClient,1:tcpClient,2:udpServer,3:tcpServer,4:mqttClient,5:XMCloude,6:XMDevice】 //--mode--
uint8_t client_num; //允许客户端数量【范围:1~4】
uint16_t net_server_port; //远程端口or本地端口【范围:1000~65535】//--port--
uint8_t net_server[52]; //远程服务器域名或ip //--server--
uint16_t tout_time; //无连接重启时间,秒【范围:10~600,立即生效】
uint16_t heart_time; //心跳时间,秒【范围:5~600;非0之间变化立即生效】【开机时非零申请空间,所以,只能非零间修改】
uint8_t hea_direction; //心跳方向【1:串口,2:网络,立即生效】 //--hea_dir--
uint8_t hea_type; //心跳包类型【0:不启用,1:ascii,2:hex】
uint8_t hea_pak[104]; //心跳包【支持变量替换】
uint8_t reg_pak[104]; //注册包【支持变量替换】
uint8_t reg_type; //注册包类型【0:不启用,1:ascii,2:hex】
//mqtt配置
uint8_t mqtt_user[32]; //mqtt账号
uint8_t mqtt_pass[32]; //mqtt密码
uint32_t mqtt_keepalive; //mqtt心跳时间
uint8_t security; //通信安全等级【0:NO_TLS,1:TLS_WITHOUT_AUTHENTICATION,2:ONE_WAY_ANTHENTICATION,3:TWO_WAY_ANTHENTICATION】
uint8_t sub_topic[52]; //透传数据接收topic【支持变量替换】
uint8_t pub_topic[52]; //透传数据发送topic【支持变量替换】
uint8_t qos; //qos等级【暂未启用,仅0有效】【1. QoS0,At most once,至多一次; 2. QoS1,At least once,至少一次; 3. QoS2,Exactly once,确保只有一次。】
uint8_t is_will; //是否开启遗嘱消息【1:开启,0:关闭】
uint8_t wil_type; //遗嘱消息类型【1:ascii,2:hex】
uint8_t wil_topic[52]; //遗嘱topic【支持变量替换】
uint8_t wil_pak[104]; //遗嘱包【支持变量替换】
//433
uint32_t key_433; //433遥控器对码值【立即生效】
//ip
uint8_t ip[4];
uint8_t netmask[4];
uint8_t gateway[4];
uint8_t dns[4];
//串口
uint32_t baut_rate; //串口波特率 //--rate--
uint8_t parity; //高4bit存放是否开启校验,低4bit存放校验方式
uint8_t stop_bits; //停止位 //--stopb--
uint8_t data_bits; //数据位 //--datab--
uint8_t ip_type; //ip类型【1:静态,2:dhcp】
//锁控
uint16_t lock_open_hold_time; //开锁默认保持时间,单位ms【范围:100~60000,立即生效】 //--hold_t--
uint8_t slot; //设备开启了多少给槽</code></pre>
<p><strong>迅鸣万物可修改的配置:</strong></p>
<p>WiFi参数、key_433、串口参数、系统参数;(系统参数、串口参数在”迅鸣云、迅鸣自有网关“模式时不允许修改)</p>
<p>支持WiFi扫描、433扫描指令;</p>
<p>其他配置需要使用本地方式修改;</p>
<p><strong>action支持的指令集:</strong></p>
<p>command:执行动作;</p>
<p>ota:升级;</p>
<p>scan_wifi:扫描WiFi,并返回;</p>
<p>restart:重启设备;</p>
<p>get_info:获取设备全部配置信息(根据模式返回有用数据,如非mqtt模式不返回mqtt配置)</p>
<p>scan_433:扫描433按键值,并返回;</p>
<p>writeconfig:修改某项配置,如有相关配置需一起设置(如配置mqttClient,则除了配置mode配置外还要包含全部mqtt配置),返回全部配置(如get_info);</p>
<p>readconfig:读取某项配置(目前是返回全部,如get_info);</p>
<p><strong>command指令集:</strong></p>
<table>
<thead>
<tr>
<th>参数</th>
<th>类型</th>
<th>描述</th>
<th>示例</th>
</tr>
</thead>
<tbody>
<tr>
<td>"11"</td>
<td>bool</td>
<td>锁或继电器控制,true开启,false关闭</td>
<td>{"11":true}</td>
</tr>
<tr>
<td>"46"</td>
<td>int</td>
<td>锁控定时关闭,单位s,范围1~2147483</td>
<td>{"11":true,"46":1000}</td>
</tr>
</tbody>
</table>
<p><strong>锁控:</strong></p>
<p>不携带”46“指令时,使用默认开锁保持参数;</p>
<p>”46“等于0时常开,非零时按照该值延时后关闭,延时单位:秒,范围:1-6870秒;</p>
<p>锁控指令分继电器模式、锁控模式:继电器模式下指令立即响应,响应状态为继电器状态;锁控模式下不返回,锁状态变化时才会主动返回;(固件默认为锁控模式)</p>
<pre><code>{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;devicesn&quot;:&quot;&quot;,&quot;action&quot;:&quot;command&quot;,&quot;params&quot;:{&quot;11&quot;:true,&quot;46&quot;:1}}]}}</code></pre>
<p><strong>迅鸣云模式时读取配置:</strong></p>
<pre><code>{
&quot;header&quot;: {
&quot;timeStamp&quot;: &quot;&quot;
},
&quot;payload&quot;: {
&quot;devices&quot;: [
{
&quot;nodeid&quot;: &quot;000&quot;,
&quot;action&quot;: &quot;get_info&quot;,
&quot;params&quot;: {
&quot;device_id&quot;: &quot;1510100110128925&quot;,
&quot;version&quot;: &quot;v2.0.0t20010101&quot;,
&quot;mode&quot;: 5,
&quot;heart_time&quot;: 600,
&quot;tout_time&quot;: 0,
&quot;ip_type&quot;: 2,
&quot;ip&quot;: &quot;192.168.137.230&quot;,
&quot;netmask&quot;: &quot;255.255.255.0&quot;,
&quot;gateway&quot;: &quot;192.168.137.1&quot;,
&quot;dns&quot;: &quot;192.168.137.1&quot;,
&quot;mac&quot;:&quot;e8:68:e7:90:72:34&quot;,
&quot;ssid&quot;: &quot;XunMingIOT&quot;,
&quot;password&quot;: &quot;13256666293&quot;,
&quot;authmode&quot;: 3,
&quot;rate&quot;: 9600,
&quot;parity&quot;: 0,
&quot;stopb&quot;: 1,
&quot;datab&quot;: 3,
&quot;hold_t&quot;: 700,
&quot;rssi&quot;: 99,
&quot;modeid&quot;: &quot;2001&quot;
}
}
]
}
}</code></pre>
<p><strong>变量替换:</strong></p>
<p>支持变量替换的项目:注册包、心跳包、遗嘱包、数据透传topic、数据接收topc、遗嘱topic。</p>
<p>提示:</p>
<p>注册包、心跳包可使用全部变量,双引号需使用反斜杠注释;</p>
<p>遗嘱包、数据透传topic、数据接收topc、遗嘱topic因在开机时初始化,所以使用动态变量如ip、rssi时可能始终为0;</p>
<p>警告:</p>
<p>务必注意数据长度,替换后数据总长度不能超过该配置要求的最大值,否则会导致溢出重启。</p>
<p><strong>支持的变量:</strong></p>
<p>#sn : 节点sn号</p>
<p>#mac :节点mac地址,输出格式"%02x%02x%02x%02x%02x%02x"</p>
<p>#ip :节点ip地址,输出格式"%02x%02x%02x%02x"【注意:topic中应用时,因topic在开机时实例化,此时可能还未获取ip,会显示全零】</p>
<p>#lock :锁控状态,开锁true、关锁false</p>
<p>#rssi :WiFi信号强度百分比【注意:topic中应用时,因topic在开机时实例化,此时可能还未连接wifi,会显示零】</p>
<p><strong>配置案例:(通过串口发送指令时需加前缀“+comm,")</strong></p>
<pre><code>//修改锁控默认保持时间
+comm,{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;devicesn&quot;:&quot;&quot;,&quot;action&quot;:&quot;writeconfig&quot;,&quot;params&quot;:{&quot;hold_t&quot;:700}}]}}
//重启
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;devicesn&quot;:&quot;&quot;,&quot;action&quot;:&quot;restart&quot;,&quot;params&quot;:{}}]}}
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;40482&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;restart&quot;,&quot;params&quot;:null}]}}
//读取全部配置信息
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;devicesn&quot;:&quot;&quot;,&quot;action&quot;:&quot;get_info&quot;,&quot;params&quot;:null}]}}
//设置静态ip(重启生效)
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;writeconfig&quot;,&quot;params&quot;:{&quot;ip_type&quot;:1,&quot;ip&quot;:&quot;192.168.31.102&quot;,&quot;netmask&quot;:&quot;255.255.255.0&quot;,&quot;gateway&quot;:&quot;192.168.31.1&quot;,&quot;dns&quot;:&quot;8.8.8.8&quot;}}]}}
返回全部配置
//设置为dhcp
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;writeconfig&quot;,&quot;params&quot;:{&quot;ip_type&quot;:2}}]}}
返回全部配置
//设置模式为迅鸣云
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;writeconfig&quot;,&quot;params&quot;:{&quot;mode&quot;:5}}]}}
//设置模式为迅鸣网关
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;writeconfig&quot;,&quot;params&quot;:{&quot;mode&quot;:5}}]}}
//串口配置
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;295&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;writeconfig&quot;,&quot;params&quot;:{&quot;rate&quot;:115200,&quot;parity&quot;:0,&quot;stopb&quot;:1,&quot;datab&quot;:3}}]}}
//parity高4位,是否开启校验: STICK_PARITY_DIS = 0, STICK_PARITY_EN = 1
//parity低4位,校验方式: NONE_BITS = 0x2, ODD_BITS = 1, EVEN_BITS = 0
//stopb停止位: ONE_STOP_BIT = 0x1, ONE_HALF_STOP_BIT = 0x2, TWO_STOP_BIT = 0x3
//datab数据位: FIVE_BITS = 0x0, SIX_BITS = 0x1, SEVEN_BITS = 0x2, EIGHT_BITS = 0x3
//配置为mqtt client模式
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;writeconfig&quot;,&quot;params&quot;:{&quot;mode&quot;:4,&quot;server&quot;:&quot;csmq.xunmingiot.com&quot;,&quot;port&quot;:8883,&quot;mqtt_user&quot;:&quot;xxxxxx&quot;,&quot;mqtt_pass&quot;:&quot;xxxxxx&quot;,&quot;mqtt_keepalive&quot;:120,&quot;security&quot;:1,&quot;sub_topic&quot;:&quot;/test/#sn/sub&quot;,&quot;pub_topic&quot;:&quot;/test/#sn/pub&quot;,&quot;qos&quot;:0,&quot;is_will&quot;:1,&quot;wil_type&quot;:1,&quot;wil_topic&quot;:&quot;/test/#sn/wil&quot;,&quot;wil_pak&quot;:&quot;will#ip&quot;,&quot;hea_dir&quot;:2,&quot;reg_type&quot;:1,&quot;reg_pak&quot;:&quot;reg#sn&quot;,&quot;hea_type&quot;:1,&quot;heart_time&quot;:20,&quot;hea_pak&quot;:&quot;heart#ip&quot;}}]}}
返回全部配置
//配置为tcp client模式
+comm,{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;writeconfig&quot;,&quot;params&quot;:{&quot;mode&quot;:1,&quot;server&quot;:&quot;192.168.31.101&quot;,&quot;port&quot;:3333}}]}}
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;617&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;writeconfig&quot;,&quot;params&quot;:{&quot;device_id&quot;:&quot;1510100110128925&quot;,&quot;version&quot;:&quot;v2.0.0t20010101&quot;,&quot;mode&quot;:1,&quot;server&quot;:&quot;192.168.31.101&quot;,&quot;port&quot;:3333,&quot;hea_dir&quot;:2,&quot;reg_type&quot;:1,&quot;hea_type&quot;:1,&quot;reg_pak&quot;:&quot;reg#sn&quot;,&quot;hea_pak&quot;:&quot;heart#ip&quot;,&quot;heart_time&quot;:20,&quot;tout_time&quot;:0,&quot;ip_type&quot;:2,&quot;ip&quot;:&quot;192.168.31.102&quot;,&quot;netmask&quot;:&quot;255.255.255.0&quot;,&quot;gateway&quot;:&quot;192.168.31.1&quot;,&quot;dns&quot;:&quot;114.114.114.114&quot;,&quot;ssid&quot;:&quot;inspur&quot;,&quot;password&quot;:&quot;123456wp&quot;,&quot;authmode&quot;:3,&quot;rate&quot;:9600,&quot;parity&quot;:0,&quot;stopb&quot;:1,&quot;datab&quot;:3,&quot;hold_t&quot;:700,&quot;rssi&quot;:66,&quot;modeid&quot;:&quot;2001&quot;}}]}}
//配置为tcp server模式
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;writeconfig&quot;,&quot;params&quot;:{&quot;mode&quot;:3,&quot;port&quot;:4444}}]}}
返回全部配置
//配置wifi热点(连接成功会保存该热点,连接失败则重启后连接原来热点)
+comm,{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;writeconfig&quot;,&quot;params&quot;:{&quot;ssid&quot;:&quot;ChuangKe&quot;,&quot;password&quot;:&quot;123456wp&quot;}}]}}
无返回
//修改心跳包时间
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;writeconfig&quot;,&quot;params&quot;:{&quot;heart_time&quot;:600}}]}}
读取wifi
+comm,{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;devicesn&quot;:&quot;&quot;,&quot;action&quot;:&quot;scan_wifi&quot;,&quot;params&quot;:null}]}}
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;40301&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;scan_wifi&quot;,&quot;params&quot;:&quot;test,f4:84:8d:2b:71:9f,WPA+2,74,1;DIRECT-84-Mi All,7c:57:58:db:d6:85,WPA2,50,1;PLDK,f4:a5:9d:5b:dc:74,WPA2,44,1;PLDK_Wi-Fi5,f4:a5:9d:fb:dc:79,WPA2,24,1;SDXH,f4:6d:2f:e5:41:6e,WPA+2,46,1;aaaaa,f4:84:8d:2b:7e:bd,WPA+2,54,1;H3C_95B482,fc:60:9b:95:b4:84,WPA+2,44,1;bestwulouhuiyish,22:c2:db:e5:22:4f,WPA2,60,1;Xiaomi,28:d1:27:cb:0a:6a,WPA+2,34,11;TP-LINK_93A9hou,9c:a6:15:90:93:a9,WPA+2,48,11;shundesoft_2.4G,e2:fe:18:85:9d:3c,WPA+2,60,11;XT437,f4:6d:2f:6e:3f:9b,WPA+2,36,11;shundesoft_guest,dc:fe:18:85:9d:3c,WPA+2,56,11;dddddd,b8:c3:85:45:bd:18,WPA+2,48,3;Xiaomi,3c:cd:57:1b:5a:0a,WPA+2,42,11;&quot;}]}}
//配置为tcp client时读取的系统配置
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;295&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;get_info&quot;,&quot;params&quot;:{&quot;device_id&quot;:&quot;1510100110128925&quot;,&quot;version&quot;:&quot;v2.0.0t20010101&quot;,&quot;mode&quot;:1,&quot;server&quot;:&quot;192.168.31.101&quot;,&quot;port&quot;:3333,&quot;hea_dir&quot;:2,&quot;reg_type&quot;:2,&quot;hea_type&quot;:2,&quot;reg_pak&quot;:&quot;aabbccddeeff&quot;,&quot;hea_pak&quot;:&quot;ccddeeff&quot;,&quot;heart_time&quot;:200,&quot;tout_time&quot;:0,&quot;ip_type&quot;:2,&quot;ip&quot;:&quot;192.168.137.150&quot;,&quot;netmask&quot;:&quot;255.255.255.0&quot;,&quot;gateway&quot;:&quot;192.168.137.1&quot;,&quot;dns&quot;:&quot;192.168.137.1&quot;,&quot;mac&quot;:&quot;e8:68:e7:90:72:34&quot;,&quot;ssid&quot;:&quot;inspur&quot;,&quot;password&quot;:&quot;123456wp&quot;,&quot;authmode&quot;:3,&quot;rate&quot;:115200,&quot;parity&quot;:0,&quot;stopb&quot;:1,&quot;datab&quot;:3,&quot;hold_t&quot;:700,&quot;rssi&quot;:99,&quot;modeid&quot;:&quot;2001&quot;}}]}}
//配置为tcp server模式
+comm,{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;writeconfig&quot;,&quot;params&quot;:{&quot;mode&quot;:3,&quot;port&quot;:4444}}]}}
//配置为udp client模式
+comm,{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;295&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;writeconfig&quot;,&quot;params&quot;:{&quot;mode&quot;:0,&quot;server&quot;:&quot;192.168.137.1&quot;,&quot;port&quot;:1883}}]}}
//配置为udp client模式,并配置心跳包、注册包
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;42&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;writeconfig&quot;,&quot;params&quot;:{&quot;mode&quot;:0,&quot;server&quot;:&quot;192.168.31.101&quot;,&quot;port&quot;:1883,&quot;hea_dir&quot;:2,&quot;reg_type&quot;:1,&quot;hea_type&quot;:1,&quot;reg_pak&quot;:&quot;{\&quot;ip\&quot;:#ip}&quot;,&quot;hea_pak&quot;:&quot;{\&quot;mac\&quot;:\&quot;#mac\&quot;,\&quot;sn\&quot;:\&quot;#sn\&quot;}&quot;}}]}}
//修改WiFi热点
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;25&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;writeconfig&quot;,&quot;params&quot;:{&quot;ssid&quot;:&quot;inspur&quot;,&quot;password&quot;:&quot;123456wp&quot;}}]}}
</code></pre>
<p><strong>ota升级操作:</strong>
参数说明:
key:升级口令,口令不对无法升级;
ser_ip:升级服务器IP地址;
domain:升级服务器域名,主要用于一个ip多个域名时ngix识别网站用;【长度\<28byte】
path:下载路径;【长度\<19byte】
html: 0或不携带表示固件升级,1表示更新html文件;
注意事项:
下载文件:user1.bin 、user2.bin,设备自动选择下载文件;
启动ota后会断开服务连接,防止内存空间不足;
启动更新任务后会自动设置120秒重启任务,更新成功会自动重启,更新失败则120秒后超时重启;
如果需要更新html页,必须是ota成功并等待设备重启上线后执行;</p>
<pre><code>topic:/xm/sh/request/mqtt/1510100xxxxxxxx/2001/v2
1、发送OTA指令:(升级成功后会自动重启)
{
&quot;header&quot;: {
&quot;timeStamp&quot;: &quot;&quot;
},
&quot;payload&quot;: {
&quot;devices&quot;: [
{
&quot;nodeid&quot;: &quot;000&quot;,
&quot;action&quot;: &quot;ota&quot;,
&quot;params&quot;: {
&quot;key&quot;: 2416,
&quot;ser_ip&quot;: &quot;119.188.172.139&quot;,
&quot;domain&quot;: &quot;osscdn.xunmingiot.com&quot;,
&quot;path&quot;: &quot;/wifidtu/&quot;
}
}
]
}
}
2、接收到指令后向服务器发送请求:
GET /wifidtu/user1.bin HTTP/1.0
Host:osscdn.xunmingiot.com:80
Connection: keep-alive
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36
Accept: */*
Authorization:
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
3、更新设备html页面(可选,页面有变动时必须更新)(下载成功后会自动重启)
{
&quot;header&quot;: {
&quot;timeStamp&quot;: &quot;&quot;
},
&quot;payload&quot;: {
&quot;devices&quot;: [
{
&quot;nodeid&quot;: &quot;000&quot;,
&quot;action&quot;: &quot;ota&quot;,
&quot;params&quot;: {
&quot;key&quot;: 1744,
&quot;ser_ip&quot;: &quot;119.188.172.139&quot;,
&quot;domain&quot;: &quot;osscdn.xunmingiot.com&quot;,
&quot;path&quot;: &quot;/wifidtu/index.html&quot;,
&quot;html&quot;:1
}
}
]
}
}
4、服务器收到的下载请求(注意:下载不支持压缩)
GET /wifidtu/index.html HTTP/1.0
Host:osscdn.xunmingiot.com:80
Connection: keep-alive
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36
Accept: */*
Authorization:
Accept-Language: zh-CN,zh;q=0.8</code></pre>