Arduino Forum

International => Italiano => Software => Topic started by: Matteino on Jul 22, 2012, 02:00 pm

Title: Arduino + Bluetooth + Processing
Post by: Matteino on Jul 22, 2012, 02:00 pm
Ieri ho ricevuto il nuovo giocattolino:
http://www.ebay.it/itm/270979961067?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649#ht_2662wt_1037
Sono riuscito a connettere il modulo ad Arduino e leggere con putty.
Adesso vorrei inviare i dati a processing, ma non riesco. Devo utilizzare una libreria "Bluetooth" per processing?
E' sufficiente fare leggere a processing sulla COM del bluetooth?
Grazie
Title: Re: Arduino + Bluetooth + Processing
Post by: Madwriter on Jul 22, 2012, 02:16 pm
basta leggere la porta seriale nel playground c'è un esempio con il c# dagli un occhiata se trovo il link te lo posto  ;)
Title: Re: Arduino + Bluetooth + Processing
Post by: Matteino on Jul 22, 2012, 02:36 pm
Ho provato a leggere la seriale con questo scketch:

import processing.serial.*;

Serial myPort;  // Create object from Serial class


void setup()
{
  size(200, 200);
  String portName = Serial.list()[2];
  myPort = new Serial(this, portName, 9600);
}

void draw()
{
  if ( myPort.available() > 0) {  // If data is available,
  println(myPort.read());
  }
}
Il problema è che il bluetooth non si connette...

Title: Re: Arduino + Bluetooth + Processing
Post by: Madwriter on Jul 22, 2012, 03:25 pm

Ho provato a leggere la seriale con questo scketch:

import processing.serial.*;

Serial myPort;  // Create object from Serial class


void setup()
{
  size(200, 200);
  String portName = Serial.list()[2];
  myPort = new Serial(this, portName, 9600);
}

void draw()
{
  if ( myPort.available() > 0) {  // If data is available,
  println(myPort.read());
  }
}
Il problema è che il bluetooth non si connette...



ma devi fare prima il paring col pc ovvero trovi il tuo dispositivo e lo associ il pc gli associa una porta seriale virtuale tu ci comunichi come vuoi,putty,hyperterminale ide arduino o programmi ad hoc.
Title: Re: Arduino + Bluetooth + Processing
Post by: Matteino on Jul 22, 2012, 03:30 pm
Se uso putty o un terminale BT android il paring va a buon fine e riesco a leggere la seriale.
Ma con processing il paring non avviene. non capisco dove sbaglio...
Title: Re: Arduino + Bluetooth + Processing
Post by: Madwriter on Jul 22, 2012, 03:31 pm

Se uso putty o un terminale BT android il paring va a buon fine e riesco a leggere la seriale.
Ma con processing il paring non avviene. non capisco dove sbaglio...

scuami ma tu il paringo lo fai dal pc mica dal terminale,dopo aver fatto il paring apri il terminale e leggi/scrivi la seriale giusto?
Title: Re: Arduino + Bluetooth + Processing
Post by: Matteino on Jul 22, 2012, 03:35 pm
Ma quando lancio putty o l'app bt term, il dispositivo si connette in automantico...
Title: Re: Arduino + Bluetooth + Processing
Post by: Matteino on Jul 22, 2012, 04:58 pm
Probabilmente non riesco a fare il pairing. Mi potresti indicare come procedi tu?
Io una volta installato il nuovo dispositivo bt, ho inserito il code "1234", e mi compare la seriale associato al dispositivo.
Il led di stato, quando mi connetto per esempio con putty, passa da rosso a verde e tutto è ok.
Quando tento di leggera da processing il led è sempro rosso (disconnesso)
Title: Re: Arduino + Bluetooth + Processing
Post by: Madwriter on Jul 22, 2012, 05:35 pm

Probabilmente non riesco a fare il pairing. Mi potresti indicare come procedi tu?
Io una volta installato il nuovo dispositivo bt, ho inserito il code "1234", e mi compare la seriale associato al dispositivo.
Il led di stato, quando mi connetto per esempio con putty, passa da rosso a verde e tutto è ok.
Quando tento di leggera da processing il led è sempro rosso (disconnesso)

