阿里云物联网平台 Alink 协议简介 | 学习笔记

简介: 快速学习 阿里云物联网平台 Alink 协议简介

开发者学堂课程【物联网平台开发全栈教程阿里云物联网平台 Alink 协议简介学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/562/detail/7695


阿里云物联网平台 Alink 协议简介


内容介绍

一、基于 Ainki 协议开发

二、物模型

三、设备属性上报

四、设备属性下行


一、基于 Ainki 协议开发

1. Ainki 协议

Ainki 协议其实是设备动态云端开发的,比如说开发业务逻辑的。前端开发的,后台开发的等等,所有的人员围绕阿里云 IoT 服务器遵守的同一个协议标准。之后以某一格式登上了数据。经过平台简单处理之后,就会成为一个标准的 API 或者一个标准的数据放在平台上,就可以直接把它转发到数据库里那么后端开发,业务逻辑开发的,可以直接通过 api 来调用一台设备全部的数据。这样的就接拢设备的开发或云端开发两个工种之间他们的协同问题,极大地提高了物联网系统开发的效率。

物联网平台为设备端开发提供了 SDK,这些 SDK 已封装了设备端与云端的交互协议。您可以直接使用设备端SDK来进行开发。如果嵌入式环境复杂,已提供的设备端 SDK 不能满足您的需求,自行封装 Alink 协议数据,建立设备与云端的通信。

Alink 协议是针对物联网开发领域设计的一种数据交换规范,数据格式是 JSON,用于设备端和云端的双向通信,更便捷地实现和规范了设备端和云端之间的业务数据交互。

以下为您介绍 Alink 协议下,设备的上线流程和数据上下行原理。

2.上线流程

设备在物联网平台的上线流程,可以按照设备类型,分为直连设备与子设备的接入流程。主要包括:设备注册、激活上线和数据上报三个流程。

直连设备接入有两种方式:

1.使用一机一密方式提前烧录设备证书(ProductKeyDeviceNameDeviceSecret),注册设备,上线,然后上报数据。

2.使用一型一密动态注册提前烧录产品证书(ProductKey ProductSecret),注册设备, 上线,然后上报数据。

子设备接入流程通过网关发起,具体接入方式有两种:

1.使用一机一密提前烧录设备证书(ProductKeyDeviceName DeviceSecret),子设备上报设备证书给网关,网关添加拓扑关系,复用网关的通道上报数据。

2.使用动态注册方式提前烧录 ProductKey,子设备上报 ProductKey DeviceName 给网关,物联网平台校验DeviceName 成功后,下发 DeviceSecret。子设备将获得的设备证书信息上报网关,网关添加拓扑关系,通过网关的通道上报数据。

image.png

3.设备上班属性或事件

image.png

I:使用透传格式的 Topic,设备上报透传数据。

Ii:云端通过脚本先对设备上报的数据进行解析。调用脚本中的 rawDataToProtocal 方法将设备上报的数据转化为 lo平台标准数据格式(Alink JSON 格式)

4.设备服务调用或属性设置

image.png

服务器想设置设备的属性,有一个开关是通过模拟设备发送开关是开还是关,其实想控制开关。那肯定是点了鼠标说想控制这个开关是开还是关,或者说云服务反映过几个简单的联动,经过计算,说好一个数值达标了,比如说温度超过了20度。需要管理参观,经过联动之后发一个信息,发给设备之后,如果说他想要返回结果,才会返回。如果说这个场合是小硬件就没有返回结果,因为它就是简单的开关。


二、物模型

1.  概述:

物模型指将物理空间中的实体数字化,并在云端构建该实体的数据模型。在物联网平台中,定义物模型即定义产品功能。完成功能定义后,系统将自动生成该产品的物模型。物模型描述产品是什么,能做什么,可以对外提供哪些服务。

物模型,简称 TSL,即 Thing Specification Language。是一个 JSON 格式的文件。它是物理空间中的实体,如传感器、车载装置、楼宇、工厂等在云端的数字化表示,从属性、服务和事件三个维度,分别描述了该实体是什么,能做什么,可以对外提供哪些信息。定义了这三个维度,即完成了产品功能的定义。

