以下所有内容均来自阿里云IOT平台的手册和阿里云的IOT教学视频。本系列主要是自己对IOT平台学习过程中的整理,不是程序猿,仅涉及少量代码。
阿里云iot官方手册:https://iot.console.aliyun.com/lk/summary
物联网平台设备接入精讲:https://edu.aliyun.com/course/1500?spm=5176.10731542.0.0.66dc4532euhwBF
基础概念
产品和设备
产品和设备是阿里云IOT平台的重要概念,这两个概念与咱们通俗意义上的概念是一致的,能够直接映射上。一个产品可以包含多个设备,但是需要注意这个产品一般对应实际的型号,比如华为P30 Pro,或者华为P30。
华为的每个P30手机(设备)都有自己的SN号,这个对应的就是设备的productkey,为了避免非授权连接,必须在连接设备时提供产品名称、设备名称和密钥。这三者合称三元组。
物模型
阿里云为了减少开发者的工作量,针对常见的物联网设备为开发者提供了物模型。物模型可以理解为实体物的映射,标明产品是什么,能做什么,能够提供什么服务。
以灯为例(见下图),可以看到与灯相关的属性有主灯开关(即灯的当前状态)、工作模式、明暗度(0-100,100是最亮,0是灯关闭)、颜色数组(灯光颜色)、灯类型、灯模式(单色光还是彩色灯光)。这里面的属性足以满足日常灯光设备的使用甚至还有富余,咱们日常用灯其实主要是开、关。
此外,阿里云IOT平台还支持自定义属性以满足厂商、开发者对于个性化方面的需求。
为一个产品定义物模型时,要做三个事情,属性、服务、事件
以前面的智能灯为例,可以为这个添加翻转主灯开关的服务(toggleligthswitch),同样当发生故障时可以上报故障(Event)
基本上阿里云的产品和设备蛮力满足了物联网厂商对于设备接入云平台的需求。
数据解析
由于低配置且资源受限,或者对网络流量有要求的设备,不适合直接构造JSON数据与物联网平台通信。因此一般设备都是将原数据透传到物联网平台。但是云平台是看不懂设备发送的原始数据,需要开发者自行编写数据解析脚本,将原始数据转成云平台支持的JSON数据,以便云平台将数据发送到应用或者开发者自己的数据服务器。同样,当平台下发数据给设备时,也需要将JSON数据转成设备理解的原始数据。
数据解析流程图:
Topic类和Topic
物联网平台中,服务端和设备端通过 Topic 来实现消息通信。具体过程是通过MQTT服务器实现的订阅和发布。
从定义上来说,Topic类是针对产品的,Topic是针对设备的。由于设备是从产品那建立的,故设备将会继承产品中的Topic。一旦修改产品的Topic类,其下的所有设备将一同跟随改变。此外,设备还可以自建topic,以满足产品下设备的自定义功能。
需要注意的是:Topic类只是定义Topic类型,并不参与通讯。设备中的topic才是真正参与通讯的
本文章来源于互联网,如有侵权,请联系删除!原文地址:阿里云IOT平台学习(一)–基础概念