D.R*_*.R. 5 linux bash bluetooth cron
我有一个迷你蓝牙键盘和一个运行基于 Debian 的发行版的 Raspberry Pi。我知道键盘的 MAC 地址,但对于这个问题,让我们使用AA:BB:CC:DD:EE:FF
. 现在我必须连接有线键盘以及用于迷你键盘的蓝牙加密狗。在有线键盘上,我必须在设备启动时运行以下命令:
sudo hidd --connect AA:BB:CC:DD:EE:FF
Run Code Online (Sandbox Code Playgroud)
如果设备空闲时间过长,蓝牙就会断开连接,我必须拔出有线键盘并重新键入相同的命令。
我正在寻找的是一种在启动时运行该命令的方法,以及一种检测它是否断开连接以便自动重新连接的方法。
令人讨厌的是,当我运行该命令时,键盘必须处于配对模式(即使它已经配对),否则它会告诉我主机已关闭。因此,脚本可能需要防止它因不活动而断开连接,否则我将不得不将其重新置于配对模式以重新连接。
所以回顾一下:
(代替XX:XX:XX:XX:XX:XX
为您设备的蓝牙地址)
安装蓝牙支持。
\n\n# pacman -S bluez\n
Run Code Online (Sandbox Code Playgroud)\n\n创建设备配置文件。
\n\n# nano /etc/bluetooth/hcid.conf\ndevice XX:XX:XX:XX:XX:XX {\n name "Apple Wireless Keyboard";\n auth enable;\n encrypt enable;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n启用蓝牙。
\n\n# nano /etc/conf.d/bluetooth\nDAEMON_ENABLE="true"\nHIDD_ENABLE="true"\n
Run Code Online (Sandbox Code Playgroud)\n\n添加守护进程。确保 dbus 首先出现。
\n\n# nano /etc/rc.conf\nDAEMONS=(\xe2\x80\xa6 dbus bluetooth)\n
Run Code Online (Sandbox Code Playgroud)\n\n重启。
\n\n测试连接(确保键盘可发现,否则将会失败)。
\n\n# hidd --connect XX:XX:XX:XX:XX:XX\n
Run Code Online (Sandbox Code Playgroud)\n\n为了在键盘进入睡眠模式后能够重新连接键盘,我们创建了自己的守护进程,该守护进程每秒检查键盘是否连接一次。如果是,则该周期不执行任何操作,否则它将尝试连接到中指定的地址address
。
创建脚本来运行守护程序。
\n\n# nano /etc/rc.d/connect-bt-devs\n#!/bin/bash\n/etc/rc.d/connect-bt-devs.sh &\nexit 0\n
Run Code Online (Sandbox Code Playgroud)\n\n创建脚本。
\n\n# nano /etc/rc.d/connect-bt-devs.sh\n\n#!/bin/bash\naddress="XX:XX:XX:XX:XX:XX"\nwhile (sleep 1)\ndo\n connected=$(hidd --show) > /dev/null\n if [[ ! $connected =~ .*${address}.* ]] ; then\n hidd --connect ${address} > /dev/null 2>&1\n fi\ndone\n
Run Code Online (Sandbox Code Playgroud)\n\n使它们可执行。
\n\n# chmod +x /etc/rc.d/connect-bt-devs\n# chmod +x /etc/rc.d/connect-bt-devs.sh\n
Run Code Online (Sandbox Code Playgroud)\n\n添加守护进程。
\n\n# nano /etc/rc.conf\nDAEMONS=(\xe2\x80\xa6 connect-bt-devs)\n
Run Code Online (Sandbox Code Playgroud)\n\n重启。
\n\n当我第一次这样做时,它在脚本首次连接时起作用,但每当自定义守护程序尝试与重新唤醒的键盘重新连接时,我都会在控制台上收到令人讨厌的崩溃报告。经过更多调查后发现,这是因为贝尔金加密狗有问题,并且在设备断电时没有与设备断开连接。我改用了一个无品牌的廉价加密狗,它工作得很好。
\n\n来自 arch wiki和Benny Bottema 博客文章的信息组合。
\n 归档时间: |
|
查看次数: |
10033 次 |
最近记录: |