范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

OneCodeIOT联通研究院智能家居云端协议开源实现

  一,背景
  作为国内三大运营商之一的联通集团是国内最早进入到联通智能能家居行业的。中国联通旗下中国联通研究院于2015年便牵头成立了了国内首家智能家居zigbee通讯协议互联互通工作小组,联合业界包括华为、绿米、UIOT,mavell 、浙江瑞瀛,北京GreenLive等多家率先开始为中国智能家居市场制定从设备到网关以及网关到云端的实践应用标准。凭借对市场需求的了解和实验室实际测试的结果,历时两年的推出了。zigbee开放互联互通协议,以及云端接口规范要求。 二,OneCode-IOT
  OneCode-IOT 是在联通研究院zigbee互联互通协议的基础上,使用OneCode开源低代码平台做得一个基础实现,也是OneCode低代码平台在物联网行业的标杆性案例。 OneCode-IOT 推出后先后在联通集团,中国人寿集团,途家网平台,有家民宿、斯维登集团等多家央企平台以及互联网头部企业得到了推广应用。服务百万家庭酒店客房。本次开源部分,主要是在原有IOT内核基础上,针对联通互联互通协议进行了重构封装。本次包括:
  (1)iot-app 移动端应用
  (2)iot-设备云服务
  平台总体架构
  (3)OneCode-scene 网关场景服务
  场景定义服务
  设备场景定义
  设备联动
  (4)OneCode IoT 控制台
  控制台编辑管理
  控制台数据定义
  控制台应用开发
  三,开源支持 厂商声明
  该开源项目,由CodeBee团队牵头整理,云端平台部分,由北京紫蜂智联智能科技有限公司支持。
  项目平台部分采用 LGPL协议开源。低代码工具平台部分遵循OneCode 开源协议。低代码APP部分及完整的控制台应用,不设任何商业限制。可无限制修改使用分发。
  项目中涉及到网关传感器 设备,可自行联系互联互通联盟厂商。
  现推荐厂商列表 :
  超级智慧家uiot
  浙江东胜物联技术有限公司
  厦门吉物科技有限公司
  四,开放协议摘录1 用户角色及接口概述1.1 用户角色
  角色名称
  职责描述
  涉及模块
  网关设备
  (Gateway)
  Zigbee组网中充当协调器角色负责网路组网管理,完成ZigBee向WLAN的转换
  网关平台
  传感器设备
  (Sensor)
  ZigBee组网中充当端终设备角色负责环境数据的收集及上报功能
  传感器模块
  中继(路由)设备(Route)
  ZigBee组网中充当端终路由器角色负责当终端设备不在网络覆盖范围时信号的中继作用
  路由器模块
  应用场景(Scene)
  应用场景是Zigbee是根据特定的业务场景而制定一些特殊联动功能的分组及绑定关系(例如:安防、照明、娱乐等)
  场景模块
  设备控制台
  设备检测控制台是,对入网设备进行检测设定的
  一组工具设备,辅助设备用户来完成对设备的故障排查以及设备设定等工作。
  控制台模块
  云平台(cloud)
  云平台是网关及传感器的远程控制中枢及数据加工工厂,负责将用户的组网需求下发到网关完成,指定Zigbee网络的组建,同时将传感器采集到的数据进行筛选加工,再呈现给直接用户。
  云平台API模块
  认证中心
  认证中心在ZigBee网络中充当信托中心的角色,负责ZigBee网络通讯安全认证及固件升级管理工作。
  认证中心模块 1.2 接口概述
  本次接口范围基本限于智能网关与cloud system之间,接口主要包括网关注册、认证、以及网关绑定等基础接口函数。
  API的调用地址是: API address
  http://host:port/Gateway/api
  例如,注册的api是 for example, register API is:
  http://host:port/Gateway/api/Activate,通过POST传递必须的参数即可,返回值均为json. Transferred by POST/GET, returned value is json. 1.3 云平台对象关系
  1.4 网关与云平台交互示意
  1.5 字段名称定义
  字段名称
  字段类型
  字段说明
  示例
  account
  String(22)
  网关账号
  5ec90328005f-10031-44d
  attributename
  String(10)
  设备属性名称
  Zone_Status
  battery
  Int(4)
  电池电量
  85
  channel   Int(4)   Zigbee频段   4
  commandServerUrl   String(100)   命令中心地址   123.124.236.149:8087   deviceId   String(36)   设备编号(UUID)   3663b1ad-921e-4771-99b5-e617cc09272e   deviceName   String(20)   设备名称   DOOR_WINDOW_SENSOR   extendPanId   String(36)   网络扩展编号   00137A000001E3CD01   factory   String(10)   设备厂商标识   FactoryName   networkKey   String(36)   加密字符串   71d732ab-2e9f-4734-b970-37246f16c633   mac   String(16)   MAC地址   00155f002803cec5   mainServerUrl   String(100)   数据中心地址   123.124.236.149:80   panId   Int(4)   网络编号   12
  password   String(36)   网关登录密码   71d732ab-2e9f-4734-b970-37246f16c633   sensorType   Int(2)   传感器类型   1
  serialno   String(18)   设备串号(IEEE地址)   00137A000001E3CD01   sessionId   String(36)   用户Session ID   5deb046d-97c0-43bf-b304-49c8ff0fe614   status   Int(1)   传感器状态   0
  systemCode   String(10)   接入商标识   org   value   Int(4)   属性值   50
  version   String(10)   版本号   2.17.3.0 2 网关管理接口2.1 网关注册GatewayRegister(联网即触发)2.1.1 需求描述   名称、标识符   网关注册   功能描述   网关在首次家电入网时会登陆认证中心完成设备注册。并获取相关的认证信息。   补充说明   网关在入网时会统一登录网认证平台,由认证平台根据设备号判别当前用户所属运营商,并下发相关的认证及固件信息。 2.1.2 接口说明   2.1.3 接口说明   接口名称:网关注册   接口地址:http://host:port/Gateway/api/Register   支持格式:JSON   请求方式:POST   请求参数说明:   名称   类型   长度   必填   说明   mac   string   16
  是   MAC地址   factory   string   <10   否   设备厂商标识   serialno   string   18
  是   设备串号   请求示例:   {   "mac":"00155f002803ccb9", //MAC地址   "factory":"FactoryName", //设备厂商名称(请咨询业务)   "serialno":"00137A000001E3CD01" //设备串号   }   返回参数说明:   名称   类型   长度   说明   requestStatus   int   1
  返回码:0成功,-1失败   data   json   <255   deviceId:设备编号   mac:MAC地址   errcode   int   4
  错误码   errdes   string   <255   错误原因   成功返回示例:   {   "requestStatus":0,//错误码   data:{   "deviceId":"5ec90328005f-10031-44d",//设备编号   "mac":"00155f002803ccb9" //MAC地址   }   }   失败返回示例:   {   "requestStatus":-1,//错误码   "errcode":9001,//网关程序可以忽略,仅供错误描述处理   "errdes":"deviceid ‘5ec90328005f-10031-44’ not standard"//非法设备   }   错误码参照(errcode):   错误码   说明   9001
  设备号已完成注册   9002
  非法设备号   3001
  其他错误 2.2 网关固件激活GatewayActivate2.2.1 需求描述   名称、标识符   网关激活   功能描述   当网关完成注册后,即可通过设备认证信息,向运营服务器完成激活操作并完成用户的计费开通设定,开始计费。   补充说明   网关完成激活信息并成功初始化网络后即可由用户APP应用完成手机APP用户与网关设备的绑定关系。   网关激活是网关入网的必要条件,网关初次入网或固件更新时需要调用该接口,重新完成固件版本激活,激活后网关会返回,新的gatewayAccount以及keyword 信息同时数据上报地址(mainServerUrl)以及commandServerUrl(命令长连接地址)也会发生改变,网关重新激活后,需要按新的地址上报数据同时按新的地址重新建立长连接等待命令。 2.2.2 工作流程   2.2.3 接口说明   接口名称:网关激活   接口地址:http://host:port/Gateway/api/Activate   支持格式:JSON   请求方式:POST   请求参数说明:   名称   类型   长度   必填   说明   deviceId   string   22
  是   设备ID (默认deviceId即设备ID)   version   string   <10   是   固件版本号   请求示例:   {   "deviceId":"5ec90328005f-10031-44d",//设备ID   "version":"0.0.83" //固件版本号   }   返回参数说明:   名称   类型   长度   说明   requestStatus   int   1
  返回码:0成功,-1失败   data   json   <255   deviceId:设备编号   mac:MAC地址   serialno:序列号   account:网关账号ID   networkKey:加密字符串,用于传感器与网关的数据加密   mainServerUrl:数据中心地址   commandServerUrl:命令中心地址   errcode   int   4
  错误码   errdes   string   <255   错误原因   成功返回示例:   {   "requestStatus":0,   data:{   "deviceId":"5ec90328005f-10031-44d", //设备ID   "mac":"00155f002803ccb9", //MAC地址   "serialno":"00137A000001E3CD01", //序列号   "account":"5ec90328005f-10031-44d", //网关账号   "networkKey":"71d732ab-2e9f-4734-b970-37246f16c633",//加密串   "mainServerUrl":"123.124.236.149:80", //数据中心地址   "commandServerUrl":" 123.124.236.149:8077" //命令中心地址   }   }   失败返回示例:   {   "requestStatus":-1,//错误码   "errcode":9001,//网关程序可以忽略,仅供错误描述处理   "errdes":"deviceid ‘5ec90328005f-10031-44’ not standard"//非法设备   }   错误码参照(errcode):   错误码   说明   9001
  设备号已完成注册   9002
  非法设备号   3001
  其他错误 2.2.4 网关激活处理流程2.3 登陆 Login2.3.1 需求描述   名称、标识符   网关登录   功能描述   网关完成组网后会获取相应的服务器地址以及登录帐号口令。   补充说明   1,网关在已激活的状态下第一次加电应执行登录操作获取连接的TOKEN   2,如登录不成功需要发送网关错误报告。具体参见错误报告章节。   触发条件   网关收到设备云反馈的组网成功消息   流程说明   网关激活成功后向数据中心发送登录请求;   请求成功设备云返回成功状态值、网关帐号和加密字符串等等;   请求失败设备云返回失败状态值、错误码和错误描述,或者返回空;   若请求失败,网关会发送1004错误码,并重启; 2.3.2 工作流程   2.3.3 接口说明   接口名称:登录   接口地址:http://host:port/Gateway/api/Login   支持格式:JSON   请求方式:POST   请求参数说明:   名称   类型   长度   必填   说明   account   string   22
  是   账号ID   password   string   36
  是   账号密码   请求示例:   {   "account":"5ec90328005f-10031-44d",//设备ID   "password":"348bbb57-1600-42f6-b0bb-fc0c7e21d912" //密码   }   返回参数说明:   名称   类型   长度   说明   requestStatus   int   1
  返回码:0成功,-1失败   data   json   <255   sessionId:用户Session ID   systemCode:接入商标识   errcode   int   4
  错误码   errdes   string   <255   错误原因   成功返回示例:   {   "requestStatus":0,   data:{   "sessionId":"5deb046d-97c0-43bf-b304-49c8ff0fe614",//用户Session ID   "systemCode":"org" //接入商标识,每个接入商标识会不同   }   }   失败返回示例:   {   "requestStatus":-1,   "errcode":3001,   "errdes":""   }   错误码参照(errcode):   错误码   说明   3001
  其他错误 2.4 注销 Logout2.4.1 需求描述   名称、标识符   网关注销   功能描述   注销当前TOKEN重新获取。   补充说明   1,当网关固件升级时需要先行注销原有链接才可以获取新的连接。   2,当接收到服务端重启指令时需要先执行注销指令。   触发条件   网关长连接失效   流程说明   网关长连接失效后,需向数据中心发送注销请求,才能再次连接;   请求成功数据中心返回成功状态值;   请求失败设备云返回失败状态值、错误码和错误描述,或者返回空;   若请求失败,网关会发送1004错误码,并重启; 2.4.2 工作流程   2.4.3 接口说明   接口名称:注销   接口地址:http://host:port/Gateway/api/Logout   支持格式:JSON   请求方式:POST   请求参数说明:   名称   类型   长度   必填   说明   account   string   22
  是   账号ID   sessionId   string   36
  是   用户Session ID   请求示例:   {   "account":"5ec90328005f-10031-44d", //账号ID   "sessionId":"71d732ab-2e9f-4734-b970-37246f16c633" //用户Session ID   }   返回参数说明:   名称   类型   长度   说明   requestStatus   int   1
  返回码:0成功,-1失败   errcode   int   4
  错误码   errdes   string   <255   错误原因   成功返回示例:   {   "requestStatus":0   }   失败返回示例:   {   "requestStatus":-1,   "errcode":3001,   "errdes":""   }   错误码参照(errcode):   错误码   说明   3001
  其他错误   3 设备管理3.1 传感器信息上报   名称、标识符   SensorReport   功能描述   网关接收到SensorReport命令时应主动应主动将,网关中缓存的设备列表信息上报服务端。   补充说明   1, 网关设备缓存的设备列表信息一般指白名单约定的可接入设备。   2,如网关不支持白名单时应将协调器中缓存的设备信息上报服务端。 3.1.1 SensorReport   接口名称 name of interface   SensorReport   请求类型 request type   POST   必填字段mandatory text   sensors:传感器设备   返回类型 return type   JSON JSONObject   URL   SensorReport   http://host:port/Gateway/api/SensorReport   input   {   "sensors":[   {   "serialno":"00137A000001E6AA",   "battery":85 ,//电量   "deviceName":"设备名称",//"Z103A"   "currVersion":"1.5",//软件版本   "sensorType":1,//   "status":1 //参考7.4设备状态   "lqi":80,//网络质量   "epList":[   {   "sensorType":7,   "ep":"0A",   "ieee":"00137A000001E6AA01",   "profileid":"1041",   "deviceid": "9" , //HA   "nwkAddress":"D740", //   "attributes":[   {   "attributename":" Temperature",   "length":2,   "value":"25"   }   ]   }   ]   "bindList":   {   "ieee":"00137A000001E6AA01",   "count":5,   "list":[   {   "index":1,   "clusterid":"   ",   "destieee":"00137A000001E6BA01"   }   ]   }   }   ]   }   返回值 returned value   Success:   {   "requestStatus":0   }   Fail:   {   "requestStatus":-1,   "errcode":3001,   "errdes":   }   Errcode List:   [   3001:other   error (其他错误)   ] 3.1.2 链路信息上报LinkReport   接口名称 name of interface   LinkReport   请求类型 request type   POST   必填字段mandatory text   sensors:传感器设备   返回类型 return type   JSON   JSONObject   URL   LinkReport   http://host:port/Gateway/api/LinkReport   input   {   {   "ieee":"00137A000001E6AA"   "parentNodeieee":"00137A000001E6AA01",   "lqi":85 ,//链路质量   "childNode":[   {   "ieee":"00137A000001E6AA"   "parentNodeieee":"00137A000001E6AA01",   "lqi":85,   "childNode":[]   }   ]   }   返回值 returned value   Success:   {   "requestStatus":0   }   Fail:   {   "requestStatus":-1,   "errcode":3001,   "errdes":   }   Errcode List:   [   3001:other error (其他错误)   ] 3.2 网关组网信息上报3.2.1 ChangeNetworkResponse(组网信息上报)   接口名称 name of interface   ChangeNetworkResponse   请求类型 request type   POST   必填字段mandatory text   sensors:传感器设备   返回类型 return type   JSON JSONObject   URL   ChangeNetworkResponse   http://host:port/Gateway/api/ ChangeNetworkResponse   input   {   "wifi":{   "ssid":"nevox_0537",   "mode":"11b"   ,   "password":"888888",   "status":1 //1:开启0:关闭   },   "wlan":{   "mode":"0",//0动态IP,1:静态,2,PPOE 3,3G   "account":"0",   "password":"1231231231"   },   "dhcp":[{   "name":"wenzhang-mac",   "mac":"64:00:6a:47:b6:bb",   "ip":"127.0.0.1"   }]   }   返回值 returned value   Success:   {   "requestStatus":0   }   Fail:   {   "requestStatus":-1,   "errcode":3001,   "errdes":   }   Errcode List:   [   3001:other   error (其他错误)   ] 4 传感器事件4.1 发现新设备   当网关发现新设备加入时,向云端报送发现新设备15:55 4.1.1 接口设计(FindSensor)   接口名称   name of interface   FindSensor   请求类型 request type   POST   必填字段 mandatory text   GatewayId:网关ID   sensors:设备列表   返回类型 return type   JSON JSONObject   URL   FindSensor   http://host:port/Gateway/api/FindSensor   input   {   "sensors":[   {   "serialno":"00137A000001E6AA",   "battery":85 ,//电量   "deviceName":"设备名称",//"Z103A"   "currVersion":"1.5",//软件版本   "sensorType":1,//   "status":1 //参考7.4设备状态   "lqi":80,//网络质量   "epList":[   {   "sensorType":7,   "ep":"0A",   "ieee":"00137A000001E6AA01",   "profileid":"1041",   "deviceid":   "9" , //HA   "nwkAddress":"D740",   //   "attributes":[   {   "attributename":" Temperature",   "length":2,   "value":"25"   }   ]   }   ]   "bindList":   {   "ieee":"00137A000001E6AA01",   "count":5,   "list":[   {   "index":1,   "clusterid":" ",   "destieee":"00137A000001E6BA01"   }   ]   }   }   ]   }   返回值   returned value   Success:   {   "requestStatus":0,   data :   [   {   sn:"00137A000001E6AA01",   zigbeekey:"…"//zigbeekey证书   }   ]   }   Fail:   {   "requestStatus":-1,   "errcode":3001,   "errdes":   }   Errcode List:   [   3001:other error (其他错误)   ] 4.2 数据状态报送4.2.1 数据临界点触发   名称、标识符   数据临界点上报   功能描述   当传感器设备采集点达到预定的触发值时触发数据报送事件   补充说明   4.2.2 周期上报   名称、标识符   周期上报   功能描述   在传感器正常工作期间,需在指定的周期内触发主动采集完成数据报送。   补充说明   4.2.3 即时报送   名称、标识符   即时报送   功能描述   传感器在接收到远程即时报送的命令后需即时完成上报。   补充说明   1,完成即时上报后如果存在周期上报命令需要初始化上报周期记时。   2,设备如果具有休眠周期属性,应初始化记时。 4.3 设备报警4.3.1 设备报警   名称、标识符   设备报警   功能描述   支持报警的设备,在达到报警设定阀值时应发出报警触发指令   补充说明   1, 设备报警指令发送不需要特定的绑定操作即可实现全网的广播   2, 设备在发生报警时,需要解除报警的命令时才可停止报警的广播   3, 当设备由于低电量、网络状况差等原因暂停周期任务是,需要强制唤醒完成报警操作。   4, 当发生低电量等系统报警时需要强制发送报警信息 4.3.2 报警状态解除   名称、标识符   报警状态解除   功能描述   报警管理中心或特定的受控(Server)接收到报警信息后可以选择性的向报警设备发送方发送状态解除指令。   补充说明   1, 推荐采用报警登记管理中心的模式来管理报警状态   2, 在启用报警模式的情况下建议采用登记模式。   3, 在报警模式下协调器应具备报警的管理职责。 4.3.3 报警日志   名称、标识符   报警日志   功能描述   设备在进入报警模式时可以根据自身设备条件启动日志模式   补充说明   1, 当设备出于低电量或网络信号差时可以实时关闭日志模式   2, 报警管理中心或协调器可以通过远程的方式获取日志信息。 4.3.4 报警管理中心   名称、标识符   报警管理中心   功能描述   报警作为一种特殊的应用场景,需要在ZIGBEE网络中提供全局的管理能力   补充说明   1, 报警管理中心可以由协调器来承担也可以由路由设备来担任   2, 报警管理中心推荐采用IPV6方式的唯一的PANID设定   3, 在ZIGBEE网络具有全局的唯一性   4, 在ZIGBEE网络中应具有独立的固定地址来方便寻址   5, 通常模式下有报警管理中心来发送报警解除操作   6, 报警管理中心允许在没有协调器存在的情况下独立操作   7, 报警管理中心应具备报警日志的管理功能 4.3.5 接口设计自定义规则修改   名称、标识符   上报规则   功能描述   在传感器运行期间应支持其上报规则的动态修改。   补充说明   1, 可修改的属性包括采集周期、触发阀值等。   2, 开发者可以通过远程操作的方式完成操作。   3, 规则修改后传感器应立即响应修改,停止原有规则。 4.4 接口设计4.4.1 数据上报   接口名称   name of interface   DataReport   请求类型 request type   POST   必填字段 mandatory text   返回类型 return type   JSON JSONObject   URL   DataReport   http://host:port/Gateway/api/DataReport   input   {   "serialno":"00137A000001E6AA01",   "attributename":"Current", //参数名称   "time":"yyyy-MM-dd   HH:mm:ss",   "status":0,//状态   "value":"0.5"   }   返回值   returned value   Success:   {   "requestStatus":0   }   Fail:   {   "requestStatus":-1,   "errcode":3001,   "errdes":   }   Errcode List:   [   3001:other error (其他错误)   ] 4.4.2 报警处理   接口名称   name of interface   AlarmReport   请求类型 request type   POST   必填字段 mandatory text   返回类型return type   JSON JSONObject   URL   AlarmReport   http://host:port/Gateway/api/AlarmReport   input   {   "serialno":"00137A000001E6AA01",   "attributename":" Zone_Status ", //状态   "time":"yyyy-MM-dd   HH:mm:ss",   "status":0 , //参见报警规则   "value":"0.5"   }   返回值   returned value   Success:   {   "requestStatus":0   }   Fail:   {   "requestStatus":-1,   "errcode":3001,   "errdes":   }   Errcode List:   [   3001:other error (其他错误)   ] 4.4.3 上线通知   接口名称   name of interface   SensorOnLine   请求类型request type   POST   必填字段 mandatory text   返回类型 return type   JSON JSONObject   URL   SensorOnLine   http://host:port/Gateway/api/SensorOnLine   input   {   "serialno":"00137A000001E6AA01"   "battery":85 ,//电量   "deviceName":"设备名称",   "currVersion":"1.5",//软件版本   "sensorType":1,   "status":1 //状态   }   返回值   returned value   Success:   {   "requestStatus":0   }   Fail:   {   "requestStatus":-1,   "errcode":3001,   "errdes":   }   Errcode List:   [   3001:other error (其他错误)   ] 4.4.4 设备掉线通知   接口名称   name of interface   SensorOffLine   请求类型 request type   POST   必填字段mandatory text   sensors:需要添加的传感器设备   返回类型 return type   JSON JSONObject   URL   SensorOffLine   http://host:port/Gateway/api/SensorOffLine   input   {   "serialno":"00137A000001E6AA01"   "battery":85 ,//电量   "deviceName":"设备名称",   "currVersion":"1.5",//软件版本   "sensorType":1,   "status":0 //状态   }   返回值   returned value   Success:   {   "requestStatus":0   }   Fail:   {   "requestStatus":-1,   "errcode":3001,   "errdes":   }   Errcode List:   [   3001:other error (其他错误)   ] 5 控制命令(COMMAND)5.1 控制命令需求描述5.1.1 命令接收与执行   名称、标识符   命令接收与执行   功能描述   网关在完成云端登陆后需要保持与云端的HTTP长链接等候接收云端的指令。   补充说明   1, 网关加电入网后,首先完成认证中心认证后,需要向云平台发起新的HTTP链接,并保持当前链接等候云端的指令。   2, 在接收到网关指令(可能是网关原语或网关与云端自定义的规则函数)后会执行网关命令,并调用数据上报接口将返回数据报送云端。具体上报数据参见网关接口API.   3, 命令参见网关接口设计。 5.1.2 命令报告及相应事件   名称、标识符   当数据命令发生   功能描述   当传感器触发事件后会通过网关完成数据上报。   补充说明   上报的数据包括:   1, 组网信息改变后完成新的网络信息上报   2, 在执行云端指令后将执行结果返回到云端   3, 当传感器满足触发条件时,主动将数据上报至云端。 5.1.3 命令错误报告   名称、标识符   命令错误报告   功能描述   当命令执行不能到达时需要向云端发送错误报告   补充说明   发生如下错误时上报:   1000;// 命令成功到达   1001;// 命令下发等待设备执行   2001;// 命令格式错误   2002;// 网络错误   //当链路出现无有效路由,树状态链路失败,非树状态链路失败,多对一路由失败 ,接传送终止,源路由失败等错误时上报云端2003链路失效。   2003;// 链路失效   2004;// 当设备出现,低电池电压,无路由能力或无间接能力时上报 2004设备故障。   2005;//   2005路由失效 当父设备链路失败,源路由失败时,上报2005.   2006 ;//   命令执行失败   3001 ;//   未知错误 5.2 接口设计5.2.1 创建命令通道   接口名称   CommandConnect   网关通过发起HTTPGET方式创建,长链接服务,服务接收到请求后会保持该链接同时每10秒网关主动发送一次内容为"0"的心跳。   请求类型   HTTP GET//至1.2版本后只支持GET方法   必填字段   ieee:网关ieee地址   SYSID:激活后返回的SYSID   JSESSIONID:激活后返回的JSESSIONID   返回类型   json   URL   http://host:port/comet?ieee=00137A0000014D6A&SYSID=greenlive&JSESSIONID=00UDSFSDA014D6A01DSAFDSA   input   返回值   连接正常则返回"0"   并且每次间隔10S会发送服务器心跳"0" 5.2.2 命令执行报告反馈   接口名称   CommendReport   请求类型   HTTP POST   必填字段   commandId   返回类型   json   URL   http://host:port/Gateway/api/CommandReport   input   {   "commandId":"1000180",   "requestStatus":0,//0,成功,-1失败   "code":3001   }   code List:   //报告中如有与规格需求冲突的以规格需求报告为主   code List:   //报告中如有与规格需求冲突的以规格需求报告为主   [   1000;// 命令成功到达   1001;// 命令下发等待设备执行   2001;// 命令格式错误   2002;// 网络错误   //当链路出现无有效路由,树状态链路失败,非树状态链路失败,多对一路由失败 ,接传送终止,源路由失败等错误时上报云端2003链路失效。   2003;// 链路失效   2004;// 当设备出现,低电池电压,无路由能力或无间接能力时上报 2004设备故障。   2005;//   2005路由失效 当父设备链路失败,源路由失败时,上报2005.   2006 ;//   命令执行失败   3001 ;//   未知错误   ]   返回值   Success:   {   "requestStatus":0,   "code":1000   }   Fail:   {   "requestStatus":-1,   "errcode":3001,   "errdes":   }   Errcode List:   [   3001:other error (其他错误)   ] 6 网关控制命令(COMMAND)6.1 网关操作6.1.1 Debug   进入调试模式,网关根据下发命令地址重新完成,服务器连接操作。   接口名称   Debug   请求类型   COMMAND   命令格式   {   "command":"Debug",   "gatewayAccount":"5ec90328005f-10031-44d",   "keyword":"71d732ab-2e9f-4734-b970-37246f16c633",   "mainServerUrl":"123.124.236.149:80",   "commandServerUrl":" 123.124.236.149:8077"   //   }   返回类型   网关通过长联接通道接收网关命令,执行成功发送命令反馈报告。(请参考命令报告章节) 6.1.2 InitGateway   保留传感器信息,重新完成网关激活动作。   命令名称   InitFatory   请求类型   COMMAND   命令格式   {   "command":"InitFactory"   }   返回类型   网关通过长联接通道接收网关命令,执行成功发送命令反馈报告。(请参考命令报告章节) 6.1.3 InitFatory   强制执行出厂配置,清除所有配对信息   命令名称   InitFatory   请求类型   COMMAND   命令格式   {   "command":"InitFactory"   }   返回类型   网关通过长联接通道接收网关命令,执行成功发送命令反馈报告。(请参考命令报告章节) 6.1.4 FirmwareDownLoad   网关接收命令后需要中下载固件,在下载完成后进行md5与 size 校验,确认正确后,重新启动,并在启动完成后重新激活该版本。在升级过程中出现错误需要要回滚上一版本启动。   接口名称   FirmwareDownload   请求类型   COMMAND   命令格式   {   "commandId":"100015",   "command":"FirmwareDownload",   "value":"http://www.gosmarthome.cn/download/firmware/netvox/z206_uImage_0_0_0_105_2684_cg6.bin",   "md5":"3109af3fda8092c5647fb2380738e1",   "size":"13599683"   }   返回类型   网关通过长联接通道接收网关命令,执行成功发送命令反馈报告。(请参考命令报告章节) 6.1.5 ChannelNegotiate   按给定参数强制组网   接口名称   ChannelNegotiate   请求类型   COMMAND   命令格式   {   "command":"ChannelNegotiate",   "wifi":{   "ssid":"nevox_0537",   "mode":"11b" ,   "password":"888888",   "status":1 //1:开启0:关闭   },   "wlan":{   "mode":"0",//0动态IP,1:静态,2,PPOE 3,3G   "account":"0",   "password":"1231231231"   }   }   回调函数   执行完成后,回调 6.1.6 ChannelNegotiateReport   上报当前网络状况信息   接口名称   ChannelNegotiate   请求类型   COMMAND   命令格式   {   "command":" ChannelNegotiateReport"   }   返回类型   网关通过长联接通道接收网关命令,执行成功发送命令反馈报告。(请参考命令报告章节) 6.2 设备管理6.2.1 AddSensor添加设备   名称、标识符   AddSensor添加设备   功能描述   网关接收到AddSensor命令时应将制定设备的IEEE地址加入到白名单中。   补充说明   1, 如白名单中已经存在该设备则可以忽略。   2, 如网关不支持白名单时应将协调器中缓存的设备信息上报服务端。   3, 如果网关是出于第一次激活且出厂有默认套餐设备时需要一次上报所有设备。   4, 由单独采购设备设备认证信息通常由运营商初始化到云端认证中心。   5, 添加设备,需要手机APP发送命令或用户手工触发网关进入,配对模式,并同时启动传感器进入查找模式。   6, 系统应该支持对已知IEEE物理地址的设备的自动加入功能。   7, 当网关收到新设备的请求网络申请时,会将申请设备信息发送至认证中心。等待认证通过。   命令格式   接口名称   AddSensor   请求类型   COMMAND   命令格式   {   commandId":"1000286",   "command":"AddSensor",   "sensorieees":["00137A0000014D6A01"]   }   返回类型   网关通过长联接通道接收网关命令, 执行成功发送命令反馈报告。(请参考命令报告章节) 6.2.2 移除设备   需求描述   名称、标识符   RemoveSensor   功能描述   网关接收到AddSensor命令时应将制定设备的IEEE地址从白名单中移除。   补充说明   1, 如白名单中不存在该设备则可以忽略。   2,如当前设备处于在网状态应先执行离网操作,再执行移除白名单操作。   3,如果设备在路由器中存在相关链路的缓存信息应同步移除。   4,如设备在协调器或路由器中存在于其他设备的绑定信息应移除绑定信息列表。   命令格式   接口名称   RemoveSensor   请求类型   COMMAND   命令格式   {   "commandId":"1000285",   "command":"RemoveSensor",   "sensorieees":["00137A0000014D6A01"]   }   返回类型   网关通过长联接通道接收网关命令, 执行成功发送命令反馈报告。(请参考命令报告章节) 6.2.3 更换设备   名称、标识符   更换设备   功能描述   在当前网络设备如果存在故障设备需要支持更换设备的需求。   补充说明   1, 故障设备为终端设备时可以直接移除并添加新设备。   2, 故障设备为路由器或网关时需要从相邻节点或云端认证中心下载网络信息,完成重新组网。   3, 更换设备时网络能力应满足节点管理需求   命令格式   接口名称   ReplaceSensor   请求类型   COMMAND   命令格式   {   "commandId":"1000289",   "command":"ReplaceSensor",   "newsensor":"00137A0000014D6A01"   "oldersensor":"00137A0000014D6A01"   }   返回类型   网关通过长联接通道接收网关命令, 执行成功发送命令反馈报告。(请参考命令报告章节) 6.2.4 IdentifyDevice(状态指示)   适用于带电设备,控制其状态指示。   接口名称   IdentifyDevice   请求类型   COMMAND   命令格式   {   "commandId":"100078",   "command":"IdentifyDevice",   "sensorieee":"00137A000000F62E01",   "value": "30"   }   返回类型   6.3 Zigbee组网6.3.1 ZigbeeScan查找加网   名称、标识符   查找网络   功能描述   网关接收到SCAN命令时应主动开放Zigbee网络,并将发现可加入的传感器报送服务端(报送接口参考FindSensor接口描述)   补充说明   1,网关打开Zigbee网络在白名单内的传感器直接执行加入动作,未在白名单内的传感器则需要向云端报送等待云端指令加入。   2,在发现设备时可以不校验通讯KEY等待云端指令后从后端获取相关认证。   命令格式   接口名称   ZigbeeScan   请求类型   COMMAND   命令格式   {"command":"ZigbeeScan","commandId":"1000259"}   返回类型   网关通过长联接通道接收网关命令,执行成功发送命令反馈报告。(请参考命令报告章节) 6.3.2 强制离网(LevelNetWork)   名称、标识符   移除设备   功能描述   当网关收到,认证中心移除设备的指令后完成指定设备从网络中移除。   补充说明   1, 对于可到达的路由器设备应该及时响应删除链路信息   2, 对于该设备曾经到达过的路由高速缓存应及时删除链路信息   3, 对于该设备既有的绑定信息应从(1),(2)中完成删除操作   4, 当被移除设备处于不可到达状况时(路由器关闭、或自身本身试电池供电的设备时),需要缓冲改命令,当设备再次发起入网时,发出拒绝请求的同时执行(1),(2),(3)操作。   命令格式   接口名称   LevelNetWork   请求类型   COMMAND   命令格式   {   "commandId":"1000984",   "command":"LevelNetWork",   "sensorieees":["00137A0000014D6A01"]   }   返回类型   网关通过长联接通道接收网关命令, 执行成功发送命令反馈报告。(请参考命令报告章节) 6.3.3 指定节点加网(AddNode2Route)   接口名称   AddNode2Route   请求类型   COMMAND   命令格式   {"command":"AddNode2Route"   ,"commandId":"1000250"   ,"routeieee":"00137A000001E6AA0"   }   返回类型   网关通过长联接通道接收网关命令,执行成功发送命令反馈报告。(请参考命令报告章节) 6.3.4 LinkReport链路信息上报   需求描述   名称、标识符   LinkReport   功能描述   网关接收到LinkReport命令时应将zigbee的链路表信息上报服务端。   补充说明   1, 星型组网时直接上报物理状况信息。   2,MESH组网时应首先根据LQI(网络连接质量)初步稳定后再进行上报。   3,接收到该命令是只是上报即时的网络信息,链路发生变化是无需更新。如服务端需要更新时会主动下发。   4,上报链路信息时需要上报链路信息的LQI信息。   5,服务端一般会在网关第一次上电或重新登录后延时发送链路上报命令。   命令格式   接口名称   LinkReport   请求类型   COMMAND   命令格式   {   "commandId":"1000980",   "command":"LinkReport",   "sensorieees":["00137A0000014D6A01"]   //指定节点的所有链路信息为空时上报所有链路信息。   }   返回类型   网关通过长联接通道接收网关命令, 执行成功发送命令反馈报告。(请参考命令报告章节) 6.3.5 LinkSet设备链路设定   需求描述   名称、标识符   LinkSet   功能描述   网关接收到LinkSet命令时应将zigbeey应根据指定的链路表组建网络。   补充说明   1, 主要用于网关故障的灾难性回复避免用户,再次完成重新加网操作。   2,链路标准中如果设计到路由器设定时应支持路由器高速缓冲表的刷新。   3,当链路表与设备不相符时,则在有差异的节点开始自主网。   4,执行完毕后上报实时的链路列表。   命令格式   接口名称   LinkSet   请求类型   COMMAND   命令格式   {   "commandId":"1000981",   "command":"   LinkSet ",   "linktable":   {   "ieee":"00137A000001E6AA"   "parentNodeieee":"00137A000001E6AA01",   "lqi":85   ,//链路质量   "childNode":[   {   "ieee":"00137A000001E6AA"   "parentNodeieee":"00137A000001E6AA01",   "lqi":85,   "childNode":[]   }   ]   }   }   返回类型   网关通过长联接通道接收网关命令, 执行成功发送命令反馈报告。(请参考命令报告章节) 6.4 场景与组操作6.4.1 CreateGroup创建组   命令格式   接口名称   CreateGroup   请求类型   COMMAND   命令格式   {   "commandId":"100025",   "command":"CreateGroup",   "sensorieees":["00137A000001E6AA01"],   " groupname ":"   light "   }   返回类型   网关通过长联接通道接收网关命令, 执行成功发送命令反馈报告。(请参考命令报告章节) 6.4.2 RemoveGroup移除组   接口名称   RemoveGroup   请求类型   COMMAND   命令格式   {   "commandId":"100025",   "command":"RemoveGroup",   "sensorieees":["00137A000001E6AA01"],   " groupname ":"   light "   }   返回类型   网关通过长联接通道接收网关命令, 执行成功发送命令反馈报告。(请参考命令报告章节) 6.4.3 ClearGroup清空组   命令格式   接口名称   CreateScene   请求类型   COMMAND   命令格式   {   "command":"CreateScene",   "sensorieees":["00137A000001E6AA01"]   }   返回类型   网关通过长联接通道接收网关命令, 执行成功发送命令反馈报告。(请参考命令报告章节) 6.4.4 CreateScene增加场景   命令格式   接口名称   CreateScene   请求类型   COMMAND   命令格式   {   "commandId":"100065",   "command":" CreateScene",   " scenename ":" light ",   "sensorieees":["00137A000001E6AA01"]   }   返回类型   网关通过长联接通道接收网关命令, 执行成功发送命令反馈报告。(请参考命令报告章节) 6.4.5 RemoveScene移除场景   命令格式   接口名称   ClearScene   请求类型   COMMAND   命令格式   {   "commandId":"100065",   "command":" RemoveScene",   "sensorieees":["00137A000001E6AA01"],   " scenename ":" light ",   }   返回类型   网关通过长联接通道接收网关命令, 执行成功发送命令反馈报告。(请参考命令报告章节) 6.4.6 ClearScene移除场景   命令格式   接口名称   ClearScene   请求类型   COMMAND   命令格式   {   "commandId":"100065",   "command":" ClearScene",   "sensorieees":["00137A000001E6AA01"]   }   返回类型   网关通过长联接通道接收网关命令, 执行成功发送命令反馈报告。(请参考命令报告章节) 6.5 设备绑定6.5.1 GetBindList获取绑定列表   命令格式   接口名称   GetBindList   请求类型   COMMAND   命令格式   {   "commandId":"1000281",   "command":"GeBindList",   "linktable":   {   "ieee":"00137A000001E6AA"   "parentNodeieee":"00137A000001E6AA01",   "lqi":85   ,//链路质量   "childNode":[   {   "ieee":"00137A000001E6AA"   "parentNodeieee":"00137A000001E6AA01",   "lqi":85,   "childNode":[]   }   ]   }   }   返回类型   网关通过长联接通道接收网关命令, 执行成功发送命令反馈报告。(请参考命令报告章节) 6.5.2 BindDevice设备绑定   命令格式   接口名称   BindDevice   请求类型   COMMAND   命令格式   {   "commandId":"1000283",   "command":"bindDevice",   "sourcedev":"00137A0000014D6A01",   "clusterid":"on/off",   "destdev":"00137A0000014D6A57"   }   返回类型   网关通过长联接通道接收网关命令, 执行成功发送命令反馈报告。(请参考命令报告章节) 6.5.3 UnBindDevice解除绑定   命令格式   接口名称   UnbindDevice   请求类型   COMMAND   命令格式   {   "commandId":"100025",   "command":"UnbindDevice",   "sourcedev":"00137A0000014D6A01",   "clusterid":"on/off",   "destdev":"00137A0000014D6A57"   }   返回类型   网关通过长联接通道接收网关命令, 执行成功发送命令反馈报告。(请参考命令报告章节) 6.6 控制命令6.6.1 CMD控制设备命令6.6.2 Movetolevel(调级)   适用于智能灯泡的可分级调整的设备   接口名称   Movetolevel   请求类型   COMMAND   命令格式   {   "commandId":"1000284",   "command":"movetolevel", "commandType":"dimmableLightOperation",   "sensorieee":"00137A0000014D6A01",   "value":"50"   }   返回类型   6.6.3 OutLetOperation(开关切换)   适用于电源插座、控制开关等可以进行(开关状态)切换的命令   接口名称   Movetolevel   请求类型   COMMAND   命令格式   {   "commandId":"1000255",   "command":"OutLetOperation",   "sensorieee":"00137A0000014D6A01",   "commandType":"mainsOutLetOperation",   "operation":"on/off"   }   返回类型   6.6.4 ClearData(清空设备数据)   适用于带电设备,清空记录电能等相关信息。   接口名称   IdentifyDevice   请求类型   COMMAND   命令格式   {   "commandId":"100078",   "command":" ClearData",   "sensorieee":"00137A000000F62E01"}   返回类型   6.6.5 HA属性操作(AttributeWrite)   可以完成设备睡眠周期改写、上报周期、设备临界点等设定。   接口名称   AttributeWrite   请求类型   COMMAND   命令格式   {"command":" AttributeWrite",   "commandId":"1000259",   "sensorieee":"00137A000001E6AA01",   Attributes: [   {   "attributename":" ZoneHeartBeatPeriod ",   "value":"90"   },   {   "attributename":" SwitchActions ",   "value":"on"   },   ] }   返回类型   网关通过长联接通道接收网关命令,执行成功发送命令反馈报告。(请参考命令报告章节)   回调函数   SensorReport   暂定支持范围   红外属性:   IRDetectionTime 30   IRDisableTime 5   PIRUnoccupiedToOccupiedDELAY 5   门磁   SwitchActions on/off   ZoneHeartBeatPeriod 30-604800 6.6.6 AddPassword(添加密码)   添加密码(适用于密码设备)   接口名称   AddPassword   请求类型   COMMAND   命令格式   {   "startTime":1482681600,   "endTime":1482854400,   "passId":1003,//密码组ID   "sensorieee":"00158d0000ca594d",   "command":"AddPassword",   "passVal1":379573//用户密码   }   返回类型   网关通过长联接通道接收网关命令,执行成功发送命令反馈报告。(请参考命令报告章节) 6.6.7 DelPassword删除密码   接口名称   DelPassword   请求类型   COMMAND   命令格式   {   "passId":1003,   "sensorieee":"00158d0000ca594d",   "command":"DelPassword"   }   返回类型   网关通过长联接通道接收网关命令,执行成功发送命令反馈报告。(请参考命令报告章节) 6.6.8 ClearPassword(清空密码)   清空密码   接口名称   ClearPassword   请求类型   COMMAND   命令格式   {   "sensorieee":"00158d0000ca594d",   "command":"ClearPassword"   }   返回类型   网关通过长联接通道接收网关命令,执行成功发送命令反馈报告。(请参考命令报告章节) 6.6.9 ClusterCMD节点指令透传   命令格式   接口名称   ClusterCMD   请求类型   COMMAND   命令格式   {"command":" ClusterCMD",   "commandId":"1000279",   "gatewayieee":"00137A000001E6AA",   "sensorieees":["00137A000001E6AA01"]   "cmd": ""//透传命令内容   }   返回类型   网关通过长联接通道接收网关命令,执行成功发送命令反馈报告。(请参考命令报告章节) 6.6.10 IRLearn红外学习   适用于红外指令学习   命令格式   接口名称   IRLearn   请求类型   COMMAND   命令格式   {"command":" IRLearn",   "sensorieee":"00137A000001E6AA01"   }   返回类型   网关通过长联接通道接收网关命令,执行成功发送命令反馈报告。(请参考命令报告章节) 6.6.11 G IRControl红外指令发送   适用于红外指令指令发送   命令格式   接口名称   IRControl   请求类型   COMMAND   命令格式   {"command":" IRControl",   "value":"002233222",   "sensorieee":"00137A000001E6AA01"   }   返回类型   网关通过长联接通道接收网关命令,执行成功发送命令反馈报告。(请参考命令报告章节) 6.6.12 ClusterCMD节点指令透传   命令格式   接口名称   ClusterCMD   请求类型   COMMAND   命令格式   {"command":" ClusterCMD",   "commandId":"1000279",   "gatewayieee":"00137A000001E6AA",   "sensorieees":["00137A000001E6AA01"]   "cmd":   ""//透传命令内容   }   返回类型   网关通过长联接通道接收网关命令,执行成功发送命令反馈报告。(请参考命令报告章节) 6.6.13 GroupClusterCMD节点集群指令透传   命令格式   接口名称   GroupClusterCMD   请求类型   COMMAND   命令格式   {"command":" GroupClusterCMD",   "commandId":"1000289",   "gatewayieee":"00137A000001E6AA",   "groupid":"0x17",   "cmd": ""   }   返回类型   网关通过长联接通道接收网关命令,执行成功发送命令反馈报告。(请参考命令报告章节) 6.6.14 ReleaseAlarm   当发生误报时可以命令解除报警,关闭蜂鸣器等报警设备   接口名称   ReleaseAlarm   请求类型   COMMAND   命令格式   {   "sensorieees":["00158d0000ca594d"],   "command":"ReleaseAlarm"   }   返回类型   网关通过长联接通道接收网关命令,执行成功发送命令反馈报告。(请参考命令报告章节)   7 字典表 7.1 传感器类型字典   名称   类型   备注   门/窗磁感应器   1
  温度感应器   2
  漏水感应器   3
  红外移动感应器   4
  可调光智能灯   5
  可调色智能灯   6
  普通智能插座   7
  温湿度感应器   8
  智能声光报警器   9
  无线智能门铃   10
  无线智能摄像头   11
  中继器   12
  湿度感应器   13
  多键便携开关   14
  无线紧急按钮   15
  无线摄像机   16
  智能红外转发器   17
  无线门铃   18
  烟雾感应器   21
  可燃气体报警器   22
  PM2.5空气检测   23
  空开设备/电表   24
  墙面开关   26
  墙面插座   29
  智能门锁   30
  场景控制器   31
  感应开关   32
  未知设备   100
  7.2 报警规则   序号   传感器名称   默认报警阀值   备注   1
  门/窗磁感应器   打开   门磁处于打开状态时触发报警AlarmReport,当门磁关闭时发送DataReport,通知云端解除报警状态   2
  温度感应器   无   3
  漏水感应器   漏水触发   漏水处于触发状态时触发报警AlarmReport,当恢复正常时发送DataReport,通知云端解除报警状态   4
  红外移动感应器   物体移动   有物体移动时触发状态时触发报警AlarmReport,当恢复正常时发送DataReport,通知云端解除报警状态   5
  可调光智能灯   无   6
  可调色智能灯   无   7
  普通智能插座   电流电压过载   8
  温湿度感应器   无   9
  智能声光报警器   触发   10
  无线智能门铃   无   11
  无线智能摄像头   物体移动   有物体移动时触发状态时触发报警AlarmReport,当恢复正常时发送DataReport,通知云端解除报警状态   126
  湿度感应器   无   12
  无线开关   无   13
  无线紧急按钮   启动紧急开关   人工出发开关,并在2分钟内未解除的则发送报警信号   14
  智能红外转发器   无   15
  无线声光报警器   无   16
  烟雾感应器   高温或烟雾   探测到高温或烟雾时发送报警信息   17
  空气质量监测   严重污染   PM2.5浓度超标或有害气体超标则发送报警信息,恢复正常后解除报警 7.3 设备状态   状态名称   值   检查规则   备注   脱机   0
  带电设备,每1分钟检查一次,两次以上未响应,则上报脱机。电池供电设备,每小时唤醒一次,连续两次未收到唤醒信号,上报脱机。   在线   1
  设备入网后,或唤醒时向云端报送上线通知。   激活   2
  设备完成认证并成功入网后,上报状态。   故障   3
  设备在线状态正常,但在接收命令时不能及时反馈状态信息时上报故障。   已移除   4
  设备被网关移除   7.4 数据上报量   序号   传感器名称   属性名称   值   备注   1
  门/窗磁感应器   Zone_Status   0/1   关闭状态下报送:0   打开状态下报送:1   2
  温度感应器   Temperature   25
  3
  漏水感应器   Zone_Status   0/1   正常状态下报送:0   漏水状态下报送:1   4
  红外移动感应器   Zone_Status   0/1   正常状态下报送:0   异常状态下报送:1   5
  可调光智能灯   Level   0-255   调光   StateOnOff   0/1   0:关,1:开   6
  可调色智能灯   RGB   FFFFFF   颜色值   StateOnOff   0/1   0:关,1:开   7
  普通智能插座   Current   0—?   电流   Voltate   0—?   电压   Power   0—?   电能   Energy   0—?   功率   StateOnOff   0/1   0:关,1:开   8
  温湿度感应器   Temperature   温度   Humidity   湿度   9
  智能声光报警器   Zone_Status   0/1   10
  无线智能门铃   StateOnOff   0/1   11
  无线智能摄像头   另行规定   12
  湿度感应器   Humidity   湿度   13
  无线开关   StateOnOff   0/1   14
  无线紧急按钮   Zone_Status   0/1   15
  智能红外转发器   另行规定   16
  无线声光报警器   Zone_Status   0/1   17
  烟雾感应器   Zone_Status   0/1   18
  空气质量监测   Zone_Status   0/1   PM2.5   ?   PM2.5   浓度   8 安全认证及错误处理8.1 需求概述   名称、标识符   Zigbee组网安全   功能描述   Zigbee通讯设备应具备AES128位以上硬加密模式。   认证证书由运营商统一完成下发发放。   补充说明   安全功能将做如下处理:   网关在收到组网需求后需要在认证中心下载制定的用户证书完成组网安全认证。   由网关来创建信托中心,并从云端认证中心下载指定用户的Master Key,然后调用ZDO发出APSME原语来执行。   信托中心功能实现应该满足如下需求:   允许信托中心转换active的网络钥匙;   允许信托中心从网络中移动设备;   允许ZigBee路由器通知任何一个设备的信托中心连接网络,更新现有网络。 8.2 认证流程8.2.1 网关注册   名称、标识符   网关注册   功能描述   网关在首次家电入网时会登陆认证中心完成设备注册。并下发相关的认证信息   补充说明   认证信息包括:   1, 网关安全证书   2, 运营商信息   3, 固件基本信息   4, 参见认证流程 8.2.2 网关激活   名称、标识符   网关激活   功能描述   实现绑定网关与用户APP的绑定关系,并将用户信息下发到网关设备。   补充说明   8.2.3 申请证书   名称、标识符   申请证书   功能描述   网关可以单独发起申请证书操作。   补充说明   8.2.4 更换证书   名称、标识符   更换证书   功能描述   当网关完成激活时会发起证书申请,请求云端认证中心下发认证证书。   补充说明   8.2.5 添加设备   名称、标识符   添加设备   功能描述   当网关收到新设备的请求网络申请时,会将申请设备信息发送至认证中心。等待认证通过。   补充说明   云端根据具体运营商的需求会完成:   1, 是否支持该类型设备,   2, 是否已操作最大加入数量。 8.2.6 移除设备   名称、标识符   移除设备   功能描述   当网关收到,认证中心移除设备的指令后完成指定设备从网络中移除。   补充说明   8.2.7 固件下载   名称、标识符   固件下载   功能描述   当有新固件需要更新时提供固件的更新操作。   补充说明   云端应提供断点续传的支持 8.2.8 版本恢复   名称、标识符   版本恢复   功能描述   网关在固件出现问题时可以下载指定版本进行恢复。   补充说明   8.3 接口设计8.3.1 CheckUpgrade检查更新   接口名称   CheckUpgrade   请求类型 request type   POST   必填字段 mandatory text   currVerson:当前版本号   serialNumber:设备号   type:设备类型   deviceId:设备Id   返回类型 return type   JSON JSONObject   URL   CheckUpgrade   http://host:port/firmware/CheckUpgrade   input   {   "serialNumber":"00137A000001E6AA01",   "deviceId":"00137A000001E6AA01",   "type":"1",   "currVersion":"1.5"//软件版本   }   返回值   returned value   Success:   {   "requestStatus":0   "data":{   "lastVerson":2.0   }   {   "requestStatus":-1,   "errcode":3001,   "errdes":   }   Errcode List:   [   3001:other error (其他错误)   ] 8.3.2 ApplyKey证书申请   接口名称   name of interface   ApplyKey   请求类型 request type   POST   必填字段mandatory text   返回类型 return type   JSON JSONObject   URL   ApplyKey   http://host:port/firmware/ApplyKey   input   {   "serialno":"00137A000001E6AA01",   "currVersion":"1.5"//软件版本   }   返回值   returned value   Success:   Return :InputStrame 8.3.3 RepaceKey证书更新   接口名称   name of interface   KeyDownload   请求类型 request type   POST   必填字段 mandatory text   返回类型 return type   JSON JSONObject   URL   http://host:port/firmware/KeyDownload   input   {   "serialno":"00137A000001E6AA01",   "currVersion":"1.5"//软件版本   }   返回值   returned value   Success:   Return :InputStrame 8.4 网关固件升级流程8.5 网关错误报告   接口名称   name of interface   GatewayErrorReport   请求类型 request type   POST   返回类型 return type   JSON JSONObject   URL   http://host:port/Gateway/api/GatewayErrorReport   input   {   "deviceId":"5ec90328005f-10031-44d",   "gatewayAccount":"5ec90328005f-10031-44d",   //非必填   "keyword":"71d732ab-2e9f-4734-b970",//非必填   "mainServerUrl":"123.124.236.149:80",   "commandServerUrl":"   123.124.236.149:8077" ,   "currVersion":"1.5",//当前网关版本   "sessionId":"5deb046d-97c0-43bf-b304",//非必填   "systemCode":"gw2",//非必填   "errorCode":1001 //错误代码   }   Errcode List:   [   1001:Login error (登录不成功)   1002:CommandUrl timeout (长链接超时)   1003:CommandUrl fail (长链接失败)   1004:Activite fail (固件激活失败)   1005:Update fail(固件升级失败)   2001:Other Error (其他错误)   ]   返回值   returned value   Success:   {   "requestStatus":0,   "data":{   "commandList"[ //网关执行命令   {"commandId":"1000210",   "command":"InitGateway"   }   ]   }   }   Fail:   {   "requestStatus":-1,   "errcode":3001,   "errdes":   }   Errcode List:   [   3001:other error (其他错误)   ] 8.6 应用错误错误报告流程   当网关在建立长连接前或长连接链接信息出现异常是需要报送网管错误报告。用例如下:   用户登录错误   网关登录时失败需要报送1001:Login error (登录不成功)并等待云端指令。   版本激活错误   上报网关错误,错误码1004:Activite fail (固件激活失败)。   网关会根据网关具体情况下发固件升级或重新注册激活指令。   长联接错误   网关登录成功后会发起,长联接请求,在指定的时间内默认(60S)没有收到服务器返回或返回错误代码时,上报网关错误,错误码1003:CommandUrl fail(长链接失败) 心跳超时错误   网关成功建立长联接服务端会以10S/次的频率发送心跳信息"0"网关默认不需应答,当网关连续10次(100S)未收到心跳信息时,需要上报网关错误,1002:CommandUrl timeout (长链接超时)。   固件升级错误   当网关,固件升级出现错误回滚时报送1005:Update fail (固件升级失败)。   其他错误   当网关由于其他原因不能正常接收云端命令时,2001:Other Error (其他错误)

开国少将曾美曾下令活埋15名鬼子为何未受惩罚却被称赞?曾美将军,在1955年被授予共和国开国少将,但在临终时依旧对抗战时曾经活埋15名鬼子一事耿耿于怀赶到内疚。我军一向有优待俘虏的传统,为何他会如此下令呢?11943年6月,时任八路军塞拉斯我们本可以在落后很多时轻松放弃但队员们每场都在拼直播吧12月4日讯火箭队今日常规赛客场101120不敌勇士队,火箭队首节就落后近20分,一度落后近30分,虽然他们下半场开始反击,末节甚至将比分追至个位数,不过,年轻的他们最终未能打造二维码上的绿色村庄党的二十大报告指出发展乡村特色产业,拓宽农民增收致富渠道。我们要以此为遵循,带动清溪村发展再上新台阶。11月18日,益阳市高新区谢林港镇清溪村,10多名村干部村民围坐一团,开展党的美国封锁无效?国产存储芯片突破欧美日韩垄断,量产232层技术在刚刚召开的2022年闪存峰会上,国产芯片巨头长江存储再次宣布重磅消息,基于国产芯片架构晶栈3。0(Xtacking3。0)的第四代3DTLCNAND闪存芯片正式量产商用,命名为XAD9361纯逻辑控制从0到1连载1生成初始化脚本AD9361要正常工作,首先需要做初始化的配置工作。而AD9361的寄存器很多,多达1024个,每个寄存器有8bit,每个bit或多个bit的组合,有不同的功能,使得初始化工作相当乌拉圭队围堵主裁或面临FIFA制裁最坏将无法参加下届世预赛(观察者网讯)北京时间12月3日凌晨结束的世界杯H组末轮比赛,乌拉圭20击败加纳,但因进球数少于韩国无缘出线。本场比赛频现判罚争议,乌拉圭队认为自己少了2个点球机会,赛后怒气冲天的世界杯1澳大利亚晋级八强将战荷兰北京时间12月4日凌晨3点,2022卡塔尔世界杯第二场18决赛在艾哈迈德球场进行,阿根廷队对阵澳大利亚队,这场比赛是梅西职业生涯第1000场里程碑。上半场,梅西推射破门,打进了他在斯诺克丁俊晖职业生涯亚军记录在刚刚过去的2022世界斯诺克英锦赛上,状态回升的丁俊晖遗憾的710落败与艾伦!也许,大家都感到很遗憾,也觉得很可惜!毕竟,丁俊晖的上一个冠军还要追溯到三年前的英锦赛上。很多球迷都鹈鹕vs马刺今天NBA常规赛鹈鹕客场对阵马刺的比赛已经结束。赛后鹈鹕11799击败马刺我们都是聪明的玩家。从赛季开始我就说过了。这需要时间。我们合作的时间越长,我们的化学反应就会越好。威廉姆森贝克汉姆发量暴增!秃头回春全靠科技狠活?被疑在C罗诊所植发贝克汉姆在重重争议下依然选择为卡塔尔世界杯代言,抛开别的不说,当他和卡塔尔王子那张霸气并肩照流出的时候,谁不赞叹一句,47岁的贝克汉姆宝刀不老,流畅性感的胡须造型丝毫不油腻,反而凸一笔改变NBA走向的双赢交易,缔造出东西部各一匹赛季最大黑马先把时间倒回到今年二月。当时,国王的成绩仅仅是20胜35负,距离终结自己北美四大体育联盟最长的16年无缘季后赛的纪录,还是遥遥无期。同期的步行者也好不到哪里去,成绩仅为19胜36负
全英羽毛球公开赛国羽开门红中国体育报讯北京时间3月14日晚,2023年全英羽毛球公开赛在伯明翰打响。首个比赛日爆出冷门,国羽男单选手赵俊鹏2比1击败世锦赛冠军新加坡选手骆建佑,为国羽男单迎来全英赛开门红。国爱奇艺电视果6拯救老电视的神器如今,在智能电视大潮的推动下,电视这类传统家电的更新速度也越来越快,而在父母那一辈人的传统观念里,电视只有用坏了才会换,否则是不会去主动更新这些大件的。既然说服不了父母,那我只能搭iPhone灵动岛烧屏,手机厂商亡羊补牢晚不晚?快消八谈iPhone灵动岛315晚会会前夕,iPhone灵动岛烧屏话题冲上微博热搜,实际上,近日一直有用户在推特上爆料称,iPhone14Pro上的灵动岛区域发生了烧屏问题,通过图海信电视被质疑存在工艺缺陷美的华帝被质疑乱收费原标题315家电商家大调查海信电视被质疑存在工艺缺陷美的华帝被质疑乱收费一年一度的315消费者保护日将至,今年中国消费者协会(下称中消协)的维权年主题是提振消费信心。与往年相比,提预装鸿蒙3。1,华为P60四种新配色曝光,月底推出华为手机官方已经正式宣布在3月23日举行新品发布会推出华为P60系列手机以及新款折叠手机华为mateX3手机。华为P60系列手机月底就要推出与大家见面了,随着华为P60系列手机的发荣耀MagicBookX1416Pro笔电今晚0点开卖13代酷睿标压,预售价4299元起前一段时间,在荣耀Magic5系列及全场景新品发布会上,荣耀正式发布了新款MagicBookX1416Pro系列笔记本电脑。目前新款荣耀MagicBookX1416Pro系列已登陆颠覆您对蓝牙传输音质的认知艾美B1蓝牙无线解码器文连梓然新音响NewAudiophile艾美B1蓝牙无线解码器随着科技的发展,以及越来越多优质的流媒体平台普及,通过网络享受高格式数字音乐是未来不可阻挡的趋势,现在的数字音乐播放器今年315,就没人管管零食刺客?天气乍暖还寒,雪糕刺客还没大面积上岗,话梅刺客倒是抢先上了热搜。网友上海逛街,在一家土特食品店遇到自己喜欢的上海蜜饯老牌子,禁不住诱惑就打算买一些话梅。结果一称重,半袋话梅400元满大街的国酒茅台招牌为啥不见了?到底发生了什么?看完懂了现在有国酒吗?许多酒友的回答是国酒茅台,因为之前大街上经常能看见这样的招牌,但实际情况是没有国酒,满大街的国酒茅台招牌也都不见了。自2001年起,茅台前前后后申请过9次国酒的商标,一次不经意的醉酒,怎么就让刘汉王朝延续了一百九十五年刘秀大家都很感兴趣从今日起每日必更敬请大家持续关注二趣蝴蝶效应很多人说起刘秀,往往会以为,刘秀是汉室后裔,西汉被王莽给篡了,建立了新朝,王莽的年号叫新,新朝变法改制,搞得很新潮,听全国冷门美食4荆芥01河南提到荆芥就不得不提到河南,因为河南与荆芥的渊源实在太深河南省位于中国中部,是中国的一个省级行政区。河南省是中国历史文化名省,拥有丰富的人文历史遗迹和文化资源,是中华文明的重