Low Cost HD-Video Übertragung + Telemetrie

Status
Nicht offen für weitere Antworten.

Lonestar78

Erfahrener Benutzer

aargau

Erfahrener Benutzer
Momentan greife ich einfach das Lehrer Schüler Signal ab und wandel es mit einem Arduino in ein Array mit allen Kanälen. Das wird dann über den COM Port über das VB.net Progrämmchen ausgewertet und via UDP an den PI gesendet.
Auf dem PI werden die UDP Pakete ausgewertet und der Servoblaster gefüttert.
Ich denke die Last kommt daher zustande, weil Python die Daten mit einem call Aufruf updated und das halt ca. 50x pro Sekunde.

Werde das Script gerne uploaden, sobald ich im Bastelraum bin.
 
Ok, du machst n system call echo auf das device?
Öffne das doch direkt als file und schreib da rein.

Code:
// beim Programmstart
f = open('/dev/servoblaster','w')

// bei jedem Update
f.write('0=1500\n') 
f.write('1=1500\n') 
f.write('2=1500\n') 
f.write('3=1500\n') 

// beim Programmende
f.close()
 
Zuletzt bearbeitet:

aargau

Erfahrener Benutzer
Das wäre natürlich die Lösung schlechthin, stellt sich nur die Frage ob das Programm damit klarkommt., weil du das File ja offen hältst und servod selber nichts mehr daran ändern kann, aber Probieren geht über Studieren ;)

So oder so habe ich euch das Python Script mal hochgeladen, ist wirklich sehr simpel gehalten. Das VB.net Programm werde ich mal noch etwas überarbeiten, hat noch 1-2 Fehler die sicher behoben werden müssen und es euch dann auch mal Uploaden.

Mein Test von heute war jedoch relativ mieserabel :( Das Video laggte ziemlich Stark und die PWM Ausgabe war wieder stark verzögert zwischen durch. Die Reichweite auch ziemlich bescheiden. Allerdings muss ich dazu auch sagen, dass ich leider mein USB Ethernet Adapter zuhause liegen gelassen habe und mich deshalb direkt auf das Wlan einklinken musste. Naja, so oder so werde ich wohl doch auch mal auf die Ubiquiti's umsteigen müssen, der Durchsatz von meinem System mit openWRT im WDS Mode ist einfach viel zu niedrig, die Reichweite selber wäre hingegen mehr als okay
 

Sledge

lonesome Cowboy
Hm ich habe gerade einen pi gekillt weil ich versucht habe die lan Buchse abzulöten. Das hat zwar geklappt aber die lan Buchse hat eine integrierte Elektronik und ein direktes Anlöten der Lankabel funktioniert nicht. Hat das schon mal jemand versucht? Kann man die fehlenden Bauteile irgendwie extern nachrüsten? Ich will den pi so flach wie möglich aufbauen.
 
Ja, die transciever zum erzeugen der LAN Spannungen sind oft in den Buchsen. Da hilft nur Buchse zerlegen und ausbauen denk ich.
Kann aber gut sein das du Mit dem netzwerkkabel direkt an der Platine den lan chip gegrillt hast.
Evtl kannt ihn mit nem usb->LAN Adapter noch nutzen.

Geht der rasp noch und tuts USB noch?
 

Lonestar78

Erfahrener Benutzer
Zum Thema Lehrer-Schüler Kabel an ein Android:
Die Sample-Rate liegt bei 44.1 oder 48kHz bei den Geräten am Audio-In.
Sprich, eine Sekunde lässt sich in 48000 Werte zerlegen oder 1ms in 48 Werte.
Das PPM-Signal pro Kanal ist 1-2ms lang, die Info steckt also innerhalb einer ms.
48 Schritte Auflösung für einen RC-Kanal sind dürftig.

Sinniger wäre hier eine kleine Fernsteuerung---LS-Ausgang---Arduino---Blutooth luftluftluft Blutooth-an-Android Brücke.
Blöde: noch ne weitere 2,4GHz Funkverbindung.

Oder hab ich da nen Denkfehler?
 

Lonestar78

Erfahrener Benutzer
@sledge: Zum Thema "so flach wie möglich": Ich glaub ich werd mal nen ODROID-W bestellen.
Der hat jetzt blöderweise kein LAN onboard, aber selbst mit nem USB to Ethernet Adapter sollte das Platzmässig kleiner sein.
Muss ich mal testen und schaun, ob das klappt :)
 

ronaldofpv

Erfahrener Benutzer
Ich erwarte auch die Tage einen odroid w und werde die bridge per Ubiquiti Wifi Station EXT am USB - Port versuchen. Mal schauen ob es schlechter oder gleichwertige Ergebnisse bringt.
 

Lonestar78

Erfahrener Benutzer
Oh cool, wusste nicht, dass es sowas gibt von Ubiquiti.
Dann spart man sich natürlich gleich die USB to ethernet geschichte...
 

ronaldofpv

Erfahrener Benutzer
Aber aufpassen, nur 54mbit möglich aber das sollte uns ja reichen und die werden wohl nicht mehr produziert also wer noch eine bekommt kann sich wohl glücklich schätzen.
 

hornetwl

Erfahrener Benutzer
Hier liegen ebenfalls schon ein paar ODroids - allerdings habe ich irgendwie noch keine wirklich kaufbare WifiStation EXT in freier Natur gesehen.

Ich frage mich allerdings, ob die PicoStation nicht irgendwo einen verstechten USB-Host-Port hat - schließlich sind die PCBs der Ubiquitis alle verdammt ähnlich...
 

digaus

