目录
1、上位机程序开发
用C#语言编写一个上位机应用程序,实现与下位机进行串行口通信,实现温室监控系统功能。上位机参考设计如图1所示。
上位机详细说明功能如下:
基础功能
• 通过串口方式与下位机通信,通信协议自定
• 上位机可以实时显示下位机采集到的温度数据
• 上位机可以开启或关闭下位机的采光、风扇、喷灌设备.开启或者关闭设备后上位机按钮文字需要做出相应切换,"例如点击"开启通风设备的指令给下位机,该按钮的文本应变为"关闭通风";点击"关闭通风"按钮后,发送关闭通风设备指令给下位机,该按钮的文本应变为"开启通风".
发挥功能
• 程序界面添加报警温度的上限和下限值的显示,并可设置报警温度的上,下限数值(设置方式自定,例如使用下拉框).当前温度超出设置报警范围时上位机发出语音警报.
• 在上一个功能基础上,可将设置的报警温度的上,下限数值发送到下位机.
2、下位机程序开发
基础功能
• 通过串口和上位机进行数据通信,接收上位机的指令并控制相应设备执行动作
• 读取环境温度数据,传感器类型自定
• 使用LED灯模拟温室采光,使用两个直流电机模拟喷灌,通风功能
发挥功能
• 可以接收上位机设置的报警温度的上,下限数值,当前文档超出范围后下位机发出报警(可以使用蜂鸣器发出警报音)
首先我们先打开VS创建一个新项目:
用windows窗体应用程序
然后添加一个类
操作如下
然后将名称修改为 :GreenHouse
三、程序代码
这个是类GreenHouse的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace WindowsFormsApp1
{
class GreenHouse
{
public delegate void SendData(byte[] data);
public event SendData RequestSendData;
private int temperature;
private List<byte> data_object = new List<byte>();
private int pharse_state;