ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:82.57KB ,
资源ID:6516262      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6516262.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(智能家居协议实现V10全解讲解学习.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

智能家居协议实现V10全解讲解学习.docx

1、智能家居协议实现V10全解讲解学习智能家居协议实现方案V1.01协议概述智能家居协议运行在网关、手机、服务器三个地方,交互方式为两两交互,即网关手机端、网关云端、手机端云端之间的相互通信。协议整体分为三层:网络层,安全层,设备管理层。(说明:协议分层是逻辑上的分层,并不是各层次之间相互封装的关系,逻辑上包含关系从外到内为:安全层网络层管理层。分层是为了功能之间的独立)1 网络层网络层的主要功能为建立连接、注册和登录,建立连接分为:手机网关建立连接,网关服务器建立连接,,手机服务器建立连接。手机和网关在无线局域网环境和互联网环境均可连接网关,互联网环境下首先从服务器获取网关IP,然后通过IP和网

2、关连接。网关和服务器也需要建立连接,首先通过TCP/IP三次握手保证链路畅通,其次网关要在服务器端注册自己的IP地址和ID号,最后,网关要定时向服务器发送心跳包,维护自己的IP地址,保证手机能随时发现网关。2 安全层安全层完成加密和认证的功能。3 设备管理层设备管理层完成设备的控制,查询,设备增删改。协议层次如图所示:图0 协议架构图协议封装格式如图所示:图1 协议层次图2. 协议分层实现2.1网络层网络层的主要功能为建立连接和注册登录,建立连接分为:手机网关建立连接,网关服务器建立连接,手机服务器建立连接。网络层字段表:键值含义说明LayerNetwork表明是网络层数据包协议三层分别为:N

3、etworkSecurityManageSourceApp,Server,Gateway发送数据包的源设备App端服务器网关DestinationApp,Server,Gateway接收数据包的目的设备App端服务器网关UserIDXXXXXXXXXX用户ID唯一标示GetawayIDXXXXXXXXXX网关ID唯一标示TypeHeartBeatDeclareLoginLoginACKRegisterRegisterACKQueryQueryResultCheckStatusError数据包类型心跳宣告登录登录确认注册注册确认查询网关IP返回结果查看状态错误返回Time年-月-日-时-分-秒时

4、间如2014-11-30T18:30:00MacroStatusXXX,XXX宏观状态用两个值表示Status1XX2XX3XX 4XX 5XX 结果状态1XX信息收到,继续处理,2XX成功类状态信息3XX 客户端错误4XX 网关错误5XX 服务器端错误Value值可以为数值,也可以为字符串2.2安全层2.2.1 方案一加入可选的安全机制,在HTTP请求头部添加加密选项参数,安全级别分为以下几种:1、不设防级,系统开发初期,先把系统调通,不加密,全部内容用明文。2、初级,假设攻击者能够拿到自己的账号和密码,模拟各种操作,获取其中的通信报文,并分析出每个字段的含义。但是攻击者不能拿到其它用户的账

5、号和密码,也不能监听到其它用户的通信过程。这种情况下,用会话ID进行用户认证,保证每个用户只能按系统给予的权限访问自己的家居设备。3、中级,假设攻击者在初级的能力上,还能够监听到其它用户的临时会话ID,但是不能反编译客户端,不能拿到集成在客户端中的加密方法和秘钥。这种情况下,用APP中保存的唯一的秘钥,动态加密会话内容。4、高级,假设攻击者无法接收客户端手机短信,则用手机短信通道动态下发临时密码,对会话ID就行动态加密。HTTP头部不填写安全参数即表示不设防,填写某种我们约定的名称,就表示对应到某种加密方式。系统稳定以后,云端和网关端拒绝不设防通道即可2.2.2 方案二采用认证方式,发送认证数

6、据包。安全层字段表:键值含义备注LayerSecurity表明是安全层数据包SourceApp,Server,Gateway发送数据包的源设备App端服务器网关DestinationApp,Server,Gateway接收数据包的目的设备App端服务器网关TypeAuthentication,AuthenticationACKError数据包类型认证认证确认错误返回Time年月日时分秒时间Content不同数据包内容不同数据包内容Status1XX2XX3XX结果状态1XX信息收到,继续处理,2XX成功3XX 验证失败2.3设备管理层设备管理层主要负责手机网关之间设备信息的交互,主要有设备请求

7、,设备响应,设备控制。设备管理层数据格式基本相同,控制包最终都是向网关发送。注:设备管理层最大限度的保留原有格式和操作,只是将登录和心跳包移到了网络层。设备管理层字段表:键值含义备注LayerManage表明是管理层数据包SourceApp,Server,Gateway发送数据包的源设备可以为手机,服务器,网关DestinationApp,Server,Gateway接收数据包的目的设备可以为手机,服务器,网关TypeQueryQueryResultControlControlResultUpdateAddDeleteError数据包类型查询请求,查询结果,控制请求,控制结果,设备状态更新设备

8、添加设备删除错误返回ObjectGatewayAd-hocSensor请求对象网关,无线传感器网络,传感器/万能遥控器NodeIDXXXX无线传感器节点ID在一个无线传感器网络中,每个节点的ID是唯一的NodeCoordinatorRouterterminal无线传感器节点类型协调器,路由节点,终端节点Category:SecurityMonitorController设备类型家居安防,家居环境监测,家居环境控制SensorTypeSoundLightAlarmSmokeSensorHumiditySensor传感器类型声光报警器烟雾传感器湿度传感器Status1XX2XX3XX 4XX 5X

9、X 6XX 请求执行结果1XX信息收到,继续处理,2XX成功3XX 客户端错误4XX 网关错误5XX 服务器错误6XX 智能家居设备错误Time年-月-日-时-分-秒时间数据包发送的时间Value一个数组值需要传递的参数值FuncID功能ID要开启的设备功能 3 协议实现的功能3.1 建立连接与登录3.1.1 手机与网关建立连接手机与网关通信前首先要判断自己是什么状态,如果只打开了移动网络,则直接与服务器通信;如果打开了WIFI,则先判断自己是否在智能网关无限覆盖区域内如果不是,则通过WIFI连接服务器。手机与网关建立连接的状态分为三种:网关局域网状态,互联网状态,连接失败状态,手机首先会优先

10、判断是否在网关局域网环境,其次是判断互联网环境,如果都不满足,则连接失败。手机判断是否在网关局域网的环境方式是:其原理是通过一个共同约定的广播地址作为互相通信的接口,当设备刚加入网络时向该广播地址发送设备宣告消息,宣告本设备的基本信息(主要是IP地址信息),满足要求后会给出单播响应。当手机端收到该单播响后,通过网关响应中指定的IP地址和端口与网关进行通信。手机建立连接过程如图:向广播地址发送宣告等待响应Wifi打开是移动网络打开是图 2 手机建立连接过程手机与网关通信时(局域网),首先要建立连接,然后对双方的身份进行确认,确认成功后,双方才能进行通信。手机通过指定IP和端口与网关建立连接。建立

11、连接过程如图所示:手机网关向广播地址发送宣告单播响应请求响应登录信息登录确认请求图3 手机与网关交互过程网关建立连接流程:图4 智能网关服务流程手机端建立连接流程发送身份信息等待确认发送请求等待响应收到?是收到?是处理响应图5 手机端建立连接流程2.1.2 网关与服务器建立连接网关通过指定IP和端口同服务器建立连接,网关接入互联网时,会向服务器发送自己的ID号和IP地址,以及身份认证信息,完成在云端的注册。图6 网关云端建立连接过程服务器等待网关注册流程:图7 服务器端注册流程网关在服务器注册流程:图8 网关注册流程2.1.3服务器与手机建立连接手机与服务器建立连接,手机端登录云端属于APP端

12、内容,协议部分暂时不考虑。用户验证合法后就可以登录并进入网关控制设备。图10 手机端注册登录过程3.2 用户注册用户在网关注册时,发送注册信息包,包括用户名,密码。3.3 设备添加、删除与更换1.设备添加需要添加设备先使用网关发现设备,发现设备后通过手机端将设备信息添加到网关数据库。2.设备删除发送设备删除数据包,将设备从网关数据库删除。3.设备更换如果有设备需要更换,先使用设备删除数据包,将设备从网关数据库删除,然后更换新设备,更换后发送设备添加数据包,实现设备更换3.4 设备查询/控制设备查询/控制遵循网关控制设备的控制方式,手机端构造数据包,网关进行解析。3.5 心跳包网关不仅要要与服务

13、器建立连接,同时还要定时向服务器发送心跳包,维护服务器端的IP地址表和网关状态,确保服务器可以随时找到网关。心跳包时间间隔为5秒。心跳包交互过程如图:图9 心跳包通信过程3.7 查看状态查看状态主要目的为查看网关状态,网关状态可以为在线和离线两种状态,在线状态可以远程控制家中设备,离线状态则不能。查看状态在网络层实现。3.8 错误返回错误返回状态主要有六种:1XX信息响应类,表示接收到请求并且继续处理。2XX处理成功响应类,表示动作被成功接收、理解和接受。3XX 客户端错误,客户请求包含语法错误或者是不能正确执4XX 网关错误,网关不能正确执行一个正确的请求。5XX 服务端错误,服务器不能正确

14、执行一个正确的请求。6XX 智能家居设备错误,智能家居设备不能正确执行一个正确的请求。3.9设备状态更新当智能设备状态有更新时(如温度变化),网关收到传感器信息,保存在数据库,同时向手机端发送更新信息包3.10宏观控制4 数据包示例1 手机在网关登录1.1 手机发送宣告信息Request: “Layer ”:”Network”,“Source”:”App”,“Destination”:”Gateway”,“Type”:Declare,“Time”:2014-11-30T18:30:00,Value: 192.168.0.11.2 网关给出响应Response: “Layer ”:”Networ

15、k”,“Source”:”Gateway”,“Destination”:”App”,“Type”:”Declare”,“Time”:2014-11-30T18:30:10,Value: 192.168.0.21.3 手机发送登录信息Request: “Layer ”:”Network”,“Source”:”App”,“Destination”:”Gateway”,“Type”:”Login”,“Time”:2014-11-30T18:30:20,Value: “user1”,”123456”1.4 网关给出响应Response: “Layer ”:”Network”,“Source”:”Gat

16、eway”,“Destination”:”App”,“Type”:”LoginACK”,(登录失败为”Error”)“Time”:2014-11-30T18:30:30,Status: 2002 设备状态更新Response: “Layer ”:”Manage”,“Source”:”Gateway”,“Destination”:”Server”,“Object”:”Ad-hoc”,“Type”:”Update”,“Category”:”Monitor”,“SensorType”:”Temperature sensor”,“NodeID”:1234“Time”:2014-11-30T18:30:

17、00,Value: 31.13 设备控制对普通灯泡进行控制,有开和关两种控制请求。Value字段取值的含义如下:Value操作open开close关1 手机控制开灯Response: “Layer ”:”Manage”,“Source”:”App”,“Destination”:”Gateway”,“UserID”:”123456789”“Object”:”Sensor”,“Type”:”Control”,“Category”:”Controller”,“SensorType”:”Bulb”,“NodeID”:1235“Time”:2014-11-30T18:30:00,Content: Val

18、ue:“open”2 开灯结果Response:Layer ”:”Manage”,“Source”:”Gateway”,“Destination”:”App”,“GetwayID”:”987654321”“Object”:”Sensor”,“Type”:”ControlResult”,“Category”:”Controller”,“SensorType”:”Bulb”,“NodeID”:1235“Time”:2014-11-30T18:30:10,Content”:Status:2004 心跳包Request: “Layer ”:”Network”,“Source”:”Gateway”,“Destination”:”Server”,“Type”:”HeartBeat”;“GetawayID”:”123456789”,“Time”:2014-11-30T18:30:00,Content: Value: 192.168.0.1

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1