阿里云物联网平台 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
相关文章
|
5天前
|
XML 编解码 JSON
【开源视频联动物联网平台】协议包管理
【开源视频联动物联网平台】协议包管理
44 1
|
5天前
|
消息中间件 边缘计算 物联网
【开源视频联动物联网平台】如何解决物联网协议多样性问题
【开源视频联动物联网平台】如何解决物联网协议多样性问题
64 0
|
5天前
|
负载均衡 网络协议 安全
【开源视频联动物联网平台】SIP协议的特点
【开源视频联动物联网平台】SIP协议的特点
42 1
|
5天前
|
弹性计算 运维 Kubernetes
阿里云轻量应用服务器与轻量容器服务简介与区别及收费标准参考
轻量应用服务器是深受个人和普通企业用户亲耐的一款轻量级云服务器产品,提供精品应用一键部署,支持一站式的域名、网站、安全、运维、应用管理等服务,极大优化搭建简单应用的体验,降低了入门级用户使用云计算产品的门槛。轻量容器服务是专为学生、个人开发者等用户打造的轻量级容器服务,帮助您在云上快速了解容器和Kubernetes(简称K8s)相关的基础概念和轻松进行入门实践。本文为大家介绍一下阿里云轻量应用服务器与轻量容器服务的区别以及收费标准,以供参考。
阿里云轻量应用服务器与轻量容器服务简介与区别及收费标准参考
|
5天前
|
安全 应用服务中间件 网络安全
阿里云ssl证书简介和使用流程
了解如何在阿里云注册并实名账号,然后购买和部署SSL证书以增强网站安全性。阿里云SSL证书提供强大的加密、身份验证及SEO优势。通过简单流程购买适合的证书类型,如CFCA通配符OV证书,并在Nginx服务器上安装。遵循官方文档,下载证书,编辑Nginx配置并重启服务实现HTTPS。阿里云SSL证书是保障网站安全的高效解决方案。
59 2
阿里云ssl证书简介和使用流程
|
5天前
|
Cloud Native 网络协议 小程序
阿里云中小企业上云特惠专场活动简介
近日,阿里云针对中小企业推出了特惠活动,域名新注1元起,建站套餐低至百元,为中小企业的上云之路提供了更多便利和实惠。下面是此次中小企业上云特惠活动的主要内容简介。
阿里云中小企业上云特惠专场活动简介
|
5天前
|
存储 Java API
阿里云oss简介和使用流程
本文档介绍了如何准备阿里云OSS(对象存储服务)并开始使用它。首先,需要注册阿里云账号并进行实名认证,然后购买OSS资源包。在阿里云控制台中,可以创建和管理OSS存储空间(称为“Bucket”)。接着,文章简要介绍了阿里云OSS,它是一个基于云端的对象存储服务,提供高可靠性、高性能、低成本和易于使用的特性。 在阿里云OSS控制台,用户可以进行文件的上传和下载操作。通过API,开发者可以使用各种编程语言(如Java)来创建、删除Bucket以及上传、下载和删除文件。例如,Java代码示例展示了如何创建Bucket、上传文件、删除文件以及下载文件到本地的操作。
|
5天前
|
监控 安全 物联网
阿里云mqtt简介和使用流程
本文介绍了阿里云MQTT的准备工作、简介和使用流程。首先,用户需要注册阿里云账号并完成实名认证。接着,通过阿里云物联网平台创建产品和设备,获取连接所需的Broker Address、Port、Username和Password。然后,使用MQTT客户端(如MQTTX)配置这些信息进行连接,并激活设备。最后,创建并订阅/发布自定义Topic,实现设备间的通信。阿里云MQTT是一个适用于物联网设备的轻量级通信协议,提供高并发、高可靠性的服务,广泛应用于各种物联网场景。
阿里云mqtt简介和使用流程
|
5天前
|
安全 应用服务中间件 网络安全
阿里云ssl证书简介和使用流程
本文介绍了如何在阿里云获取和部署SSL证书以增强网站安全性。首先,需要注册阿里云账号并完成实名认证,接着注册和备案域名。然后,通过阿里云购买适合的SSL证书,如CFCA通配符OV证书,并下载证书文件。在Nginx或Tengine服务器上,解压缩证书,编辑Nginx配置文件,将证书和私钥文件路径添加到配置中,并重启Nginx服务以应用更改。阿里云SSL证书提供强大的加密、身份验证和SEO优势,确保网站安全并提升用户信任度。
|
5天前
|
安全 Linux PHP
阿里云服务器简介和如何使用
这篇内容介绍了阿里云服务器的准备工作、特性和购买流程,以及如何连接和部署Web项目。首先,用户需要注册阿里云账号并进行实名认证,然后注册和备案域名。接着,文章详细讲解了阿里云服务器的高可用性、安全性和可扩展性,并列出不同规格的配置选项。购买时,用户可以选择包年包月或按量计费,并根据需求选择CPU、内存、操作系统和宽带大小。对于连接服务器,文章提供了Windows和Linux系统的详细步骤,包括使用PuTTY或宝塔面板。最后,文章展示了如何在Linux环境中使用宝塔面板部署Web项目。总的来说,阿里云服务器提供了一种便捷的云服务,适合各种业务场景,用户可以根据指导轻松管理和使用。

相关产品

  • 物联网平台