一、项目描述
我们的课程项目是模拟温度大棚控制系统,使用C#开发一个Windows Forms应用程序,通过工具箱设计按钮等控件实现各个设备的操作控制。上位机可对终端中遮阳、风机等装置进行远程控制。管理员可以通过查询数据库来查看温室的历史环境参数。上位机将采集数据转发至移动终端,方便管理员能够随时随地查看温室内情况,同时,上位机可接受移动终端下达的指令并通过串口转发至底层终端。为了使主进程能够流畅的运行,不出现卡顿的情况,我使用线程池,为每一个模块执行的重要操作都分配一个线程,这样便可以保证程序不再运行过程中会出现无响应等异常情况。整个程序包括自动报警、串口通信、显示数据、数据存储。
项目要求:
- 通过串口方式与下位机通信,通信协议自定
- 上位机可以实时显示下位机采集到的温度数据
- 上位机可以开启或者关闭下位机的采光、风扇、喷灌设备
-
二、串口通信
- 上位机服务器与底层终端的通信采用串口来实现,由.NET Framework提供的操作串口的System.IO.Port.SerialPort类创建并初始化对象PortNameArr,调用GetPortNames()方法获取目标串口名称,并通过主窗体上的ComboBox控件配置波特率、数据位等主要参数,通过注册监听方式接收数据。
- 绘制一个界面。