我正在尝试读取和记录连接到不同 Arduino 的两个 USB 的数据,并且它们正在收集不同的测量值。
我在 Ubuntu 中读取单个串行流时遇到困难
我通过 Oracle VM Virtualbox 安装了 Ubuntu。我以前使用 Cygwin,只需导航到我想要存储 txt 文件的文件夹并写入:
tee </dev/ttyS1 test.txt
监视并记录数据流。
如果我在 Ubuntu 中的随机文件夹中写入相同的命令,即使我在前面添加 sudo,我也会看到权限被拒绝的情况。
如何监控和记录单个串行流? 如何监控和记录多个串行流?
答案1
检查串行 USB 的名称是否正确
拔下设备后输入
ls -la /dev/tty*
现在插入设备并输入
ls -la /dev/tty*
应该会出现另一个设备。如果出现,那么这就是新设备
你可能会看到类似
crw-rw---- root dialout 166, 0 Sept 19 12:30 ttyACM0
如果您这样做,设备将被识别。请注意,在上面的例子中,它被称为ttyACM0你的可能会有所不同。
注意本例中的组拨出 如果你不是该群组的成员,请添加你自己的
sudo useradd dialout $USER
现在,您应该能够使用上面找到的名称来使用串行端口,在我的情况下,该名称是ttyACM0
答案2
问题在于重定向没有像您假设的那样工作。这可以正常工作:
sudo sh -c "tee </dev/ttyS1 test.txt"
或者你可以以 root 身份登录:
sudo -i
tee </dev/ttyS1 test.txt