Configurando Módulo Bluetooth HC-06 no Ubuntu
Tutorial original: Building Walls – Marc Queiroz
Passo 1 — Localizar o endereço do dispositivo
Execute o comando abaixo para escanear dispositivos Bluetooth próximos:
hcitool scanA saída será algo como:
LAB-EXPERT-BT 00:12:06:DE:E1:B3Anote o endereço MAC exibido — ele será necessário nos próximos passos.
Passo 2 — Criar a porta serial virtual (RFCOMM)
Utilize o comando rfcomm para criar uma conexão RFCOMM com o kernel do Linux, associando o dispositivo a uma porta serial virtual.
O comando aceita dois modos de operação: connect ou bind. Escolha conforme sua necessidade:
| Modo | Comando | Comportamento |
|---|---|---|
| connect | sudo rfcomm connect /dev/rfcomm0 00:12:06:DE:E1:B3 | Abre a conexão imediatamente e mantém o terminal ocupado. A porta é encerrada ao pressionar CTRL-C. Útil para testes rápidos. |
| bind | sudo rfcomm bind /dev/rfcomm0 00:12:06:DE:E1:B3 | Apenas registra o vínculo entre a porta e o dispositivo, sem abrir a conexão. A conexão real ocorre quando algum programa acessar /dev/rfcomm0. Libera o terminal e persiste até um rfcomm release ou reinício. |
Resumo prático: use
connectpara testar na hora; usebindquando quiser deixar a porta disponível em segundo plano para outros programas usarem.
No exemplo abaixo, a porta escolhida é /dev/rfcomm0 e o canal utilizado é o padrão:
# Conexão imediata (terminal bloqueado)
sudo rfcomm connect /dev/rfcomm0 00:12:06:DE:E1:B3
# ou: vínculo em segundo plano
sudo rfcomm bind /dev/rfcomm0 00:12:06:DE:E1:B3Nota: Na primeira conexão, o gerenciador bluez do Ubuntu pode solicitar um código de pareamento. Insira
1234quando solicitado.
Se a conexão for bem-sucedida, a saída será:
Connected /dev/rfcomm0 to 00:12:06:DE:E1:B3 on channel 1
Press CTRL-C for hangupPasso 3 — Acessar a porta serial
Com a porta /dev/rfcomm0 disponível, utilize um programa de terminal serial para enviar e receber dados.
Opção 1 — screen (mais simples)
O screen já vem instalado na maioria das distribuições e é a forma mais rápida de acessar a porta:
sudo screen /dev/rfcomm0 9600Para sair do screen, pressione CTRL-A seguido de K, depois confirme com Y.
Opção 2 — minicom
O minicom oferece uma interface mais completa. Caso não esteja instalado:
sudo apt-get install minicomPara acessar a porta:
sudo minicom --device /dev/rfcomm0 --baudrate 9600Para sair do minicom, pressione CTRL-A seguido de X e confirme.
Resultado
Pronto! Agora é possível enviar e receber dados pelo módulo Bluetooth HC-06 no Ubuntu através da porta serial virtual /dev/rfcomm0.
Ou utilizar qualquer software ou script que abra uma porta serial. Um exemplo prático em Python com a biblioteca pyserial:
pip install pyserialimport serial
ser = serial.Serial('/dev/rfcomm0', baudrate=9600, timeout=1)
print("Aguardando dados...")
while True:
linha = ser.readline()
if linha:
print(linha.decode('utf-8').strip())Para enviar dados ao módulo:
ser.write(b'Hello HC-06\n')Dica: ajuste o
baudrateconforme a configuração do seu módulo. O padrão de fábrica do HC-06 é9600.