[HOWTO] Guida (più o meno) completa all'utilizzo di Moduli Bluetooth

Allora, ora che li ho provati posso mettere i nomi dei terminali bluetooth da usare su android:
-SENA BTerm
-Uconnect BT
-TerminalBT
-BluetoothSPP

Premesso che funzionano tutti, SENA è il più completo di impostazioni, poi BluetoothSPP. Gli altri due invece sono semplici semplici.
Tutti gratuiti sull'app store.

Ciao!

@dab77

TUTTAPPOSTO!!

]:slight_smile: è il secondo falso allarme nello stesso thread !

nomi dei terminali bluetooth da usare su android

i test li ho sempre fatti da pc, e da smartphone l'unico terminale seriale bt usato è stato BlueTerm, segnalato da ratto93.
Non mancherò di installarmi almeno i due consigliati!

@Testato

Gran bel lavoro e grazie della citazione

grazie a te che sei stato di stimolo!

Mi sono arrivati i tipi nuovi ad un chip, gli hc07. Se trovo differenze importanti riporterò qui

approfitto e ti chiedo subito la sigla dell'integrato: è sempre un BC417?

Spettacolo! Gran bel lavoro, chiaro e diretto al punto. Grazie e complimenti! :slight_smile:

pitusso:
approfitto e ti chiedo subito la sigla dell'integrato: è sempre un BC417?

No, ti scrivo tutto cio' che c'e' scritto sul chip (non ho ancora avuto tempo per decifrare tali info e cercare un datasheet)

CSR
41C6
71AU
K805RB

appunto qui i miei appunti :slight_smile:

  • perche' non fai un unico PDF con i vari capitoli, invece di tanti pdf separati ?
  • lo schema in nero nella prima pagina e' fastidioso, puoi invertirlo con un programma di grafica se non hai il file eagle
  • quando scrivi: inviare LF e CR (\r\n), lo cambierei in "inviare CR e LF (\r\n)"
  • errore a pagina8 programmazione: per ottenerne la versione di fw (comando: AT+NAME?\r\n) mettere VERSION al posto di NAME
  • e' da chiarire quando dici che la velocita' standard degli HC05 e' 38400, in realta' la velocita' di comunicazione settata di fabbrica e' uguale per tutti i moduli e cioe' 9600, e' la velocita' da usare per la programmazione AT che e' 38400. Per spiegarmi meglio, se tu prendessi un modulo HC05 e lo lasciassi cosi' come da fabbrica, per collegarti dovresti usare 9600.

Ci manca una piccola descrizione di come funziona il bluetooth, qualche test di distanza, qualche esempio applicativo e poi la puoi andare a far stampare e mandare alle librerie :slight_smile:

TESTATO :slight_smile:

Non ho trovato per ora nessuna differenza tra HC-06 ed il mio HC-07, se non il fatto che il chip e' unico, ed e' un diverso modello.
Il tutto e' sottolineato dalla versione che risulta essere "Linvor V1.6", probabilmente un'aggiornamento soltanto tecnico, per supportare il nuovo chip.

Cosa aggiungerei quindi alla guida per quanto riguarda HC06/07 :

  • Bluetooth name standard: linvor
  • Possibilita' di settaggio della Parita'
    AT+PN -> None
    AT+PE -> Even
    AT+PO -> Odd
  • nelle versioni Master c'e' una funzione KEY (su pin 26) per cancellare il pairing, perche' questi moduli una volta che si sono accoppiati non si lasciano piu'. Solo mettendo ad High (+3,3V) questo pin il modulo inizia una nuova ricerca, altrimenti cerca solo e soltanto il modulo accoppiato.

in generale per tutti i moduli aggiungerei questo:

  • Il Reset pin 11 puo' essere lasciato float senza problemi, perche' ha una pullup interna

Spero che sia questi miei test, che le note precedenti, possano essere utili alla causa.
tanto era dovuto, porgo distinti saluti :slight_smile:

Ciao,
grazie dei feedback.

@Testato:
il chipset è diverso, e anche se dovrebbe rientrare nella serie BC4, vorrei approfondire similitudini e differenze rispetto agli HC05 e HC06.
Quindi sto rimuovendo il modulo HC07 dalla guida, fino alla raccolta di maggiori informazioni.

EDIT: leggo nel mentre la tua risposta

Cosa aggiungerei quindi alla guida per quanto riguarda HC06/07 :

  • Bluetooth name standard: linvor

pure pr HC07? :stuck_out_tongue:

  • Possibilita' di settaggio della Parita'
    AT+PN -> None
    AT+PE -> Even
    AT+PO -> Odd

questo non c'è su HC06

  • nelle versioni Master c'e' una funzione KEY (su pin 26) per cancellare il pairing, perche' questi moduli una volta che si sono accoppiati non si lasciano piu'.

ma la modalità di HC07 non è aggiornabile via AT?

Solo mettendo ad High (+3,3V) questo pin il modulo inizia una nuova ricerca, altrimenti cerca solo e soltanto il modulo accoppiato.

