Adattatore Bluetooth-RS232

Cimentiamoci col wireless!

Stavolta me la sono presa con i cavetti di collegamento fra le periferiche. Mi riferisco al collegamento PC/TNC, PC/PC, accrocchi vari che usano ancora lo standard RS232. Da un lato i cablaggi "filati" per robustezza e affidabilità sono assolutamente da preferire per le installazioni fisse / definitive, dall'altro capita spesso che il cavo a disposizione sia troppo corto, che il portatile non abbia la porta seriale, che il convertitore usb/rs232 faccia i capricci. Ho deciso di approfondire un po' l'argomento wireless, con un occhio di riguardo al mio hobby e... al portafoglio.

Volendo realizzare un collegamento dati wireless fra due dispositivi occorre implementare uno scambio di dati bidirezionale fra gli stessi. Dal punto di vista "radio" quindi servono due modulini ricetrasmittenti, operanti sulle bande dedicate ai radiocomandi (434/860 MHz). Per quanto riguarda la modulazione, a meno di accontentarsi di velocità molto basse, la AM-OOK o la FM-FSK non sono adatte a causa del limite imposto dalla banda passante dei moduli. L'ipotesi di attivare il trasmettitore per mezzo del segnale TXD-Transmit Data della seriale, e il segnale RXD-Received Data con l'uscita del ricevitore deve dunque essere abbandonata. Occorre inoltre gestire anche il controllo degli errori, per evitare che il degrado del segnale dovuto a interferenze causi la corruzione dei dati. Il complesso di questi fattori mi ha dunque orientato sull'utilizzo di "semilavorati" disponibili in commercio che implementano già le funzioni necessarie per il controllo errori, sono dotati di buffer di memoria interni e utilizzano tecniche di modulazione digitale del segnale a radiofrequenza particolarmente efficienti in termini di velocità dei dati in rapporto alla larghezza di banda utilizzata. Fortunatamente l'estremo oriente ci inonda di soluzioni a basso costo pensate per questo tipo di utilizzi. Segnalo tre tipologie su cui mi sono soffermato:

  • moduli a 434/860 MHz dotati di UART a livello TTL o RS232, con potenze da 10 a oltre 100 mW, ad esempio HM-TRP100 della Hope Electronics. A mio avviso una ottima soluzione per distanze medio-lunghe, oltre 100 metri, a scapito di un consumo elettrico non trascurabile;
  • moduli a 2.4 GHz basati su chipset NRF24L01 o cloni. Velocità elevate su distanze brevi, costo molto basso.. La comunicazione a mezzo di bus SPI impone l'uso di un microcontroller per la loro gestione, quindi, a meno di impiegarli in apparecchiature esplicitamente progettate, risultano poco pratici.
  • moduli bluetooth con UART a livello TTL o RS232. Buona velocità, distanze brevi (10/30m), basso consumo,prezzo contenuto. Si trovano facilmente in forma di "shield" per Arduino/Raspberry.
La mia scelta è cadita sui moduli bluetooth per ragioni di flessibilità di utilizzo.Molti pc portatili hanno di serie il modulo BT integrato, risultando così già pronti all'uso, così come i "divaisis" più recenti, ossia tablet e smartphones. In particolare si trovano facilmente due versioni, con sigla HC-05 e HC-06. Ho scelto la HC-05 in quanto ha la possibilità di funzionare, settando un registro interno, sia come dispositivo "slave", cioè che risponde alla ricerca effettuata da un altro apparecchio, che come "master", in grado di inizializzare una connessione e cercare gli altri dispositivi raggiungibili. Il collegamento avviene nel solito modo in cui operano gli apparecchi bluetooth. Il master effettua una scansione delle frequenze alla ricerca dei dispositivi raggiungibili, dalla lista dei risultati si sceglie quello al quale collegarsi (operazione di pairing) e da quel momento puo' avvenire lo scambio di dati. I vari stati (ricerca, connesso, stato comandi) sono visualizzati con diverse modalità di lampeggio del led di stato.


Il modulo bluetooth vero e proprio è quello verde nella foto e funziona a 3.3V; per semplificarmi ulteriormente la vita, ho scelto la versione dotata di "backplane", la scheda blu, che monta il regolatore di tensione 5-3.3V, il led di stato e un connettore a pettine SIP a passo standard di 100 mils che non guasta. Per rendere il tutto operativo basta un convertitore di livello TTL-RS232. Si possono acquistare già fatti a qualche euro l'uno, ma almeno quello ho voluto realizzarlo utilizzando componenti di recupero.
Lo schema
Quanto di più basico, realizzato a componenti discreti. Pluricollaudato, lo uso in tutti i miei progetti. In sostenza si tratta di due NOT realizzati con due transistor; dal lato RS232 il diodo D2 protegge Q2 dalla tensione negativa presente sul pin RXD quando assume lo stato logico 1, mentre dal lato bluetooth D3 limita la tensione in ingresso al modulo sul pin RXD. Il minimo indispensabile insomma. Il jumper "key" serve per accedere ai settaggi relativi alla funzione master/slave e di modificare il nome del dispositivo nonchè i parametri di comunicazione, impostabili da terminale con comandi AT stile hayes, un po' come i vecchi modem telefonici. Nessuno dei componenti è critico, i valori possono variare entro limiti ragionevoli senza compromettere il funzionamento del circuito. I transistor possono essere NPN generici per bassa frequenza, ho utilizzato esemplari con sigle industriali provenienti dalla sezione audio di un videoregistratore anni '80.


Ne ho realizzato una versione con regolatore di tensione 78L05 e una con alimentazione diretta a 5V tramite spinotto USB. Per il montaggio ho utilizzato un ritaglio di millefori. Ho preferito montare il connettore in modo tale che il modulo bluetooth fosse "a sbalzo" e non sovrapposto alla schedina, per limitare eventuali rientri di radiofrequenza. Come contenitori ho utilizzato barattolini in plastica ex caramelle, ideali per dimensioni e materiale. La semitrasparenza permette di vedere il led montato sulla scheda, dal quale si desume lo stato operativo del modulo. Un appunto per quanto riguarda la colla usata per l'etichetta, resistente (molto) ad acqua saponata, unghie, olio d'oliva, acetone, benzina avio, shampi/doccia schiuma vari, detersivi per pavimenti, insulti... Ma anche i supereroi hanno la loro nemesi, e la colla si è arresa ad un mix di olio di mandorla e olio di gomito. In compenso il lavoro vero e proprio di foratura e montaggio dei connettori è durato pochi minuti.
Bluetooth Dongles fatti in casa


Adattatore testato e pronto da inserire nel contenitore. Il peso è di qualche grammo, quindi ho utilizzato alcuni pezzi di spugnetta per tenere il circuito fermo al suo interno. E' il momento di trovare qualche utilizzo pratico!


Il bluetooth-rs232 a rimorchio di un tnc-x. Utilizzo dell'insieme? Collegandoci una radio e un portatile ci si fa packet o APRS spiaggiati sul divano col solo pc, mentre il resto dell'attrezzatura sta nella "stanza dei bottoni". Idem in auto, dove ricetrasmettitore, tnc e cablaggi rimangono in (dis)ordine nel bagagliaio, e magari possiamo sfruttare il gps del nostro "divais" per fare APRS con tanto di cartografia:
Utilizzando due adattatori, uno impostato come master e uno in modo slave, è possibile effettuare un collegamento seriale, sia esso di tipo null-modem o DTE/DCE, in modo trasparente e senza alcuna modifica alle impostazioni delle periferiche. Per esempio posso scaricare i dati dal gradigiornimetro senza salire col portatile sul solaio dove è attualmente installato. Certo, alcune limitazioni possono derivare dalla mancanza dei segnali di handshaking (RTS/CTS e DTR/DSR); in ogni caso rimangono possibili gran parte delle abituali applicazioni per uno standard -l'RS232- che sia in campo industriale che hobbistico si rivela ancora restio a cedere il passo a tecnologie più recenti.


praz2004 chiocciola libero punto it