阿里云物联网平台搭建(5)基础平台服务的调用

阿里云物联网平台搭建(5)基础平台服务的调用,第1张

之前一直想要使用mqtt协议模拟tcp协议的实时返回监控参数的功能,经过几个月的摸索和试验,终于将同步服务的开发摸透,仅仅看飞燕平台的技术文档是看不懂的,核心文档链接如下:

1、什么是rrpc,同步服务如何使用rrpc实现实时返回的效果

>

可以不用做物联网硬件开发,因为物联网系统可以分为两部分:硬件和软件。硬件通常包括传感器、节点、网关等,而软件则包括数据处理、分析和应用等。如果您不想进行硬件开发,可以考虑使用已有的硬件产品,例如Arduino、Raspberry Pi等,或者采购一些现成的传感器、网关设备等。

在软件开发方面,您可以选择使用一些物联网平台或开发框架,例如AWS IoT、Google Cloud IoT等,这些平台和框架提供了一些基础的组件和工具,帮助您更容易地实现物联网系统。同时,您也可以自己编写代码进行数据处理、分析和应用开发等。无论哪种方案,都需要考虑数据的安全性和可靠性,以及系统的扩展性和可维护性。

可以通过使用现有的物联网设备或者使用模拟器来实现物联网系统,而不需要进行物联网硬件开发。以下是一些实现物联网系统的常用方法:

使用现有的物联网设备:市场上已经有许多物联网设备可供选择,例如传感器、摄像头、智能家居设备等等。可以根据需求选择合适的设备并与系统进行集成。

使用模拟器:模拟器是一种可以模拟物联网设备行为的软件。通过使用模拟器,可以模拟多种物联网设备的行为和交互,并且可以测试系统的功能和性能。

使用云平台:云平台可以提供物联网设备的管理和数据存储等功能,例如AWS IoT、Google Cloud IoT、Azure IoT等等。使用云平台可以更加方便地管理物联网设备,并且可以通过云服务实现设备之间的数据交互和处理。

总的来说,可以通过选择适合的技术和平台,来实现一个完整的物联网系统,而不需要进行物联网硬件开发。

模型是云平台为物联网产品定义的数据模型,用于描述产品的功能。将产品抽象成数据的集合,方便云端进行控制。

物模型从 属性 服务 事件 三个维度,分别描述了该实体是什么、能做什么、可以对外提供哪些信息。定义了物模型的这三个维度,即完成了产品功能的定义。

TSL 格式是一个 JSON 格式的文件,完整的 TSL 格式可以参考: 阿里云物模型 。

嵌入式端开发固件往往只需要关注少数几个参数,可以在产品的 功能定义 页面,单击 物模型TSL 精简物模型 里面查看。

需要关注的有 "properties","events","services",在 JSON 格式里,这三者都是数组,分别存储了该物模型的数据,事件和服务,在 C-SDK 里也就分别是 IOT_Linkkit_Report() 上报属性, IOT_Linkkit_TriggerEvent() 触发事件和注册为 ITE_SERVICE_REQUEST 的回调函数。

在上报属性时,只需要关注 "identifier" 名称对应的值(字符串),此时表示该属性在产品下的唯一标识。例如一个精简物模型属性为:

则上报的数据只需要为 {"count":10} 即可,需满足 JSON 字符串的格式,字符串内有一个名称/值对,名称为 "count"(物模型里 "identifier" 的值),值对为 10(满足物模型里数据类型为 int 的要求)。

触发事件需要关注 "identifier" 名称对应的值(字符串),表示该事件在产品下的唯一标识;还需要关注 "outputData",表示上报事件的输出值。一个精简物模型例子如下:

"outputData" 数组的使用与属性上报一致,这里就不介绍了。

服务调用需要同时关注 "identifier","inputData" 和 "outputData" 这三个名称,分别表示该服务在产品下的唯一标识,服务的输入参数,服务的输出参数。与函数调用有输入值和输出值类似,服务调用也有这些特征。

物模型数据校验方式目前有两种, 弱校验 免校验

也就是说,弱校验针对产品设备的上报数据,只要 idetifier 是一致的,且 dataType 字段满足要求,就接收该数据,并且在其他云端产品流转。

为什么云端可以设置和获取接入设备的属性呢?为什么接入设备可以上报事件给云端呢?又为什么云端可以调用接入设备提供的服务呢?这就是这一小节解释的内容。

物模型基于 MQTT 协议,MQTT 协议的介绍不在此处展开。

云端定义了一系列的 Topic,在设备接入云端时,C-SDK 向 MQTT broker 订阅了一些的 Topic,而云端需要与设备交互时,就向 MQTT broker 发布相应的 Topic,这样就完成了交互过程。同理,云端也会订阅一些 Topic,设备可以向这些 Topic 发布消息。

接入设备端订阅发布的 Topic 列表如下:

其中 ${productKey} 会替换为实际的产品名,${deviceName} 会替换为实际的设备名,${tsleventidentifier} 是事件的标识符,${tslserviceidentifier} 是服务的标识符,最大限度地保证了 Topic 的唯一性。

这些 Topic 的作用在后面用时序来描述。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/12979391.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存