Pages: [1] 2 3   Go Down
Author Topic: Arduino + Bluetooth + Processing  (Read 2161 times)
0 Members and 1 Guest are viewing this topic.
Bergamo
Offline Offline
Full Member
***
Karma: 1
Posts: 142
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Offline Offline
Edison Member
*
Karma: 28
Posts: 2031
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

basta leggere la porta seriale nel playground c'è un esempio con il c# dagli un occhiata se trovo il link te lo posto  smiley-wink
Logged

"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

Bergamo
Offline Offline
Full Member
***
Karma: 1
Posts: 142
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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...

Logged

Offline Offline
Edison Member
*
Karma: 28
Posts: 2031
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

Bergamo
Offline Offline
Full Member
***
Karma: 1
Posts: 142
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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...
Logged

Offline Offline
Edison Member
*
Karma: 28
Posts: 2031
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
Logged

"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

Bergamo
Offline Offline
Full Member
***
Karma: 1
Posts: 142
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma quando lancio putty o l'app bt term, il dispositivo si connette in automantico...
Logged

Bergamo
Offline Offline
Full Member
***
Karma: 1
Posts: 142
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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)
Logged

Offline Offline
Edison Member
*
Karma: 28
Posts: 2031
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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  smiley-small
Logged

"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

Bergamo
Offline Offline
Full Member
***
Karma: 1
Posts: 142
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Infatti con blueterm tutto funziona perfettamente. E' con processsing che non si connette....
Logged

Bergamo
Offline Offline
Full Member
***
Karma: 1
Posts: 142
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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  smiley
Logged

0
Offline Offline
Edison Member
*
Karma: 24
Posts: 2287
Have you mooed today?
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao,
io ti confermo che con Processing si comporta come con qualsiasi altro sw, una volta effettuato il pairing.
Prova a specificare la porta.
Logged

Bergamo
Offline Offline
Full Member
***
Karma: 1
Posts: 142
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 ...

Logged

0
Offline Offline
Edison Member
*
Karma: 24
Posts: 2287
Have you mooed today?
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
String portName = Serial.list()[2];
usa
Code:
String portName = "COM9";

Logged

Bergamo
Offline Offline
Full Member
***
Karma: 1
Posts: 142
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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)
Logged

Pages: [1] 2 3   Go Up
Jump to: