项目简介
本项目基于Python和Qt框架开发,能从Odroid WEATHER - BOARD(版本1和2)获取天气传感器数据,实现数据的日志记录、标准输出及与其他进程的交互。同时通过串口通信从天气板传感器获取数据,并在Qt界面以曲线图展示温度、湿度等天气数据。
项目的主要特性和功能
- 数据获取与处理
- 支持获取紫外线指数、可见光通量、红外线通量、温度、湿度、露点和气压等天气数据。
- 可将数据流式传输到可旋转的日志文件,支持按指定时间或周期旋转文件,也可通过SIGUSR1信号强制旋转。
- 能将数据流式传输到标准输出,接收到SIGUSR2信号时将数据发送到FIFO(weatherpipe)供其他进程使用。
- 串口通信:通过
setSerial()
函数设置串口通信参数,可点击按钮触发on_m_button_clicked()
函数重新设置串口连接。 - 数据展示:接收并解析串口数据,在QwtPlot控件中以曲线图展示温度、湿度、气压、紫外线指数、可见光和红外线的数据。
- 界面交互:提供退出按钮,点击
on_m_exitButton_clicked()
可关闭程序并断开串口连接。
安装使用步骤
- 确保已安装Python和Qt框架。
- 下载本项目的源代码文件。
- 对于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等)进行文件操作和数据传输。 - 对于Python程序部分,使用Python解释器运行
weather_board.py
文件,程序将自动运行并显示主窗口。 - 根据需要,可通过命令行参数设置串口设备路径。
- 程序将自动初始化串口连接,并开始接收和显示天气数据。
- 可以通过点击界面上的按钮重新连接串口,或点击退出按钮关闭程序并断开串口连接。
注意:运行程序前,请确保天气板传感器已正确连接,并且串口设备路径和I2C节点路径正确。若路径不正确,程序将无法连接到传感器。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】