Grazie a Farnell, ho avuto la possibilità di provare il modulo bluetooth Bluegiga WT11.
Questo modulo, compatibile con la specifica Bluetooth 2.1, integra tre elementi:
[checklist]
- il tranceiver
- l’antenna
- un completo stack Bluetooth (iWrap)
[/checklist]
La potenza di trasmissione – il modulo è classe 1 – è di 17dBm che corrisponde ad un range, in campo aperto, di circa 200m.
Layout
Il modulo – comprensivo di antenna – ha dimensioni 35.3 x 14mm. Il produttore consiglia di non posizionare piste di rame o altri metalli sotto l’antenna per non influire sulla qualità del segnale trasmesso/ricevuto.
I contatti elettrici (14 per lato) sono collocati sotto il modulo: la loro posizione rende necessario l’uso di tecniche di reflow per la saldatura.
Connessioni
Il modulo WT11 offre diverse interfacce:
- USB (periferica)
- SPI
- UART (seriale)
- PCM (per l’audio)
- 6 I/O
Firmware
Cuore dei moduli WT di Bluegiga è il firmware iWrap.
iWrap, eseguito dal processore RISC presente nei moduli, implementa l’intero stack protocollare Bluetooth e diversi profili:
Il firmware presenta un completo set di comandi, attraverso i quali è possibile configurare e controllare tutte le funzionalità dei moduli Bluegiga. Tali comandi sono inviati in formato ASCII attraverso il collegamento UART.
iWrap ha due modalità di funzionamento:
- command/data mode
- multiplexing mode
Nella prima modalità vi sono due stati distinti: lo stato command nel quale i dati inviati al modulo sono interpretati come comandi da iWrap e lo stato data, nel quale i dati inviati sono passati in maniera trasparente al link Bluetooth. Attraverso una particolare sequenza di escape è possibile passare da uno stato all’altro.
Nella seconda modalità invece si utilizza un particolare protocollo attraverso il quale è possibile specificare, per ogni messaggio inviato o ricevuto, se si tratta di un comando oppure di un dato. Questa seconda modalità consente di mantenere più connessioni simultanee senza dover passare esplicitamente (= attraverso un comando) tra di esse; di contro le performances del modulo si riducono per l’overhead introdotto dalla gestione del protocollo.
Documentazione
Bluegiga offre un completo set di documenti e application notes liberamente scaricabili, previa registrazione gratuita, dal proprio Tech Forum.
Pro/Contro
Prima di vedere il modulo in azione (nella prossima pagina di questo post) qualche considerazione…
[checklist]
- ottima copertura grazie alla classe 1 di potenza
- firmware iWrap completo e aggiornabile
- scelto dal team Arduino per il proprio ArduinoBT
[/checklist]
[badlist]
- la posizione dei contatti rende difficile la saldatura con tecniche hobbistiche
- il costo è più elevato di altri moduli
[/badlist]
ciao, ho seguito le tue istruzioni nel dettagglio ma quando apro putty e provo a scrivere un comando non scrive niente 🙁
qualche suggerimento?
Ciao Damiano,
hai collegato il modulo bluetooth al PC utilizzando Arduino come descritto o con un convertitore usb->seriale?
sì, collegato tutto come descritto,
forse il firmware non è presente e devo upparlo?
se è così, ccome posso fare?
ciao,
è strano… cmq devi andare su http://techforum.bluegiga.com/WT11i (registrazione obbligatoria ma gratuita) e scaricare il firmware iWrap e l’utility BlueSuite per fare l’upload. Il tuo modulo è nuovo? Hai già provato a cambiare il baud rate con cui ti colleghi?
Buongiorno, mi scusi per il disturbo, il signor Mauro Alfieri mi ha consigliato di rivolgermi a lei. Vorrei approfittare della sua grande conoscenza dell’Arduino per chiederle dei consigli che forse per lei saranno banalità ma per me saranno di grande aiuto.
Per svolgere un mio progetto, ho intenzione di utilizzare un modulo Bluetooth (HC-05, per esempio) per comandare Arduino tramite Android. I compiti affidati ad Arduino saranno: azionare 4 diversi servomotori (che lavorano individualmente ognuno per il proprio compito) e azionare, a scelta, uno tra 2 diversi pin.
La domanda che volevo porle è: cosa mi sa dire riguardo al modulo Bluetooth? come si programma in modo che attraverso il software per Android “Blueterm” io possa effettuare il controllo (apertura/chiusura servo, selezione pin da attivare)? non fraintenda, non le chiedo che mi scriva l’intero codice, ma le sarei grato se mi desse un consiglio o comunque un aiuto generale. spero in una sua risposta positiva
Cordiali saluti
Ciao Luca, diamoci pure del tu 😉
Il modulo HC05 è “stupido”, nel senso che puoi configurare solo il nome pubblicato e il PIN di associazione… poi lui semplicemente crea un canale di comunicazione tra Arduino e il PC/telefono ad esso collegato. Tutta la logica di comandi/risposte devi implementarla tu. Il consiglio è iniziare ad usare la seriale “classica” e scrivere uno sketch che interpreta comandi che invii dal PC (usando un terminale). Una volta completato, ti basterà passare dalla seriale ad una “softserial” collegata al modulo HC05 e tutto continuerà a funzionare!