我对 Linux 相当陌生,我正在尝试使用 beaglebone black (debian) 尝试通过蓝牙运行脚本,这将允许我发出一些简单的命令并让主板执行一些操作。我可以通过蓝牙连接到开发板,并使用 Android 手机或 Windows laptaop 上的蓝牙串行应用程序发送消息,但它只不过是一串字符。如果我尝试发出命令,它不会像我使用 putty 通过 SSH 发出命令时那样工作。
我正在使用这本书,除此之外,它没有太多关于蓝牙的信息:https://www.amazon.com/Exploring-BeagleBone-Techniques-Building-Embedded/dp/1119533163
我安装了bluez版本5.50
sudo apt install bluetooth bluez
然后我进入 /lib/systemd/system 并发出命令
more bluetooth.service
在那里,我通过将“--compat”添加到具有以下内容的行的末尾来修改 bluetooth.service 文件:ExecStart=/usr/lib/bluetooth/bluetoothd--兼容
然后我退出并重新启动蓝牙
sudo systemctl restart bluetooth.service
现在我把蓝牙串口改成通道22
sudo sdptool add --channel=22 SP
最后,我将蓝牙适配器设置为监听
sudo rfcomm listen /dev/rfcomm0 22
之后,我可以使用蓝牙串行应用程序进行连接,方法是保持当前的 putty ssh 打开(它将显示存在蓝牙连接),并且我可以使用 putty 打开另一个 SSH,如果我发出命令
cat /dev/rfcomm0
新的终端窗口将显示我从串行应用程序发送的所有内容。到目前为止,我对此过程的理解是应用程序发送的任何内容都会进入 rfcomm0 并显示,这意味着命令不会执行任何操作或去任何地方运行某些内容。书上还说你可以安装minicom,但它对我不起作用。
最终我想在板上有一个 python 脚本,我可以运行它并通过蓝牙从我的笔记本电脑发出命令,有没有办法更改我从应用程序发送的字符串的位置?或者有一个通过蓝牙的 SSH 以便它们可以被执行?