【阿里云IoT+YF3300】5. Alink物模型之服务下发

712 阅读5分钟

名词解释:

       服务:设备的功能模型之一,设备可被外部调用的能力或方法,可设置输入参数和输出参数。相比于属性,服务可通过一条指令实现更复杂的业务逻辑,如执行某项特定的任务。    -摘自阿里云物联网产品文档。

       从1991美国麻省理工学院的Kevin Ash-ton教授首次提出物联网的概念,到如今的各大物联网云平台百花争艳。物联网的前景一直是很乐观的,但是在如此欣欣向荣的背景下,隐含成本(实施成本和维护成本)的问题越来越凸显。物联网项目的实施落地已经远不是工控时代的做法,原因有两点:1.物联网项目对实施速度要求高;2.综合成本敏感。如何在如此高要求的情况下达到工控的项目质量,关键在于如何去减少隐含成本。Alink物模型之服务下发,带你体验如何远程实施与维护。

一、云端配置

          登陆阿里云物联网平台           在设备管理选项中创建产品           示例

1.jpg

4.          查看相应的产品,进行物模型属性的创建。查看产品细节,选择功能定义,进行自定义属性添加与自定义服务添加

a. 自定义属性添加,创建模板请见图1-1

                    b.自定义服务添加。服务类型目前支持两种,参数服务以及控制服务,事件的创建包括服务名称 标识符以及输入输出参数的定义。(根据YFIOs服务引擎定义规则:1.参数服务的标识符必须为Server_Parameter_Device,控制服务的标识符必须为Server_Control_Device。调用方式为异步。2.每个事件具有两个输入参数以及两个输出参数:(输入参数:命令字和参数信息。命令字(command)为text(字符串),数据长度为32字节;参数信息(parameter)命令字(command)为text(字符串),数据长度为32字节;参数信息(parameter)为text(字符串),1024字节。输出参数:执行状态和状态描述。执行状态(state)为int32(整数型),取值范围为-100~100,步长为1,无单位,状态描述(info)为text(字符串),数据长度为256字节。)创建模板请见图1-2

2.jpg

3.jpg   4.jpg

5.jpg

6.jpg 图1-2

5.         在新建的产品下,设备名称必须为Test,并保存相关的设备证书(即设备三元组Productkey 、DeviceName、 DeviceSecret)

二、设备连接

       运行环境搭建:Win7系统请下载相关的设备驱动,下载地址为:,请安装VS2010/VS2015及拓展包

准备材料:YF3300设备套装,组态key(购买产品时厂家会附赠一个月体验版)官方下载YFIOsManager组态管理软件。下载链接:

www.yfiot.com/content/dow…  

  设备连接:a.将组态key插入电脑,将附赠GPRS天线连接好,插入附赠的物联网卡(也可使用自己购买的物联网卡)

    b.将YF3300通过Type-C连入电脑。

        设备配置:

打开下载的YFIOsManager软件,选择USB连接方式,连接YF3300 在用户设备中新建设备,点击新建,在驱动支持中,选择other系列中的YFSoft(叶帆科技)中的YF3300官方驱动。设备名称为云端的DeviceName(Test)

7.jpg

3.在数据配置新建一个属性(Test:T)

8.jpg

4.点击保存项目,保存自定义的组态工程

5.在策略列表中新建策略,策略文件选择sys >阿里云MQTT客户端(精简版)。服务配置中在相应的地方填入设备三元组,填入产品密钥,服务地址会自动更改,扫描间隔可更改,变化上传可勾选

6.策略列表中新建策略,策略文件选择sys >阿里云服务下发(示例版)

7.在调试选项中部署YFIOs系统,选择精简版(上云),部署完成之后, 点击部署按钮,部署创建的驱动和策略,选择系统重启,根据当地网络情况,等待5~10s,通信灯常亮,设备与云端通信成功。也可以在YFIOsManager监控上云过程,出现MQTT Connect OK!!!    ,证明设备与云端通信成功

三、服务下发演示

打开阿里云平台,点击监控运维,进入在线调试。 选择对应的产品名称和设备名称,选择调试真实设备,功能选择对应调试的服务名称,在下方输入框中输入对应的json字符串,选择发送指令,即可完成服务下发。                      下发控制服务和参数服务

                      说明:1.示例版策略支持两种控制服务命令

A.开灯指令

Json字符串内容为

{ “command”:”Open”,

“parameter”:”1”

}

B.关灯指令

Json字符串内容为

{ “command”:”Close”,

“parameter”:”0”

}

服务下发反馈:

9.jpg                     组态端:

设备端:根据状态灯的亮灭状态来判断指令是否下发成功

阿里云端:

  10.jpg

示例版策略支持一种参数服务命令 温度校准指令 Json字符串内容为

{ “command”:”校准温度”,

“parameter”:”30”,//此处填写任意温度值(-100~100之间)

}

服务下发反馈:

组态端:

11.jpg

也可在数据监控查看相应的温度数据是否为校准数据

  阿里云端:

12.jpg

想体验阿里云IoT平台的网友,可以单击如下链接:

dev.iot.aliyun.com/sale?source…