Pages: [1] 2   Go Down
Author Topic: Ricetrasmittente per dati in streaming  (Read 2321 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salve a tutti!

Sono un appassionato di modellismo e programmatore, ma sfortunatamente molto poco pratico per quanto riguarda il lato elettrico / hardware (nonostante comprenda come esso funzioni, avendo fatto corsi all'Università). Si vedono spesso su YouTube video di aeromodelli guidati in "FPV", ossia First Person View, con telemetria e tutto il resto. La mia idea di base sarebbe quella di inserire sull'aeromodello sensori come altimetro, GPS, bussola, voltmetro, termometri ed una microtelecamera a bassa risoluzione (si potrebbe fare in 720p?), quindi inviare tali dati (RAW) al computer ed infine elaborare l'immagine finale con Scaleform per realizzare una HUD funzionale e "fica" al tempo stesso.

Ho letto di Arduino anni fa su una rivista e, mentre allora non me ne facevo nulla, ora mi è venuto in mente che potrebbe tornarmi utile!
La mia domanda è presto fatta: si potrebbe realizzare il sistema di trasmissione con microprocessore Arduino, il quale dovrebbe ricevere i dati dagli strumenti a bordo e inviarli su più canali (quindi zero elaborazione) con un rate decente (30 FPS per il video, 10-20 letture/s per gli altri strumenti)? Lato ricevente, basterebbe un'antenna collegata al computer, oppure sarebbe più semplice un secondo Arduino che si interponga tra ricevente e computer? E per l'antenna (che dovrebbe andare su frequenze 35-40 Mhz, oppure 2.4 Ghz), si potrebbe facilmente avere un range di ~1.2 km?

Più nel dettaglio, come potrei realizzare una cosa simile? Sono un pivellino per quanto riguarda queste cose! Poi una volta creato il flusso di dati, creare la HUD ed elaborazione dati è semplicissimo (e sfrutta il processore del computer).

Grazie smiley
Logged

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

Ciao,
per quanto ne so, ti conviene cercare thread (o siti, usando san google) relativi a aeroquad et similia.
In ogni caso, in questo tipo di progetti, laddove c'è Arduino, viene utilizzato per la parte di pilotaggio.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma se voglio realizzare un semplice flusso di dati, come faccio a farlo se non interfaccio i sensori al trasmittente ed il ricevente al computer? Esistono forse altri metodi che escludono l'utilizzo di un microprocessore?

Grazie smiley
Logged

0
Offline Offline
Shannon Member
****
Karma: 129
Posts: 10437
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salve a tutti!

Sono un appassionato di modellismo e programmatore, ma sfortunatamente molto poco pratico per quanto riguarda il lato elettrico / hardware (nonostante comprenda come esso funzioni, avendo fatto corsi all'Università). Si vedono spesso su YouTube video di aeromodelli guidati in "FPV", ossia First Person View, con telemetria e tutto il resto. La mia idea di base sarebbe quella di inserire sull'aeromodello sensori come altimetro, GPS, bussola, voltmetro, termometri ed una microtelecamera a bassa risoluzione (si potrebbe fare in 720p?), quindi inviare tali dati (RAW) al computer ed infine elaborare l'immagine finale con Scaleform per realizzare una HUD funzionale e "fica" al tempo stesso.

Ho letto di Arduino anni fa su una rivista e, mentre allora non me ne facevo nulla, ora mi è venuto in mente che potrebbe tornarmi utile!
La mia domanda è presto fatta: si potrebbe realizzare il sistema di trasmissione con microprocessore Arduino, il quale dovrebbe ricevere i dati dagli strumenti a bordo e inviarli su più canali (quindi zero elaborazione) con un rate decente (30 FPS per il video, 10-20 letture/s per gli altri strumenti)? Lato ricevente, basterebbe un'antenna collegata al computer, oppure sarebbe più semplice un secondo Arduino che si interponga tra ricevente e computer? E per l'antenna (che dovrebbe andare su frequenze 35-40 Mhz, oppure 2.4 Ghz), si potrebbe facilmente avere un range di ~1.2 km?

Più nel dettaglio, come potrei realizzare una cosa simile? Sono un pivellino per quanto riguarda queste cose! Poi una volta creato il flusso di dati, creare la HUD ed elaborazione dati è semplicissimo (e sfrutta il processore del computer).

Grazie smiley

no per quanto riguaqrda il video. per il resto si può fare, ed è più facile se a lato ricevente c'è un arduino tra pc e ricevitore. Per le distanze dipende dalla potenza di trasmissione.
Piccolo problema: i segnali RAW sono facilemnte disturbati... sicuro di voler arrivare a 1km quando basta un router/trasmittente acceso nelle vicinanze per perdere completamente il link video?
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Riva del Garda, TN / Forlì
Offline Offline
Edison Member
*
Karma: 8
Posts: 2246
Il piu' modesto al mondo
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

io pratico modellismo da diversi anni ormai e le trasmittenti in PPM (io ne ho una sui 40MHz) che usiamo sulla carta arrivano anche a 2km. in fondo un aeromodello arriva anche a 600-800 metri prima che lo perdi di vista eppure disturbi non ne prende (poi dipende dalla zona ovvio).

Arduino non è in grado di gestire un segnale video in tempo reale, ti servono processori con architettura apposita, come DSP.

Tuttavia se poi arriva tutto al pc puoi mettere una trasmittente video (per 1.2km ti serve da una bella potenza non consentita in italia) e puoi mettere arduino a bordo coi sensori e un secondo trasmettitore invia a terra i dati, poi sul pc elabori.

come costi mi paiono alti, fossi in te prenderei il set per FPV dal sito hobbykinkg (non per fare pubblicità occulta ma li hanno prezzi proiprio bassi...) e poi la telemetria della eagletree che ti da già un OSD e poi trasmetti a terra già completo..

Questo è quello che farei io..
Logged

Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

Deep south of Italy
Offline Offline
Faraday Member
**
Karma: 8
Posts: 2955
The quieter you become, the more you can hear
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

non sò che range abbiano all'aperto , ma hai pensato a qualcosa tipo qesto?
http://cgi.ebay.it/2-4G-Wireless-USB-DVR-Receiver-Wireless-Pinhole-Camera-/270726549853?pt=LH_DefaultDomain_0&hash=item3f088f515d
almeno per lo streaming video dovrebbe funzionare
Logged

Riva del Garda, TN / Forlì
Offline Offline
Edison Member
*
Karma: 8
Posts: 2246
Il piu' modesto al mondo
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=13436
apposita al modelismo smiley-wink

non costa molto e ha un ottimo range, peccato che se ti beccano in italia con una  potenza simile ti fanno il fondoschiena  smiley-cry
Logged

Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Già, i 900 Mhz sono proibiti in Italia, ma i 2.4 Ghz no (vengono usati ormai dalle moderne ricetrasmittenti). So che esistono i sistemi FPV già pronti all'uso, più che altro mi piaceva l'idea di crearmi il mio partendo letteralmente da sensori e trasmissione smiley ... se trovassi una telecamera per modellismo legale per qui in Italia (quindi escludendola dal sistema "sensori"), quanto mi costerebbe il sistema 2x(Arduino + modulo xbee) + sensori compatibili con Arduino? Da quanto ho capito Arduino "Fio" sarebbe quello che serve a me, oppure è solo predisposto per le antenne xbee? Si possono usare altre antenne?

Grazie smiley
Logged

Riva del Garda, TN / Forlì
Offline Offline
Edison Member
*
Karma: 8
Posts: 2246
Il piu' modesto al mondo
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

non credo sia solo proibita la frequenza ma la potenza, informati su questo.

Mi ricordavo che la 900MHz fosse libero  smiley-red ma più che altro è la potenza che preoccupa
Logged

Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

Capo d'Orlando
Offline Offline
God Member
*****
Karma: 2
Posts: 725
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

che io sappia in italia non si possono superare i 100 mw di potenza (sempre su frequenze da 2,4 ghz)
però se non ricordo male puoi ottenere una licenza per usare quella da 1,2 , anche se la potenza deve rimanere sotto i 100.
p.s: 1500 mw riscaldano un bel po' !
Logged

0
Offline Offline
Shannon Member
****
Karma: 129
Posts: 10437
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

non sò che range abbiano all'aperto , ma hai pensato a qualcosa tipo qesto?
http://cgi.ebay.it/2-4G-Wireless-USB-DVR-Receiver-Wireless-Pinhole-Camera-/270726549853?pt=LH_DefaultDomain_0&hash=item3f088f515d
almeno per lo streaming video dovrebbe funzionare


il raggio di una comune wi-fi, dipende dalla classe dello standard g, b o n (immunità dagli errori), potenza utilizzata, e sensibilità delle antenne. Con una ciavetta g/b mi pare che sei nell'orine dei 100/150 metri senza ostacoli, la n a parità di potenza arriva più lontana

non credo sia solo proibita la frequenza ma la potenza, informati su questo.

Mi ricordavo che la 900MHz fosse libero  smiley-red ma più che altro è la potenza che preoccupa

i limiti esistono sia sulla potenza che sulle frequenze. La potenza massima per un comune mortale è di 100mW, e l'unica banda utilizzabile è la 2,4GHz. Se possiedi il patentino da radioamatore sblocchi, a seconda della tipologia, altre frequenze e potenze, ma sicuramente NON la 900MHz che è usata dai cellulari GPS/GPRS. Una buona (e costosa) soluzione è l'HSPA, in pratica "l'ADSL" per i cellulari.

Già, i 900 Mhz sono proibiti in Italia, ma i 2.4 Ghz no (vengono usati ormai dalle moderne ricetrasmittenti). So che esistono i sistemi FPV già pronti all'uso, più che altro mi piaceva l'idea di crearmi il mio partendo letteralmente da sensori e trasmissione smiley ... se trovassi una telecamera per modellismo legale per qui in Italia (quindi escludendola dal sistema "sensori"), quanto mi costerebbe il sistema 2x(Arduino + modulo xbee) + sensori compatibili con Arduino? Da quanto ho capito Arduino "Fio" sarebbe quello che serve a me, oppure è solo predisposto per le antenne xbee? Si possono usare altre antenne?

Grazie smiley

XBEE? dai un'occhiata ai datasheet, a parte che gli xbee che arrivano a 1,2km usano una frequenza illegale, e comunque la velocità di streaming dei dati mi sembra assai insufficente.




Tanto per cominciare, uno streaming video RAW è molto sensibile ai disturbi, ovvio che se voli in aperta campagna o nel deserto non avrai mai problemi, ma avvicinati ad un centro abitato e il segnale lo perdi.
Un esempio è per i modellisti che usano il trasmettitore indicato da SuperLoL (però parliamo della versione 2,4GHz che è legale), basta che qualcuno (o tu stesso) usi un telecomando 2,4GHz (ovvero la frequenza standard di tutti i nuovi telecomandi, essendo libera in quasi tutto il mondo), o magari il pc con wifi, e perdi il link video. Il problema con i 900MHz invece dovresti averlo anche con un cellulare che riceve una telefonata. I paesi in cui il 900MHz è libero, usano altre frequenze per i cellulari.

Se invece passi allo stream video digitale, ovvero esente dalle problematiche cui sopra (o comunque meno sensibile), sappi che: ti servono almeno 300/400 MHz di cpu e un'architettura ARM (è più comoda perchè hai già librerie sviluppate) per poter convertire lo stream di dati RAW in un formato tipo h264, il migliore per lo streaming. (http://en.wikipedia.org/wiki/H264), o volendo puoi usare anche dei chip appositi, ma sono con tecnologia di saldatura al di fuori di un uso hobbistico (grid ball)
Una webcam normale (600*400) necessita di una velocità di stream di 20KB/s costanti e picchi di 30KB/s. Dovresti farcela tranquillamente con UMTS in su.
Ricorda che più ti allontani dalla ricevente, non solo hai più possibilità di errore, ma la velocità massima diminuisce, quindi la perdita di qualià video Credo sia esponenziale alla distanza.

edit: Non ho studiato queste cose a scuola o comunque in modo troppo approfondito, se ci sono errori fatemi sapere


In pratica: l'argomento NON è facile, sicuramente non per chi è alle prime armi e per un arduino.
« Last Edit: June 19, 2011, 11:50:43 am by lesto » Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9158
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

XBEE? dai un'occhiata ai datasheet, a parte che gli xbee che arrivano a 1,2km usano una frequenza illegale, e comunque la velocità di streaming dei dati mi sembra assai insufficente.

Da quando gli Xbee usano una frequenza illegale ?
Tutti i moduli Xbee importati in Europa lavorano sulle frequenze permesse e la potenza massima è limitata a 10 mW, che è il limite massimo, senza licenze, ammesso, 100 mW sui 2.4 GHz sono illegali in tutta Europa se non si hanno le necessarie autorizzazioni.

Quote
Una webcam normale (600*400) necessita di una velocità di stream di 20KB/s costanti e picchi di 30KB/s. Dovresti farcela tranquillamente con UMTS in su.

Se vuoi un'immagine decente a 640x480 con compressione H264 con un frame rate che non sia scattoso, 25fps, servono almeno 100 kByte al secondo, o se preferisci 800 kbps, ovvero poco meno di un megabit.
Da notare che al salire della banda impegnata si riduce la distanza utile a parità di potenza, ovvero se con 10 mW a 250 kbps, la reale velocità degli Xbee, riesco a percorrere 400-500 metri all'aperto con la stessa potenza a un megabit si fanno circa 100 metri.



Logged

0
Offline Offline
Shannon Member
****
Karma: 129
Posts: 10437
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

XBEE? dai un'occhiata ai datasheet, a parte che gli xbee che arrivano a 1,2km usano una frequenza illegale, e comunque la velocità di streaming dei dati mi sembra assai insufficente.

Da quando gli Xbee usano una frequenza illegale ?
Tutti i moduli Xbee importati in Europa lavorano sulle frequenze permesse e la potenza massima è limitata a 10 mW, che è il limite massimo, senza licenze, ammesso, 100 mW sui 2.4 GHz sono illegali in tutta Europa se non si hanno le necessarie autorizzazioni.
attenzione, non sto parlando di TUTTI gli xbee. Ne esistono 2 versioni con diversa frequenza, quella a 2,4GHz, di coi non ricordo il raggio d'azione, e una a 900MHz, che arriva ad 1,2Km, ma è illegale come frequenza.

edit: quindi con gli xbee quanta banda si possiede? è limitata dalla comunicazione seriale o effettivamente può trasmettere più veloce? se non erro possiede anche più input/output in parallelo... comunque rimarrebbe un progetto per chi di programmazione ne sà

Quote
Una webcam normale (600*400) necessita di una velocità di stream di 20KB/s costanti e picchi di 30KB/s. Dovresti farcela tranquillamente con UMTS in su.

Se vuoi un'immagine decente a 640x480 con compressione H264 con un frame rate che non sia scattoso, 25fps, servono almeno 100 kByte al secondo, o se preferisci 800 kbps, ovvero poco meno di un megabit.
Da notare che al salire della banda impegnata si riduce la distanza utile a parità di potenza, ovvero se con 10 mW a 250 kbps, la reale velocità degli Xbee, riesco a percorrere 400-500 metri all'aperto con la stessa potenza a un megabit si fanno circa 100 metri.

guarda, le prove da questo punto di vista le ho fatte con 2 PC, uno mio e uno di un mio amico da casa sua (quindi MTU di 1500), e senza perdere troppo sull'immagine (misurazioni "ad occhio") ci siamo trasmessi flussi video a 20KB/s usando le librerie di VLC (vlcLIB) e java. L'fps era variabile, e lo stream dipende dalla porzione dell'immagine modificata e in che modo, quindi gli FPS scendono se per esempio girti la telecamera di colpo, ma in generale (considerando ce spostavo la telecamera spesso per aggirarmi in camera) eravamo sulla media dei 23fps. Se volete provare anche voi, in VLC o con VLClib, la stringa da noi usata mi pare(abbiamo fatto 1000 prove, spero che quella non commentata fosse quela usata nell'esperimento) fosse:
Code:
String opt = ":sout=#transcode{vcodec=h264{tune=zerolatency,preset=fast},vb=800,scale=0,acodec=none}:standard{access=http,mux=ts,dst=" + getLocalIP() + ":8080}";
notare lo steam utilizzando HTTP, quindi un protocollo come TCP che per uno stream non è assolutamente indicato, ma abbiamo avuto alcuni problemi con la NAT che purtroppo supporta solo UDP e TCP, e non i protocolli "particoloari" usati appositamente per lo stream video. (l'idea era di fare una piccola chat pubblica, e quindi la configurazione router la volevamo fare più autoimatica possibile tramite UPnP, in oltre questi erano solo test preliminari)
« Last Edit: June 19, 2011, 12:35:38 pm by lesto » Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Riva del Garda, TN / Forlì
Offline Offline
Edison Member
*
Karma: 8
Posts: 2246
Il piu' modesto al mondo
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

....
Un esempio è per i modellisti che usano il trasmettitore indicato da SuperLoL (però parliamo della versione 2,4GHz che è legale), basta che qualcuno (o tu stesso) usi un telecomando 2,4GHz (ovvero la frequenza standard di tutti i nuovi telecomandi, essendo libera in quasi tutto il mondo), o magari il pc con wifi, e perdi il link video. Il problema con i 900MHz invece dovresti averlo anche con un cellulare che riceve una telefonata. I paesi in cui il 900MHz è libero, usano altre frequenze per i cellulari.
anche la 35, 40, 27 e 2 bande sulla 92MHz sono legali
per la precisione:
http://www.modellismo.info/public/default.asp?id=21&ACT=5&content=33&mnu=21
sulle 2.4GHz non ricordo.

ad ogni modo fidati che le trasmittenti che usiamo noi perdono raramente il segnale e volano anche in città alcuni. Sono modulati in PPM ma noi al campo di volo ormai tariamo i quadricotteri e roba varia con i pc e wifi acceso, dall'altra parte del fiume vi è un'azienda che produce anche alberi di trasmissione per camion, prendiamo il loro wifi, i loro macchinari producono onde su tutte le frequenze udibili e non e non perdiamo MAI il segnale. che sia a 20 o che sia a 600 (provato personalmente) metri tra trasmittente e ricevente.

inoltre gli xbee sono legali, non so i pro in quanto limitati in potenza.

Quote
Se invece passi allo stream video digitale, ovvero esente dalle problematiche cui sopra (o comunque meno sensibile), sappi che: ti servono almeno 300/400 MHz di cpu e un'architettura ARM (è più comoda perchè hai già librerie sviluppate) per poter convertire lo stream di dati RAW in un formato tipo h264, il migliore per lo streaming. (http://en.wikipedia.org/wiki/H264), o volendo puoi usare anche dei chip appositi, ma sono con tecnologia di saldatura al di fuori di un uso hobbistico (grid ball)
Una webcam normale (600*400) necessita di una velocità di stream di 20KB/s costanti e picchi di 30KB/s. Dovresti farcela tranquillamente con UMTS in su.
Ricorda che più ti allontani dalla ricevente, non solo hai più possibilità di errore, ma la velocità massima diminuisce, quindi la perdita di qualià video Credo sia esponenziale alla distanza.

....
forse l'architettura ARM ha già librerie predisposte ma non è vero tutto quello che hai detto:
PIC24FJ32GA102 o anche
dsPIC33FJ16GS504 dovrebbero andare comunque bene
e riguardo all'encoding video vi sono sistemi migliori dell'h.264 per video a 600*400, l'H.264 che sarebbbe l'MPEG4 e l'MPEG2 sono ottimi su risoluzioni più alte come 1280*720 o 1920*1080 (progressivo o interlacciato)

edit:
gli xbee sono di 1 tipo in europa ma vi è la versione normale e pro (e la versione 1 e 2 di ogni uno di questi che supporta o no una configurazione particolare) e vanno a 2.4GHz, la differenza è nella potenza di trasmissione.
Uno streaming a soli 30KB (la b maiuscola)/s è comunque poco, perchè conta che non vi dev'essere perdita di segnale e qui non usi compressioni particolari o protocolli particolari, non passi per http sugli xbee o qualsiasi altro trasmettitore.
Logged

Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9158
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

attenzione, non sto parlando di TUTTI gli xbee. Ne esistono 2 versioni con diversa frequenza, quella a 2,4GHz, di coi non ricordo il raggio d'azione, e una a 900MHz, che arriva ad 1,2Km, ma è illegale come frequenza.

Di versioni ne esistono ben più di due, a seconda del paese dove vengono esportati sono adattati in frequenza e potenza massima.
In Europa non puoi importare moduli radio che non rispettino le varie leggi, vengono bloccati alla dogana.

Quote
edit: quindi con gli xbee quanta banda si possiede? è limitata dalla comunicazione seriale o effettivamente può trasmettere più veloce?

La reale velocità di comunicazione tra i moduli è 240 kbps, la massima velocità di trasmissione sulla porta seriale è 115 kbps, la massima banda reale, con trasmissione continua, è circa 80 kbps, se vai in full duplex devi dividere la banda tra Tx e Rx.
Logged

Pages: [1] 2   Go Up
Jump to: