【阿里云IoT+YF3300】2.阿里云IoT云端通讯Alink协议介绍

若是单单只有MQTT协议,也许很难支撑起阿里这个IoT大厦。Alink协议的出现,不只仅是数据从传感端搬到云端,它就如基因图谱,它勾画了一个大厦的骨架,有了它,才有了IoT Studio,才有了大数据分析,才有了后续的一切可能。html

MQTT从个人角度来讲,至关于之前编程思想中的面向过程,而Alink 的出现,则把编程思想由原来的面向过程带到了面向对象的时代。编程

最先了解Alink协议是在2017年年末,那个时候Alink协议才0.6版,仅有比较核心的功能,而且有些协议描述的,当时平台上尚未支持完善。不过不到一年多的时间,Alink协议愈来愈完善了,功能也愈来愈强大了。安全

最新的Alink协议,在阿里云物联网平台上的帮助页面,有比较详细的描述:https://help.aliyun.com/document_detail/90459.html?spm=a2c4g.11186623.6.660.4b969bb89pkGOd异步

为了便于初次接触Alink协议的人理解,我这里仍是简要作一些说明。编程语言

在官方文档,Alink有一个比较明确的定义: Alink协议是针对物联网开发领域设计的一种数据交换规范,数据格式是JSON,用于设备端和物联网平台的双向通讯,更便捷地实现和规范了设备端和物联网平台之间的业务数据交互。大数据

关于Alink协议有几个很重要的概念和内容须要熟悉。阿里云

第一个最最重要的概念就是“三元组”。咱们要是在阿里平台上建立一个物模型,而且把数据上传到对应的实例。咱们第一步须要建立一个“产品”。产品包含属性、事件和服务(这个后续的文章中,咱们会比较详细的介绍这部份内容)。产品有名称,也有一个叫产品秘钥(ProductKey)的自动生成的字符串。基于这个产品,咱们就能够建立若干个设备了。设备有名称(DeviceName)和设备秘钥(DeviceSecret)。产品和设备的关系,相似面向对象编程语言的类和类实例的关系。设计

其中,ProductKey、DeviceName和DeviceSecret这三者,就是著名的三元组。三元组和实际的一个物理设备一一对应。 万一现实中出现几个三元组同样的设备,那么后上网的设备,会让前一个设备下线。同时仅有一个这样的设备在线。htm

咱们知道了三元组的概念,那么接下来咱们有两个名词须要解释一下了。对象

第一个就是“一机一密”,顾名思义,就是一个设备(机器)一个秘钥。也就是一个设备嵌入惟一的三元组信息。产品秘钥标识产品的类型,设备名称和设备秘钥对应具体的一个云端设备。这样的模式是安全,每一个设备对应惟一的秘钥,缺点是,每一个设备必需要预先写入这惟一的三元组信息,对设备的量产带来了不方便。

针对量产的设备,为了便于大量设备生产出来不须要专门一一写入对应的三元组信息。提出了第二个名词“一型一密”,同理,顾名思义,一型一密,就是一种产品型号一种秘钥。这个时候只要是一种产品就只写入产品秘钥便可。大量的设备写入的信息是同样的,有利于设备的大批量生产。

“一型一密”的设备数据上传的时候要稍微麻烦一些,设备的名称必须是相对惟一的,能够自定义的信息,好比MAC地址或者MCU的ID号之类,把这个设备名称上传到阿里云IoT平台,服务端会自动下发设备的秘钥,这个过程称之为“动态注册”,动态注册其实值须要一次,能够把获取的信息进行保存,下次上电就不须要动态注册了。最后设备凑齐三元组信息,而后进行正常的登陆便可。

第二个比较重要的概念是“透明传输”。为何把“透明传输”做为第二个比较重要的概念呢,其实将来轻量级的设备或者其余异构设备,很难说一上来就直接支持Alink协议的。透明传输+云端脚本共同构成了一个桥,完成了到Alink协议的嬗变。好处是把硬件层面的问题转换为云端脚本的问题,此外就是透明传输大都是二进制协议,通讯的数据量也相对少了,通讯比较快捷,也省流量了。

第三个概念就是“属性、事件和服务”,其实这是三个概念,不过咱们这里一块儿说了,后续的文章会分别进行详细的阐述。属性、事件和服务,彻底对应了“类”的属性、事件和方法的概念。

属性有上传和下发,设备能够把设备中采集的各类传感器数据上传到云端IoT平台,也能够在IoT平台去操做一些属性,好比一些继电器属性,能够远程控制继电器的闭和开。

事件相对简单,能够自定义各类类型,从设备中根据必要的条件进行上传,好比设备电量不够了,或者其余报警类信息等等。

服务,其实对应了一系列方法,有入参(也就是输入的若干参数),也有出参(返回的若干参数),这个服务远程下发到设备后,设备执行对应的方法(能够根据参数进行执行),执行完毕后,能够返回必要的数据。

此外须要了解的一个概念是“同步”和“异步”,配置服务的时候,能够配置服务的操做模式是“同步”仍是“异步”。

想体验阿里云IoT平台的网友,能够单击以下连接:

https://dev.iot.aliyun.com/sale?source=deveco_partner_yefan

相关文章
相关标签/搜索