ALink协议是最简单的通信协议

简介:

物联网全栈教程-从云端到设备(六)


关注零妖的微信公众号,获取第一手物联网的技术干货:  LINGYAOIOT


物联网项目在开发初期,需要云端和设备端两个工种的工程师一起谈谈实现的技术细节。有一个叫作ALink协议的语言,成功解决了两个物种之间交流困难的世纪难题!

ALink协议是针对物联网开发领域设计的一种数据交换规范。设备端按照这个简单的规范把数据组织一下发送给云端,云端工程师也懂这个简单的规范,可以直接拿这个数据进行处理。同时还解决了调试困难的痛点:云端工程师使用一个叫做MQTT客户端的电脑工具,就可以发送符合ALink协议的测试数据调试云端产品的代码;设备端工程师就可以在给单片机写代码的时候直接组织一个符合ALink协议的测试数据,从而不用依赖云端下发。

 

物联网将物理世界的万物接入网络并通过整合各类服务实现智能化。“物”(Things)作为整个网络中的基础节点和商业触手,既是环境信息的采集者,也是智能服务的提供者和承载者。“物”就是设备端。

你首先需要对物联网中的“物”能做什么,能提供什么样的服务进行描述。这就需要从产品层面进行功能建模,定义物的“属性”(Property)、“服务”(Service)和“事件”(Event)。最简单的情况下你定义一个属性就够了,比如零妖的物联网弹幕器项目,就仅有两个属性。

通过功能建模将各类设备统一抽象为云端的资源,并对外暴露相应的接口,以满足不同场景下不同系统的调用和快速集成。

物模型是对设备是什么,能做什么的描述,包括设备身份标识、连接状态、描述信息,以及设备的属性(properties)、服务(services)、事件(events),后三者构成了设备的功能定义。Link Develop通过定义一种物的描述语言来描述物模型,称之为 TSL(即 Thing Specification Language)。

 

有一种非常简单的数据格式,叫作JSON字符串,有编程基础的人两分钟就能研究清楚那是什么。ALink协议的数据格式就是JSON字符串的格式。零妖只是提一下而已,ALink协议想读懂根本不用了解啥是JSON,我要开车了,兄弟们请坐好扶稳。

2a4f9438e473b10a769a58510a683c6a6543ffae 

看到了吧,就是这么简单。上面那个截图就是设备上报自己属性的字符串。设备端发送的数据其实就是那些内容,而且零妖也解释很清楚了。总结一下,就是 <“属性”:数值 >的做法,非常类似 <键:值> 的做法。反正对于单片机来说,想要上报哪个属性,就发送哪个,修改一下后面的数值就行了。

同理,云端下发的数据也是符合ALink协议的。单片机想解析这些数据就更简单了,简直不要太爽。我们只管记住这些固定的格式就行了,其他的不用修改。上行数据和下行数据在格式上都一样,但是有些固定的地方是不一样的,可以去  https://linkdevelop.aliyun.com/developGuide#kgd6wp.html  查看单个设备的报文,复制你需要的报文,然后修改其中的属性名称和数值,就可以了。

对于云端开发的工程师来说,要做的工作就是调用阿里云提供的API,往里面扔数据就行了,自己更需要关注的是业务的实现逻辑而不是这些细节问题。云端开发代码的流程零妖会在后面的文章里讲一个小小的Demo,帮助你快速上手。

 

你一定正在好奇属性的名称是怎么得到的。零妖告诉你,属性的名称和取值范围是在 LinkDevelop 平台上,“设备开发”里面,定义产品的时候自己选择的。零妖的下一篇文章将会讲解“设备开发”的内容,这部分是在云端完成的工作,也是团队开会时候需要确定的内容。

 

