Webs

oauth流程图 oauth相关流程图1 正常流程1.1 oauth流程Created with Raphaël 2.1.2oauth流程IoT设备接入平台app博联h5网关博联云第三方云平台第三方云博联云发现设备,开始接收probe request报文处于配网模式发送probe request广播报文(dst全为0xFF),150ms发送一包,每个信道停留300ms后续所用交互报文,都是采用单播的形式返回应答probe单播报文(dst为IoT设备mac),包含channel信息锁定信道发送probe request单播报文,通知网关锁定信道成功上报设备信息(mac/vendorId/productId/deviceId/deviceInfo)透传网关上报的数据返回设备详细信息TTS语音播报,发现设备等待用户确认开始配网,假设用户确认开始配网发送probe单播报文,开始配网发送probe request单播报文,包含challenge数据透传devChallenge数据透传devChallenge数据返回cloudChallenge和cloudSignature数据透传cloudChallenge和cloudSignature数据发送probe单播报文,包含cloudChallenge和cloudSignature数据校验cloudSignature,并根据cloudChallenge计算devSignature数据,计算sharedkey发送probe request单播报文,包含devSignature数据透传devSignature数据透传devSignature数据校验devSignature数据发送sharedkey数据透传sharedkey数据使用sharedkey对ssid和password进行对称加密(aes 128bit cbc pkcs7 padding)发送probe单播报文,包含加密数据使用sharedkey解密数据,保存ssid和password,同时生成token数据,使用sharedkey进行加密发送probe request单播报文,包含加密的token数据token是后续用来控制IoT设备密钥,每次复位都会改变(20Bytes)使用sharedkey进行解密获取token数据发送token数据发送设备注册请求,包含token数据返回设备列表数据需要缓存返回的数据,超时时间为60s左右token bind成功发送probe单播报文,token bind成功开始连接AP成功连接AP设备上线设备上线通知将缓存的数据保存到数据库中1.1 控制流程Created with Raphaël 2.1.2正常控制流程IoT设备IoT设备第三方云平台第三方云平台博联云博联云控制参数,带上token信息转成二进制透传数据执行控制命令返回控制结果返回控制结果2 异常流程2.1 IoT设备配网超时异常流程Created with Raphaël 2.1.2IoT设备配网超时异常流程IoT设备IoT设备外界环境外界环境处于配网模式发送probe request广播报文(dst全为0xFF),150ms发送一包,每个信道停留300ms从配网模式开始超过10min没有开始配网流程,退出配网模式,停止发送probe request广播报文2.2 配网过程中IoT设备出现丢包异常流程Created with Raphaël 2.1.2配网过程中IoT设备出现丢包异常流程1IoT设备IoT设备网关网关第三方云平台第三方云平台博联云博联云发现设备,开始接收probe request报文处于配网模式省略省略发送probe request单播报文,包含challenge数据透传devChallenge数据透传devChallenge数据返回cloudChallenge和cloudSignature数据透传cloudChallenge和cloudSignature数据网关没有发送probe单播报文,或者网关发送的probe单播报文没有被IoT设备接收到距离上一次收到网关发送的报文时间超过2s,IoT设备开始执行重试流程重新发送包含challenge数据的probe request单播报文,并将重试次数加一最大重试次数为5次,超过次数后判定为配网失败发送probe request单播报文,包含重试失败的错误码重新回到切换信道发包状态配网流程结束,此次配网失败Created with Raphaël 2.1.2配网过程中IoT设备出现丢包异常流程2IoT设备IoT设备网关网关第三方云平台第三方云平台博联云博联云发现设备,开始接收probe request报文处于配网模式省略省略发送probe request单播报文,包含devSignature数据透传devSignature数据透传devSignature数据校验devSignature数据发送sharedkey数据透传sharedkey数据使用sharedkey对ssid和password进行对称加密(aes 128bit cbc pkcs7 padding)网关没有发送probe单播报文,或者网关发送的probe单播报文没有被IoT设备接收到距离上一次收到网关发送的报文时间超过2s,IoT设备开始执行重试流程重新发送包含challenge数据的probe request单播报文,并将重试次数加一最大重试次数为5次,超过次数后判定为配网失败发送probe request单播报文,包含重试失败的错误码重新回到切换信道发包状态配网流程结束,此次配网失败Created with Raphaël 2.1.2配网过程中IoT设备出现丢包异常流程3IoT设备IoT设备网关网关第三方云平台第三方云平台博联云博联云发现设备,开始接收probe request报文处于配网模式省略省略发送probe request单播报文,包含加密的token数据使用sharedkey进行解密获取token数据发送token数据发送设备注册请求,包含token数据返回设备列表数据需要缓存返回的数据,超时时间为60s左右token bind成功网关没有发送probe单播报文,或者网关发送的probe单播报文没有被IoT设备接收到距离上一次收到网关发送的报文时间超过2s,IoT设备开始执行重试流程重新发送包含challenge数据的probe request单播报文,并将重试次数加一最大重试次数为5次,超过次数后判定为配网失败发送probe request单播报文,包含重试失败的错误码重新回到切换信道发包状态配网流程结束,此次配网失败缓存数据超时,丢弃2.3 博联云校验devSignature失败异常流程Created with Raphaël 2.1.2博联云校验devSignature失败异常流程IoT设备IoT设备网关网关第三方云平台第三方云平台博联云博联云发现设备,开始接收probe request报文处于配网模式省略省略发送probe request单播报文,包含devSignature数据透传devSignature数据透传devSignature数据校验devSignature数据校验devSignature数据失败校验devSignature数据失败配网流程结束,此次配网失败超过10min后退出配网模式2.4 IoT设备校验cloudSignature失败异常流程Created with Raphaël 2. »