博客 云服务 YFCloud 开发

云服务 YFCloud 开发

   数栈君   发表于 2024-01-04 10:47  350  0

云端 YFCloud 有三部分组成:Web 后台、Web 前台和 YFIOs 云端中间件。Web 后台和前台采用 ASP.NET 进行开发,YFIOs 云端中间件也是采用.NET 技术进行开发,是一个标准的 Windows 服务程序。

1 云端项目构建
首先登录 YFCloud 物联网中间件通用监控平台就可以开始创建云端项目了。YFCloud 的构建思想是,先有项目模板,然后再基于项目模板创建应用。这样的好处就是,基于一个项目模板可以创建若干应用。

1.1 创建项目模板

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/0e670b78bcbc22ed6b87ed763e3a2dea..png
  
图 1 创建项目模板


先添加一个项目模板,然后比较重要的一步就是导入【2.4.5】章节所导出的 IO 配置文件,从而构建云端 IO 实时数据库(如图 11 所示)。

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/95ccc4331bbec075186ec1499ec68fbd..png
  

图 2云端 IO 列表


1.2 创建项目应用
基于我们刚刚创建的“工业物联网演示”模板创建一个项目应用。创建一个项目应用后,系统会自动生成一个项目 ID 号,把这个 ID 号填入【2.4.5】章节中所示的云端通信策略中的 IO 配置面板中,填入后部署到物联网智能网关即可。

2 YFIOs 云端中间件
YFIOs 云端中间件脱胎于嵌入式 YFIOs,从图 12 的架构图上就可以看出,嵌入式 YFIOs 是一个“单机版”的数据组态平台,而云端中间件 YFIOs 是一个“网络版”数据组态平台。

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/e725fca78cc5c1d2bde98ce550e1adf0..png
  

图 3YFIOs 中间件架构


YFIOs 云端中间件集成了 WebSocket 服务器,Web 动态网页可以通过 WebSocket 协议和服务器进行通信。

YFIOs 云端中间件以项目为最小单位来进行管理的,一个或多个项目对应一个项目模板,实际应用通过项目 ID 进行区分。
2.1 远程 IO 监控
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/9f02528a6dada02fee60b44b141fcfe1..png
  

图 4YFIOs 云端中间件


在云端服务器上打开 YFIOs 云端中间件-客户端程序,可以看到在“工业物联网演示”项目模板下,我们看到“工业物联网 Demo”应用的运行标志已经变为绿色,表示物联网智能网关设备已经和云端连接成功。右侧的显示面板上可以看到从物联网智能网关上传到云端的各种 IO 数据。在该界面上,也可以对继电器变量进行操作,写入 0 或 1,可以看到物联网智能终端上对应的继电器闭合或开启。

2.2 远程参数&远程升级
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/c03c6dc52c25ca5ffb53554ba3c62512..png
  

图5 远程参数&远程升级


针对一个具体的项目,远程参数即可能云端策略需要,也可能同时远程设备上的策略需要,如果是这种情况,处理要复杂一些,相关参数需要保存到云端服务器,并且参数一旦修改,需要同时通知云端策略和远程设备上的策略。如果仅远程设备需要,那么简单期间,可以直接通过 YFIOs 云端中间件直接传递一个二进制参数文件即可。

远程升级的实现要相对复杂,因为升级文件相对较大,并且传输通道有可能是 GPRS 窄带传输,所以需要分段进行传输。要确保整个的升级文件,完整可靠的传输到远程的物联网智能网关上,并且重启重连成功后,才算真正的升级完毕。

由于基于同一个项目模板下的多个相关应用的物联网智能网关上的应用往往是一样的,所以只要设定一个升级文件就可以升级整个项目模板下的所有的项目应用。但是这有一个前提,要升级的固件版本,要比设备上当前运行的版本高。

考虑到一些特殊情况的存在,YFIOs 云端中间件也支持远程强制升级,不管当前什么版本,不管以前运行的什么应用,都可以强制实现远程升级的功能。

2.3 云端策略开发
YFIOs 云端中间件的策略和 YFIOs 嵌入式的策略开发基本相同,也含有 OnLoad、OnRun 和 OnUnload,差别就是云端中间的策略能力更强,可以充分利用 Windows 平台本身的.NET Framework 能力。

有些业务逻辑即可以放在设备端的策略里,也可以放到云端的策略里,比如一些当日量和累积量的处理和换算。有些最好放到设备端,比如某些指标超过阈值,需要立即关闭或开启设备的。有些则放在云端更合理,比如需要把数据进行永久存储的。

云端策略分三种类型:核心策略、公共策略和用户策略。核心策略,YFIOs 云端中间件每个项目都会执行,公共策略是多个项目可选择性的执行,用户策略则是用户项目模板下的项目才会执行。其上三种策略从代码结构上没有什么区别,以所在的目录决定其策略类型。

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/d75e71b67ececd807c2a5127d50545db..png
  

图 6 策略管理

版权声明:本文为CSDN博主「cn--萍诚1号」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:从端到云——工业物联网项目全栈快速开发实践_物联网全栈开发 应用端开发-CSDN博客

免责申明:

本文系转载,版权归原作者所有,如若侵权请联系我们进行删除!


《数据治理行业实践白皮书》下载地址:https://fs80.cn/4w2atu

《数栈V6.0产品白皮书》下载地址:https://fs80.cn/cw0iw1

想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=bbs

同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术群」,交流最新开源技术信息,群号码:30537511,项目地址:https://github.com/DTStack  
0条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

最新活动更多
微信扫码获取数字化转型资料
钉钉扫码加入技术交流群