You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何实现RS232串口实验室设备与Ubuntu 22.04笔记本的数据传输及记录

如何实现RS232串口实验室设备与Ubuntu 22.04笔记本的数据传输及记录

嗨,我来帮你一步步搞定这个问题,从硬件连接到数据记录都给你理得明明白白:

一、先搞定硬件连接与系统识别

  1. 先把你的RS232转USB转换器插在Ubuntu笔记本的USB口上,另一端接实验室设备的RS232串口(注意:大部分转换器已经做了TX/RX交叉,要是没数据再考虑调换引脚)
  2. 打开终端,输入dmesg | grep tty,看看系统给转换器分配的串口设备,一般是/dev/ttyUSB0或者/dev/ttyACM0
  3. 为了确保当前用户能访问串口,执行sudo usermod -aG dialout $USER,然后注销再重新登录,权限就生效了

二、配置串口参数(匹配ASTM 9600波特率)

ASTM协议常规参数是9600波特率、8位数据位、1位停止位、无奇偶校验(也就是常说的8N1),有两种配置方式:

方式1:用stty命令快速配置

直接在终端敲这条命令(把/dev/ttyUSB0换成你刚才查到的设备名):

stty -F /dev/ttyUSB0 9600 cs8 -cstopb -parenb

参数解释:

  • -F /dev/ttyUSB0:指定要配置的串口设备
  • 9600:设置波特率
  • cs8:8位数据位
  • -cstopb:1位停止位(减号表示禁用2位停止位)
  • -parenb:关闭奇偶校验

方式2:用图形化工具minicom(更直观)

  1. 先安装minicom:sudo apt install minicom
  2. 启动配置界面:sudo minicom -s
  3. 选择「Serial port setup」,按提示修改:
    • 串口设备:输入你查到的/dev/ttyUSB0
    • 波特率:设为9600
    • 数据位:8
    • 停止位:1
    • 奇偶校验:无
  4. 选择「Save setup as dfl」保存为默认配置,退出配置菜单就能进入minicom的实时数据界面了

三、把数据记录到文件

方法1:用cat命令直接记录

配置好串口后,执行这条命令就能把接收的数据追加到日志文件里:

cat /dev/ttyUSB0 >> lab_device_data.log

Ctrl+C就能停止记录,数据都会存在lab_device_data.log里。

方法2:用minicom自带的日志功能

在minicom界面里,按Ctrl+A再按L,输入你想要的日志文件名确认后,minicom就会自动把所有接收的数据保存到这个文件里;再按一次Ctrl+A+L就能停止日志记录。

方法3:写个脚本自动记录(适合长期监控)

要是需要定时启动或者按时间戳生成日志,可以写个简单的bash脚本:

#!/bin/bash
SERIAL_PORT="/dev/ttyUSB0"
LOG_FILE="lab_device_$(date +%Y%m%d_%H%M%S).log"

# 先配置串口参数
stty -F $SERIAL_PORT 9600 cs8 -cstopb -parenb

# 开始记录并提示
echo "开始记录数据到 $LOG_FILE..."
cat $SERIAL_PORT >> $LOG_FILE

保存为record_data.sh,赋予执行权限:chmod +x record_data.sh,运行./record_data.sh就能自动生成带时间戳的日志文件了。

四、常见问题排查

  • 要是看不到数据,先检查RS232的TX/RX引脚有没有接反
  • 确认已经加入dialout组并重新登录,否则会有权限问题
  • stty -F /dev/ttyUSB0查看当前串口参数,确保和设备的ASTM参数完全匹配
  • 要是minicom里显示乱码,大概率是波特率或数据位等参数不匹配,再核对设备说明书

备注:内容来源于stack exchange,提问作者Roberto Gimenez

火山引擎 最新活动