服务器、手机终端及其帐号与设备绑定执行、控制方法_3

文档序号:9380230阅读:来源:国知局
可以将所述配置信息包含在管理帧甚至控制帧中进行传输。
[0120] 步骤S125、恢复接入所述局域网络。
[0121] 手机终端与所述智能设备断开连接后,将自动恢复与所述局域网络的WiFi AP的 连接,由此,手机终端便与智能设备接入相同的局域网络,利用局域网络固有路由功能,手 机终端与智能设备之间便可通过诸如UDP广播之类的形式实现通信。
[0122] 通过上述的步骤,手机终端获取了智能设备的唯一性特征信息,并且也通过向智 能设备传输接入局域网络的配置信息实现控制智能设备接入该局域网络。但是,需要注意 的是,对于前述隐含的另一实施例而言,所述唯一性特征信息并不需要通过接入所述智能 设备来获取的情况下,上述用于接入智能设备以及控制智能设备接入局域网络的整个过 程,并不需要急于在本步骤S12中执行,而可以在本步骤S12执行完毕之后再执行,只要不 影响步骤S13的执行即可。因此,本领域技术人员应当知晓这一变通的实施方式,不应以上 述的过程来限制本发明各步骤的灵活实现。
[0123] 步骤S12无论以何种方式获取智能设备的唯一性特征信息,均将该唯一性特征信 息包含到其用户请求中,通过远程接口向云端服务器发起该请求,以期从云端服务器获得 对应于该唯一性特征信息的特征码和密钥。
[0124] 云端服务器接收到手机终端关于获取智能设备的特征码和密钥的请求后,运用前 述关于手机终端获得其特征码和相应的密钥的相同方式,随机地,或者依据自身预设算法 或者规则,基于智能设备的唯一性特征信息为所述智能设备生成相对应的特征码和相应的 密钥,并反馈给手机终端,手机终端便可获得对应于该外部智能设备的唯一性特征信息的 特征码及相应的密钥。如前所述,该特征码及其相应的密钥,足以使智能设备具有身份认证 的能力,特征码用于使一台智能设备区别于另一智能设备,密钥用于验证对应于该特征码 的设备所实施的通信的权限,以此使该设备获得通过云端服务器的通信鉴权的资格。
[0125] 步骤S13、发送包含所述特征码和密钥的广播指令以供接入相同局域网络的所述 智能设备保存。
[0126] 手机终端获得智能设备的特征码和密钥之后,因智能设备已与手机终端处于同一 WiFi局域网络,因而,手机终端可以将智能设备的特征码和密钥封装于UDP协议规范的数 据包中,在局域网络中进行广播。由于UDP协议是基于不可靠传输的协议,因而,手机终端 在进行广播时,适宜一次性发送多个相同的数据包,例如20至30个相同内容的数据包,以 便确保智能设备能够接收到正确的数据包并提取出其中的特征码和密钥。
[0127] 在智能设备一侧,当其接入局域网络之后,在预设程序的控制下,开始监听在当前 局域网络中广播的UDP数据包,当其接收到手机终端广播的所述UDP数据包之后,便对其进 行解析,提取出其中的对应于自身的特征码和相应的密钥。智能设备获取所述的对应于自 身的唯一性特征信息的特征码和密钥之后,即可将该特征码和密钥写入其存储单元中,以 备后用。作为确认,智能设备成功保存其特征码和密钥之后,可以响应于手机终端的广播而 回发一个保存成功的回复,以便通知手机终端做后续处理。智能设备以数据报文进行通信 时,在数据报文中附上其密钥,即可被云端服务器验证接受。
[0128] 步骤S14、向远程接口发起持有该密钥的请求,以将相应的特征码与所述帐号绑 定。
[0129] 经过上述步骤,手机终端、智能设备、云端服务器均已知悉智能设备的特征码及其 密钥。手机终端获知智能设备已经成功保存自身特征码和密钥后,便可通过远程接口向远 端服务器发送一个数据报文,例如发起一个POST请求,提供自身的密钥为通信凭据以便确 保与云端服务器的正常通信,同时将待绑定的智能设备的特征码和密钥包含在该数据报文 中,通过远程接口向云端服务器发起该请求。以下示例性给出该请求的编程实现:
[0130] 请求方法:POST
[0131] 请求地址:https ://openapi. iot. 360. cn/home/device/bind
[0132] 请求 Header:
[0133] Accept:application/json
[0134] Content-Type: application/json
[0135] Cookie:
[0136] access_key = a47d0b72975427f32335c7155260b82e6369dl02 ;
[0137] 请求 Body
[0138]
[0139] 上面的代码上,access_key是手机终端自有的密钥,binded_iot_id是待绑定的 智能设备的特征码,而binded_key是待绑定的智能设备的密钥,其余相关变量的说明从 略。
[0140] 从上述的示例性程序源码中可以看出,手机终端只需要通过远程接口向云端服务 器发起相应的绑定请求,向云端服务器传送智能设备的特征码和密钥,便可结束后续任务, 云端服务器将自行在云端完成绑定操作。
[0141] 当然,出于手机终端的后续管控的需要,手机终端可以接收云端服务器的反馈数 据。同理,作为示例性说明,请参阅以下源码:
[0142]
[0143] 这段源码是云端服务器针对手机终端发起的绑定请求而反馈的,其中的 〃errno〃:0表示绑定过程未产生任何错误,〃errmsg": 〃ok〃表示成功完成手机终端的绑定 请求交付的绑定任务。手机终端接收到这一数据报文后,便知悉所述的智能设备已经以其 特征码与所述的用户帐号之间建立了某种数据上的映射关系,也便完成两者之间的绑定, 后续其与智能设备之间,便可以以对方的特征码为目标身份识别依据,以对方的密钥为与 该目标身份进行通信的凭据,实现彼此的相互通信,而不必再需要各方分别进行用户帐号 认证。
[0144] 表现在云端服务器的实现上,云端服务器接收到手机终端发起的请求之后,确认 该数据报文所包含的a CCeSS_key是手机终端的合法密钥,从而继续对该数据报文进行处 理。云端服务器从该数据报文中解析出属于所述智能终端的特征码binded_iot_id与密钥 binded_key之后,与服务器预存的信息进行比较验证(可以是非必须的),验证通过后,便 知通信过程安全且通信各方身份可靠,于是,便将该手机终端上登录的用户帐号与该智能 设备的特征码建立关联,具体而言,可以在用户数据库中添加从用户帐号名称到所述特征 码的直接或间接映射的相关记录,实现用户帐号与所述智能设备的特征码之间的绑定,也 就实现了用户帐号与该智能设备的绑定,同理也是实现了该智能设备与所述手机终端的间 接绑定。后续云端服务器便可以从用户数据库中确定该用户帐号,进而确定该用户帐号拥 有的一个或多个智能终端,以此为关系,可以在云端服务器中设置供用户存储某个智能设 备的数据区域,并允许其他已绑定的终端设备访问该数据区域的内容。诸如此类,一旦智能 设备与用户帐号实现了绑定,以该用户帐号登录的任何终端设备,理论上便可以利用这种 帐号与设备之间的绑定关系,实现对其他已绑定的终端设备的直接的指令控制或者数据访 问。如果该终端设备将部分数据存储于云端服务器的相应存储区域中,则这些登录了用户 帐号的终端设备还可以获得云端服务器直接从云存储中查找到的内容,而不必一定要对目 标终端设备进行直接的数据或指令访问。
[0145] 如前所述,在云端服务器实现了智能设备的特征码与当前用户帐号的绑定之后, 将向手机终端返回相应的结果,以便提供给手机终端进行后续处理。因此,在本发明的另一 实施例中,还可以如图3所示进一步包括如下步骤:
[0146] S15、显示用于访问所述外部智能设备和/或其相关数据的用户界面。
[0147] 访问所述外部智能设备和/或其相关数据,包括几方面情况,其一是通过手机终 端向智能设备发送控制指令,例如使一台网络摄像机关闭其状态显示灯的控制指令;其二 是通过手机终端读取智能设备的SD卡上存储的数据;其三可以是手机终端从云端服务器 上读取智能设备已经上传的数据,当然,也可以是这几方面情况的任意组合。可以知晓,无 论何一类型的访问操作,均是基于所述用户帐号已经完成登录之后,在该帐号所允许的权 限范围内执行的,因此,访问外部智能设备和/或其相关数据的过程,是关联于该用户帐号 的,必然的,为了便于人机交互而提供给用户进行访问控制的用户界面,也是关联于该用户 帐号而提供的。
[0148] 被显示的用户界面,以Android系统的编程为例,可以通过在应用程序中构造一 个活动组件(Activity),当手机终端上的该应用程序进程接收到前述云端服务器返回的绑 定结果之后,即将该活动组件激活到Activity栈顶进行显示,在该用户界面中,可以列出 用于生成作用于该智能设备的对应控制指令的各项控制按钮。当某个控制按钮被触控时, 便执行相应的指令,通过远程端口提交相应的请求,发送数据报文,以便实现对智能设备的 远程控制或者数据交互。
[0149] 需要指出的是,参照上述有关由手机终端发送请求数据报文实现绑定的程序实 例,可以知晓,作为本发明的优选实施例,手机终端、云端服务器以及智能设备之间的通信 协议,适宜采用安全套接字层超文本传输协议即HTTPS的方式实现。HTTPS(Hyp er Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是 HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需 要SSL。它是一个URI scheme(抽象标识符体系),句法类同http:体系,用于安全的HTTP 数据传输。httpS:URL表明它使用了 HTTP,但HTTPS存在不同于HTTP的默认端口及一个加 密/身份验证层(在HTTP与TCP之间)。SSL (Secure Sockets Layer安全套接层),及其 继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整 性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。SSL协议提供的服务主要有 1)认证用户和服务器,确保数据发送到正确的客户机和服务器;2)加密数据以防止数据中 途被窃取;3)维护数据的完整性,确保数据在传输过程中不被改变。本发明由于需要在多 个网络节点之间进行通信,进行特征码及其相应的密钥的传送,因而,需要借助HTTPS的这 种优点来进一步提升其安全性能,实现身份认证功能,故而将本文通信所涉及的诸如特征 码、密钥等数据封装在HTTPS格式的数据报文中,并以此为基础进行通信,确保通信安全。 作为一个优选实施例,手机终端发起的这些数据报文,例如上述属于绑定请求的数据报文, 指定了远程云端服务器,因此,将通过远程接口发送给云端服务器,由云端服务器中转传输 给所述特征码指向的所述智能设备,如果该数据报文包含单向的控制指令,则可能智能设 备不必返回任何数据,如果该数据报文是为了获取智能设备的实时数据而发起的,则智能 设备可能需要向云端服务器返回相应的结果集的数据报文,再由服务器将其返回给手机终 端做后续处理。
[0150] 为了强化对手机终端与智能终端之间基于HTTPS协议所进行的通信过程的理解, 以下进一步揭示若干程序实例。
[0151] 一、获取设备数据的程序源码示例:
[0152] 请求方法:POST
[0153] 请求地址:https ://openapi. iot. 360. cn/home/data/get
[0154] 请求 Header:
[0155] Accept:application/json
[0156] Content-Type: application/json
[0157] Cookie:
[0158] access_key = 3254393f0607288b8e7df4e64aa288464ad0520d ;
[0159] 请求参数表:
[0160]

