项目简介
本项目基于Arduino框架构建,以Raspberry Pi Pico作为实时数据源,通过串口在LabPlot中进行数据交互。项目包含多个示例,可实现通过串口向LabPlot发送浮点数数据,适用于实时数据采集、处理和可视化场景。
项目的主要特性和功能
- 支持单值ASCII和多值ASCII等多种数据发送模式。
- 可通过串口向LabPlot发送浮点数值,实现数据实时接收与绘制。
- 能灵活自定义发送间隔和波特率等参数,满足不同应用需求。
- 示例代码简洁,便于用户根据实际情况修改和定制。
安装使用步骤
前提条件
- 硬件:普通低成本的Raspberry Pi Pico板,通过USB连接到Linux计算机。
- 软件:使用PlatformIO创建运行在Pico上的代码,采用Arduino框架。打开项目仓库,PlatformIO会自动安装所有必需依赖项,并提供编译后的二进制文件。在Linux系统上,需按PlatformIO的文档安装适当的udev规则,确保Pico能以tty形式显示。
代码参数设置
在示例Pico代码顶部,需根据不同实时数据源示例设置参数。默认设置为每1000ms在9600波特率的终端上发送一个单浮点值。
代码上传
- 首次上传:
- 在PlatformIO中执行“Build”项目任务。
- 在PlatformIO的构建目录中找到生成的
firmware.uf2
文件。 - 将
firmware.uf2
复制到Pico,如同操作USB闪存驱动器。 - 通过断电重启Pico。
- 后续上传:执行“upload”任务,PlatformIO会自动找到Pico。
终端观察
当运行示例代码的Pico插入PC的USB端口时,根据操作系统不同,它会显示为COM-Port
或tty
。在Linux上,可执行sudo dmesg
查看Pico连接的端口,或使用ls /dev/tty*
查看所有tty
并查找新端口,通常为/dev/ttyACM0
。在Windows系统上,可使用PuTTY进行连接。
在LabPlot中使用
单值ASCII示例
在LabPlot中添加新的实时数据源,设置如下:选择之前找到的串口(如ttyACM0
)、代码参数中选择的波特率(默认9600),并应用自定义过滤器。更新间隔设置为与设备发送间隔相同。接受设置后,能看到实时数据源每隔INTERVAL
更新一次,LabPlot会根据设置创建时间戳和索引。使用默认设置绘制该值,可看到实时更新的正弦波。
多值ASCII示例
此示例每INTERVAL
发送4个ASCII值,以\r\n
结尾,由SEPERATOR
分隔。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】