Arduino + JPEG Camera + XBee

Ciao a tutti! Ho già cercato su Google alcuni esempi etc, su come collegare una camera JPEG ad un modulo XBee e trasmettere le immagini al PC o al dispositivo ricevente, ma non ho trovato nulla su come fare per poter interagire con arduino perchè se volessi montare una camera su un ROVER, o ricevo i dati VIDEO, o ricevo/invio dati per lo spostamento... perche mi pare d'aver capito che l'unico modo per poter utilizzare piu di un RX/TX sia la NewSerial, che specifica: 1 solo comando di ricezione alla volta... ma vale anche per l'invio??? la camera invia e basta :) mentre i comandi per il ROVER sono invio/ricezione (piu ricezione che invio)

sono come al solito.. CONFUSO!

PS: Piattaforma: ARDUINO UNO

Arduino NON ha la potenza né le capacità per fare analisi di immagine ...

... premesso questo, cosa vorresti ricevere dalla telecamera ? Per farci cosa ? ... senza dettagli è difficile darti risposte !

Guglielmo

Semplicemente, trasmettere le immagini dal ROVER e riceverle su PC (TIPO WEBCAM)… so che tramite XBee connesso direttamente alla camera si può fare, però magari si trova un’alternativa oltre ad utilizzare un paio di XBee solo per il video… :fearful: :fearful:

Ahhhh ... ok, quindi l'elaborazione delle immagini le fai sul PC e poi da quest'ultimo invii i comandi al Rover ... OK, scusa, avevo capito male io la domanda ! :roll_eyes:

In che senso la SoftwareSerial accetta un solo comando alla volta ? Quella libreria ti permette di creare una seconda serial usando un'altra coppia di pin oltre lo 0 e 1 di Arduino.

Quello che non puoi fare è gestire, contemporaneamente, due o più SoftwareSerial ...

Guglielmo

Ecco, ma quindi se io faccio inviare le immagini dal ROVER, lui mi riceve i comandi di spostamento??? in questo caso avrò: in uscita(costante) le immagini dalla camera e sporadicamente in ricezione i comandi del ROVER.. sarebbe possibile?

Si, la seriale standard di Arduino (pin 0 e 1) e la SoftwareSerial possono lavorare contemporaneamente (sono entrambe gestire ad interrupt ed entrambe hanno un buffer di 64 char), quindi, mentre su una trasmetti, sull'altra puoi ricevere.

Ho un programma che fa esattamente quello ... su una (la Serial) legge la tastiera e, contemporaneamente sull'altra (SoftwareSerial) legge i dati che arrivano da un modulino WiFi della Roving Networks.

Guglielmo

Benissimo!! e 1000 grazie per aver chiarito questo mio dubbio atroce! SoftSerial o NewSoftSerial?

Se leggi la descrizione della libreria (http://arduino.cc/en/Reference/Libraries) scoprirai che :

SoftwareSerial - for serial communication on any digital pins. Version 1.0 and later of Arduino incorporate Mikal Hart’s NewSoftSerial library as SoftwareSerial.

…quindi … tu fai solo la #include <SoftwareSerial.h> ed hai già la versione aggiornata :slight_smile:

Guglielmo

P.S. : Ovviamente sempre che usi una versione dell’IDE >= 1.0 :wink:

OKy Grazie :D

allora metto assieme il TEAM per procedere con lo sviluppo!!!

ADemo86: Semplicemente, trasmettere le immagini dal ROVER e riceverle su PC (TIPO WEBCAM)... so che tramite XBee connesso direttamente alla camera si può fare,

Attenzione che se stai usando uno di quei moduli cam con uscita seriale al massimo puoi ricevere dei singoli frame a bassa risoluzione e servono diversi secondi per ogni immagine, assolutamente inutile per guidare il rover. Il problema è nella banda utile che con gli Xbee è circa 80 kbps, perfetti per un data link troppo pochi per un flusso video.

astrobeed:

ADemo86: Semplicemente, trasmettere le immagini dal ROVER e riceverle su PC (TIPO WEBCAM)... so che tramite XBee connesso direttamente alla camera si può fare,

Attenzione che se stai usando uno di quei moduli cam con uscita seriale al massimo puoi ricevere dei singoli frame a bassa risoluzione e servono diversi secondi per ogni immagine, assolutamente inutile per guidare il rover. Il problema è nella banda utile che con gli Xbee è circa 80 kbps, perfetti per un data link troppo pochi per un flusso video.

Concordo, io avrei optato per una soluzione modem con openWRT e webcam via WIFI Ciao C

cece99: Concordo, io avrei optato per una soluzione modem con openWRT e webcam via WIFI

O più semplicemente una IPcam WiFi, ora si trovano abbastanza a poco anche motorizzate.

Se NON ha già la telecamera (... mi sembrava che già l'avesse) ... allora c'è anche la soluzione, ancora più economica, di una mini-telecamerina analogica (ce ne sono di piccolissime e leggerissime) con trasmettitore radio del segnale analogico. Poi gli serve però un ricevitore ed un frame-graber o simile (esistono anche economici USB) sul PC per ricevere il video.

Alla fine non so ... mi sai che i costi tra questa soluzione ed una telecamera WiFi si equivalgono ...

Guglielmo

bhe, la camera la posso usare per altri progettini, quindi sarebbe meglio una camera wifi :)

... sarebbe la soluzione migliore ... sempre a patto di sapere poi come recuperare il flusso di immagini sul PC per poterlo trattare.

Ovvero, occhio a quando la compri che non ti diano solo ... il classico programmino per fare "videosorveglianza" XD XD XD ... a te servono le specifiche di come arrivano le immagini e come recuperarle ;)

Guglielmo

No BHE quello sarebbe il meno dei mali, una volta reperibile dal pc, faccio ciò che voglio, forse la cosa più difficile è trovare la camera a più basso prezzo di tutto il globlo :)

..sarebbe più complicato recuperare il flusso dati se un bel giorno decidessi di creare un LCD per pilotare il ROVER e vedere le immagini... perché nn creare uno shield apposito per lo streaming video?

..generare un flusso dati B/N sarebbe interessante... Ma nn divaghiamo già il rover supera le 260€ ...

ADemo86: ... perché nn creare uno shield apposito per lo streaming video?

Per il semplice motivo che non ha senso realizzare uno Shield che da Arduino prende solo l'alimentazione in quanto nessuna elaborazione sarebbe possibile da parte del 328, inoltre la shield verrebbe a costare di più di una IpCam WiFi come questa, se cerchi bene le trovi pure a meno, ovviamente si tratta di cineserie.