PC端主要分为两个部分,一个是通过https请求双向认证获取到来自于IoT平台提供的相关Api接口的目标数据,将数据进行处理根据View的需求进行相关的ViewModel处理之后展示到页面中;一个是需要PC端与IoT平台上的挂载设备进行数据交互时,实现本地命令的发送,进而间接控制设备的数据响应。
作为IoT云平台的数据交互PC客户端,对平台的数据进行展示,实现本地与远程终端的数据交互,进而展现出依赖云平台的应用使用的具体场景,进一步展现云平台的优势。
1、项目结构
整个使用常规的传统的三层架构,同时引入MVVM架构模式,属于混合型架构设计,将各个层次之间实现理论解耦,提高了系统各个层次之间的独立性和可拓展性。
项目结构概述如下:
HandyC.HW:项目实际入口,表现层,实际用户操作逻辑的输入输出部分。
HandyC.HW.ViewModels:与表现层与之对应的视图实体类部分,对用户交互逻辑的主要实现处理模块,同时在该项目中进行相关数据实体和视图实体的相互转换工作。
HandyC.HW.Data:用于处理来自于IoT平台的数据源,为业务层提供需求的数据结果。
HandyC.HW.Service:项目的实际业务逻辑处理,组织数据层提供的数据。
HandyC.HW.Tools:项目整体结构中需要使用到的基础辅助类集合,包括网络请求相关类,缓存,数据序列化和反序列化,特殊数据格式处理等。
对应测试项目与之对应,前缀为Test.*,此处忽略。
2、系统组织结构图
本系统分为两个大的功能模块,平台监管以及数据采集两个模块,平台监管主要是对设备实时动态进行监管,数据采集,处理来自IOT云平台的历史相关数据并展示。
3、业务逻辑概述
PC端主要分为两个部分,一个是通过https请求双向认证获取到来自于IoT平台提供的相关Api接口的目标数据,将数据进行处理根据View的需求进行相关的ViewModel处理之后展示到页面中;一个是需要PC端与IoT平台上的挂载设备进行数据交互时,实现本地命令的发送,进而间接控制设备的数据响应。
4、使用技术
网络通信相关技术(数据接口请求)
WPF(UI框架)
MvvmLight(MVVM框架)
依赖注入 简单缓存
LiveCharts(图标框架)
HandyControl(WPF组件框架)
非对称双向认证(Https)
AutoMapper(DTO转换框架)