HC-05 e HC-06

Da raspibo.
Jump to navigation Jump to search

HC-05 e HC-06 sono due tipi di moduli Bluetooth che ci permettono di trasmettere e ricevere dati tramite l'interfaccia seriale (ma non solo). Sono molto semplici da usare e hanno molteplici utilizzi.

Hc-05.jpg

Nella foto potete vedere a sinistra il modulo senza lo zoccolo, i cui pin sono i contatti intorno, a destra la versione più comune, saldata su uno zoccolo con i pin di alimentazione e la seriale libera. Gli zoccoli hanno diverse forme e alcuni (come questo) hanno anche alcuni pin in più con funzioni diverse che cambiano a seconda dello zoccolo.

Pinout

Coming soon...

Differenze HC-05 e HC-06

I due device sono molto simili. Nella maggior parte dei casi potete prendere l'uno o l'altro indifferentemente. Le uniche differenze degne di nota sono:

  • L'HC-05 può essere impostato come master, mentre l'HC-06 è solo slave. Questo comporta che entrambi possono ricevere connessioni ma solo l'HC-05 può iniziarne una.
  • L'HC-06 è sempre in modalità AT quando non è collegato a un altro dispositivo, mentre l'HC-05 occorre accenderlo mandando 3,3 volt allo speciale pin "key" (gli zoccoli di solito hanno un pin "Key" oppure un pulsante da premere).
  • Il pinout è diverso.

Alimentazione

I moduli vanno alimentati a 3,3V. Gli zoccoli più comuni permettono anche alimentazioni diverse tramite un regolatore di voltaggio, ma i livelli logici sono sempre a 3,3V.

Collegamento all'Arduino

Potete collegare direttamente la seriale UART dell'Arduino al modulo HC-0X. RX (ricevitore seriale) e TX (trasmittente seriale) di Arduino (pin 0 e 1) vanno collegati rispettivamente al TX e all'RX del modulo Bluetooth (in pratica: dovete incrociarli: RX con TX e TX con RX). Se vi serve solo come ricevente, potete collegare solo il TX dell'HC-0X all'RX dell'Arduino, al contrario se vi serve solo una trasmittente collegate solo l'RX dell'HC-0X al TX dell'Arduino. RX e TX a volte sono scritti RXD e TXD. Non cambia assolutamente nulla.

Se la seriale fisica dovesse essere occupata, è possibile averne una software su due pin diversi con la libreria SoftwareSerial.

Collegamento Bluetooth al PC

Sotto Linux ci sono diversi modi per attivare una comunicazione seriale fra il SO e un dispositivo che permette questo tipo di servizio. La seriale comparirà come file di device nella posizione /dev/rfcommX dove X è un numero che parte da 0. Se abbiamo una sola comunicazione seriale avremo quindi /dev/rfcomm0. A questo file ci si può collegare ad esempio con il comando screen.

# screen /dev/rfcommX <velocità baud>

Occorre essere root o dare il comando con sudo, perché l'utente normale non dovrebbe essere in grado di scrivere su rfcommX.

Prerequisiti

L'utente deve essere nel gruppo "bluetooth". Per aggiungersi al gruppo bisogna editare il file /etc/group e aggiungere il vostro nome al gruppo, troverete qualcosa come

bluetooth:x:<ID>:

dovete aggiungere l'utente dopo i due punti

bluetooth:x:<ID>:utente

per attivare la modifica fate log out e log in

Bluetooth Manager

Bluetooth Manager è il programma che viene aperto di default quando un adattatore Bluetooth USB è collegato al PC. Purtroppo è anche pieno di bug e abbastanza prono a crashare. Nelle ultime versioni pare che vada molto meglio. Nel caso abbiate problemi vi consiglio di chiudere il programma (dovete cliccare col tasto destro sull'icona del Bluetooth sulla barra delle applet oppure killate blueman-manager) e lanciare da un terminale blueman-manager. Vediamo passo passo come fare a creare un collegamento seriale.

Cliccate su "Search" e cercate il dispositivo a cui dovete collegarvi. Se non l'avete rinominato, gli HC si chiameranno HC-05 o HC-06. Nel caso ce ne sia più di uno, cercate di ricordare l'indirizzo fisico, il MAC Address.

Hc0506 1.png

Cliccate col tasto destro e selezionate "Pair". Uscirà un pop up in cui vi verrà chiesto il pin. Se non l'avete modificato normalmente è 1234.

Hc0506 2.png

Una volta avvenuto il pairing, comparirà il simbolo di una chiave vicino all'icona del vostro device Bluetooth. Cliccate di nuovo il tasto destro e selezionate Serial Port.

Hc0506 4.png

Se tutto è andato come doveva, vedrete l'indicazione di quale file di device è la vostra comunicazione seriale. Ora potete aprirlo con screen o altri programmi.

Hc0506 5.png