Questa pagina contiene materiale obsoleto
L'attuale versione di Raspbian /Jessie ha complicato un po' la vita a chi deve collegare un modulo HC-06 o simili, spesso usato per Arduino oppure per un generico microcontrollore. Sebbene questa pagina sia stata scritta pensando ad un sistema Raspberry head-less, è stata sperimentata con successo anche con un normale desktop Debian Stretch. La procedura è identica sia utilizzando il modulo standard del Raspberry Pi 3 che un generico adattatore USB-Bluetooth.
Occorre innanzitutto attivare i profili "legacy" necessari, aggiungendo nel file /etc/systemd/system/dbus-org.bluez.service quanto qui di seguito evidenziato.
pi@vv-rpi:~ $ sudo nano /etc/systemd/system/dbus-org.bluez.service
...
ExecStart=/usr/lib/bluetooth/bluetoothd -C
ExecStartPost=/usr/bin/sdptool add SP
...
Quindi riavviare ed individuare l'indirizzo del dispositivo HC-06 da collegare (nota 1):
pi@vv-rpi:~ $ bluetoothctl
[NEW] Controller 00:1A:7D:DA:71:xx vv-rpi [default]
[bluetooth]# scan on
Discovery started
[CHG] Controller 00:1A:7D:DA:71:xx Discovering: yes
[NEW] Device 30:14:10:17:25:xx 30-14-10-17-25-xx
[CHG] Device 30:14:10:17:25:xx LegacyPairing: no
[CHG] Device 30:14:10:17:25:xx Name: HC-06
[CHG] Device 30:14:10:17:25:xx Alias: HC-06
[CHG] Device 30:14:10:17:25:xx LegacyPairing: yes
[bluetooth]# info 30:14:10:17:25:xx
Device 30:14:10:17:25:xx
Name: HC-06
Alias: HC-06
Class: 0x001f00
Paired: no
Trusted: no
Blocked: no
Connected: no
LegacyPairing: yes
Procedere quindi al pairing, inserendo quando richiesto il PIN code (note 2 e 3):
[bluetooth]# agent on
Agent registered
[bluetooth]# pair 30:14:10:17:25:xx
Attempting to pair with 30:14:10:17:25:xx
[CHG] Device 30:14:10:17:25:xx Connected: yes
Request PIN code
[agent] Enter PIN code: 1234
[CHG] Device 30:14:10:17:25:xx Paired: yes
Pairing successful
[CHG] Device 30:14:10:17:25:xx Connected: no
[bluetooth]# trust 30:14:10:17:25:xx
[CHG] Device 30:14:10:17:25:xx Trusted: yes
Changing 30:14:10:17:25:xx trust succeeded
[bluetooth]# info 30:14:10:17:25:xx
Device 30:14:10:17:25:xx
Name: HC-060
Alias: HC-06
Class: 0x001f00
Paired: yes
Trusted: yes
Blocked: no
Connected: no
LegacyPairing: yes
[bluetooth]# quit
Infine è necessario creare nella directory /dev/ il disposivo a cui dovrà collegarsi il terminale o il programma:
pi@vv-rpi:~ $ sudo rfcomm bind hci0 30:14:10:17:25:xx
pi@vv-rpi:~ $ ls -l /dev/rf*
crw-rw---- 1 root dialout 216, 0 Feb 6 19:21 /dev/rfcomm0
L'utente che dovrà utilizzare il dispositivo dovrà evidentemente appartenere al gruppo dialout.
Di seguito un esempio di funzionamento con minicom. ed un piccolo programma in C che utilizza wiringPi. Il dispositivo utilizzato come periferica HC06 è descritto in questa pagina.
pi@vv-rpi:~ $ minicom -D /dev/rfcomm0
Welcome to minicom 2.7
OPTIONS: I18n
Compiled on Jan 12 2014, 05:42:53.
Port /dev/rfcomm0, 20:18:51
Press CTRL-A Z for help on special keys
PIC status 217: 0011 303 179
PIC status 218: 0011 54 34
PIC status 219: 0011 17 13
PIC status 220: 0011 17 12
...
Parole chiave: Bluetooth - Raspberry Pi - headless - HC-06
Ultima modifica di questa pagina: 7 febbraio 2017
Il taccuino tecnico - Permanentemente in fase di
riscrittura
Copyright 2013-2024, Vincenzo Villa (https://www.vincenzov.net)
Quest'opera è stata rilasciata con licenza Creative Commons | Attribuzione 4.0 Internazionale (CC BY 4.0)