littlebot
Published on 2025-04-02 / 1 Visits
0

【源码】基于Python和Qt框架的天气数据监测与展示系统

项目简介

本项目基于Python和Qt框架开发,能从Odroid WEATHER - BOARD(版本1和2)获取天气传感器数据,实现数据的日志记录、标准输出及与其他进程的交互。同时通过串口通信从天气板传感器获取数据,并在Qt界面以曲线图展示温度、湿度等天气数据。

项目的主要特性和功能

  1. 数据获取与处理
    • 支持获取紫外线指数、可见光通量、红外线通量、温度、湿度、露点和气压等天气数据。
    • 可将数据流式传输到可旋转的日志文件,支持按指定时间或周期旋转文件,也可通过SIGUSR1信号强制旋转。
    • 能将数据流式传输到标准输出,接收到SIGUSR2信号时将数据发送到FIFO(weatherpipe)供其他进程使用。
  2. 串口通信:通过setSerial()函数设置串口通信参数,可点击按钮触发on_m_button_clicked()函数重新设置串口连接。
  3. 数据展示:接收并解析串口数据,在QwtPlot控件中以曲线图展示温度、湿度、气压、紫外线指数、可见光和红外线的数据。
  4. 界面交互:提供退出按钮,点击on_m_exitButton_clicked()可关闭程序并断开串口连接。

安装使用步骤

  1. 确保已安装Python和Qt框架。
  2. 下载本项目的源代码文件。
  3. 对于C程序部分,可根据以下命令使用: [sudo] weather_board [-usage | -help] | [-uperiod <update period in secs:60>] [-ttymode:FALSE] | [-logfile <log file name> [-rollover <hh:mm:ss:00:00:00> | -rperiod <hh:mm:ss>]] [i2c node:/dev/i2c-1] [ >& <error/status log>] 同时可使用相应信号(如SIGUSR1、SIGUSR2等)进行文件操作和数据传输。
  4. 对于Python程序部分,使用Python解释器运行weather_board.py文件,程序将自动运行并显示主窗口。
  5. 根据需要,可通过命令行参数设置串口设备路径。
  6. 程序将自动初始化串口连接,并开始接收和显示天气数据。
  7. 可以通过点击界面上的按钮重新连接串口,或点击退出按钮关闭程序并断开串口连接。

注意:运行程序前,请确保天气板传感器已正确连接,并且串口设备路径和I2C节点路径正确。若路径不正确,程序将无法连接到传感器。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】