Esse método funcionou para mim.
Depois de emparelhar com o dispositivo e conectado conectado com sucesso, descubra os serviços que estão usando o rfcomm no dispositivo remoto:
sdptool browse <remote_dev>
sdptool browse 12:34:56:78:11:22
anote todos os possíveis rfcomm e seus canais (remote_channel)
Agora crie um dispositivo virtual rfcomm em nossa máquina:
rfcomm listen /dev/rfcomm0 2
você pode substituir 2 por qualquer valor. é o nosso canal
Em seguida, ligue o rfcomm remoto ao nosso dispositivo virtual rfcomm:
sudo rfcomm bind <virtual_rfcommdev> <remote_mac> <remote_channel>
sudo rfcomm bind /dev/rfcomm0 12:34:56:78:11:22 2
se você preferir um liner
rfcomm bind 0 12:34:56:78:11:22 1
Você pode verificar se é trabalhado enviando um comando AT de teste
primeiro instale o picocom:
sudo apt install picocom
verifique se o dispositivo está presente:
ls /dev/rfcomm*
inicie o picocom no rfcomm:
sudo picocom -c /dev/rfcomm0
-c para tornar o comando visível enquanto você digita
você recebe algo como
picocom v2.2
port is : /dev/rfcomm0
flowcontrol : none
baudrate is : 9600
parity is : none
databits are : 8
stopbits are : 1
escape is : C-a
local echo is : no
noinit is : no
noreset is : no
nolock is : no
send_cmd is : sz -vv
receive_cmd is : rz -vv -E
imap is :
omap is :
emap is : crcrlf,delbs,
terminal is ready
agora digite AT e pressione Enter. Se você ficar bem, então está funcionando.