名词解释:

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

从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物模型之服务下发的更多相关文章

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

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

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

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

  3. 【阿里云IoT+YF3300】4.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. Java中Random随机数

    java中一般有两种随机数,一个是Math中random()方法,一个是Random类. 一.Math.random() 随即生成0<=x<1的小数. 实例:如何写,生成随机生成出0~10 ...

  2. JS原生隐士标签扩展

    最近项目开发中,开发了不少的接口,有一个接口是这样子的.先从A公司拿到数据后,存放到我们公司数据库里,然后需要将数据展示给客户,下面这个界面,后台要实时刷新,后台写了个定时器,2S刷一次从后台拼接好H ...

  3. linuk挂载命令

    1 Linuk挂在命令如下(将一个目录下面的东西挂在到另一个目录上面) mount -bind -o rw /data/vsftpd/原目录   /data/vsftpd/目标目录 2 查看所有的挂载 ...

  4. centos7上搭建zookeeper集群

    1.下载zookeeper http://www.apache.org/dyn/closer.cgi/zookeeper/  可以登录这个网站下载,然后上传到 centos上 修改成自己需要的版本 , ...

  5. 【iOS】更新 CocoaPods 后 Podfile 报错

    更新了 CocoaPods 后,再执行 "pod install" 时报了如下错误: [!] The dependency `AFOnoResponseSerializer` is ...

  6. iOS基础面试题汇总

    目录 1. #import 跟#include.@class有什么区别?#import<> 跟 #import""又什么区别? 都可以完整包含某个文件的内容,但是#im ...

  7. 夯实Java基础(二)——面向对象之封装

    1.封装介绍 封装封装,见名知意,就是把东西包装隐藏起来,不被外界所看见, 而Java特性封装:是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数 ...

  8. Spring Boot 整合 JPA 使用多个数据源

    介绍 JPA(Java Persistence API)Java 持久化 API,是 Java 持久化的标准规范,Hibernate 是持久化规范的技术实现,而 Spring Data JPA 是在 ...

  9. Linux curl 命令详解

    命令概要 该命令设计用于在没有用户交互的情况下工作. curl 是一个工具,用于传输来自服务器或者到服务器的数据.「向服务器传输数据或者获取来自服务器的数据」 可支持的协议有(DICT.FILE.FT ...

  10. mongoDB的CRUD的总结

    今天开始接触非关系型数据库的mongoDB,现在将自己做的笔记发出来,供大家参考,也便于自己以后忘记了可以查看. 首先,mongoDB,是一种数据库,但是又区别与mysql,sqlserver.orc ...