物模型将产品功能类型分为三类:属性、服务、和事件。定义了这三类功能,即完成了物模型的定义。

约定好属性,事件,服务。可以添加各种。

1)属性:这里一般用于描述设备运行时的状态,如环境监测设备所读取的当前环境温度等。属性支持 GET SET 请求方式。应用系统可发起对属性的读取和设置请求。

2)服务:是设备可被外部调用的能力或方法.可设置输入参数和输出参数。相比于属性,服务可通过—条指令实现更复杂的业务逻辑,如执行某项特定的任务。

3)事件:是设备运行时的事件。事件一般包含需要被外部感知和处理的通知信息,可包含多个输出参数。如,某项任务完成的信息,或者设备发生故障或告警时的温度等。事件可以被订阅和推送。

2.  格式

物模型以 JSON 格式表达,简称为 TSL(Thing Specification Language)。本文提供物模型的JSON字段说明.您可以在产品的功能定义页面,单击查看物模型,查看 JSON 格式的 TSL


三、设备属性上报

如果产品定义了物模型,设备可以上报属性和事件信息,服务端可以下发设置属性和调用服务指令。

设备的数据上报方式有两种:ICA 标准数据格式(Alink JSON)和透传/自定义。两者二选一,推荐您使用 Alink JSON 方式。

1. ICA 标准数据格式(Alink JSON):

设备按照物联网平台定义的标准数据格式生成数据,然后上报数据。

(1)上行(透传)

Topic/sys/{productKey}/{deviceName}/thing/model/up_raw

REPLY Topic/sys/{productKey}/{deviceName}/thing/model/up_raw_reply

(2)上行(非透传)

Topic/sys/{productKey}/{deviceName}/thing/event/property/post

REPLY Topic/sys/{productKey}/{deviceName}/thing/event/property/post_reply

2. 透传/自定义:

设备上报原始数据如二进制数据流,阿里云物联网平台会运行您在控制台提交的数据解析脚本,将原始数据转成标准数据格式后,再进行业务处理。而云端返回的是标准 Alink JSON 格式,返回结果经数据解析后,再推送给设备。

3. 属性上报遵循格式

{

"id": "123",

"version": "1.0",

"sys":{

"ack":0

},

"params": {

"Power": {

"value": "on",

"time": 1524448722000

},

"WF": {

"value": 23.6,

"time": 1524448722000}

},

"method": "thing.event.property.post"//此方法最重要

}

4. 服务器响应数据格式

{

"id": "123",

"code": 200,

"data": {}

}


四、设备属性下行

1. 下行(透传)

Topic/sys/{productKey}/{deviceName}/thing/model/down_raw

REPLY Topic/sys/{productKey}/{deviceName}/thing/model/down_raw_re

2. 下行(非透传)

Topic/sys/{productKey}/{deviceName}/thing/service/property/set

