Go Down

Topic: Problema bluetooth android (Read 1 time) previous topic - next topic

nike_77

Buongiorno a tutti,
non riesco a far comunicare arduino con il modulo HC-05 tramite android.
Mi spiego meglio: se collego l'HC-05 con arduino e da pc collego il buetooth tramite il modulo seriale
riesco ad inviare i comandi per far accendere e spegnere il led mentre non funziona con un cell android ad esempio
con l'applicazione blueterm non riesco a scrivere e quindi ad inviare caratteri al HC-05.
Ho anche creato un app con App Inventor per mandare via bluetooth comandi ad arduino ma niente da fare.
Non riesco a capire come mai da pc funziona e da andriod no.
Potete darmi una mano?

Grazie

nike_77

Nessuno mi può aiutare?

Indendevo dire che con il cell riesco a fare il paring dell'HC-05 scelgo il dispositivo e si connette
ma non riesco ad inviare niente tramite bluetooth ad arduino.

Ciao,
è da un po che non pasticcio con bluetooth + android, ho dovuto riguardare che app ho installato:
Bluetooth SPP
Bluetooth SPP pro
SENA BTerm
il migliore mi sembrava l'ultimo, blueterm non ce l'ho.
Con SENA non ho avuto problemi tra arduino + HC-05 + android.
Hai connesso bene i pin tx rx tra arduino l'HC-05?
Hai provato a connettere insieme i tx rx dell'HC-05 senza l'arduino, per vedere se riceve e ritrasmette i caratteri?

gpb01


se collego l'HC-05 con arduino e da pc collego il buetooth tramite il modulo seriale
riesco ad inviare i comandi per far accendere e spegnere il led ....


@ bigjohnson : Attento, lui dice chiaramente che con il PC gli funziona, quindi .. i problema non è Arduino <-> HC-05 ma proprio la connessione Bluetooth con il device Android ...

Guglielmo
Search is Your friend ... or I am Your enemy !

Infatti io gli ho detto quali prove fare per vedere se funziona il collegamento tra android e HC-05, non tra pc e HC-05 ;)

nike_77


Ciao,
è da un po che non pasticcio con bluetooth + android, ho dovuto riguardare che app ho installato:
Bluetooth SPP
Bluetooth SPP pro
SENA BTerm
il migliore mi sembrava l'ultimo, blueterm non ce l'ho.
Con SENA non ho avuto problemi tra arduino + HC-05 + android.
Hai connesso bene i pin tx rx tra arduino l'HC-05?
Hai provato a connettere insieme i tx rx dell'HC-05 senza l'arduino, per vedere se riceve e ritrasmette i caratteri?

Ciao bigjohnson,
proverò con le app che mi hai indicato ma non credo sia un problema di connessione se no non funzionerebbe neanche
dal pc. Comunque ho messo GND a massa, TDX al RX di arduino, RDX al TX di arduino e alimentazione 5V.
Mi hai dato una bella idea di connettere i tx e rx dell'HC05 per vedere i caratteri e lo provo e ti faccio sapere.

nike_77



se collego l'HC-05 con arduino e da pc collego il buetooth tramite il modulo seriale
riesco ad inviare i comandi per far accendere e spegnere il led ....


@ bigjohnson : Attento, lui dice chiaramente che con il PC gli funziona, quindi .. i problema non è Arduino <-> HC-05 ma proprio la connessione Bluetooth con il device Android ...

Guglielmo


Si infatti corretto! Tra pc e arduino funziona  ;)

gpb01

#7
Oct 30, 2013, 03:48 pm Last Edit: Oct 30, 2013, 03:50 pm by gpb01 Reason: 1

Si infatti corretto! Tra pc e arduino funziona  ;)


Appunto, quindi il problema è la connessione con Android.

Allora, ho preso adesso il mio Kindle Fire HD (... è Amazon ... ma è Android) e ho installato BTInterface v8 ... selezionato il bottone "Discover", selezionato HC-05 (... ho dato questo nome al modulino HC-05), dato il PIN e ... si è immediatamente connesso e posso trasmettere e ricevere i dati ...

Quindi ...

1. verifica se il tuo android, nel setup del bluetooth, comunque vede il device
2. verifica se il tuo programma si aspetta qualche carattere di fine stringa (es. la mia applicazione, si aspetta dei messaggi terminati dal carattere CR)
3. verifica di aver dato il PIN corretto e che il modulo sia connesso (lampeggio del LED lento)

Guglielmo
Search is Your friend ... or I am Your enemy !

pitusso

A parte il pairing, selezioni con che device istanziare la comunicazione lato applicativo?

nike_77

Intanto grazie a tutti delle risposte . Ieri non sono riuscita a provare ma appena riesco vi faccio sapere  :)

Comunque si dopo il paring accendo il bluetooth nel telefono e associo il dispoditivo e mi dice "connesso" ma non riesco ad inviare alcun carattere ..è come se il programma nel tel si blocca e non scrive niente di niente.

Oggi spero di riuscire a fare altre prove epoi vi faccio sapere  :)

nike_77

