开发者学堂课程【阿里云 AIoT 物联网开发实战:AIoT 物联网开发实战02】学习笔记,与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/754/detail/13230
AIoT 物联网开发实战02
内容介绍:
一、阿里云产品文档使用
二、阿里云 LOT 物联网平台
三、检查设备
一、阿里云产品文档使用
简介:首先会有产品的简介,相关的名词的解释,在使用限制里会明确的说明当前的实例有哪些限制设备的接入规模。
计费:整个产品的计费会展示出来,产品会包含后付费的模式(是通过统计消息的使用量和在线时长量来付费)。
为产品定义模型:在快速入门里会引导快速的体验产品,包含创建产品,模型的定义,设备与平台的连接。
用户指南:完整的用户指南里会详细的讲解每一个功能点如何使用,如规则引擎的配置,钢化协议的接入。
设备端 DSK:会有详细的 SDK 可以下载,协助做设备端的接入,减少设备端的开发工作量。
APL 列表:在云端 API 会有详细的列表以及它的使用入参和返回值,
最佳实践里会列出来很多互联网场景的应用案例。
发布公告:会展示产品的最新的变化功能点的增加,会有一些快速的找到问题的解决方案。
二、阿里云 LOT 物联网平台
MQTT 协议在互联网平台上的应用:以电表为例如果发送 MQTT 协议会有两个重要的点,一个叫 topic(消息主题;消费类型),一个叫 payload(具体数据)。
发邮件时,比如是周报的主题或是会议纪要主题,对应的内容格式是不同的,每一个主题会有固定的消息格式,一个全部更新的报文发送到云端后,如果没有人订阅这个消息,就直接在云端消费掉了。
业务服务器会订阅固定的 topic,比如当前的业务服务器比较关心 topica 类型的消息,消息也产生物联网平台,就会把 topica 的消息发给订阅的服务器。同样互联网平台还有其他设备来接入,其他的设备也可以订阅指定的topic,比如电表发动的topicc,风机也来订阅,这时候 topicc 就直接流转到宏基这个设备,不需要经过业务系统来处理,这就是一个 m to m的过程。
阿里云在这里做了一个 topic 的约定,就需要通过规则引擎的模块做消息的流转过程,可以看到在设备端上是可以通过 CA 来认证的 LOT Server 的合法性,阿里云平台是通过三元组来认证设备的合法性,阿里云平台和服务器的一个账户是通过 AK 来认证
基于 MQTT 的通讯:
1、CONNECT:那在这种场景下,我们的设备是作为 MQTT 的,阿里云的物联网平台是作为 LOT 的 Broker CONNECT 的过程中会有 client ID,used name 和password 三个数值。
2、Client ld 的生成规则:文档上也详细的给出了 client ld 的生成规则,首先有一个ID,ID 就是客户端自己标识的,不需要和云端做约定,有了这样一个 ID,再加上签名规范来生成的 client ID,这里包含了安全模式,是否用 TLS 加密,签约算法是哪一个以及当前的时间戳,这就可以能保证 client ld 可以随着时间发生变化。
3、Username:Username 是通过 device Name+"&"+product Key 生成的。
4、password:是由提到的这个 ID 加上 device Name+"&"+product Key 拼接起来,然后按 Client ld 的签名算法做签名。
5、通过这个规则就可以生成 client ld,used name password,把这个身份传递给云平台,不是三元组,本身,云平台通过后会返回的是零(如果是其他的就代表你签名运算的逻辑有一些问题需要排查)。
当使用阿里云的 LOT SDK 的时候,这时候 SDK 已经实现了,只需要把三元组丢给SDK,SDK 会运算出来这三个参数。
物模型(sys 开头系统 Topic)
当使用系统开头的 Topic,都会有一个固定的 payload 的格式,如果使用自定义的Topic,就可以按照自己的规则来定义 payload,不需要参考阿里云的规则,但如果用系统的 Topic,、一定要保证数据格式的一致。
当使用阿里云的 SDK 的时候,整个数据格式的封装是不需要关心的,SKD 已经做掉了这一部分工作,物模型的属性上报,上报后云端会响应reply给到设备端,告知设备端是否业务处理。
云端有人发起服务调用,设备端就可以收到服务请求,做相应的处理。
服务端包含入参和出参,在监听到云端指令的时候,会收到云端给的执行入餐,执行完成后,需要给云端一个 reply,把服务执行的结果,出餐上报到云端。
事件:它只有一个云端的一个上报,那是只有包含入参,没有返回值的,云端不会给设备返回值,但是云端会给设备端一个响应,表示收到。
创建产品
创建模型之后去注册设备,获取设备身份,用来设备端的开发。
进入物联网平台进行创建,如图:
创建完成后就可以看到 Topic 的品类,若企业需要自定义 Topic,可以自行生成。
接下来要到功能定义来生产物模型,点击编辑,添加自定义功能。(如下图)同样方法添加湿度功能,点击确定。