ok il modo di fare il paring è corretto probablmente è il tuo programma che non instaura alcuna connessione se hai un terminle android puoi provare con blueterm purtroppo non ho qui il programma che ho svilyppato io  :.
Title: Re: Arduino + Bluetooth + Processing
Post by: Matteino on Jul 22, 2012, 05:36 pm
Infatti con blueterm tutto funziona perfettamente. E' con processsing che non si connette....
Title: Re: Arduino + Bluetooth + Processing
Post by: Matteino on Jul 30, 2012, 10:06 pm
Rieccomi... 
qualcuno è riuscito a comunicare  tra Arduino e Processing via Bluetooth?
Riassumendo io riesco a leggere con blueterm e putty i dati inviati da Arduino via Bluetooth (led verde di connessine avvenuta), ma con Processing nulla.. (il led di statto sulmodulo bt rimane spento)
Ogni aiuto è ben accetto  :)
Title: Re: Arduino + Bluetooth + Processing
Post by: pictux on Jul 30, 2012, 10:59 pm
Ciao,
io ti confermo che con Processing si comporta come con qualsiasi altro sw, una volta effettuato il pairing.
Prova a specificare la porta.
Title: Re: Arduino + Bluetooth + Processing
Post by: Matteino on Jul 30, 2012, 11:21 pm
E' strano, sembra non rilevare la porta BT.
Con "println(Serial.list()); " con Arduino e Bt scollegato e spento ottengo:
Title: Re: Arduino + Bluetooth + Processing
Post by: pictux on Jul 30, 2012, 11:35 pm
Ciao

Quote
E' strano, sembra non rilevare la porta BT.
Con "println(Serial.list()); " con Arduino e Bt scollegato e spento ottengo:
"COM8"    [1] "COM10]
Con "println(Serial.list()); " con Arduino e Bt collegato e acceso ottengo:
"COM7"    [1] "COM8]     [2] "COM10]
COM7 è l'USB di arduino, mentre non mi rileva la COM9 del BT ..


prova a specificarla, invece di
Code: [Select]
String portName = Serial.list()[2];
usa
Code: [Select]
String portName = "COM9";

Title: Re: Arduino + Bluetooth + Processing
Post by: Matteino on Jul 30, 2012, 11:41 pm
Ciao Pitusso,
con la modifica che mi hai suggerito ci sono delle novità.
Quando lancio lo sketch il led verde di avvenuta connessione sul BT si accende per mezzo secondo, ma poi si disconnette e seul monitor seriale ottengo una serie di errori:


gnu.io.PortInUseException: Unknown Application
   at gnu.io.CommPortIdentifier.open(CommPortIdentifier.java:354)
   at processing.serial.Serial.<init>(Unknown Source)
   at processing.serial.Serial.<init>(Unknown Source)
   at sketch_jul30b.setup(sketch_jul30b.java:31)
   at processing.core.PApplet.handleDraw(PApplet.java:1952)
   at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:187)
   at processing.core.PApplet.run(PApplet.java:1855)
   at java.lang.Thread.run(Thread.java:662)
Exception in thread "Animation Thread" java.lang.RuntimeException: Error inside Serial.<init>()
   at processing.serial.Serial.errorMessage(Unknown Source)
   at processing.serial.Serial.<init>(Unknown Source)
   at processing.serial.Serial.<init>(Unknown Source)
   at sketch_jul30b.setup(sketch_jul30b.java:31)
   at processing.core.PApplet.handleDraw(PApplet.java:1952)
   at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:187)
   at processing.core.PApplet.run(PApplet.java:1855)
   at java.lang.Thread.run(Thread.java:662)
Title: Re: Arduino + Bluetooth + Processing
Post by: Matteino on Jul 30, 2012, 11:45 pm
e questo:  Error inside Serial.<init>0
Title: Re: Arduino + Bluetooth + Processing
Post by: pictux on Jul 30, 2012, 11:59 pm
Ciao

Quote
gnu.io.PortInUseException: Unknown Application


