Italian modulo Bluetooth hc 06 e arduino...

Fabiocavalleri

New Member
Licensed User
Longtime User
salve a tutti, qualcuno a scritto del codice a riguardo?

io ho gia scritto la parte di arduino del codice, e funziona perfettamente con l'app android arduino blotooth terminal o col terminale dell'ide arduino.

vorrei avere qualche semplice esempio con basic4android...

dovrei scrivere una stringa di 8 caretteri seguita da linefeed e ricevere un valore numerico di 4 cifre.

ringrazio tutti in anticipo

fabio
 

marco.canta

Active Member
Licensed User
Longtime User
Ciao ti allego due piccoli esempi su come trasmettere e ricevere dati dalla porta COM (Bluetooth)

Spero ti siano d'aiuto , se hai dubbi domanda ;)

Con questo, alla pressione di un tasto abinato al pin 23 trasmette una stringa di 8 caratteri seguita da LF:
B4X:
int button1 = 23;
int buttonState = 1;

void setup() {
  Serial.begin(9600);
}

void loop() {
  buttonState = digitalRead(button1);               
  if(buttonState == LOW) {
    Serial.println("12345678");
  }
}


e con questo ricevi una Stringa di 4 caratteri :
B4X:
String inputString = "";       
boolean stringComplete = false; 

void setup() {
  Serial.begin(9600);
  inputString.reserve(4);    // Imposto il numero di caratteri da ricevere
}

void loop() {
  if (stringComplete) {

    // *** Qui ora hai nella variabile "inputString" il valore ricevuto ***

    // clear the string:
    inputString = "";
    stringComplete = false;
  }
}


void serialEvent() {
  while (Serial.available()) {
    char inChar = (char)Serial.read();
    inputString += inChar;
    if (inChar == '\n') {
      stringComplete = true;
    }
  }
}


Ciao Marco
 

Fabiocavalleri

New Member
Licensed User
Longtime User
Grazie Marco.. Gentilissimo.. .
Questo é più o meno quello che ho fatto anche io.. È funziona benissimo se invio o ricevo dati col bluetoot da PC. .
È la parte basic4android che non riesco a capire bene..
Ho provato alcuni esempi scaricati da qui ma non vanno..
Io dovrei associare a dei bottoni una stringa composta da "" ccc dddd" dove ccc é un codice di comando e dddd un valore numerico... Totale 8 caratteri.. Ho già scritto il codice per Arduino che mi estrae dalla stringa il codice comando e il valore numerico....
Uso un Arduino Due e un tft da 5 pollici per visualizzare i dati ricevuti ed elaborare il tutto.. .
Grazie ancora..
Fabio
 

LucaMs

Expert
Licensed User
Longtime User
Io conosco il signor Arduino quanto conosco papa Francesco :).

Però, se il problema è solo in B4A...

Non sono sicurissimo di aver capito bene il tuo problema, ma:

"Io dovrei associare a dei bottoni una stringa composta da "" ccc dddd" dove ccc é un codice di comando e dddd un valore numerico"

significa che vuoi che alla pressione di un tasto x questo riporti la stringa creata?

Mi sembra troppo facile!

Puoi mettere la stringa sia nel testo del button, ma meglio ancora nel tag.

Se è una cosa diversa, puoi creare una Map che abbia per chiave la tua stringa e per valore un button.

A meno che il problema non sia: come comporre la stringa, cosa ancora più facile. O suddividere il comando dal numero?

Beh, sono passati giorni, avrai già risolto ;)
 

Fabiocavalleri

New Member
Licensed User
Longtime User
Il problema che ho non è la stringa.. Ma come b4a gestisce il bluetooth.. non ci ho capito un granché... Fino a creare un bottone e associare la relativa stringa ci posso arrivare... È quello che ci sta prima che non capisco... Con visual
Basic, una volta che hai associato il dispositivo è preso nota della porta seriale che usa il PC per comunicare col bluetooth integrato, il gioco è semplice.. SI tratta solo di scrivere su una seriale... Con Android non è così semplice....
 

LucaMs

Expert
Licensed User
Longtime User
Eh, mi pareva troppo semplice :)

Ah ho riletto (e spero d'aver capito, stavolta, hehehe)

PC-Arduino riesci a farli comunicare via BlueTooth ma non riesci B4A(dispositivoX)-Arduino.

Per ora non so risponderti, mi spiace. (anche perché io sto ancora bestemmiando perché non ho un driver BT per win7 adatto al mio smartphone!)
 

Fabiocavalleri

New Member
Licensed User
Longtime User
Esatto... proprio così....Ho anche trovato so Google play, una sorta di terminale per Android, che funziona benissimo... quindi la cosa é sicuramente fattibile....grazie comunque....
 

luciano deri

Active Member
Licensed User
Longtime User
Salve a tutti. Ho questo problema aperto con il carattere FNC1 dell'ean 128 da troppo tempo, speriamo che questa la volta buona. La questione è in questi termini: ho un lettore barcode bluetooth (Motorola CS0370) in emulazione tastiera. Se leggo un EAN128 potrei leggere un carattere x'1D' (FNC1) che non viene visualizzato nel'edit text. Anche se intercetto ogni singolo carattere nel textchange, opportunamente convertito in esadecimale, il carattere FNC1 non lo trovo. Dal momento che la stessa operazione su un file.txt contiene tutti i carattere, presumo che il problema riguardi l'edit text. Potrei connettermi alla porta seriale e intercettare il flusso dati prima che arrivi all'edit text? Se si, come? Grazie.
 
Top