【阿里云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之间)
}
服务下发反馈:
组态端:

也可在数据监控查看相应的温度数据是否为校准数据
阿里云端:

【阿里云IoT+YF3300】5. Alink物模型之服务下发的更多相关文章
- 【阿里云IoT+YF3300】1.时代大背景下的阿里云IoT物联网的现状和未来
“未来十到二十年,大家基本已经形成了一个共识,那便是新格局的奠定将由 AI 和物联网技术来支撑.放眼国内,在这些互联网巨头之中,未来真正成为竞争对手厮杀的,阿里和华为是首当其冲,在这两个领域双方分别暗 ...
- 【阿里云IoT+YF3300】3. Alink物模型之属性上传和下发
[名词解释]属性:设备的功能模型之一,一般用于描述设备运行时的状态,如环境监测设备所读取的当前环境温度等.属性支持 GET 和 SET 请求方式.应用系统可发起对属性的读取和设置请求. 在上一篇文章& ...
- 【阿里云IoT+YF3300】4.Alink物模型之事件触发
名词解释:设备的功能模型之一,设备运行时的事件,事件一般包含需要被外部感知和处理的通知信息,可包含多个输出参数.如,某项任务完成的信息,或者设备发生故障或告警时的温度等,事件可以被订阅和推送. 在工控 ...
- 【阿里云IoT+YF3300】2.阿里云IoT云端通信Alink协议介绍
如果单单只有MQTT协议,也许很难支撑起阿里这个IoT大厦.Alink协议的出现,不仅仅是数据从传感端搬到云端,它就如基因图谱,它勾画了一个大厦的骨架,有了它,才有了IoT Studio,才有了大数据 ...
- 【阿里云IoT+YF3300】6.物联网设备报警配置
纵然5G时代已经在时代的浪潮中展现出了它的身影,但是就目前的物联网环境中,网络问题仍旧是一个比较突出的硬伤.众所周知,在当前的物联网规划中,与其说是实现万物互联,倒不如说是行业指标数据监控.对于一些特 ...
- 【阿里云IoT+YF3300】13.阿里云IoT Studio WEB监控界面构建
Web可视化开发是阿里云IoT Studio中比较重要的一个功能,通过可视化拖拽的方式,方便地将各种图表组件与设备相关的数据源关联,无需编程,即可将物联网平台上接入的设备数据可视化展现. 目前支持的组 ...
- 【阿里云IoT+YF3300】15.阿里云物联网小程序构建
2013年8月,“轻应用”概念提出,但是仅仅活跃四年随后淡出 ,直到2017年1月9号借助微信小程序成功续命.一时间,以微信小程序和支付宝小程序为代表的轻应用解决方案迅速贯穿多个环节,成为“万物互联” ...
- 【阿里云IoT+YF3300】16.云端一体化,天猫精灵操控YF3300
“你好天猫精灵”,“主人有什么吩咐”,“打开灯”,“好的,灯已打开”.对于这样的对话应该大多数人都很熟悉,这就是智能家居的缩影.对于现在市面上层出不穷的智能家居系统,功能越来越繁杂,可是因为开发难度高 ...
- 【阿里云IoT+YF3300】7.物联网设备表达式运算
很多时候从设备采集的数据并不能直接使用,还需要进行处理一下.如果采用脚本处理,有点太复杂了,而采用表达式运算,则很方便地解决了此类问题. 一. 设备连接 运行环境搭建:Win7系统请下载相关的设备驱 ...
随机推荐
- 【halcon教程资料】全网汇总如何快速、高效率学习机器视觉从入门到精通
我以八年的视觉工程师开发的工作经验告诉你,你不要再因为学习halcon发愁了,我接触过很多学习halcon的小白,并不是不愿意学,而是不知道怎么快速.高效率的学习精通,一天天的过去了,对学习halco ...
- 0728 history
-- :: cd /etc/yum.repos.d/ -- :: wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox. ...
- django第四次(转自刘江)
我们都知道对于ManyToMany字段,Django采用的是第三张中间表的方式.通过这第三张表,来关联ManyToMany的双方.下面我们根据一个具体的例子,详细解说中间表的使用. 一.默认中间表 首 ...
- 了解下Java中的Serializable
在项目中也写了不少的JavaBean,也知道大多的JavaBean都实现了Serializable接口,也知道它的作用是序列化,序列化就是保存,反序列化就是读取.主要体现在这两方面: 1.存储.将 ...
- ioc和aop的区别
IoC,(Inverse of Control)控制反转,其包含两个内容:其一是控制,其二是反转.在程序中,被调用类的选择控制权从调用它的类中移除,转交给第三方裁决.这个第三方指的就是Spring的容 ...
- handlerMapping的初始化以及查找handler
前提:HttpServletBean初始化了一些servlet配置,接着FrameWorkServlet创建了WebApplicationContext,最后DispatcherServlet初始化一 ...
- 如何把一个jar包导入到eclipse中
- 角度转弧度&根据弧度计算圆周上点的坐标的方法
角度转弧度: #define AngleToRadian(angle) (M_PI/180.0f)*angle 以正东面为0度起点计算指定角度所对应的圆周上的点的坐标: float radian = ...
- TensorFlow神经网络机器学习使用详细教程,此贴会更新!!!
运行 TensorFlow打开一个 python 终端: $ python >>> import tensorflow as tf >>> hello = tf.c ...
- javascript 异步请求封装成同步请求
此方法是异步请求封装成同步请求,加上token验证,环境试用微信小程序,可以修改文件中的ajax,进行封装自己的,比如用axios等 成功码采用标准的 200 到 300 和304 ,需要可以自行修改 ...