assicurati che la porta non sia in uso, il problema sembrerebbe essere quello.
Title: Re: Arduino + Bluetooth + Processing
Post by: Matteino on Jul 31, 2012, 12:10 am
La porta non sembrerebbe in uso.
Ho notato inoltre che non sempre quando lancio lo sketch ottengo il messaggio di errore che ti dicevo.
Nel senso che a volte sembra connettersi per mezzo secondo, ma poi salta e mi genere l'errore.
9 volte su 10 invece il BT sembra trasparente e non ottengo alcun errore, ma non prova nemmeno a connettersi.
Title: Re: Arduino + Bluetooth + Processing
Post by: Matteino on Jul 31, 2012, 08:09 pm
Ciao pitusso, ho riprovato in tutti i modi ma sempre lo stesso errore.
Adesso stavo provando a programmare il modulo BT, ma anche qui ci sono problemi.
Sto utilizzando lo sketch incluso nella tua guida:
#include <SoftwareSerial.h> //IDE >= 1.0
//#include <NewSoftSerial.h> //IDE <= 0023
const int rxPin = 2;
const int txPin = 3;
const int atPin = 4;
SoftwareSerial bluetooth(rxPin, txPin); //IDE >= 1.0
//NewSoftSerial bluetooth(rxPin, txPin); //IDE <= 0023
void setup() {
Serial.begin(9600);
bluetooth.begin(9600);
pinMode(atPin, OUTPUT);
Serial.println("Seriali attive...");
digitalWrite(atPin, HIGH);
}
void loop() {
if (bluetooth.available()) {
Serial.write(bluetooth.read());
}
if (Serial.available()) {
bluetooth.write(Serial.read());
}
}

e le connessioni:     Arduino     -    BT
                                 2          -    TX
                                 3          -    RX
                                 4          -    MODE
Il modulo BT è acceso e entra correttamente in modalità programmazione. Quando digito sul monitor seriale i comandi AT non ottengo alcuna risposta..
Qualche aiuto?
Grazie
Title: Re: Arduino + Bluetooth + Processing
Post by: pictux on Jul 31, 2012, 11:21 pm
Ciao

Quote
Il modulo BT è acceso e entra correttamente in modalità programmazione. Quando digito sul monitor seriale i comandi AT non ottengo alcuna risposta..


Hai messo una resistenza da 2k2 sul RX del modulo e il TX di Arduino?
La TTL del moduli lavora a 3v3, e rischi di danneggiarlo a connetterlo direttamente ad un TX di Arduino...

Hai impostato correttamente i fine linea?

Cmq anche cece99, che ha lo stesso modulo + breakout, accusava problemi analoghi.


Title: Re: Arduino + Bluetooth + Processing
Post by: Matteino on Jul 31, 2012, 11:28 pm
Ciao pitusso,
è presente la R da 2,2K. Ho settato il fine riga come indicato nella tua guida, ma nulla...  :~
Title: Re: Arduino + Bluetooth + Processing
Post by: pictux on Jul 31, 2012, 11:45 pm
Ciao,
il pin MODE della breakout a che pin del modulo è collegato?
Title: Re: Arduino + Bluetooth + Processing
Post by: Matteino on Aug 01, 2012, 12:10 am
Adesso "non ho molta visibilità"  XD, domani controllo con esattezza.
Ti posso però dire che se mando il pin MODE alto, sembrerebbe entrare correttamente in programmazione, perchè il led lampeggi lentamente..
Title: Re: Arduino + Bluetooth + Processing
Post by: Matteino on Aug 02, 2012, 12:24 am
Rieccomi...
il PIN "MODE" è collegato al PIN34 del modulo (PIO11)
Se accendo il modulo con il MODE basso, il led lampeggia velocemente (circa 2-3 lampeggi al secondo) e riesco ad accedere al modulo (via smartphone o putty)
Se accendo il modulo con il MODE alto, il led lampeggia lentamente(circa 1 lampeggio ogni 2 secondi) e non riesco più ad accedere al modulo
Title: Re: Arduino + Bluetooth + Processing
Post by: Madwriter on Aug 02, 2012, 10:08 am
quando il pin mode alto il modulo perde la connessione e accetta comandi AT per la riprogrammazione.
Title: Re: Arduino + Bluetooth + Processing
Post by: pictux on Aug 07, 2012, 05:35 pm
Ciao
ieri cece99 è venuto all'incontro del TV-AUG portando i suoi modulini.
Accusava il tuo stesso problema per quel che riguarda la modalità AT.

Innanzitutto, per il modulo HC-05 (che è montato sulla schedina che hai acquistato), per passare alla modalità AT devi:
1. alimentare il modulo
2. mettere a HIGH (3v3) il pin MODE - attenzione, solo dopo aver alimentato il modulo.

Il lampeggio di led di STATUS non cambierà.
A questo punto puoi passare i comandi AT.