relativamente agli HC06 non ho esperienza, avendo solo slave.
Per quel che riguarda HC05, non ci son questi problemi :grin:

in generale per tutti i moduli aggiungerei questo:

  • Il Reset pin 11 puo' essere lasciato float senza problemi, perche' ha una pullup interna

certo, qualche post fa ho ammesso di aver trascurato una descrizione approdondita dei moduli, che ho cmq pronta - si parla di consumi, classe (e quindi portata), etc

Poi:

  • perche' non fai un unico PDF con i vari capitoli, invece di tanti pdf separati ?

li ho lavorati separatamente, e così li ho tenuti per comodità prima di tutto mia, poi per permettere di scaricare solo la parte di interesse.
In realtà sto spostando le guide su blog, in modo da gestire aggiornamenti più velocemente, e lì manterranno tale divisione.

  • lo schema in nero nella pirma pagina e' inguardabile, puoi invertirlo con un programma di grafica se non hai il file eagle

l'ho rimpicciolito, è uno degli schemi distribuiti dai vendor.
Posso invertire nero con bianco, anche se la resa dubito sarà buona , ma provo a breve.

  • quando scrivi: inviare LF e CR (\r\n), lo cambierei in "inviare CR e LF (\r\n)"

hai pienamente ragione, me lo son perso nella rilettura (almeno, ne ho trovato solo 1)!

  • errore a pagina8 programmazione: per ottenerne la versione di fw (comando: AT+NAME?\r\n) mettere VERSION al posto di NAME

altra cosa persa! Segnato e pronto all'aggiornamento!

  • e' da chiarire quando dici che la velocita' standard degli HC05 e' 38400, in realta' la velocita' di comunicazione settata di fabbrica e' uguale per tutti i moduli e cioe' 9600, e' la velocita' da usare per la programmazione AT che e' 38400. Per spiegarmi meglio, se tu prendessi un modulo HC05 e lo lasciassi cosi' come da fabbrica, per collegarti dovresti usare 9600.

uhm questa è da approfondire. La velocità di default è quasi per tutti 9600 - quella dell' HC05, avendoci fatto parecchie modifiche, non me la ricordavo e avevo ritrovato il datasheet del venditore, in cui era segnato appunto 38400.

In realtà, cambiando baudrate, se reimpostavo la seriale a cui era connesso il modulo (es. con adattatore usb2serial), mettendo la nuova velocità la comunicazione avveniva senza problemi. Viceversa no.
Quindi quel che ne deduco è che esiste una sola velocità, che vale sia per la seriale via bt che quella "fisica".

Infine, in risposta alle considerazioni condivise con dab77, ho aggiornato la breakout base, che allego in pdf.
Sostanzialmente ho eliminato dal connettore il pin AT; la programmazione viene gestita con un jumper sulla board stessa.
Inoltre, ipotizzando di usare la board indistintamente con HC05 e HC06, ho messo un solder jumper per gestire il diverso pin del led pairing.

Metto qui pure il link del repository di queste board:

