名词解释:设备的功能模型之一,设备运行时的事件,事件一般包含需要被外部感知和处理的通知信息,可包含多个输出参数。如,某项任务完成的信息,或者设备发生故障或告警时的温度等,事件可以被订阅和推送。

在工控领域,通信的实时性非常重要,所以有所谓的工业以太网(时间敏感网络TSN)。5G之所以成为未来物联网的基石,也是因为时延非常低(毫秒级),才能使无人驾驶落地成为可能。

不过在一些典型的物联网领域,其上传数据的频率却没有那么快,比如环境的温湿度,一般都是分钟级别上传。这就带来一个问题,如果上传的间隔比较大,有些需要及时处理的信息,就不会得到及时的处理。比如温度突然超标,负压突然异常,甚至更为紧急的停电报警。这个时候事件的作用就比较大了,出现异常,即时上传信息。通过YF3300和阿里云的事件示例,可更深刻的理解Alink物模型事件的机理。

一.云端配置

(1)          登陆阿里云物联网平台

(2)          在设备管理选项中创建产品

(3)          查看相应的产品,进行物模型属性的创建。查看产品细节,选择功能定义,进行自定义属性添加与自定义事件添加

a. 自定义属性添加,添加两个自定义功能,创建模板请见下图

b. 自定义事件添加。事件分为三种,信息 告警 故障,事件的创建包括功能名称 标识符以及输出参数的定义。(根据YFIOs事件引擎定义规则:1.信息事件标识符必须为Event_Info_Device告警事件标识符必须为Event_Alert_Device故障事件标识符Event_Error_Device。2.每个事件具有两个输出参数:状态码事件信息。状态码为int32(整数型),取值范围为-100~100,步长为1,无单位,事件信息为text(字符串),数据长度为256字节。)创建模板请见下图

在新建的产品下,设备名称必须为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)           打开YFIOsManager点击数据监控,根据事件触发条件触发相应的事件

事件触发条件:1.Test:Q1值的更改会触发信息事件

2.温度(Test:T)高于30℃触发告警事件,温度值为-1时触发故障事件。

事件触发方法:在YFIOsManager中的数据监控中找到修改参数,双击该数值,即可进行修改,修改按Enter保存生效

对应的触发事件可在阿里云事件管理中看到。

【阿里云IoT+YF3300】4.Alink物模型之事件触发的更多相关文章

  1. 【阿里云IoT+YF3300】1.时代大背景下的阿里云IoT物联网的现状和未来

    “未来十到二十年,大家基本已经形成了一个共识,那便是新格局的奠定将由 AI 和物联网技术来支撑.放眼国内,在这些互联网巨头之中,未来真正成为竞争对手厮杀的,阿里和华为是首当其冲,在这两个领域双方分别暗 ...

  2. 【阿里云IoT+YF3300】3. Alink物模型之属性上传和下发

    [名词解释]属性:设备的功能模型之一,一般用于描述设备运行时的状态,如环境监测设备所读取的当前环境温度等.属性支持 GET 和 SET 请求方式.应用系统可发起对属性的读取和设置请求. 在上一篇文章& ...

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

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

  4. 【阿里云IoT+YF3300】2.阿里云IoT云端通信Alink协议介绍

    如果单单只有MQTT协议,也许很难支撑起阿里这个IoT大厦.Alink协议的出现,不仅仅是数据从传感端搬到云端,它就如基因图谱,它勾画了一个大厦的骨架,有了它,才有了IoT Studio,才有了大数据 ...

  5. 【阿里云IoT+YF3300】6.物联网设备报警配置

    纵然5G时代已经在时代的浪潮中展现出了它的身影,但是就目前的物联网环境中,网络问题仍旧是一个比较突出的硬伤.众所周知,在当前的物联网规划中,与其说是实现万物互联,倒不如说是行业指标数据监控.对于一些特 ...

  6. 【阿里云IoT+YF3300】13.阿里云IoT Studio WEB监控界面构建

    Web可视化开发是阿里云IoT Studio中比较重要的一个功能,通过可视化拖拽的方式,方便地将各种图表组件与设备相关的数据源关联,无需编程,即可将物联网平台上接入的设备数据可视化展现. 目前支持的组 ...

  7. 【阿里云IoT+YF3300】15.阿里云物联网小程序构建

    2013年8月,“轻应用”概念提出,但是仅仅活跃四年随后淡出 ,直到2017年1月9号借助微信小程序成功续命.一时间,以微信小程序和支付宝小程序为代表的轻应用解决方案迅速贯穿多个环节,成为“万物互联” ...

  8. 【阿里云IoT+YF3300】16.云端一体化,天猫精灵操控YF3300

    “你好天猫精灵”,“主人有什么吩咐”,“打开灯”,“好的,灯已打开”.对于这样的对话应该大多数人都很熟悉,这就是智能家居的缩影.对于现在市面上层出不穷的智能家居系统,功能越来越繁杂,可是因为开发难度高 ...

  9. 【阿里云IoT+YF3300】7.物联网设备表达式运算

    很多时候从设备采集的数据并不能直接使用,还需要进行处理一下.如果采用脚本处理,有点太复杂了,而采用表达式运算,则很方便地解决了此类问题. 一.  设备连接 运行环境搭建:Win7系统请下载相关的设备驱 ...

