国内物联网平台初探(二)阿里云物联网套件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
国内物联网平台初探(二)——阿里云物联网套件
马智
2016.6.12
详细内容请联系:ibrahima@
设备快照待上线
2
•用户可以基于CCP协议实现Pub/Sub异步通信,也可以使用远程调用(RPC)的通信模式实现设备端与云端的通信。
•用户也可以基于开源协议MQTT协议连接阿里云IoT,实现Pub/Sub异步通信。
•提供设备级的授权粒度,任何设备必须经过授权才能对某个T •服务端也需要经过授权才能操作其他账号下的T opic
设备共享平台
•提供T opic跨账号的授权,帮助用户实现跨厂商的数据共享,进而实现更加丰富智能的场景。
规则引擎
•为用户提供类SQL语言的规则引擎,帮助用户过滤数据、处理数据,并能够发送数据到阿里云其他服务,例如RDS,OTS,ONS等等,也能够发送到数据到其他T opic。
设备快照(待上线)
•保存设备的最新状态或者APP希望的最新状态在云端,然后当设备或APP连接上来时,同步状态给设备或APP。
•物联网设备调用云端服务需要返回结果给设备,方便设备作相应处理。例如用户通过智能音箱调用云端语音解析服务,设备可以实时得到解析结果做处理。
•开发者通过云端控制设备时,需要知道控制有没有成功,例如请求打开灯,用户需要得知灯是否打开,这就需要设备端返回结果给云端
•有很多物联网设备之间有互联互通的需求。例如家里的门打开之后,灯和空调就打开。这种场景就可以基于阿里云物联网套件实现,将门的打开这个消息Pub到某个Topic,然后灯以及空调Sub该Topic得到的门打开的消息作相应的处理。
•不同厂商的设备具有互联互通的需求,例如A厂商的手环通过检测用户的
身体状态来控制B厂商的空气净化器以及C厂商的空调。
•快速接入:提供设备端SDK,方便客户快速连接阿里云IoT数据通道
•安全接入:提供设备端安全的认证方法,确保设备在云端的安全以及合法性•消息转发:消息路由转发,实
现M2M、端到云、云到端等多
样化消息互通场景
•设备授权:提供设备级的权限
粒度,保证消息的安全性
•规则引擎:提供规则引擎,与
其它阿里云产品无缝衔接,快
捷的构建IoT应用
•提供Topic跨账号的授权,帮助
厂商实现与不同厂商的设备互
联互通,开发丰富多彩的IoT应
用
概念描述 产品
AppKey
AppSecret
设备ID
设备秘钥
RPC
RRPC
T opic
发布
订阅
13
设备接入云端的协议 – 基于CCP接入
基于CCP接入云端,主要包含两大流程:•设备的认证•
设备接入数据通道
A:设备使用控制台申请的密钥进行签名请求授权,签名使用 hmacmd5算法(可选 hmacsha1),签名内容=devieceid+appkey,使用key=appSecret+deviceSecret
B:服务器验证签名合法,并返回pubkey证书
C:设备生成随机密钥seedkey,使用pubkey RSA加密传输给服务器
D:服务器确认返回令牌 sid ,同时返回签名sign,签名内容=sid,签名的key=appSecret+deviceSecret,同时返回动态负载的接入
服务器ip供设备连接
E:客户端使用私钥seedkey解密令牌,进行数据通信,客户端可选协议模式支持ccp\mqtt\coap...
14
设备接入云端的协议 – 基于MQTT接入
基于MQTT接入云端,主要包含两大流程:•设备获取证书•
设备接入数据通道
A:设备使用控制台申请的密钥进行签名请求授权,签名使用 hmacmd5算法(可选 hmacsha1、md5),签名内容=devieceid+appkey,使用key=appSecret+deviceSecret
B:服务器验证签名合法,并返回pubkey证书(X.509格式base64)
C:设备使用pubkey证书TLS协议连接MQTT
通信模式
IoT Hub支持两种通信模式:
•RPC/Revert-RPC
•Pub/Sub
15
16
通信模式 - RPC/Revert-RPC
RPC/Revert-RPC(CCP协议具有的通信模式)
•
RPC是将用户的设备数据通过阿里云转发到用户自己的业务系统,比如可以用户可以将自己设备上报的服务注册到阿里云IoT上,然后设备直接可以调用该服务,完成数据上报;•
R-RPC是用户的业务系统远程调用客户端并等待客户端得到一个回执结果,比如远程调用开关并得到开关的状态信息。
17
通信模式 - Pub/Sub
Pub/Sub(CCP协议和MQTT都支持)
•
Pub/Sub是基于T opic进行消息的路由转发,让设备端或者服务端可以发布订阅消息,实现异步的通信。适用的场景有M2M(设备与设备间通信),也可以实现设备端与云端的异步通信。•
IoT Hub维护所有T opic的发布订阅用户列表。当消息发送到T opic,IoT Hub会检查该T opic的所有订阅用户,然后将消息转发给所有具有订阅该T
opic权限的客户端或者服务端。
规则引擎
•SQL表达式:把一条规则抽象为一条sql表达
例子:
SELECT crypto(userId,’SHA1’) md2, (a+1) al, color c, config.flag flag, deviceId(),CASE col.a WHEN 1 THEN
‘Y’ ELSE ‘N’ END flagFROM“/12345/#”WHEREc is not null and b<0
select参数和where条件可以使用消息的payload属性作为列,不支持子查询。
19