Ciao a tutti,
ho fatto varie prove ma non ho ancora risolto:
1-ho provato a connettere rx e tx del HC05 e collegandomi con il cell con un bluetooth terminal riesco ad inviare caratteri e a riceverli
2- se invece metto tx e rx su arduino con questo sketch:
unsigned char val;
int ledpin = 12; //Impostate il pin LED che preferite

void setup() {
pinMode(ledpin, OUTPUT);
Serial.begin(9600);
   Serial.println("OK then, you first, say something.....");
    Serial.println("Go on, type something in the space above and hit Send, or just hit the Enter key");
}
void loop() {
while(Serial.available()==0)
  {}
  delay(500);
  Serial.println("I heard you say:      ");
  while(Serial.available()>0)
  {
    Serial.write(Serial.read());// note it is Serial.WRITE
    if( val == 'H' ) {
       digitalWrite(ledpin, HIGH);
   }
     else {
       digitalWrite(ledpin, LOW);
     }
  }
  Serial.println("");
delay(1000);
}
da android dopo aver fatto il paring e associato il HC05 (lampeggia lento) da un bluetooth terminal leggo la scritta:
OK then, you first, say something.....
Go on, type something in the space above and hit Send, or just hit the Enter key
ma non riesco ad inviare nulla ...non riesco a premere send ed inviare il messaggio

Per le prove di android uso un galaxy s3 ..sapete se va bene?
Ho sbagliato il baudrate?
Non riesco a capire con lo stesso programma dal pc il led si accende e spegne  =(

gpb01

Guarda, fai una cosa, collega il modulo bluetooth ai pin 10 e 11 (TX del bluetooth sul 10, RX del bluetooth sul 11) e poi carica questo semplicissimo programma di monitor :

Code: [Select]

// *****************************************************
//
//        Bluetooth module serial communication
//              Bluetooth <--> USB_Serial
//
// *****************************************************

#include <SoftwareSerial.h>

# define  BT_CONTROLMODE      // Uncomment if you set the KEY pin to HIGH (Control mode)

#define  BT_RX 10            // PIN to receive from bluetooth <--
#define  BT_TX 11            // PIN to transmit to bluetooth  -->

SoftwareSerial btSerial(BT_RX, BT_TX);

void setup()
{
  delay (2000);
  //
  Serial.begin(9600);        // Initialize USB Serial port
  //
  #ifdef BT_CONTROLMODE
    btSerial.begin(38400);   // Initialize Bluetooth SoftwareSerial port for default control speed
  #else
    btSerial.begin(9600);    // Initialize Bluetooth SoftwareSerial port for selected data speed
  #endif
  //
  Serial.println("--- Ports ready ---");
  Serial.println("");
  //
  #ifdef BT_CONTROLMODE
    delay(1000); 
    btSerial.print("AT");
    btSerial.print("\r\n");
  #endif
}

void loop()
{
  if (btSerial.available() > 0) Serial.write(btSerial.read());
  if (Serial.available() > 0) btSerial.write(Serial.read());
}


Lascia stare la define di BT_CONTROLMODE che serve solo per scegliere la velocità a 38'400 quando si è in modalità controllo. Il colloquio è previsto a 9'600 ...

Attacchi il PC sulla USB di Arduino e apri il monitor seriale, da Android ti colleghi al HC-05 e ... tutto quello che arriva sul bluetooth lo vedi sul monitor seriale, tutto quello che tu, dal PC, scrivi sul monitor seriale lo devi vedere su Android (... in pratica ogni carattere ricevuto dalla SoftwareSerial viene stampato sulla Serial e viceversa ;)). Banale ...

Almeno capisci se c'è veramente questa connessione o se il programma che stai usando su Android non funziona. Piuttosto ... ti sei scaricato BTInterface che sono certo funzioni ?

Guglielmo
Search is Your friend ... or I am Your enemy !

nike_77

Allora ho provato e connettendo il bluetooth del cell al HC-05: da cell vedo tutto quello che scrivo sul pc dalla serial monitor e viceversa (ma non vedo quello che scrivo sul dispositivo che stò usando) con un unica differereza che quello che scrivo dal pc è "stringa" e a capo mentre dal cell è come una stringa continua che non va mai a capo.
Nel playstore non ho trovato BTInteface ma ho usato il pgm BlueSerialBeta BluetoothSPP con lo stesso risultato.


gpb01


...
Nel playstore non ho trovato BTInteface ma ho usato il pgm BlueSerialBeta BluetoothSPP con lo stesso risultato.


Ti avevo dato il link di BTInterface ...
... ha il vantaggio che, nelle opzioni, imposti come vuoi che venga terminata la trasmissione, ovvero ... l'invio automatico del CR quando fai SEND ;)

Prova ...

Guglielmo
Search is Your friend ... or I am Your enemy !

nike_77

Ciao Guglielmo, hai ragione mi avevi dato il link solo che non mi si apriva la pagina nel browser del cell.
Coomuque adesso l'ho installato e ho provato e adesso nel monitor seriale del pc non vedo quello che scrivo dal pc mentre con il BITnerface vedo sia quello che scrivo da cell che da pc . Come prima invece quello che scrivo da BTInteface compare come una stringa continua e le strighe non vanno a capo.. Non ci stò più capendo niente..cosa non va?
Si può resettare l'HC05? come posso scrivere il carattere CR? ho provato con \r\n ma niente da fare..

Go Up