Erfahrener Benutzer
Ein Audiosignal hat doch zwei Kanäle mit je 16bit. Daraus ergibt sich dann bei einer Abtastfrequenz von 44,1kHz eine Datenrate von 44100*16*2 Bit/s= 1411,2 kBit/s. Das wären dann 1411,2 Bit/ms und bei sagen wir mal 10 Kanälen, hätte jeder Kanal dann ca.141 Bit/ms zur Verfügung. Das ist doch eigentlich mehr als ausreichend oder habe ich da einen Denkfehler? :confused:
Alternativ könnte man das ganze doch über USB-OTG mit einem kleinen USB-Hub realisieren?!

Gruß
Daniel

Zum Thema Lehrer-Schüler Kabel an ein Android:
Die Sample-Rate liegt bei 44.1 oder 48kHz bei den Geräten am Audio-In.
Sprich, eine Sekunde lässt sich in 48000 Werte zerlegen oder 1ms in 48 Werte.
Das PPM-Signal pro Kanal ist 1-2ms lang, die Info steckt also innerhalb einer ms.
48 Schritte Auflösung für einen RC-Kanal sind dürftig.

Sinniger wäre hier eine kleine Fernsteuerung---LS-Ausgang---Arduino---Blutooth luftluftluft Blutooth-an-Android Brücke.
Blöde: noch ne weitere 2,4GHz Funkverbindung.

Oder hab ich da nen Denkfehler?
 

Sledge

lonesome Cowboy
@frickler der raspberry wird wohl noch laufen, teste ich morgen mal am hdmi. Leider habe ich die lan buchse zerstört also war's das erst mal. USB zu Ethernet habe ich mir auch überlegt, bringt mir aber nur was wenn ich die buchse dort abloten kann und die lan Kabel direkt anlöte. Ich bestell mir mal so ein Teil.

Am Rocket habe ich übrigens das lan Kabel angelötet, funktioniert einwandfrei.

Den odroid finde ich auch putzig aber den wird es nicht mehr lange geben, von daher will ich gar nicht erst damit anfangen.

Zum Thema Steuerung über WLAN fände ich es sinnvoll einen arduino in den Modulschacht der Funke zu pflanzen und dann per Bluetooth aufs Handy, dann per WLAN zum raspberry und per i2c auf einen weiteren arduino um die Last vom Pi abzunehmen.

Evtl . Geht es aber noch sehr viel einfacher mit einem raspberry an der Funke und ppm auf das Mikrofon. Dann per gstreamer auf den airpi und von der Kopfhörerbuchse das Summensignal abgreifen.
 

aargau

Erfahrener Benutzer
Ein Audiosignal hat doch zwei Kanäle mit je 16bit. Daraus ergibt sich dann bei einer Abtastfrequenz von 44,1kHz eine Datenrate von 44100*16*2 Bit/s= 1411,2 kBit/s. Das wären dann 1411,2 Bit/ms und bei sagen wir mal 10 Kanälen, hätte jeder Kanal dann ca.141 Bit/ms zur Verfügung. Das ist doch eigentlich mehr als ausreichend oder habe ich da einen Denkfehler? :confused:
Alternativ könnte man das ganze doch über USB-OTG mit einem kleinen USB-Hub realisieren?!

Gruß
Daniel
Hmm die 48 Werte stimmen glaub ich schon, die Bit/ms kannst du vernachlässigen, da das PPM signall ja nur an oder aus kennt (1ms = 0% 2ms = 100%). Aber theoretisch müsste das doch gehen, am PC für den Simulator machen das noch recht viele so, da könnte man zwar ja nach Soundkarte auch 96khz oder noch mehr, aber ob das so genutzt wird?
Aber ansonsten wäre die einfachste Lösung sicherlich ein Arduino (wie ich es momentan am PC mache) dazwischen und entweder per USB oder wer möchte per BT an das Handy.
 

digaus

Erfahrener Benutzer
Ich find die Lösung mit nem Arduino und dann per BT auch am besten. Was mir nicht so gut gefällt ist, dass man dann immer die App auf dem Smartphone geöffnet haben muss, auch wenn man mal nicht fpv fliegen möchte. Von daher wäre es für mich zu mindest besser, wenn man einen Raspberry Pi dafür einsetzt, welcher sich direkt mit den Ubis verbindet. Da ich gleichzeitig auch ein Tablet als Groundstation verwende, habe ich mir mit diesem Mini Router eine kleine Bodenstation gebaut: http://www.amazon.de/TP-Link-TL-WR7...8&qid=1411452886&sr=1-4&keywords=tp+link+mini
Ganz wichtig sind die beiden Ethernet Anschlüsse, damit der Stream weiterhin über Lan laufen kann. Damit keine Störungen zwischen den Ubis und dem Router auftreten, habe ich den Ubis die ersten 12 Kanäle zugewiesen und dem Router den 13ten... Ach ja, der Router lässt sich recht einfach auf den Betrieb mit 5V umrüsten.
Am Boden klappt das schon mal sehr gut, habe mit der App eine Latenz von 170-200ms und ich kann so auch noch mit mehreren Geräten über WLAN auf den Pi zugreifen.
 
Zuletzt bearbeitet:

aargau

Erfahrener Benutzer
Es gäbe ja auch noch die Möglichkeit einen Arduino mit Ethernet oder direkt mit einem Wlan Modul zu verwenden. Auf Aliexpress gibt es ein Wlan Modul welches um die 5$ kostet und Daten via Serielle Schnittstelle Empfängt, damit könnte man sicher was bauen und sich direkt mit dem Ground Wlan verbinden, dann wäre man wieder Kabellos und hätte sicher auch 20-30m Freiheit, wie gut das Funktioniert müsste man halt alles mal testen.
Für das Android APP dürfte es aber eh keine Rolle spielen ob per BT oder USB, im endeffekt sind beides nur Serielle Schnittstellen welche das selbe übertragen würden, BT müsste man einfach via APP "connecten" können.
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten