在rfcomm connect上禁用AT命令

时间:2015-08-02 17:28:06

标签: linux ubuntu bluetooth rfcomm ubuntu-15.04

从Ubuntu连接蓝牙串口时:

adi@Poppy:~$ sudo rfcomm -r connect 0
Connected /dev/rfcomm0 to 1C:3E:84:FE:4F:69 on channel 8
Press CTRL-C for hangup

在客户端,我收到以下数据,这些数据是自动从Ubuntu发送到connect:

41 54 5e 53 51 50 4f 52 54 3f 0d 41 54 0d 41 54 0d 41 54 0d 7e 00 78 f0 7e 7e 00 78 f0 7e

AT^SQPORT?
AT
AT
AT
~

这会影响我想做的事情,所以我需要阻止Ubuntu向客户端发送任何未经请求的数据。

感谢。

2 个答案:

答案 0 :(得分:1)

连接到端口后,minicom只能用root运行(这让我很困惑)。对于我得到的任何其他用户:

adi@Poppy:~$ minicom -D /dev/rfcomm1
minicom: cannot open /dev/rfcomm1: Device or resource busy

adi@Poppy:~$ ls -lsa /dev/rfcomm1 
0 crw-rw-rw- 1 root dialout 216, 1 aug  3 19:46 /dev/rfcomm1

所以我这样做了:

adi@Poppy:~$ sudo fuser /dev/rfcomm1
[sudo] password for adi: 
/dev/rfcomm1:          696

adi@Poppy:~$ ps -p 696
  PID TTY          TIME CMD
  696 ?        00:00:00 ModemManager
<啊>啊哈,拜托你!

杀死这个过程后,你怎么看?连接时没有AT命令。

答案 1 :(得分:1)

另一种在udev系统中设置新规则的方法可以提供帮助。

在/etc/udev/rules.d/90-rfcomm.rules中,请填写以下内容:

KERNEL ==“rfcomm [0-9] *”,ENV {ID_MM_DEVICE_IGNORE} =“1”