la v06 è quella di cui parlo sopra, e che è allegata come pdf.
Ce ne sono poi altre spiegate nel readme, in particolare la v01 è una breakout completa (ovvero, tutti i pin del modulo vanno all' header).

Altra eventuale modifica è gestire anche i pin CTS e RTS, in modo che il modulo possa essere utilizzato anche per l'upload di sketch su Arduino :wink:

v06.pdf (11.9 KB)

Ciao,
qui: controllare accensione led via bluetooth - #10 by pictux - Generale - Arduino Forum
primo abbozzo di tutorial (solo immagini e codice Arduino) per la creazione della prima App per Android con AppInventor

grazie dei feedback.

e' un piacere, anzi scusa se rispondo solo ora ma mi ero perso il topic

Quindi sto rimuovendo il modulo HC07 dalla guida, fino alla raccolta di maggiori informazioni.

Per quel che vale la mia opinione non sono daccordo, il mio HC07 ha funzionato grazie alla tua guida, differenze davvero non ce ne sono molte, cmq nessuna che giustifichi la rimozione dalla guida

Cosa aggiungerei quindi alla guida per quanto riguarda HC06/07 :

  • Bluetooth name standard: linvor
    pure pr HC07? :stuck_out_tongue:

yes, a conferma che e' tutto molto simile/uguale, hanno cambiato chip ma il sw e le funzioni restano

  • Possibilita' di settaggio della Parita'
    AT+PN -> None
    AT+PE -> Even
    AT+PO -> Odd

questo non c'è su HC06

Hai provato fisicamente ? ho trovato questa info proprio su test eseguiti sul 06, provandolo sul mio 07 ha funzionato, con AT+PN -> None (Risponde OK None)

  • nelle versioni Master c'e' una funzione KEY (su pin 26) per cancellare il pairing, perche' questi moduli una volta che si sono accoppiati non si lasciano piu'.
    ma la modalità di HC07 non è aggiornabile via AT?

per aggiornabile intendi "configurabile in master ?" no, si vendono gia' master o slave

Solo mettendo ad High (+3,3V) questo pin il modulo inizia una nuova ricerca, altrimenti cerca solo e soltanto il modulo accoppiato.
Per quel che riguarda HC05, non ci son questi problemi :grin:

Non e' un problema, e' una feature (secondo me), faccio un esempio, io ho un autoradio bluetooth, accoppiato al mio fidato androide, quando entro in macchina automaticamente si aggancia all'autoradio. Il bluetooth dell'autoradio cerca solo il mio cell, se entri tu con me ed hai il BT acceso l'autoradio non crea fastidio ad esempio chiedendoti se vuoi connetterti o no.

Altra eventuale modifica è gestire anche i pin CTS e RTS, in modo che il modulo possa essere utilizzato anche per l'upload di sketch su Arduino :wink:

Questa essere buonissima idea, ci ho pensato anche io, credi siano attivi questi segnali ? a noi basta solo RTS

Ciao a tutti.. Nonostante sia facile, io non ci ho capito na mazza!! ...Mi direste di preciso quali pin del BT vanno collegati ad arduino?? e come? Grazie...
(ho già provato a guardare il pdf... ma niente... : ( )
Dopo essermi inca**ato ho riletto il pdf e ho capito cosa collegare.. ho fatto le prime prove (dal serial monitor) e ho cambiato nome al modulo (é un HC-05) ho verificato la versione del fw ma non sono riuscito a cambiare il pin... come mai? Il comando l'ho copiato dal pdf.. AT+PINe pin nuovo ma niente...
Spero nel vostro aiuto : ) Grazie, come al solito... :slight_smile:

Ragazzi in qualche post di questo topic si parlava di AppInventor... Qualcuno mi saprebbe aiutare?? Non mi apre il Blocks Editor... Resta su "Scaricamento Applicazione" come posso fare?? Grazie!!

capitava anche a me, prova a reinstallare la versione di Java che hai, con la 6 funziona di sicuro con la 7 mi dava problemi

valvale97:
capitava anche a me, prova a reinstallare la versione di Java che hai, con la 6 funziona di sicuro con la 7 mi dava problemi

Ciao, ho gia provato a reinstallare.. dovrei provare con quella vecchia. Domani provo :wink: grazie!!
Ho provato con la 6 e ora va!! :smiley: Grazie!!

pitusso:

  • e' da chiarire quando dici che la velocita' standard degli HC05 e' 38400, in realta' la velocita' di comunicazione settata di fabbrica e' uguale per tutti i moduli e cioe' 9600, e' la velocita' da usare per la programmazione AT che e' 38400. Per spiegarmi meglio, se tu prendessi un modulo HC05 e lo lasciassi cosi' come da fabbrica, per collegarti dovresti usare 9600.

uhm questa è da approfondire. La velocità di default è quasi per tutti 9600 - quella dell' HC05, avendoci fatto parecchie modifiche, non me la ricordavo e avevo ritrovato il datasheet del venditore, in cui era segnato appunto 38400.

In realtà, cambiando baudrate, se reimpostavo la seriale a cui era connesso il modulo (es. con adattatore usb2serial), mettendo la nuova velocità la comunicazione avveniva senza problemi. Viceversa no.
Quindi quel che ne deduco è che esiste una sola velocità, che vale sia per la seriale via bt che quella "fisica".

Ho fatto dei test sulla velocita' delle due seriali.
Sul mio HC-07 si comporta cosi':

  • settata con comandi AT seriale modulo a 19200
  • lancio due terminali uno sulla Com seriale HW del modulo, e l'altro sulla seriale BT del modulo.
  • Se cambio le impostazioni del terminal usato sulla com hw, settandolo ad esempio 11500, non mi funziona piu' la connessione.
  • Se cambio le impostazioni del terminal usato sulla com bt, funziona.

Lato seriale BT si puo' usare indifferentemente qualsiasi velocita'. E' forse un comportamento comune per tutti gli aggeggi con profilo SPP ?

ciao a tutti, ho creato l'app consigliatami da pitusso seguendo una guida, lo scaricata nel cellulare, ho caricato lo sketch sull'arduino.
riesco a connettere il cellulare al modulo bluetooth pero' quando premo su led on non si accende il led 13.
non riesco a capire quale' il problrma, mi aiutate a capire cosa devo fare?!? appena comprato bisogna impostare via codice il modulo bluetooth? in modalita' master o slave forse?

con blueterm riesco solo a vedere cio' che viene scritto sul serial monitor non riesco a controllare niente.
ciao

Ciao
il tuo modulo dovrebbe già essere impostato a slave, altrimenti non lo vedresti neppure.

La connessione è corretta, secondo quanto riportato nella guida (magari posta pure una foto)?

in che senso e' corretta??

per connessione corretta intendi il circuito o la connesione via bluetooth??

Ciao, intendo il circuito, scusa per la poca chiarezza :stuck_out_tongue:

Cmq, il pairing da smartphone a modulo è avvenuto senza problemi?
Riesci a vedere e selezionare il modulo, usando "Choose BT device" nella app?