littlebot
Published on 2025-04-18 / 2 Visits
0

【源码】基于Arduino框架的LabPlot串口实时数据示例项目

项目简介

本项目基于Arduino框架构建,以Raspberry Pi Pico作为实时数据源,通过串口在LabPlot中进行数据交互。项目包含多个示例,可实现通过串口向LabPlot发送浮点数数据,适用于实时数据采集、处理和可视化场景。

项目的主要特性和功能

  1. 支持单值ASCII和多值ASCII等多种数据发送模式。
  2. 可通过串口向LabPlot发送浮点数值,实现数据实时接收与绘制。
  3. 能灵活自定义发送间隔和波特率等参数,满足不同应用需求。
  4. 示例代码简洁,便于用户根据实际情况修改和定制。

安装使用步骤

前提条件

  • 硬件:普通低成本的Raspberry Pi Pico板,通过USB连接到Linux计算机。
  • 软件:使用PlatformIO创建运行在Pico上的代码,采用Arduino框架。打开项目仓库,PlatformIO会自动安装所有必需依赖项,并提供编译后的二进制文件。在Linux系统上,需按PlatformIO的文档安装适当的udev规则,确保Pico能以tty形式显示。

代码参数设置

在示例Pico代码顶部,需根据不同实时数据源示例设置参数。默认设置为每1000ms在9600波特率的终端上发送一个单浮点值。

代码上传

  1. 首次上传:
    • 在PlatformIO中执行“Build”项目任务。
    • 在PlatformIO的构建目录中找到生成的firmware.uf2文件。
    • firmware.uf2复制到Pico,如同操作USB闪存驱动器。
    • 通过断电重启Pico。
  2. 后续上传:执行“upload”任务,PlatformIO会自动找到Pico。

终端观察

当运行示例代码的Pico插入PC的USB端口时,根据操作系统不同,它会显示为COM-Porttty。在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】