上位机环境监控

目录

一.环境温湿度监控

环境监控

温湿度

二.代码 


一.环境温湿度监控

环境监控

环境监控是一种重要的技术应用,它可以帮助我们实时监测和管理环境中的各种参数,如温度、湿度、气压等,以确保环境的舒适性和安全性。在很多领域,如农业、工业、医疗等,环境监控都扮演着至关重要的角色。

在环境监控中,温度和湿度是两个最基本的参数。通过实时监测这两个参数,我们可以及时调整环境条件,以满足不同的需求。

除了控制台输出外,我们还可以将温湿度数据保存到数据库中,或者通过网络传输到远程服务器进行进一步处理。这样,我们就可以实现更加复杂和灵活的环境监控系统了。

需要注意的是,在实际应用中,我们可能会遇到各种问题,如传感器数据的不稳定性、传感器的校准和校验等。因此,在开发环境监控系统时,我们需要考虑这些因素,并进行相应的处理和优化。

温湿度

一、采集原理与设备

  1. 原理:温湿度采集依赖于传感器技术,其中温度传感器负责测量环境温度,而湿度传感器则用于测量环境中的湿度水平。
  2. 设备:
    • 温度传感器:常见的有感温元件如热敏电阻、热电偶或红外线传感器等,它们能够根据周围温度的变化产生相应的电信号。
    • 湿度传感器:如电容式湿度传感器、电阻式湿度传感器等,它们通过测量空气中水分含量来反映湿度水平。

二、采集过程

  1. 数据测量:温湿度传感器实时感应环境中的温度和湿度,并将其转化为电信号。
  2. 数据传输:通过有线或无线的方式,将采集到的数据传输到处理单元,如计算机、数据记录仪或物联网平台等。

二.代码 

把灯泡亮灯,灭灯的照片放入resource中

首先,我们需要安装System.IO.Ports命名空间中的SerialPort类,它允许我们与串口进行通信。如果你的项目中还没有这个引用,你需要添加它:

using System.IO.Ports; 

定义 温度湿度,灯泡

 private SerialPort serialPotr;
 private int temp;
 private int hum;
 private int led; 

接下来,我们可以创建一个SerialPort对象,并设置它的属性,比如端口号、波特率等:

 private void Form1_Load(object sender, EventArgs e)
 {
     serialPotr = new SerialPort();
     serialPotr.BaudRate = 115200;
     serialPotr.DataReceived += MySerialPortReceive;
     this.uiComboBoxSerial.SelectedIndex = 0;
 } 

我们可以编写一个函数来发送命令给灯光设备:

设置特定的数字使它用调试串口发送数值可以获取数值和灯泡的开关,本代码是0x55 xx  xx xx 0x55(xx是你设置的数)

private void MySerialPortReceive(object sender, SerialDataReceivedEventArgs e)
{
    byte[] data = new byte[5];
  int count= serialPotr.Read(data, 0, 5);
    if (count != 5)
    {
        return;
    }
    if (data[0] != 0x55 || data[4] != 0xaa)
    {
        return;
    }
    temp = data[1];
    hum = data[2];
    led = data[3];

    this.Invoke(new Action(() =>
    {
        this.uiTextBoxTemp.Text = temp.ToString();
        this.uiTextBoxHum.Text = hum.ToString();
        if (led == 0)
        {
            this.pictureBox1.Image = Properties.Resources.ledoff;
        }
        else
        {
            this.pictureBox1.Image = Properties.Resources.ledon;
        }
    }));
}

串口的打开和关闭

private void uiButtonOpen_Click(object sender, EventArgs e)
{
    if (serialPotr != null)
    {
        if (serialPotr.IsOpen != true)
        {
            serialPotr.PortName = this.uiComboBoxSerial.SelectedItem.ToString ();
            serialPotr.Open();
        }
    }
}

private void uiButtonCloseSerial_Click(object sender, EventArgs e)
{
    if (serialPotr != null)
    {
        serialPotr.Close();
    }
}

以下是进行字符发送然后进行采集数据 

  • 18
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值