Executa um script quando o dispositivo Bluetooth está conectado

2

Estou tentando executar um script automaticamente logo após a conexão de um determinado dispositivo bluetooth. Para fazer isso, tentei criar uma nova regra UDEV. O problema que encontro é que minha regra não é executada ao estabelecer a conexão.

A partir de agora, minha regra contém apenas o endereço MAC do dispositivo.

ACTION=="add", SUBSYSTEM=="bluetooth", ATTRS{address}=="a0:b1:c2:e3:f4:56", RUN+="/home/myhome/my_script"

Como posso encontrar mais detalhes do dispositivo para adicioná-los à regra?

Quando o dispositivo está conectado, posso ver o seguinte evento UDEV:

$ udevadm monitor
UDEV  [7704849.324977] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.7/2-1.7:1.0/bluetooth/hci0/hci0:12 (bluetooth)

Existe alguma informação no evento acima que eu possa aproveitar?

Eu coloco a regra em ambos os lugares de regras UDEV, /etc/udev/rules.d/ e /lib/udev/rules.d/ , mas ainda assim ela não é executada. Eu estou em um sistema Linux Mint.

A regra tem as mesmas permissões que todas as outras regras no diretório:

-rw-r--r-- 1 root root  369 Oct 17 13:07 50-my_bluetooth_rule.rules

Eu também brinquei com o número da regra entre 50 e 90. Ainda assim, não tenho sucesso.

    
por slybloty 17.10.2018 / 20:42

1 resposta

0

Use sudo tail -f /var/log/syslog para obter o idVendor e o idProduct para gravar a regra do udev em /etc/udev/rules.d/50-my_bluetooth_rule.rules da seguinte forma:

ACTION=="add" , SUBSYSTEM=="usb", ATTR{idVendor}=="xxx", ATTR{idProduct}=="yyy", RUN+="/home/myhome/my_script"

Executar:

sudo service udev restart
sudo tail -f /var/log/syslog

Reconecte seu dispositivo bluetooth. Você pode usar logger em seu script bash para gravar mensagens em syslog .

    
por 17.10.2018 / 22:30