相关实践学习
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
9月前
|
人工智能 运维 安全
加速智能体开发:从 Serverless 运行时到 Serverless AI 运行时
在云计算与人工智能深度融合的背景下,Serverless 技术作为云原生架构的集大成者,正加速向 AI 原生架构演进。阿里云函数计算(FC)率先提出并实践“Serverless AI 运行时”概念,通过技术创新与生态联动,为智能体(Agent)开发提供高效、安全、低成本的基础设施支持。本文从技术演进路径、核心能力及未来展望三方面解析 Serverless AI 的突破性价值。
|
6月前
|
数据采集 人工智能 自然语言处理
寻找 AI 全能王——阿里云 Data+AI 工程师全球大奖赛正式开启
在AI迈向专业决策的关键节点,阿里云联合NVIDIA发起“寻找AI全能王”全球大奖赛,聚焦高质量数据构建与智能体开发两大挑战。赛事设高校与企业双赛道,覆盖万亿语料去重与DeepSearch智能体构建,提供工业级实战平台、专家指导与丰厚奖励,推动Data+AI融合创新,助力开发者实现“所想即所得”的技术突破。
1586 2
|
11月前
|
JavaScript 安全 前端开发
如何开发人事及OA管理系统的薪酬管理板块?(附架构图+流程图+代码参考)
本文介绍了如何构建一个高效、合规的企业薪酬管理系统,涵盖薪酬模块的重要性、核心功能、系统架构设计、数据模型、开发实现及安全合规要点。内容包括薪酬配置、数据导入、自动化计算、审批发放、工资条生成与安全分发、报表看板、权限审计等关键环节,并提供详细的业务流程、架构图、核心代码示例及落地开发技巧。适用于HR、财务及技术人员快速搭建薪酬管理系统,提升发薪效率,降低人工错误与合规风险。
|
7月前
|
存储
如何将内存数据与磁盘数据合并?
通过滚动合并将内存C0树与磁盘C1树有序归并,利用清空块和填充块以多页块为单位进行顺序读写,结合磁盘特性优化性能,显著提升LSM树的写入与检索效率。
|
机器学习/深度学习 人工智能 大数据
特征越多模型越好?这个AI领域的常识可能是错的
特征选择是机器学习中的"减肥秘方",它能帮助模型去除冗余特征,提高性能并降低计算成本。本文深入浅出地介绍特征选择的概念、方法与实践技巧,带你掌握这门让AI模型更高效的"瘦身术"。
458 1
|
监控 安全 网络安全
守护数字家园:个人博客安全防护指南
本文承接之前关于搭建WordPress个人博客的系列文章,重点讲解如何为个人博客构建全面的安全防护体系。从云服务器安全组规则设置到1Panel工具的应用,再到WordPress核心及插件更新、密钥体系打造以及细节防护策略,逐一剖析并提供简单经济的解决方案。
259 0
守护数字家园:个人博客安全防护指南
|
Java 物联网 Python
物联网发展的三大编程语言
虽然Java是物联网开发中使用最多的语言,但是Java和Python在物联网开发的不同子域中紧随其后。物联网发展的未来可能仍然是多语言的。十年前,可能没有人想象未来有一天我们使用的空调、冰箱可以智能可控,路上行驶的汽车可以自动驾驶,现在,这些都将变得现实,而让这些变得现实的就是物联网。
22072 149
|
消息中间件 存储 JSON
rabbitmq基础教程(ui,java,springamqp)
本文提供了RabbitMQ的基础教程,包括如何使用UI创建队列和交换机、Java代码操作RabbitMQ、Spring AMQP进行消息发送和接收,以及如何使用不同的交换机类型(fanout、direct、topic)进行消息路由。
303 0
rabbitmq基础教程(ui,java,springamqp)
|
小程序 前端开发 Java
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
JavaDog Chat v1.0.0 是一款基于 SpringBoot、MybatisPlus 和 uniapp 的简易聊天软件,兼容 H5、小程序和 APP,提供丰富的注释和简洁代码,适合初学者。主要功能包括登录注册、消息发送、好友管理及群组交流。
514 1
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
|
物联网 Java 数据格式
阿里云物联网消息透传设备端payLoad设置问题
由于低配置且资源受限,或者对网络流量有要求的设备,不适合直接构造JSON数据与物联网平台通信,可将原数据透传到物联网平台。本文主要针对文档中未对设备端payLoad的设置进行介绍,初次使用容易出错,结合官方示例对payLoad对象的处理进行介绍。
15349 10
阿里云物联网消息透传设备端payLoad设置问题

热门文章

最新文章