阿里云物联网平台 - 物模型

阿里云物联网平台 - 物模型,第1张

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

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

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 的作用在后面用时序来描述。

简介:  没有设备,也能立刻体验物联网平台的功能:使用物联网平台提供的“在线调试”功能,体验虚拟设备上云&设备数据存储分析的功能。

产品推荐:阿里云物联网开发者工具( IoT Studio ), 立刻免费体验吧!

你可能遇到以下情况:

1、手头没有开发板

2、还不懂“物联网云服务”怎么玩,想体验一下

3、设备端开发跟物联网云服务没跑通,不确定哪个环节出现问题

这时,你就需要用到“在线调试”功能来虚拟一个设备,详细步骤如下:

1、登陆物联网平台控制台 , 现在登入

2、左侧导航栏中,找到在线调试功能

3、开始设备上云开发,这个环节分为3个步骤:创建产品→创建设备→激活设备(使用在线调试)

31 创建产品

下方的都是默认选项,不用改动,点击完成,成功创建1个产品

32 产品和设备是包含与被包含的关系,我们创建成功产品后,即可在这个产品下添加设备

设备添加成功后,即d出设备的三元组(设备证书),这个三元组是全网唯一的设备身份校验要素

ProductKey:是物联网平台为产品颁发的全局唯一标识。该参数很重要,在设备认证以及通信中都会用到,因此需要您保管好。

DeviceName:在注册设备时,自定义的或自动生成的设备名称,具备产品维度内的唯一性。该参数很重要,在设备认证以及通信中都会用到,因此需要您保管好。

DeviceSecret:物联网平台为设备颁发的设备密钥,和DeviceName成对出现。该参数很重要,在设备认证时会用到,因此需要您保管好并且不能泄露。

考虑设备实际生产时对安全和成本的不同需求,我们可以选择“一机一密”,或者“一型一密”。

一机一密:每个设备烧录其唯一的设备证书(ProductKey、DeviceName和DeviceSecret)。当设备与物联网平台建立连接时,物联网平台对其携带的设备证书信息进行认证。

一型一密:同一产品下所有设备可以烧录相同产品证书(即ProductKey和ProductSecret)。设备发送激活请求时,物联网平台进行产品身份确认,认证通过,下发该设备对应的DeviceSecret。

33 激活设备

我们发生几个开灯关灯的指令,就可以看到设备上报的数据:

4、使用物联网平台的“数据分析”功能存储数据

点击确定后,设备数据即成功存储

再点击“查看”,即可看到数据的存储

查看表结构

查看表数据

查询表数据

了解更多数据分析能力:

1、阿里云物联网平台数据分析服务主页

2、技术文档

提到阿里巴巴(Alibaba),大家首先会想到淘宝,然后是支付宝,以及现在的阿里云计算,这是目前阿里最具代表性的产品。这两个产品从互联网时代到移动互联网时代,对人们生活的影响越来越大。面对即将到来的物联网时代,阿里当然也不会无动于衷,我们来聊聊阿里在物联网方面的产品策略。

阿里是一家很务实的公司,非常注重落地的能力,所以阿里在物联网方面的产品都是与其主营业务密切相关的。阿里在物联网方面的产品主要是两部分:

阿里智能开放平台,简称阿里智能(openalipluscom)。

阿里云物联网套件,属于阿里云(aliyuncom)的一个产品。

这两个产品背后的一些云端服务组件,可能有一些重叠,但总的来说是面向不同的客户群体,是两种不同的物联网解决方案。

阿里智能概述

阿里智能的目标是助力传统硬件智能化,让原来的传统家电厂商可以迅速利用阿里智能这样一个平台,把自己的产品智能化。这里智能化的含义主要是家电与手机APP以及互联网的云服务器之间的互 *** 作性。

阿里智能的交互示意图

阿里智能,主要面向的用户是家用电器产品的厂商或开发者,比如空调、洗衣机、窗帘、摄像头、空气净化器、照明、温控等。这些家电设备与手机以及云服务器之间通过阿里的私有协议alink互联。

阿里智能解决方案

阿里智能为用户提供的解决方案包括:连网模块、云端服务以及手机APP。

(1)联网模块

阿里智能提供的联网模块主要是WiFi模组。模组固件包括嵌入式OS以及Alink SDK,开发者可以基于Alink SDK构建自己的应用。ALINK SDK中主要封装了云端的一些交互和服务,如升级管理、配置管理等,另外还包含一个应用程序SMARTLED用来验证智能设备数据发送及指令处理。

(2)阿里智能APP

阿里智能APP

阿里智能提供了一个APP,通过这个APP可以控制所有阿里智能支持的设备,为用户提供一致的交互体验,以及设备间联动的 *** 作。

阿里智能APP设备面板使用HTML5技术开发,并通过H5 SDK开放自主开发能力。厂家及开发者可遵循阿里智能APP的设计和开发规范,自行开发APP设备控制界面。

(3)上架服务

产品开发完,一定是要卖的。加速产品开发流程,缩短产品上架周期,才是阿里智能的最终目标。所以阿里智能为用户提供的是从开发到上架的端到端服务。

阿里智能服务流程

阿里智能平台提供从入驻到上架的一站式接入服务,结合阿里电商平台,还提供售中-交易管理和售后-效果跟踪的服务。

总结

过去几年,智能家居和智能硬件产品兴起,很多家电企业都希望自己的产品也能搭上“智能”这趟列车,以体现自己产品的与时俱进,最起码不会让品牌显得落伍。阿里智能就是面向这样一种普遍性需求的。

另一方面,阿里的主营业务是电商。在阿里看来,这些家电厂商同样是一家家天猫店,产品上架才是最终目标。阿里帮助这些厂商更快地实现产品智能化,可以有效促进线上的产品销售,强化了自己对商家的服务。

对于这些观点,你怎么看?

留言说说~

喜欢我就关注我哟!

在本文中,我们将向您展示如何使用阿里云IoT平台轻松将Android Things连接到您的物联网(IoT)网络,我们将为该项目构造一个示例:功能性甲醛和温度传感器。有些人可能不了解Android Things,简单来说, 它就是让开发者可以使用Android开发工具开发嵌入式设备

项目设备清单

NXP iMX7D

设备接线图

在设置硬件之后,是时候在阿里云IoT平台上配置软件了。

首先,导航到物联网控制台并激活阿里云IoT。创建高级产品并添加产品属性定义:

Android Things设备开发

1、使用Android Studio创建Android Things项目,并授予网络权限

2、将“eclipsepahomqtt”存储库添加到gradle

3、通过I2C读取DHT12数据

4、通过UART获取Ze08CH2O数据

5、创建阿里云IoT连接并报告数据

设备启动后,您可以在阿里云IoT控制台上查看设备的实时数据, 设备管理 - >运行状态

此项目在GIT上的地址是:>

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

原文地址: https://outofmemory.cn/dianzi/13455934.html

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

发表评论

登录后才能评论

评论列表(0条)

保存