大学计算机网络课程设计项目。项目主题是感知与控制,是教授曾经所接项目的阉割版,教授设计了一套通信协议,我们需要根据协议解析从串口中接收的数据,然后根据数据采取相应措施进行对快递柜的控制并将数据通过界面展示出来。
整个项目我采用的是Spring框架作为后端接收解析串口数据然后通过前端VUE框架展现出来,再将一些对快递柜的配置存入MySQL数据库中。
具体代码及报告可以查看我的代码仓库:
- 前端:https://gitee.com/abyss_Jim/curriculum_design_vue
- 后端:https://gitee.com/abyss_Jim/curriculum_design
项目部署步骤
git下来两个代码仓库
前端:git clone https://gitee.com/abyss_Jim/curriculum_design_vue.git
后端:git clone https://gitee.com/abyss_Jim/curriculum_design.git
创建数据库
将RXTXcomm.jar导入JDK中
RXTX简介
RXTX项目提供了Windows,Linux,Mac os X,Solaris操作系统下的兼容javax.comm串口通讯包API的实现,为其他研发人员在此类系统下研发串口应用提供了相当的方便。
RXTX配置
Linux环境:
- 复制librxtxSerial.so,librxtxParallel.so到$JAVA_HOME/lib/$(ARCH)/
- 复制RXTXcomm.jar到$JAVA_HOME/ext/,或在应用程式启动的CLASSPATH中包含RXTXcomm.jar
- 定义驱动类后将放在应用程式的根目录下
RXTX的使用上和sun提供的comm.jar基本相同,编程时最明显的不同是要包含的包名由javax.comm.*改成了gnu.io.*。下面是我们环境监测系统中封装的一个232串口驱动类部分源代码,使用RXTX作为串口通讯类库。
Windows环境:
- 将RXTXcomm.jar放到<jre_home>\lib\ext\下
- 把rxtxParallel.dll,rxtxSerial.dll这两个放到你java的当前目录下(选windows下的)
- 例子仍然采用原来SUN官方<ReadSimple.java>实例(change all references from ‘javax.comm’ to ‘gnu.io’ )
Spring后端配置
导入jar包
这一步就不演示了,相信会一点idea的朋友们都会干,选中所有lib下的jar包右键加入library就可以了。
修改数据库配置
进入WebContent目录下的WEB-INF下的jdbc.properties文件,修改你的数据库用户名与密码(若是你的数据库名不同也一样需要修改)
后端配置完成了,运行即可!!!
VUE前端配置
node.js环境就不再多说了!!!
直接运行node项目就行了。
具体命令可以看我git前端仓库的readme.md文件,里面有运行代码命令。
前端运行起来就阔以啦!!!
串口通信配置
首先我们得下载几个软件(见附件!!)
Configure Virtual Serial Port
创建成对的串口,如图COM2与COM3,如果要使用其他串口,记得修改代码使其监听该串口。
快递柜模拟程序
由于我们无法使用真实的快递柜进行通讯,所以教授自己写了一个模拟程序供我们测试
连接成功后,我们可以查看快递柜的状态
最后
我们的VUE前端就会显示:
echarts图表显示温度变化曲线:
总结
如果想要具体了解本项目要求以及教授设计的通信格式,可以查看我的码云前端代码里,我上传了我的报告以及老师给的说明文档。
这个项目当时对于还是大二的我还是非常有难度的,因为我当时才自学完Spring框架,没有学过前端框架,做界面是一大难事;其次,串口通信我更是闻所未闻;因此在如此浅薄的基础上在两个星期的课程设计时间能做出这个项目,我是非常自豪的,当然这也得感谢我的好搭档,协助我一起完成开发。
写这篇博客其实只是不希望我的作品就此埋没,希望能帮到更多人。另外,如果觉得对你有帮助,记得帮我gitee点上关注和星星哦!
附件
下载 “快递柜依赖程序”
快递柜依赖程序.zip – 已下载200次 – 4.89 MB
李峰就给了我们六天,还是有别的课设和他抢时间的情况下,快猝死了
哈哈哈,怎么突然这么多人,不会都是江苏大学李峰教授的课设吧,我这个项目获得了A+哦!加油,用完了记得给我Gitee点关注和星星⭐️,白嫖可耻!
你们评论时尽量用同一个账号,新账号评论是要过审的!!没过审看不到……另外具体实现我也忘了,你们找个会spring和vue的人调试一下就可以了!
博主你的JDK版本是多少的?
Java8
前端与后端连接不上,而且后端打印出来的日志信息有乱码请问博主怎么解决?
要素都齐全吗,比如串口通信依赖包RXTX都导入了没,串口模拟程序下载了没,前后端IP端口都对应了没,如果无报错运行但没有协同的话,把bug发出来(发详细点),另外日志乱码考虑utf8和gbk格式问题,百度一大堆。
哈哈哈哈正在李峰教授的课设中