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
目录
相关文章
|
Ubuntu
Ubuntu 20.04 多网卡路由规则配置
Ubuntu 20.04 多网卡路由规则配置
6012 0
|
Ubuntu 安全 关系型数据库
window下的子系统ubuntu 运行docker遇到的坑
<p>  1.启动mysql容器后,使用docker ps 查看时是没有启动起来 ,使用docker logs 容器id 时,查看报错信息如下:</p> <p>  mysql_ssl_rsa_setup: Can't change permissions of the file 'ca-key.pem' (Errcode: 1 - Operation not permitted)</p> <p>  2021-06-27 11:56:04 [ERROR] Error setting file permissions forca-key.pem and ca.pem</p>
3237 0
|
2月前
|
人工智能 缓存 自然语言处理
Qwen3.7-Max性能全解:Agent长程能力、推理速度与成本控制深度评测
Qwen3.7-Max作为阿里云通义千问2026年推出的纯文本旗舰大模型,核心定位是面向Agent时代的全能推理基座,专为复杂长程智能体任务、高强度工程开发与自动化流程打造。相比前代模型,Qwen3.7-Max实现了Agent能力的质的飞跃,同时在推理耗时、调用成本上完成大幅优化,在多项权威评测中登顶国产、跻身全球前列,成为企业级智能体开发、工程研发与自动化场景的首选模型。本文基于2026年最新实测数据,全面解析Qwen3.7-Max的Agent能力突破、推理效率提升与成本优化细节,为用户提供客观、精准的性能参考。
578 0
|
5月前
|
人工智能 机器人
阿里大动作!CEO 亲自挂帅成立 Token Hub 事业群,押注 AGI 时代新赛道
阿里成立CEO吴泳铭亲掌的Alibaba Token Hub(ATH)事业群,以“Token”为战略核心,整合通义实验室、MaaS、千问、悟空及AI创新五大板块,构建“创造—输送—应用”全链路AI生态。首次亮相的悟空事业部聚焦B端AI原生工作平台,协同C端千问,打造双轮驱动商业化闭环,剑指AGI时代核心生产要素之争。(239字)
4153 6
|
11月前
|
数据采集 监控 BI
零代码2小时搭建MES系统
本文介绍了如何利用零代码工具快速搭建制造执行系统(MES),解决车间计划频繁变更、数据滞后、设备问题难追溯等痛点。通过“流程→数据→规则→看板”四步法,企业可在2小时内上线核心MES功能,包括生产订单、工单执行、质量检验、设备状态、物料领用及数据看板。零代码方案具备快速验证、低成本迭代和易落地的优势,适合中小批量、多品种的制造场景,助力车间从“靠记忆”转向“靠数据”驱动,实现生产透明化与效率提升。
|
11月前
|
机器学习/深度学习 人工智能 资源调度
智能家居环境中的AI决策解释:实现以人为中心的可解释性——论文阅读
本文探讨智能家居中AI决策的可解释性,提出以人为中心的XAI框架。通过SHAP、DeepLIFT等技术提升模型透明度,结合用户认知与需求,构建三层解释体系,增强信任与交互效能。
627 19
智能家居环境中的AI决策解释:实现以人为中心的可解释性——论文阅读
|
人工智能 调度 算法框架/工具
【AI系统】计算图的调度与执行
深度学习训练过程涉及前向计算、计算损失及更新权重参数。AI框架通过计算图统一表示训练过程,算子作为计算图的节点,由后端硬件高效执行。计算图调度包括算子间的调度、并发调度和异构调度,确保计算资源的有效利用。图执行模式分为单算子执行、整图下沉执行和图切分多设备执行,适应不同场景需求。以PyTorch为例,其算子执行通过两次调度选择合适的Kernel进行张量操作,并支持自动求导。
1185 5
|
人工智能 测试技术 定位技术
Tarsier2:字节跳动开源专注于图像和视频内容理解的视觉语言大模型
Tarsier2 是字节跳动推出的大规模视觉语言模型,支持高质量视频描述、问答与定位,在多个视频理解任务中表现优异。
1414 16
|
Java 物联网 Python
物联网发展的三大编程语言
虽然Java是物联网开发中使用最多的语言,但是Java和Python在物联网开发的不同子域中紧随其后。物联网发展的未来可能仍然是多语言的。十年前,可能没有人想象未来有一天我们使用的空调、冰箱可以智能可控,路上行驶的汽车可以自动驾驶,现在,这些都将变得现实,而让这些变得现实的就是物联网。
22092 149