Nenhuma opção para pinos bluetooth para emparelhamento

0

Atualizar

Parece possível emparelhar e se comunicar com o módulo sem usando um pin, mas até agora usando apenas gatttool . Ainda estou aprendendo sobre o BLE, e não está claro se esse é um recurso normal (por exemplo, um modo padrão de baixa segurança) ou se os módulos que estou usando (serial BLE estilo JDY-08 / BT05 / HM-10) pode ser não compatível e simplesmente não usar o pino como definido.

Através da ferramenta de conexão padrão no Ubuntu Mate

Estou executando o Ubuntu Mate em um Lenovo P50. Eu estou explorando um módulo BT05 BLE, mas não consigo me conectar ao dispositivo devido ao que eu acho que pode ser um bug no Ubuntu. Os passos que estou tomando para conectar o dispositivo são:

  1. No menu bluetooth, selecione "Configurar novo dispositivo".
  2. eu seleciono o dispositivo da lista
  3. e prossiga, selecionando "parear dispositivo"
  4. Uma tela dizendo "Emparelhamento em andamento ..." é exibida.
  5. Após alguns minutos, a mensagem muda para "Falha ao adicionar dispositivo".
  6. Em nenhum momento sou solicitado a inserir o código PIN de 6 dígitos necessário para o pareamento.

O pino é personalizado e não pode ser inferido pelo sistema operacional (não é necessário forçar 10 ^ 6 possibilidades), então eu preciso ser capaz de inseri-lo ao conectar ao dispositivo. Esta questão pode estar relacionada. Os comandos encontrado aqui é uma solução possível, mas até hoje não existe nenhum método de comunicação com dispositivos bluetooth através da interface gráfica do usuário.

Via bluetoothctl

bluetoothctl afirma se conectar (sem usar o pino personalizado). ( esta questão é útil para entender o que o bluetoothctl está fazendo). No entanto, não parece possível ler / gravar as características quando o dispositivo é emparelhado?

φ bluetoothctl
[bluetooth]# agent on
Agent registered
[bluetooth]# default-agent
Default agent request successful
[bluetooth]# scan on
[NEW] Device [address] [name]
[bluetooth]# scan off
[bluetooth]# pair [address]
Attempting to pair with [address]
[CHG] Device [address] Paired: yes
Pairing successful
[name]# info [address]
Device [address]
    Name: [name]
    Alias: [name]
    Paired: yes
    Trusted: yes
    Blocked: no
    Connected: yes
    LegacyPairing: no
    UUID: Generic Access Profile    ([ID1])
    UUID: Generic Attribute Profile ([ID2])
    UUID: Device Information        ([ID3])
    UUID: Unknown                   ([ID4])
    Modalias: bluetooth:[number]
[name]# list-attributes
[no attributes]

Com base, por exemplo, em este tutorial, Espero que as características e os atributos fiquem disponíveis após o emparelhamento.

Via hcitool e gatttool

Eu sou capaz de se conectar aos módulos e acessar as propriedades relevantes usando os comandos hcitool e gatttool . Isso também é sem um alfinete.

φ sudo hcitool -i hci0 lescan --duplicates | grep 'earlybird'
[ADDRESS] [NAME]
φ gatttool -i hci0 -b [ADDRESS] -I
[ADDRESS][LE]> connect
Attempting to connect to [ADDRESS]
Connection successful
[ADDRESS][LE]> primary
attr handle: 0x0001, end grp handle: 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb
attr handle: 0x000c, end grp handle: 0x000f uuid: 00001801-0000-1000-8000-00805f9b34fb
attr handle: 0x0010, end grp handle: 0x0022 uuid: 0000180a-0000-1000-8000-00805f9b34fb
attr handle: 0x0023, end grp handle: 0xffff uuid: 0000ffe0-0000-1000-8000-00805f9b34fb
[ADDRESS][LE]> included
No included services found for this range
[ADDRESS][LE]> characteristics
handle: 0x0002, char properties: 0x02, char value handle: 0x0003, uuid: 00002a00-0000-1000-8000-00805f9b34fb
...
handle: 0x0024, char properties: 0x1e, char value handle: 0x0025, uuid: 0000ffe1-0000-1000-8000-00805f9b34fb
    
por MRule 05.12.2017 / 23:52

1 resposta

1

Na verdade, a postagem que você vinculou é idêntica, pois eles nunca tiveram uma opção de PIN, a segunda foto foi de outra pessoa. Eu tentaria no terminal, com o seu dispositivo BT05 no modo de emparelhamento

echo -e "power on\n scan on" |bluetoothctl
Em seguida, você deverá ver uma referência a um novo dispositivo com um endereço MAC e um nome, usar o MAC exatamente como exibido no terminal ou inserir os primeiros dígitos e usar a tecla TAB para preenchimento automático
pair {MAC}
trust {MAC}
connect {MAC}
Com alguma sorte, ele será emparelhado ou solicitará o PIN para entrar. Se isso não funcionar, instale o Blueman
sudo apt install blueman
Veja se ele vai permitir que você use o PIN de 6 dígitos já que este foi um bug com o gnome-bluetooth em 16.04     
por Jeremy31 07.12.2017 / 22:50