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

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 (其他错误)

米体拜仁预计为德里赫特最多出7000万奖金尤文期待英超抬价直播吧7月11日讯米兰体育报消息,德里赫特已经告知尤文想去拜仁,而拜仁预计出价不会超过7000万欧奖金,尤文期待英超3队能够参与竞争。萨利已经在今天飞赴都灵,尤文也愿意放球员离队,从万众同情到万人唾弃,吕丽萍,也走到了今天这一步从万众同情到万人唾弃,吕丽萍,也走到了今天这一步7月9日凌晨,演员吕丽萍在社交平台发帖悼念安倍,并引用疑似安倍的话,配文在这个世界上,每个人都活得那么辛苦,我曾经羡慕的人,我曾经向免费的才是最贵的免费的才是最贵的,这其实是经济学的概念,除开经济学,我们知道,阳光,人的善意,往往不需要你付出什么就能得到,也就是免费的,但这些东西都是很贵的,甚至是无价的。就像阴雨连绵的日子,总比亚迪,傲慢与偏见刘慈欣在科幻作品三体提到弱小和无知不是生存障碍,傲慢才是。社交媒体频繁出现的观点可以作为大多数人的真实想法吗?他们在媒体上的说法可以作为现实中的消费行为的前提吗?无论是抖音,还是微冀酒往事老白干丛台酒名气不再,河北白酒是如何走向没落的?早在很久之前,河北就流传着无酒不成礼无酒不成俗的酒文化。河北人对于喝酒的规矩排面甚至仪式感都特别讲究,其酒量就更加不用多说,绝对能喝趴各大省份的大部分酒鬼。不过,要想从当地找出几款世界狙击之王共狙杀705人,连瞄准镜都不要大家在电视的时候应该经常会看见狙击手的存在,他们一般都会选择潜伏咋一个隐蔽的地方,然后对着敌人瞄准之后就直接一枪致命,而西蒙海耶就是这样一位人,在1939年苏联个芬兰的战争中证实狙周线选股37天今日各主要指数早盘低开后,一路震荡走低,截至收盘,全部绿盘报收,成交量万亿出头,两市共3200多支股票下跌,其中2500多支股票跌幅小于3,涨停68家,跌停21家。上周我们提示过,掌上WeGame的下架,丝毫没有惋惜之情想必在座的机友,应该玩过英雄联盟王者荣耀这种竞技类的MOBA游戏吧。这类游戏有个共同点,就是游戏局内变化莫测,不光要根据对局情况灵活选择装备,还要关注实时刷新的环境资源整局下来,要张信荣搞科研,就要走新路走难路张信荣近照。吕宸摄人物名片张信荣1973年生,北京大学工学院教授博士生导师,天然工质热力学循环及其传热传质领域研究者,致力于多项天然工质二氧化碳发电制冷和制热热力学循环研究。201吕布和刘备都经常跳槽,为何吕布遗臭万年,刘备却是仁德的化身?东汉末年,诸侯混战,能人辈出,吕布就是其中一位,他是三国中颇具争议的一个人物,人们常用人中吕布夸赞他骁勇善战,也常用三姓家奴讽刺他不忠不义。纵观吕布的职业生涯,他曾经多次跳槽,先是话说杭州路清朝年间,青岛海泊河的入海处(现海泊河公园),旁边有一村子,地形像一把扫帚,人们称其为扫帚村,因为是在海边,所以也叫扫帚滩。后来因多年填海,现在的海泊河公园离海已经很远了。扫帚村通
谷传民说我与大衣哥二人之间的恩怨已翻篇一觉醒来,让人万万没想到,谷传民导演在2023年2月18日,曝出了他与大衣哥朱之文之间的一个惊人的消息!2023年2月18日,一个普普通通的日子。可是,对大衣哥和谷传民来说,这一天陈晓陈妍希你们别装了,离婚吧!综艺人恐是深谙恋爱还是看别人谈有意思的观众心理,近几年的情感观察类节目格外吃香。这不,再见爱人刚结束,隔壁的半熟恋人又紧锣密鼓的开播了。在这档节目里,除了能跟着素人一起体验男女双方戈麦斯公开表示自己因外表而受到评判对不起,巨魔。但你不会让赛琳娜戈麦斯失望的。1月10日星期二,在2023在金球奖颁奖典礼上走红地毯后,大楼里唯一的谋杀案女演员在社交媒体上遗憾地获得了一些羞辱身体的评论。然后,她和书中一窥文人收藏偶然来去的那束光鲁迅藏外国版画全集中国照相馆史(18591956)鲁迅藏浮世绘佚名照20世纪下半叶中国人的日常生活图像北山楼金石遗迹北山楼藏碑经眼百品我的宝贝翻译家李文俊先生遽归道山,早先见媒体报伊藤美诚也爱美,化淡妆穿长裙踩高跟,精心打扮的她,你给打几分日本乒坛现役一姐伊藤美诚,实力可以给打几分?如果满分是十分,估计怎么着也有八分吧,甚至九分也不为过,毕竟伊藤美诚的整体实力是摆在那的。伊藤美诚实力强是有目共睹的,那么,伊藤美诚的颜26岁小伙不剪单9件作品被博物馆收藏雪强和他的剪纸作品顶端新闻河南商报记者张静文李骋宇图一把剪刀,一张红纸,须臾间一个灵动的世界跃然纸上。有人问我为什么喜欢剪纸,我就是喜欢那喜庆的大红色!这个看上去有些腼腆的大男孩就商业化审丑,马保国又复出了?随着互联网的发展,网络直播已成为了一种极受欢迎的新兴娱乐方式。许多人通过在网络平台上发布自己的直播视频和短视频,获得了大量的关注和粉丝。然而,也有一些人为了吸引更多的观众,采用了虚不愧为卡神!阿凡达2超越泰坦尼克号,挤进影史前三头条创作挑战赛在中国内地市场,能够打破中国影史票房最高纪录的演员就只有吴京一人,由其自导自演的战狼2于2017年以近57亿人民币的票房成绩登上了中国票房冠军的位置。直到四年之后,也种地吧下期精彩种地团热血挑战搬运30吨化肥由爱奇艺蓝天下传媒出品,海西传媒遥望科技联合出品,爱奇艺社会责任联合呈现的劳作纪实互动节目种地吧将于本周六1200播出第四期。节目中,十位成员将接力搬运30吨化肥,体力面临巨大考验埃兹拉米勒被换!格兰特古斯汀成为DC新任闪电侠!根据最新的消息爆料,CW的剧版闪电侠主演格兰特古斯汀将会成为DC新任闪电侠。根据YouTuber账号JohnCampea最新发布的一支爆料视频透露,格兰特古斯汀将会在6月上映闪电侠原神非常好玩的角色早柚一首先早柚可以滚,而且滚的飞快还不消耗体力。可以交替奔跑使用,是跑图神器。早柚元素战技是滚动攻击,可以改变方向,持续10秒,在滚动过程中可以给路过的敌人造成风元素伤害,滚动状态下可