我已成功通过 HC05 蓝牙模块将 Arduino 配对并连接到我的 Ubuntu 18.04 笔记本电脑。我可以使用打开的终端将数据发送到 Arduino,sudo screen /dev/rfcomm0 9600
我知道 Arduino 正在接收数据,因为我已对 LED 进行编程,使其在收到“1”或“0”时打开和关闭。
我遇到的问题是,在使用 打开的终端中看不到输入sudo screen /dev/rfcomm0 9600
。命令到达 Arduino,但终端保持黑色,左上角位置有一个闪烁的下划线字符。无论我输入什么,闪烁的下划线字符始终保持在左上角位置。我怎样才能在此屏幕上看到输入?
编辑:我尝试/usr/bin/screen
在 Wayland 和 X 下使用 18.04。并尝试使用其他串行端口,编辑:例如sudo /usr/bin/screen /dev/ttyS0
。结果始终是黑屏,传递数据但不显示正在发送的内容。
答案1
在您上传草图之前,请确保您有正确的端口,如果您不确定,请使用以下方式检查,ll /dev/tty*
它将显示为/dev/ttyUSBx
或,/dev/ttyACMx
并使用以下方式将其更改为读写sudo chmod a+rw /dev/ttyUSB0
,然后上传您的草图。
要使用screen
包,请不要使用,sudo
因为该包不属于您,请尝试不用sudo
。
screen /dev/ttyUSB0 9600
要关闭屏幕,请使用键盘上的CTRL+ A+键K。
更多信息请参阅man screen
。
希望这可以帮助。
答案2
我找到了一个可以满足我要求的部分解决方案。screen
我使用而不是minicom
。一开始minicom
有完全相同的问题,但你可以使用 Control-A 然后 E 来打开本地回显,之后你就可以看到你正在发送的数据。
根据手册页,您应该能够使用来打开screen
本地回显 sudo /usr/bin/screen /dev/rfcomm0 echo
,但我无法让它工作。我现在将坚持使用 minicom 解决方案。
答案3
Screen 是另一个命令
尝试使用命令的完整路径,例如/usr/bin/screen
要查看冲突,请输入whereis screen