[0171] 上述源码所表达的数据报文,向云端服务器的请求地址发起该请求,其中access key为手机终端自身所持密钥,通过其请求body向云端服务器表明要获取binded_iot_id 所指向的智能设备的特定数据。该请求被云端服务器处理并向智能设备获取对应的数据 后,作为结果,向手机终端返回应答数据报文,包含一个data_value结构体,内含请求数据 报文期望得到的相关数据,手机终端据此可作后续处理。
[0172] 二、解除智能设备与用户帐号的绑定:
[0173] 请求方法:POST
[0174] 请求地址:https://openapi. iot. 360. cn/home/device/unbind
[0175] 请求 Header:
[0176] Accept:application/json
[0177] Content-Type: application/json
[0178] Cookie:
[0179] access-key = 4d6be41685b9376bffb0fl08e02fc058b0790479 ;
[0180] 请求 Body:

[0184] 可见,解除绑定的步骤较为简单,其形式与请求绑定的数据报文接近,只需在报文 中指明binded_i 〇t_id即可,而相应的,手机终端得到的结果报文,只需要一个表征绑定是 否成功的赋值变量即可。
[0185] 三、修改设备配置
[0186] 请求方法:POST
[0187] 请求地址:https ://openapi. iot. 360. cn/home/device/modify
[0188] 请求 Header:
[0189] Accept: application/json
[0190] Content-Type: application/json
[0191] Cookie:
[0192] ac
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1