REPLYTopic/sys/{productKey}/{deviceName}/thing/service/property/set_reply

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
4月前
|
传感器 存储 机器学习/深度学习
物联网(IoT)简介:定义、技术与应用
【5月更文挑战第30天】物联网(IoT)是将物品通过嵌入式系统、传感器及通信技术连接至互联网,实现物物、物人交互和数据共享的技术。其关键包括传感器、通信、嵌入式系统、云计算和人工智能技术。物联网应用于智能家居、智慧城市、工业自动化、农业和健康医疗等领域,通过Arduino等平台可实现简单数据传输。随着技术发展,物联网将深远影响人们生活和工作方式。
349 3
|
14天前
|
物联网 C# 智能硬件
智能家居新篇章:WPF与物联网的智慧碰撞——通过MQTT协议连接与控制智能设备,打造现代科技生活的完美体验
【8月更文挑战第31天】物联网(IoT)技术的发展使智能家居设备成为现代家庭的一部分。通过物联网,家用电器和传感器可以互联互通,实现远程控制和状态监测等功能。本文将探讨如何在Windows Presentation Foundation(WPF)应用中集成物联网技术,通过具体示例代码展示其实现过程。文章首先介绍了MQTT协议及其在智能家居中的应用,并详细描述了使用Wi-Fi连接方式的原因。随后,通过安装Paho MQTT客户端库并创建MQTT客户端实例,演示了如何编写一个简单的WPF应用程序来控制智能灯泡。
31 0
|
24天前
|
物联网 网络性能优化 Python
"掌握MQTT协议,开启物联网通信新篇章——揭秘轻量级消息传输背后的力量!"
【8月更文挑战第21天】MQTT是一种轻量级的消息传输协议,以其低功耗、低带宽的特点在物联网和移动应用领域广泛应用。基于发布/订阅模型,MQTT支持三种服务质量级别,非常适合受限网络环境。本文详细阐述了MQTT的工作原理及特点,并提供了使用Python `paho-mqtt`库实现的发布与订阅示例代码,帮助读者快速掌握MQTT的应用技巧。
38 0
|
2月前
|
存储 运维 监控
阿里云物联网平台的优势
【7月更文挑战第19天】阿里云物联网平台的优势
53 1
|
2月前
|
供应链 网络协议 安全
物联网协议包含哪些协议?
物联网协议是物联网生态系统中不可或缺的组成部分,它们负责处理和协调物联网设备之间的通信。
50 3
|
4月前
|
Cloud Native 安全 物联网
【阿里云云原生专栏】云边端一体化:阿里云如何利用云原生技术赋能物联网
【5月更文挑战第22天】阿里云借助云原生技术赋能物联网,实现云边端一体化,提升系统弹性与敏捷性。通过容器化部署,保证高可用性与可靠性。在智能交通等领域,阿里云提供高效解决方案,实现实时数据分析与决策。代码示例展示如何使用阿里云服务处理物联网数据。同时,阿里云重视数据安全,采用加密和访问控制保障数据隐私。丰富的工具和服务支持开发者构建物联网应用,推动技术广泛应用与发展。
268 1
|
3月前
|
传感器 物联网
物联网协议概述:MQTT、CoAP 和 HTTP
【6月更文挑战第3天】探索物联网的三大协议——MQTT、CoAP 和 HTTP。MQTT 是高效的消息传递使者,适用于大规模、不稳定网络环境;CoAP 小巧灵活,适合资源有限的设备;HTTP 则是熟悉的网络通信老将。根据不同场景选择合适的协议,让物联网设备有效交流。示例代码展示它们的使用方式。
102 0
|
5天前
|
运维 供应链 物联网
未来已来:区块链、物联网和虚拟现实技术的融合与创新
在科技日新月异的今天,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正引领着一场前所未有的技术革命。本文将深入探讨这些技术的独特发展趋势和它们在未来社会中的潜在应用场景,揭示它们如何相互交织,共同塑造我们的工作和生活方式。通过分析具体案例,我们将看到这些技术如何超越传统界限,开启全新的创新之路。
|
13天前
|
安全 物联网 区块链
探索未来:区块链、物联网与虚拟现实技术的融合趋势
随着科技的不断进步,新兴技术如区块链、物联网和虚拟现实正逐渐融入我们的生活。本文将探讨这些技术的发展趋势和应用场景,以及它们如何相互融合,为我们的生活带来前所未有的便利和体验。让我们一起踏上这场科技之旅,感受新技术带来的无限可能!
|
9天前
|
供应链 安全 物联网
未来已来:区块链技术、物联网与虚拟现实的融合趋势
【9月更文挑战第4天】在科技的浪潮中,区块链、物联网(IoT)和虚拟现实(VR)作为三大前沿技术,正逐步从概念走向现实应用。本文将深入探讨这些技术的发展趋势,以及它们如何相互交织,形成全新的应用场景。我们将通过实际案例,揭示这些技术如何影响我们的工作、生活和社会结构,并展望它们未来的发展潜力。

相关产品

  • 物联网平台