上位机——温度控制系统设计

本文介绍了一个使用C#开发的上位机应用程序,该程序通过串口与STC89C52单片机下位机通信,实现对温室温度的实时监控和设备控制。上位机能显示温度数据,控制遮阳、风机和喷灌设备,并通过串口通信协议与下位机交互。此外,系统采用线程池保证流畅运行,支持历史数据查询和移动终端同步。
摘要由CSDN通过智能技术生成

一、项目描述

我们的课程项目是模拟温度大棚控制系统,使用C#开发一个Windows Forms应用程序,通过工具箱设计按钮等控件实现各个设备的操作控制。还需要在界面上显示当前大棚内的温度。串行口是设备之间进行通信常用的硬件接口,而串口通信是物联网应用技术中最常用的通信方式。串口通信是指外设和计算机之间,通过数据线按位进行传输数据的一种通讯方式。设计一个上位机程序,实现上位机与下位机之间的双向串口通信。过上位机可以直接观察到温室的各项实时参数和各个装置的工作状态,并且可以通过曲线图直观地分析该温室最近一段时间的环境变化。上位机可对终端中遮阳、风机等装置进行远程控制。管理员可以通过查询数据库来查看温室的历史环境参数。上位机将采集数据转发至移动终端,方便管理员能够随时随地查看温室内情况,同时,上位机可接受移动终端下达的指令并通过串口转发至底层终端。为了使主进程能够流畅的运行,不出现卡顿的情况,我使用线程池,为每一个模块执行的重要操作都分配一个线程,这样便可以保证程序不再运行过程中会出现无响应等异常情况。整个程序包括自动报警、串口通信、显示数据、数据存储。
项目要求:

  • 通过串口方式与下位机通信,通信协议自定
  • 上位机可以实时显示下位机采集到的温度数据
  • 上位机可以开启或者关闭下位机的采光、风扇、喷灌设备

二、串口通信

上位机服务器与底层终端的通信采用串口来实现,由.NET Framework提供的操作串口的System.IO.Port.SerialPort类创建并初始化对象PortNameArr,调用GetPortNames()方法获取目标串口名称,并通过主窗体上的ComboBox控件配置波特率、数据位等主要参数,通过注册监听方式接收数据。

三、项目实施

绘制一个界面。

实例化一个串口

SerialPort serialPort1 = new SerialPort();

打开串口、关闭串口

private void btn_Open_Click(object sender, EventArgs e)   //打开 and 关闭串口按键
        {
            if (serial_open_state == true)   //关闭串口
            {
                UserCloseSerialPort();
            }
            else   //打开串口
        
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值