随机推荐

  1. ajax同步与异步 理解

    例如,小明去餐馆排队点餐,前台服务员将小明的菜单告诉厨师进行制作,此时小明后面排队的人就一直等着,直到厨师制作完成,把饭菜送到小明手里后离开,后面的人才能继续点餐:这就是同步处理 但是,如果前台服务员 ...

  2. Redis(四)--- Redis的命令参考

    1.简述 数据类型也称数据对象,包含字符串对象(string).列表对象(list).哈希对象(hash).集合对象(set).有序集合对象(zset). 2.String数据类型命令 string  ...

  3. mysql协议分析1---报文的格式和基本类型

    navicat 和 mysql 是一对好基友,每天都有非常频繁的交流,主人在navicat上写下每条sql语句,轻轻的点了下执行按钮,navicat就飞快的把主人的指令传送到mysql那里,mysql ...

  4. 【React踩坑记四】React项目中引入并使用js-xlsx上传插件(结合antdesign的上传组件)

    最近有一个前端上传并解析excel/csv表格数据的需求. 于是在github上找到一个14K star的前端解析插件 github传送门 官方也有,奈何实在太过于浅薄.于是做了以下整理,避免道友们少 ...

  5. tp5css和js引入问题

    由于以前用的是tp3.2,现在转用tp5开啊个人博客,在引入CSS和JS的时候遇到了一些坑 在3.2时期需要在路径中添加public,而在tp5中则直接引入static即可. 在config.php下 ...

  6. C#使用WebClient调用接口

    用于上传图片base64位 private void upLoadCunzai() { errorstring += " upLoadCunzai方法执行成功:用于上传已经存在人员摄像头照片 ...

  7. Netty学习(九)-Netty编解码技术之Marshalling

    前面我们讲过protobuf的使用,主流的编解码框架其实还有很多种: ①JBoss的Marshalling包 ②google的Protobuf ③基于Protobuf的Kyro ④Apache的Thr ...

  8. JS中map()与forEach()的区别和用法

    相同点: 1.都是循环遍历数组中的每一项 2.每次执行匿名函数都支持三个参数,参数分别为item(当前每一项),index(索引值),arr(原数组) 3.匿名函数中的this都是指向window 4 ...

  9. 如何使用dmidecode命令查看硬件信息

    引言 当我们需要获取机器硬件信息时,可使用linux系统自带的dmidecode工具进行查询. dmidecode命令通过读取系统DMI表,显示服务器硬件和BIOS信息.除了可使用dmidecode查 ...

  10. Java并发编程实战笔记—— 并发编程1

    1.如何创建并运行java线程 创建一个线程可以继承java的Thread类,或者实现Runnabe接口. public class thread { static class MyThread1 e ...