C'è poi un'altra cosa da considerare: la velocità della UART del modulino.
Sul modulino di cece99 era impostata a 115200, mentre nell'inserzione si parlava di velocità preimpostata a 38400.

Quindi, quel che abbiamo fatto, è stato di utilizzare un adattatore USB2SERIAL.
Una volta collegato al modulo BT, usando GTKterm (ma pure putty andrebbe bene),abbiamo provato con le varie velocità sino a che il modulo ha risposto.
Da lì non ci son stati altri problemi.



Title: Re: Arduino + Bluetooth + Processing
Post by: Matteino on Aug 08, 2012, 10:20 am
Ciao pitusso,
Ottime notizie, grazie!
Avevo letto nel datasheet che nonostante venisse dichiarata una velocita di default di 38400, in realtà i moduli erano settati a 115200.
Stasera riprovo come hai fatto tu...
Title: Re: Arduino + Bluetooth + Processing
Post by: Matteino on Aug 08, 2012, 02:17 pm
Ho riprovato con putty, ma nulla.
Ecco la mia configurazione.
Arduino sulla COM7 (utilizzo arduino come convertitore usb seriale)
pin Rx di arduino su Tx modulo bt e viceversa.
Alimento il modulo, quindo porto alto il pin MODE. (Tieni alto il pin per tutta la programmazione o solo per un attimo all'inizio? Nel dubbio ho provato entrambi. La frequenza del lampeggio non cambia, come dicevi tu).
A questo punto apro putty. Configuro la porta COM7 a 115200.
Non ottengo risposta con i comandi:
at, AT, at?, AT?, at\r\n, at?\r\n, AT\r\n, AT?\r\n
Ho riprovato tutti i comandi settando la velocità a 9600,19200,38400,57600,115200.
Stesso risultato con HyperTerminal
Dove sbaglio?

Title: Re: Arduino + Bluetooth + Processing
Post by: Matteino on Sep 27, 2012, 08:42 pm
Aggiornamento...
ho ricevuto il nuovo modulo bluetooth, questo: http://www.google.it/imgres?q=hc-05+arduino&um=1&hl=it&sa=N&biw=1241&bih=567&tbm=isch&tbnid=MqOY830usFtmJM:&imgrefurl=http://www.ebay.com.au/itm/180923667447&docid=KbMK3yp8p1SvRM&imgurl=http://i.ebayimg.com/00/s/ODAwWDgwMA%253D%253D/%2524(KGrHqN,!qUE%252BlrD50s0BQVH%252BElDqQ~~60_35.JPG&w=300&h=300&ei=yIFkUMe_K6n44QSR1oDYCA&zoom=1&iact=hc&vpx=337&vpy=232&dur=1016&hovh=226&hovw=226&tx=101&ty=129&sig=110087711803303577881&page=2&tbnh=176&tbnw=176&start=11&ndsp=15&ved=1t:429,r:11,s:11,i:148

Adesso utilizzando la "Guida Pitusso" riesco tranquillamente a impartire i comandi AT.
Ma persiste il problema con Processing. Riassumendo:
Windows 7, Processing 2.0a6, Arduino UNO e Modulo Bluettoth HC-05.
Su Processing lo sketch:
import processing.serial.*;

Serial myPort;  // Create object from Serial class


void setup()
{
  size(200, 200);
  String portName = Serial.list()[2];
  myPort = new Serial(this, "COM9", 9600);
}

void draw()
{
  if ( myPort.available() > 0) {  // If data is available,
  println(myPort.read());
  }
}

Ma non si connette...
Qualche aiuto? non so più che fare...
M.
Title: Re: Arduino + Bluetooth + Processing
Post by: Madwriter on Sep 27, 2012, 09:35 pm
leggi la guida di pitusso in megatopic e sostituisci la libreria TXRX di processing ;)
Title: Re: Arduino + Bluetooth + Processing
Post by: Matteino on Sep 27, 2012, 09:38 pm
Ciao  e grazie,
ho letto la "Guida Pitusso". Mi sapresti dare altre info per sostituire la lib TXRX?
M.ino

EDIT: se ti riferisci al problema di processing a 64bit, io utilizzo la versione 2.0a6, che non presenta problemi di libreria.
Ma tu riesci ad utilizzare il modulo bluetooth con processing?