Differenze tra le versioni di "HC-05 e HC-06"

Da raspibo.
Jump to navigation Jump to search
Riga 7: Riga 7:
 
= Pinout =
 
= Pinout =
  
Essendo la Board spesso saldata su uno zoccolo ed essendo quest'ultimo non standard, non è possibile dare un pinout preciso.
+
Le board hanno il seguente pinout ([http://www.14core.com/working-with-hc05-hc06-to-configure-and-implementations/ immagine tratta da 14core.com])
 +
[[File:Bluetooth-HC06-Versus-HC05-Bluetooth-Module-Comparison-001.jpg]]
 +
 
 +
Essendo la board spesso saldata su uno zoccolo ed essendo quest'ultimo non standard, non è possibile dare un pinout preciso. I pin che troverete sempre sono:
 +
 
 +
* '''Vcc''' e '''GND'''
 +
* '''TXD''' e '''RXD''' (sono TX e RX seriali)
 +
 
 +
Quelli opzionali:
 +
 
 +
* '''Key''' questo pin è collegato al pin della board che deve essere collegato alla 3,3V per entrare in modalità AT, normalmente lo zoccolo ha anche un pulsante che fa la stessa cosa, in mancanza dell'uno e dell'altro dovrete fare ponte con qualcosa di conduttivo fra una sorgente a 3,3V e il pin Key sulla board
 +
* '''State''' questo pin dovrebbe essere alto quando il device è connesso a qualcosa e basso quando non è collegato a niente
 +
* '''EN''' dovrebbe essere l'enable, ma non è chiaro come funzioni
 +
 
 +
Le board hanno anche il collegamento per un LED di stato. Lo zoccolo di solito ne possiede uno. Il LED ha tre stati:
 +
 
 +
* Lampeggia velocemente: la board è accesa e non è collegata a niente
 +
* Lampeggia piano (circa 1s): la board è collegata a qualcosa
 +
* Lampeggia molto piano (circa 2s): la board è in modalità AT
  
 
= Differenze HC-05 e HC-06 =
 
= Differenze HC-05 e HC-06 =

Versione delle 18:08, 16 nov 2016

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

Le board hanno il seguente pinout (immagine tratta da 14core.com) Bluetooth-HC06-Versus-HC05-Bluetooth-Module-Comparison-001.jpg

Essendo la board spesso saldata su uno zoccolo ed essendo quest'ultimo non standard, non è possibile dare un pinout preciso. I pin che troverete sempre sono:

  • Vcc e GND
  • TXD e RXD (sono TX e RX seriali)

Quelli opzionali:

  • Key questo pin è collegato al pin della board che deve essere collegato alla 3,3V per entrare in modalità AT, normalmente lo zoccolo ha anche un pulsante che fa la stessa cosa, in mancanza dell'uno e dell'altro dovrete fare ponte con qualcosa di conduttivo fra una sorgente a 3,3V e il pin Key sulla board
  • State questo pin dovrebbe essere alto quando il device è connesso a qualcosa e basso quando non è collegato a niente
  • EN dovrebbe essere l'enable, ma non è chiaro come funzioni

Le board hanno anche il collegamento per un LED di stato. Lo zoccolo di solito ne possiede uno. Il LED ha tre stati:

  • Lampeggia velocemente: la board è accesa e non è collegata a niente
  • Lampeggia piano (circa 1s): la board è collegata a qualcosa
  • Lampeggia molto piano (circa 2s): la board è in modalità AT

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 (ovviamente s'intende il pinout della board, non quello dello zoccolo).

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