基于协议分析的HEMS能源收集系统客户端服务端设计

目 录
简单的能源收集协议 4
第1章 题目描述 6
1.1 问题描述 6
1.2 完成的任务 6
第2章 开发环境相关介绍 8
2.1 Microsoft Visual Studio介绍 8
2.1.1 Microsoft Visual Studio简介 8
2.1.2 Microsoft Visual Studio的特点及功能 8
2.2 C#介绍 8
2.3 Java介绍 9
2.4 Matlab介绍 9
第3章 基本分析 10
3.1 协议功能结构 10
3.2 协议设计目标 10
第4章 详细设计 11
4.1服务端 11
4.1.1 服务端的设计 11
4.1.2服务端和老师给的客户端之间调试 13
4.2 数据库 14
4.2.1 数据库的设计 14
4.2.2 数据库的连接 16
4.2.4 数据库中改进的问题 20
4.3服务端和客户端的双向通信 20
4.3.1服务端发送简单反馈信息 20
4.4利用JAVA和MySQL实现数据的动态实时监控 21
4.4.1设计DBUtil工具类模块。 22
4.4.2设计Entity模块, 22
4.4.3设计DAO模块 22
4.4.4设计Charts模块 24
4.4.5遇到的问题 25
4.5 瞬时电功率可视化实时动态监控 26
4.5.1 可视化实时动态监控平台的选取 26
4.5.2 Matlab连接MySQL数据库 26
4.5.3 Matlab实现动态可视化监控 29
4.5.4 C#调用Matlab,实现Matlab图形Figure嵌入Winform窗体 32
4.6客户端及其对应控制机制实现 34
4.6.1 客户端 34
4.6.2 控制机制 37
4.6.3 运行实例 38
4.6.4 控制机制中改进的问题 38
第5章 软件测试 39
5.1数据库连接测试 39
5.1.1 client端与server端发送数据 39
5.1.2 数据库存储数据 39
5.2 Java连接测试 40
5.2.1测试Java连接提取数据库 40
5.2.2 测试每秒动态更新折线图 40
参考文献: 42
附 录: 43
1.1 问题描述
在此次任务中,您需要设计简单的能量收集服务,并将其实现在局域网中。可以将通信协议设计为分析传入的能量数据的格式,并将其存储在预定义的数据库中。数据传感器的模拟器已实现用于您的测试。您无需实施整个HEMS系统,但必须设计和实施协议。作业评估的详细信息如下:
1、[强制]在数据传感器和服务器之间进行通信,该服务器包括至少一个模拟数据传感器和服务器程序;
2、[强制]完整的报告非常重要;
3、[可选]数据传感器,即客户端程序也可以设计和实现;
4、[可选]鼓励使用图形服务器界面;
5、[可选]鼓励可以处理多个数据传感器的服务器;
6、[可选]从建议的服务器到数据传感器的控制机制将获得更多的赞赏。
1.2 完成的任务
在本次课程设计中,根据系统功能要求,本组成员将问题解决分为以下步骤并将其解决:
(1)利用TCP三次握手的基本原理与socket编程,实现了server端的基本设计。
(2)利用数据库的基础知识,建立了server数据库,在client端与server端在进行通信的过程中,将相互传输的能量数据按照格式存储到数据库中。
(3)利用C#与Java的具体知识接入数据库,进行server端与client端的双向通信,并将能量数据中的瞬时电功率中最新的10行数据的变化趋势通过图形化的界面进行展示。
(4)用Matlab的相关知识接入数据库,将数据库中全部的瞬时电功率通过图形化的界面展示其整体的变化趋势。
(5)利用C#的相关知识,实现了client端的基本设计与控制机制。

using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("Socket1_Client")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Socket1_Client")]
[assembly: AssemblyCopyright("Copyright ©  2019")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// 将 ComVisible 设置为 false 会使此程序集中的类型
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]

// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("1b7d3154-5683-451d-afb0-7d0c936e4dbe")]

// 程序集的版本信息由下列四个值组成: 
//
//      主版本
//      次版本
//      生成号
//      修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/newlw/article/details/133120839