【阿里云IoT+YF3300】5. Alink物模型之服务下发
名词解释:
服务:设备的功能模型之一,设备可被外部调用的能力或方法,可设置输入参数和输出参数。相比于属性,服务可通过一条指令实现更复杂的业务逻辑,如执行某项特定的任务。 -摘自阿里云物联网产品文档。
从1991国麻省理工学院的Kevin Ash-ton教授首次提出物联网的概念,到如今的各大物联网云平台百花争艳。物联网的前景一直是很乐观的,但是在如此欣欣向荣的背景下,隐含成本(实施成本和维护成本)的问题越来越凸显。物联网项目的实施落地已经远不是工控时代的做法,原因有两点:1.物联网项目对实施速度要求高;2.综合成本敏感。如何在如此高要求的情况下达到工控的项目质量,关键在于如何去减少隐含成本。Alink物模型之服务下发,带你体验如何远程实施与维护。
一. 云端配置
(1) 登陆阿里云物联网平台
(2) 在设备管理选项中创建产品
(3) 示例
(4) 查看相应的产品,进行物模型属性的创建。查看产品细节,选择功能定义,进行自定义属性添加与自定义服务添加
a. 自定义属性添加,创建模板请见图1-1
b.自定义服务添加。服务类型目前支持两种,参数服务以及控制服务,事件的创建包括服务名称 标识符以及输入输出参数的定义。(根据YFIOs服务引擎定义规则:1.参数服务的标识符必须为Server_Parameter_Device,控制服务的标识符必须为Server_Control_Device。调用方式为异步。2.每个事件具有两个输入参数以及两个输出参数:(输入参数:命令字和参数信息。命令(command)为text(字符串),数据长度为32字节;参数信息(parameter)为text(字符串),1024字节。输出参数:执行状态和状态描述。执行状态(state)为int32(整数型),取值范围为-100~100,步长为1,无单位,状态描述(info)为text(字符串),数据长度为256字节。)创建模板请见图1-2
图1-2
(5) 在新建的产品下,设备名称必须为Test,并保存相关的设备证书(即设备三元组Productkey 、DeviceName、 DeviceSecret)
一. 设备连接
运行环境搭建:Win7系统请下载相关的设备驱动,下载地址为:,请安装VS2010/VS2015及拓展包
准备材料:YF3300设备套装,组态key(购买产品时厂家会附赠一个月体验版)官方下载YFIOsManager组态管理软件。下载链接:
http://www.yfiot.com/content/downsort?current=1&title=1
设备连接:a.将组态key插入电脑,将附赠GPRS天线连接好,插入附赠的物联网卡(也可使用自己购买的物联网卡)
b.将YF3300通过Type-C连入电脑。
设备配置:
(1) 打开下载的YFIOsManager软件,选择USB连接方式,连接YF3300
(2) 在用户设备中新建设备
点击新建,在驱动支持中,选择other系列中的YFSoft(叶帆科技)中的YF3300官方驱动。设备名称为云端的DeviceName(Test)
(3)在数据配置新建一个属性(Test:T)
(4)点击保存项目,保存自定义的组态工程
(5)在策略列表中新建策略,策略文件选择sys >阿里云MQTT客户端(精简版)。服务配置中在相应的地方填入设备三元组,填入产品密钥,服务地址会自动更改,扫描间隔可更改,变化上传可勾选
(6)在策略列表中新建策略,策略文件选择sys >阿里云服务下发(示例版)
(7)在调试选项中部署YFIOs系统,选择精简版(上云),部署完成之后, 点击部署按钮,部署创建的驱动和策略,选择系统重启,根据当地网络情况,等待5~10s,通信灯常亮,设备与云端通信成功。也可以在YFIOsManager监控上云过程,出现MQTT Connect OK!!! ,证明设备与云端通信成功。
三、 服务下发演示
(1)打开阿里云平台,点击监控运维,进入在线调试。
(2)选择对应的产品名称和设备名称,选择调试真实设备,功能选择对应调试的服务名称,在下方输入框中输入对应的json字符串,选择发送指令,即可完成服务下发。
下发控制服务和参数服务
说明:1.示例版策略支持两种控制服务命令
A.开灯指令
Json字符串内容为
{
“command”:”Open”,
“parameter”:”1”
}
B.关灯指令
Json字符串内容为
{
“command”:”Close”,
“parameter”:”0”
}
服务下下发反馈:
组态端:
设备端:根据状态灯的亮灭状态来判断指令是否下发成功
阿里云端:
2. 示例版策略支持一种参数服务命令
温度校准指令
Json字符串内容为
{
“command”:”校准温度”,
“parameter”:”30”,//此处填写任意温度值(-100~100之间)
}
服务下发反馈:
组态端:
也可在数据监控查看相应的温度数据是否为校准数据
阿里云端: