【阿里云IoT+YF3300】3. Alink物模型之属性上传和下发
【名词解释】属性:设备的功能模型之一,一般用于描述设备运行时的状态,如环境监测设备所读取的当前环境温度等。属性支持 GET 和 SET 请求方式。应用系统可发起对属性的读取和设置请求。
在上一篇文章《阿里云IoT云端通信Alink协议介绍》中,我们已经简单介绍了Alink属性相关的知识内容。本篇文章将以实际的设备为例,对该部分内容进行实操。以便于网友对这部分内容有一个更深的认知。
首先我们需要做如下几方面的工作:
1、 需要有一个YF3300硬件设备,YF3300自带1路RS485,1路RS232,2路开关量输入,1路继电器(1个常开和1个常闭点),还有1个通信和1个状态灯。
2、 我们在阿里云IoT平台对YF3300进行建模,也就是构建YF3300的物模型。YF3300本身作为网关,一般情况是自身不带属性的,但是YF3300是一个小型复合产品,自带一些除通信口之外的接口,比如继电器。所以需要有针对性的建模。
下面我们就开始这方面的工作。
1.云端配置
登陆阿里云物联网平台。
A. 打开浏览器,在输入框中输入阿里云,点击搜索。
B. 选择阿里云官网,选择登陆,这里对于未申请过阿里云账户的用户,可选择支付宝快捷登录进行扫码,也可选择其他登录方式(例如淘宝 钉钉等)
C. 在阿里云首页选择物联网与云通信>物联网设备接入。

D.在物联网设备接入主界面点击选择管理控制台(初次登录用户须先开通该服务,该服务开通不收取任何费用,具体的收费细则请查询阿里云相关收费标准),即可进入阿里云物联网平台主页
在设备管理选项中创建产品(如下图所示)

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

在新建的产品下,创建新设备,设备名称必须为Test(便于和我们设备中定义的设备名保持一致),并保存相关的设备证书(即设备三元组Productkey 、DeviceName、 DeviceSecret)。
2.设备开发
运行环境搭建:
Win7系统请安装相关的设备驱动(windows 10设备免驱)。
准备材料:
YF3300设备套装,YFIOs数据组态UKey(购买产品时厂家会附赠一个月体验版)
官方下载YFIOsManager组态管理软件。下载链接:
http://www.yfiot.com/content/downsort?current=1&title=1
设备连接:
a.将组态key插入电脑,将附赠GPRS天线连接好,插入附赠的物联网卡(也可使用自己购买的物联网卡)
b.将YF3300通过Type-C USB连接线连入电脑。
设备配置:
打开下载的YFIOsManager软件,选择USB连接方式,连接YF3300
在用户设备中新建设备
点击新建,在驱动支持中,选择other系列中的YFSoft(叶帆科技)中的YF3300官方驱动-YF3300。设备名称为云端DeviceName(Test,和云端的设备名称保持一致)。
点击保存项目,保存自定义的组态工程。
在策略列表中新建策略,策略文件选择SYS >阿里云MQTT客户端(精简版)
服务配置中在相应的地方填入设备三元组,填入产品密钥,服务地址会自动更改,扫描间隔可更改,变化上传可勾选
IO配置中勾选与云端IO相同的属性变量以及该设备的通信状态


在调试选项中部署YFIOs系统,选择精简版(上云),部署完成之后, 点击部署按钮,部署创建的驱动和策略,选择系统重启,根据当地网络情况,等待5~10s,通信灯常亮,设备与云端通信成功。也可以在YFIOsManager监控上云过程,出现MQTT Connect OK!!! ,证明设备与云端通信成功。
云端属性上传下发调试:
(1) 打开阿里云平台,查看创建的设备,选择运行状态,即可看见设备上传的属性值。点开自动刷新。

(1) 将附赠的设备端子插入设备输入端,插头插在插板上,即可看见开关量输入1的值变为1,插头拔下或者拔掉端子,开关量输入1的值变为0


(3)选择在线调试,点击前往查看。
(4)在设备调试页面,功能选择继电器(Q1),方法选择设置

将属性的值改为1,点击发送指令,看到发送指令成功即为属性下发成功,同时可以看到状态灯是否亮起,亮,则表示指令已经成功下发至设备并完成指令任务。至此,Alink物模型属性上传下发操作完毕。
注意事项:
1.操作YF3300时,因为采用的为官方驱动,云端的产品物模型属性创建时,属性标识符为Q1,数据类型为布尔型。配置正确,数据才能正常上传。
2.测试产品时,根据当地的网络情况向厂家说明,以免因运营商通信信号问题影响调试和使用。
【阿里云IoT+YF3300】3. Alink物模型之属性上传和下发的更多相关文章
- 【阿里云IoT+YF3300】1.时代大背景下的阿里云IoT物联网的现状和未来
“未来十到二十年,大家基本已经形成了一个共识,那便是新格局的奠定将由 AI 和物联网技术来支撑.放眼国内,在这些互联网巨头之中,未来真正成为竞争对手厮杀的,阿里和华为是首当其冲,在这两个领域双方分别暗 ...
- 【阿里云IoT+YF3300】4.Alink物模型之事件触发
名词解释:设备的功能模型之一,设备运行时的事件,事件一般包含需要被外部感知和处理的通知信息,可包含多个输出参数.如,某项任务完成的信息,或者设备发生故障或告警时的温度等,事件可以被订阅和推送. 在工控 ...
- 【阿里云IoT+YF3300】5. 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系统请下载相关的设备驱 ...
随机推荐
- C#3.0新增功能04 扩展方法
连载目录 [已更新最新开发文章,点击查看详细] 扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 扩展方法是一种特殊的静态方法,但可以像扩展类型 ...
- java中的堆、栈、方法区等比较
• 堆.栈.方法区 1. java中的栈(stack)和堆(heap)是java在内存(ram)中存放数据的地方 2. 堆区 存储的全部是对象,每个对象都包含一个与之对应的class的信息.(clas ...
- vue 的基本语法和常用指令
什么是vue.js Vue.js是目前最火的一个前端框架,React是最流行的一个前端框架(React除了开发网站,还可以开发手机App, Vue语法也是可以用于进行手机App开发的,需要借助于Wee ...
- 2017day2
系统模块: # Author: sonny# -*- coding:utf-8 -*-import sys; #print(sys.path);print(sys.argv);print(sys.ar ...
- org.mybatis.spring.MyBatisSystemException异常及处理
org.mybatis.spring.MyBatisSystemException异常处理 测试场景 在测试springboot中使用MyBatis/通用Mapper的自定义方法时出现此异常. 异常如 ...
- python课堂整理21---初识装饰器
一.装饰器: 本质就是函数,功能:为其他函数添加附加功能 原则: 1.不能修改被装饰函数的源代码 2.不能修改被修饰函数的调用方式 一个简单的装饰器 import time def timmer(fu ...
- 【Android Studio】查看源码时提示“throw new RuntimeException("Stub!")”
如题-- 详细问题及解决方法: http://blog.csdn.net/u010917495/article/details/51234179
- 【iOS】安装 CocoaPods
1. 打开 terminal 2. 移除现有 Ruby 默认源 $ gem sources --remove https://rubygems.org/ 3. 使用新的源 $ gem sources ...
- 【iOS】stringWithFormat 保留小数点位数 float double
以前就见过,如下: text = [NSString stringWithFormat:@"%.1f", percentageCompleted]; 但一直没在意.刚一时好奇,查了 ...
- 请使用switch语句和if...else语句,计算2008年8月8日这一天,是该年中的第几天。
请使用switch语句和if...else语句,计算2008年8月8日这一天,是该年中的第几天. #include <stdio.h> int main() { /* 定义需要计算的日期 ...