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

2023-12-18 15:20

本文主要是介绍【阿里云IoT+YF3300】3. Alink物模型之属性上传和下发,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

在上一篇文章《阿里云IoT云端通信Alink协议介绍》中,我们已经简单介绍了Alink属性相关的知识内容。本篇文章将以实际的设备为例,对该部分内容进行实操。以便于网友对这部分内容有一个更深的认知。

首先我们需要做如下几方面的工作:

1、 需要有一个YF3300硬件设备,YF3300自带1RS485,1RS232,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。设备名称为云端DeviceNameTest,和云端的设备名称保持一致)。

点击保存项目,保存自定义的组态工程。

在策略列表中新建策略,策略文件选择SYS >阿里云MQTT客户端(精简版)

 服务配置中在相应的地方填入设备三元组,填入产品密钥,服务地址会自动更改,扫描间隔可更改,变化上传可勾选

IO配置中勾选与云端IO相同的属性变量以及该设备的通信状态

 

 

 

在调试选项中部署YFIOs系统,选择精简版(上云),部署完成之后, 点击部署按钮,部署创建的驱动和策略,选择系统重启,根据当地网络情况,等待5~10s,通信灯常亮,设备与云端通信成功。也可以在YFIOsManager监控上云过程,出现MQTT Connect OK!!!       ,证明设备与云端通信成功。

云端属性上传下发调试:

  1.     打开阿里云平台,查看创建的设备,选择运行状态,即可看见设备上传的属性值。点开自动刷新。

 

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

(3)选择在线调试,点击前往查看

(4)在设备调试页面,功能选择继电器(Q1),方法选择设置

      

将属性的值改为1,点击发送指令,看到发送指令成功即为属性下发成功,同时可以看到状态灯是否亮起,亮,则表示指令已经成功下发至设备并完成指令任务。至此,Alink物模型属性上传下发操作完毕。

注意事项:

1.操作YF3300时,因为采用的为官方驱动,云端的产品物模型属性创建时,属性标识符为Q1,数据类型为布尔型。配置正确,数据才能正常上传。

2.测试产品时,根据当地的网络情况向厂家说明,以免因运营商通信信号问题影响调试和使用。

 

这篇关于【阿里云IoT+YF3300】3. Alink物模型之属性上传和下发的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/508889

相关文章

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

Python如何调用另一个类的方法和属性

《Python如何调用另一个类的方法和属性》在Python面向对象编程中,类与类之间的交互是非常常见的场景,本文将详细介绍在Python中一个类如何调用另一个类的方法和属性,大家可以根据需要进行选择... 目录一、前言二、基本调用方式通过实例化调用通过类继承调用三、高级调用方式通过组合方式调用通过类方法/静

spring中的@MapperScan注解属性解析

《spring中的@MapperScan注解属性解析》@MapperScan是Spring集成MyBatis时自动扫描Mapper接口的注解,简化配置并支持多数据源,通过属性控制扫描路径和过滤条件,利... 目录一、核心功能与作用二、注解属性解析三、底层实现原理四、使用场景与最佳实践五、注意事项与常见问题六

Spring Boot 结合 WxJava 实现文章上传微信公众号草稿箱与群发

《SpringBoot结合WxJava实现文章上传微信公众号草稿箱与群发》本文将详细介绍如何使用SpringBoot框架结合WxJava开发工具包,实现文章上传到微信公众号草稿箱以及群发功能,... 目录一、项目环境准备1.1 开发环境1.2 微信公众号准备二、Spring Boot 项目搭建2.1 创建

Linux线程之线程的创建、属性、回收、退出、取消方式

《Linux线程之线程的创建、属性、回收、退出、取消方式》文章总结了线程管理核心知识:线程号唯一、创建方式、属性设置(如分离状态与栈大小)、回收机制(join/detach)、退出方法(返回/pthr... 目录1. 线程号2. 线程的创建3. 线程属性4. 线程的回收5. 线程的退出6. 线程的取消7.

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

python删除xml中的w:ascii属性的步骤

《python删除xml中的w:ascii属性的步骤》使用xml.etree.ElementTree删除WordXML中w:ascii属性,需注册命名空间并定位rFonts元素,通过del操作删除属... 可以使用python的XML.etree.ElementTree模块通过以下步骤删除XML中的w:as