Baubericht: HD-FPV für 250EUR - nach Lonestar et al

nachbrenner

Erfahrener Pfuscher
#1
Hallo zusammen,

angetrieben durch diesen Thread hier zur Low-Cost HD-Videoübertragung möchte ich gern mit HD-FPV spielen. Dazu möchte ich den Bau eines HD-FPV-Aufsatzes (Cam+Sender) - genau wie es im Thread beschrieben wird - dokumentieren. Genutzt werden soll das 2.4Ghz WLan-Band. Für RC nutze ich 2.4GGhz FrSky.

Ziel: Gut live fliegbaren HD-Videodownlink zum Aufklippen auf größere Flieger. Gewicht wird schätzungsweise im Bereich von 150g liegen. Reichweite soll um die 400m werden. Konkret möchte ich es auf einen Skywalker pappen und damit zwischen Telefonmasten einen Slalom fliegen (-> geringe Latenz), wie hier ab 01:35:

https://www.youtube.com/watch?v=zMYWI43b39I&t=1m35s


Budget: 250€ für alles was in der Luft ist.

Am Boden vorhanden ist ein Notebook und eine Cinemizer HD OLED Brille so dass ich dort außer Software nichts brauche.

Meine Erfahrungen damit werde ich ab heute dokumentieren und zwar möglichst so, dass andere das leicht nachbauen können bzw. einen Eindruck vom "Stand der Dinge" zum Thema Low-cost HD-FPV erhalten. Dass es gut funktioniert und alltagstauglich wird kann ich nicht garantieren. Einen Versuch ist aber wert und ihr werde hier lesen können ob es klappt oder nicht ;)

Erstmal wird es wohl einige Irrwege geben, am Ende plane ich dann ein ausführliches Tutorial daraus zu machen.


Tag 25.08.14: Bestellung

Nach einiger Recherche habe ich heute meine Bestellungen rausgejagt. Was braucht es also?

1. Raspberri PI B+. Watterott 33€

Die Rechenstation in der Luft. Dort kommt die Kamera dran und der Pi schickt dann mit einem später aufgelisteten W-Lan Modul die Daten zum Boden.

Später möchte ich mal zum Raspberry Pi Compute Module wechseln um Gewicht zu sparen.

2. 8GB Micro-Sim für den PI: Amazon 5.54€

3. Kamera für den PI: Watterott 23.80€

Leider ist die Cam derzeit nicht lieferbar, deshalb habe ich die Version mit Mini-Linse genommen. Sobald möglich werde ich aber auf die verlinkte Cam wechseln um meine bekannten FPV-Objektive einsetzen zu können.

4. Langes Kabel für Kamera: Amazon 8.50€.

Sinnvoll damit ich die Kamera frei platzieren kann.

5. 2x Ubiquity PicoStation M2HP W-Lan Stationen für die Funkstrecke: Amazon 147.94€.

Das sind professionelle WLan-Module. Eines wird für die Luft gebraucht und eines am Boden. Hier habe ich bewusst nicht gespart sondern auf profi-Qualität gesetzt - es soll ja ein stabiles Bild erreicht werden.

6. 10cm Patchkabel extradünn: Ebay 7,50€


Gesampreis bisher: 226,28€.

Ein Teil der Komponenten sollte morgen eintreffen, so dass ich dann ein erstes Update geben kann.

Für meine Tests am Boden habe ich mir noch einen Carson X-Crawlee bestellt.



Update 28.08.14

Der größte Teil der Komponenten ist eingetroffen, jetzt kann es los gehen :)











Der Pi mit Kamera wiegt unter 50g, das WLan-Modul mit Gehäuse knapp 100g. Mit etwas abspecken sollten wir also locker in den Bereich um 100g kommen.

Jetzt geht es aber erst einmal ans Basteln.

Ziel 1: Den Pi dazu bekommen über normales Lan ein Bild an mein Testnotebook zusenden.

Danach baue ich dann die Drahtlos-Strecke auf

Update 28.08.14 Nr. 2: Pi läuft auf normalem Lan

Um den Pi auf normalem Lan zum Laufen zu bekommen:

Schritt 1: Pi zum Funktionieren bringen

1.1: Win32Disk Imager laden und installieren: http://sourceforge.net/projects/win32diskimager/

1.2: Das exzellente Image von Lonestar78 für den PI laden und mittels winrar entpacken: https://db.tt/jPZ8rMPI

1.3: Die 8GB microSD-Karte in den PC stecken und Image mittels Win32Disk Imager schreiben:




Schritt 2: GStreamer auf dem Abspiel-Notebook installieren

2.1: Gstreamer hier laden: http://gstreamer.freedesktop.org/data/pkg/windows/1.4.1/gstreamer-1.0-x86_64-1.4.1.msi (das ist die 64bit-Version, 32bit andere Version wählen aus http://gstreamer.freedesktop.org/data/pkg/windows/1.4.1/ )

2.2: Installieren. Bei der Installation unbedingt "Full" auswählen, sonst alles default

Schritt 3: Video abspielen

3.1: PiCam an den Raspberry stecken und microSD-SD mit dem aufgespielten Image aus Schritt 1 in den Pi stecken

3.2 Raspberry Pi und Notebook an einen dedizierten Netzwerk-Switch hängen. Pi mit Strom versorgen (einfach USB-Kabel an PWR-Port). Das sieht dann so aus:




3.3 Notebook Netzwerk konfigurieren: Systemsteuerung->Netzwerkverbindungen->Netzwerkkarte wählen, IPv4-Einstellungen ->




3.4 Auf dem Notebook Kommandozeile öffnen und via ping prüfen ob der Pi ansprechbar ist:



(Der Raspberry Pi ist auch per SSH erreichbar: Wer sich dort einloggen möchte kann das mit User "root" Passwort "raspberry" tun)


Falls nicht: Den Pi direkt per HDMI an einen Monitor oder Fernseher hängen und schauen ob er bootet/was das Problem ist.

3.5 Wenn der Pi pingbar ist: Von der Kommandozeile auf dem Notebook Gstreamer starten:

Code:
C:\gstreamer\1.0\x86_64\bin\gst-launch-1.0.exe rtspsrc location=rtsp://192.168.137.240:8554/test latency=0 ! application/x-rtp, payload=96 ! rtpjitterbuffer ! rtph264depay ! avdec_h264 ! fpsdisplaysink sync=false text-overlay=false
Jetzt solltet ihr ein Bild der Kamera sehen. Man kann nun die Latenz testen indem man eine Stoppuhr (z.B. die hier) ausführt und den Bildschirm filmt. Dann einen Screenshot machen und die Werte vergleichen: Wie viel Zeit ist zwischen den beiden Anzeigen vergangen? Beispiel:



Vergleicht man die Werte zwischen der Uhr ganz rechts unten und der nächsten links darüber so sieht man mein aktuelles Problem: Ich habe eine Latenz von 56,917-54,648 = 2,269 Sekunden(!!!!). Da passt wohl etwas überhaupt nicht in meinem Stream, ich tippe auf das Notebook (zugekleisterte Windows-Installation). Mit einem schnellen Desktop-PC erreiche ich so 120-200ms. Also werde ich am Abspiel-Ende noch einiges optimieren müssen. Vor allem scheint es ziemlich unmöglich zu sein die gewünschte Latenz einfach auf einem normalen mit Programmen zugekleisterterten Windows zu bekommen.

Die folgenden Dinge werde ich versuchen:

1) Minimales Linux (Lubuntu) auf Notebook / Desktop-PC: Besserung?

2) Zum Abspielen vielleicht doch eine dedizierte Hardware verwenden. Ich habe zum Testen mal einen ODROID-U3 bestellt. Dieser unterstützt laut Changelog nun auch Hardwarebeschleunigte Gstreamer-Plugins.


Update 28.08.14 Nr. 3: 110-120msec Latenz mit Lubuntu

Variante 1) Minimales Linux (Lubuntu) auf Notebook bringt mir 110-120msec Latenz. Das wäre also ein gangbarer Weg. Derzeit habe ich das als Bootimage auf einem USB-Stick.

Für Variante 2) kommt morgen die ODROID-U3 Hardware, auch die werde ich testen.


Update 29.08.14

So, heute bin ich ein gutes Stück weiter gekommen: Am Ende des Tages hat es zu einer kleinen Testfahrt mit dem Crawler gereicht.

Doch der Reihe nach:

Der Abspiel-Computer ist derzeit noch Baustelle: Ich verwende ich derzeit entweder wie oben beschrieben GStreamer mit einem starken Windows-PC oder Gstreamer auf Lubuntu auf dem Notebook. Was die "finale" Lösung wird weiß ich noch nicht, ich werde sie dann hier dokumentieren. Das ODROID-U3 kam heute, leider hatte gstreamer darauf extreme Latenz - da werde ich bei Gelegenheit erst nochmal nachforschen.

Nachdem der Stream im drahtgebundenen Netzwerk gestern lief, ging es heute an den Wireless-Link.

Schritt 1: Ubiquity Geräte konfigurieren.


Wie in der Anleitung beschrieben die Geräte mit Strom versorgen und direkt an den eigenen PC anschließen, dem PC die IP 192.168.20.1 geben und dann per Browser auf die Konfigurationsoberfläche wechseln: https://192.168.1.20., Default User und Passwort ist ubtn / ubtn.

Das Gerät am Boden wir als Access Point in einem neuen W-Lan konfiguriert. Also Tab Wireless auf und diese Dinge hier einstellen:



Damit ist der Access-Point für das W-Lan "meinesid" konfiguriert und die Verbindung ist verschlüsselt. Die Konfiguration speichern und wirksam machen und dann im Tab Network das Gerät mit den folgenden Settings in unser "Camera-Netz" einbauen:



Auch diese Settings abspeichern und dann das zweite Ubiquity-Gerät konfigurieren: Genauso anstecken, per Browser wieder auf https://192.168.1.20. Bei "Wireless" stellt ihr als Wireless-Mode diesmal "Station" ein (und NICHT Access Point). Den Rest im Tab Wireless genau gleich konfigurieren wie das erste Gerät. Im Tab Network nimmt man als IP die 192.168.137.21, den Rest genauso wie im Screenshot oben einstellen, aktivieren der Änderungen nicht vergessen.

Versorgt man jetzt beide Geräte mit Strom, so sollten sie sich gegenseitig finden (sieht man an den LEDs an der Frontseite: Es leuchten deutlich mehr als vorher).

Schritt 2: Testen

Damit ist die Netzwerk-Brücke fertig. Sie verhält sich genau wie der Switch vorher: Ein Gerät dass man die Netzwerkbuchse an Station 1 anklemmt kann mit einem das an Station 2 klemmt sprechen als würden sie im gleichen drahtgebundenen Netz sein.

Also jetzt anstatt des Switches die Ubiquity-Geräte zwischen Pi und Abspiel-PC klemmen und ausprobieren ob das Streamen funktioniert. Ich habe hier auch einen Latenztest gemacht und hatte nun 120-170msec Verzögerung -> durchaus akzeptabel.

Schritt 3: Air-Station abspecken

Die Gehäuse der Ubiquity-Geräte sind sehr schwer. Deshalb entfernen wir das Gehäuse für die Air-Station.

Die Schrauben sind unter dem Ettikett -> komplett abziehen:


Das Gehäuse lässt sich dann leicht öffnen:


Ohne Gehäuse deutlich leichter (es wiegt gut 50g):


Platine von oben:


Platine von unten:

An den mit Pfeilen markierten Stellen werden wir die Stromversorgung der Air-Unit anschließen.

Für die ganze Sende-Einheit brauchen wir einen 3S-Lipo als Spannungsversorgung. Der geht direkt an die im Bild oben markierten stellen (das Ubiquity arbeitet von 10.5-24V). Zusätzlich brauchen wir 5V für das Raspberry Pi. Also gleich ein BEC mit dran. So sieht das fertige Kabel dann aus:



Das jetzt an die Ubiquity-Platine löten:



An das BEC dann einen Micro-USB Stecker (ich habe ihn von meinem Raspberry PI Netzteil abgeknipst -> das brauche ich eh nie)



Damit ist alles fertig für den ersten mobilen Testlauf. Ich habe mir dafür einen Crawler besorgt - der kann nicht runter fallen sondern bleibt im Zweifel einfach stehen ;) Er kam RTR mit einer Fertig-Funke, ich habe ihn auf FrSky umgebaut und nutze einen 2S Lipos statt des mitgelieferten NIMH:



Also das Geraffel drauf geklettet:




Das Notebook zum Fernseher geschleift: Und los ging es mit der ersten Testfahrt:






Zwischenfazit soweit:

Spaß hat der kleine Ausritt allemal gemacht und das Bild ist deutlich besser als bei der analogen Funkstrecke. Meiner Notlösungs-Cam fehlt noch ein ordentlicher Weitwinkel.

Allerdings hatte ich schon bei meiner kleinen Ausfahrt ordentlich Aussetzer im Bild und auch die Latenz ist zwischendurch immer wieder stark hochgegangen. Mit Fläche fliegbar wäre das so nicht gewesen: Die Performance war zu instabil. Klar: Ich bewege mich am Boden und es waren Hausmauern etc. dazwischen.

Ich werde mich als nächstes auf zwei Themen konzentrieren:

1) Latenz auf dem Übertragungsweg: Ich werde UDP als Übertragungsprotokoll (anstatt des jetzt verwendeten TCP) ausprobieren. Wird die Verbindung zwischendurch schlecht so gehen bei UDP einfach einzelne Pakete verloren. Bei TCP werden sie erneut übertragen, was die stark schwankende Latenz erklären müsste

2) Andere Lösungen für den Abspiel-PC ausprobieren.
 
Zuletzt bearbeitet:

olex

Der Testpilot
#3
+1, bin sehr gespannt was hier rauskommt. Endlich mal jemand der nicht nur groß im Chat rumredet sondern tatsächlich tut, das habe ich bei dem ganzen HD-FPV-Thema bisher noch nicht gesehen :)
 

AndreasL90

Erfahrener Benutzer
#4
Ein Baubericht der etwas anderen Art... ;)
Ich Verfolge den anderen Thread schon seit Beginn und bin sehr gespannt, wie das System in der Praxis schlägt, besonders hinsichtlich FPV-Alltagstauglichkeit.

Was mich selber noch zurück hält, so ein System aufzubauen, ist die Frage, ob sich die Konfiguration (RPi und Ubiquity WLAN) etabliert.
Und die Frage, wie sich das Ganze mit EMV und 2,4GHz RC verhält...
 
Zuletzt bearbeitet:

GerdS

Erfahrener Benutzer
#5
...Und die Frage, wie sich das Ganze mit EMV und 2,4GHz RC verhält...
Ja, das wird spannend. Ich prognostiziere mal: Fernsteuer-Reichweite max. 50-100m, wegen des durch den mitfliegenden WLAN-Sender mit 1W in unmittelbarer Nähe zugestopften Empfängers...

Weshalb wohl hat DJI beim Phantom Vision(+) die Fernsteuerung auf 5,8 GHz verlegt?

Gruß Gerd
 

lysie

Erfahrener Benutzer
#9
Oder vielleicht solltet ihr euch einfach mal den Thread dazu durchlesen bevor ihr hier wieder irgend welchen käse von euch gebt?
 

ronaldofpv

Erfahrener Benutzer
#10
Also ich habe gestern erst eine Entfernung von 500m mit dem Setup und original Antennen erreicht, bei max Latenz von 170ms. Ich denke wir sind auf dem richtigen Weg


Muss aber dazu sagen, ich habe vergessen die Leistung der PicoStation zu drosseln, gab aber keine Probleme mit der DX6

Gruß Ronaldo


Ps: fliege zur ZEIT mit noir cam da ich spät Feierabend habe und nur noch wenig Sonne ist :cool:

Maximale Entfernung hab ich nur durch die vorgegebene Begrenzung in der Naza gemessen, können also auch ein paar Meter mehr oder weniger sein ;)
 
Zuletzt bearbeitet:
Erhaltene "Gefällt mir": Docus

lysie

Erfahrener Benutzer
#11
Danke fürs spoon feeding..

An der Reichweite lässt sich sicher auch noch einiges machen.
By the way: das Mavlink Protokoll hier gleich mit einzubinden und damit dann zu fliegen ála Lightbridge ist dann auch kein großes Hexenwerk mehr.
 

nachbrenner

Erfahrener Pfuscher
#12
Update 28.08.14 Nr. 2 im ersten Thread:

Der Pi läuft jetzt mit Kamera am normalen LAN mit Schritt-für-Schritt Anleitung wie man dort hin kommt. Allerdings habe ich schon drahtgebunden arge Latenzprobleme, siehe Screenshot. Ich werde verschiedene Dinge ausprobieren, unter anderem einen ODROID-U3 als Abspielgerät.

Über Vorschläge und Tipps zur Verbesserung freue ich mich immer! :)

Nochmal zur Erinnerung: Die ganzen Techniken habe ja nicht ich "erfunden" sondern ich bereite hier die Arbeit anderer als Schritt-für-Schritt Anleitung auf und probiere eben mal aus wie nutzbar das für Nicht-Entwickler ist. (Alle Ideen und Images etc. von Lonestar78, digital_wadik, ronaldofpv und vielen anderen in diesem Thread)
 
Zuletzt bearbeitet:

digital_wadik

Well-known member
#13
Erstmal, super Sache das du alles schritt für schritt aufführst. Das geht in dem andere Thread ja total unter.

Aber wer den anderen Thread mitverfolgt der würde hier nicht so sinnlose sachen posten wie: "2.4Ghz WLan verträgt sich nicht mit 2.4Ghz RC funk"
Ist doch alles schon geprüft worden und es läuft zuverlässig. Habe unter anderem auch schon mal ein Video gepostet wie Ich live bis zu 300 M fliege.

Also würde vorschlagen wir lassen @nachbrenner hier seine Arbeit machen was ich durchaus sehr schätze. Ich komme leider nicht dazu weil ich die Telemetrieverbindung Programmiere usw. alle anderen Ideen und bedenken kann man ja im anderen Thread posten ;)

Noch viel Spaß an alle die es nachbauen wollen. Es lohnt sich wirklich ;)
 

AndreasL90

Erfahrener Benutzer
#14
@Digital_Wadik
Ich schätze deine Arbeit sehr und ja, ich lese den Nachbarthread schon von Anfang an mit (wie du anhand meiner Beiträge darin sicher festgestellt hast), sowie auch den schon etwas länger bestehenden DIY-Drones Thread zum Thema. :) Das 2,4GHz RC mit dem WLAN zusammen funktioniert, bestreitet ja niemand; ebensowenig, wie deine (und andere) Tests. Mit Sicherheit kann man jedoch nicht sagen, dass das mit jedem RC-System der verschiedenen Hersteller tut. Und auch wenn es keine Probelme gibt - was passiert, wenn man mit der Reichweite mal wirklich an die Grenzen geht?
"Sinnlos" finde ich die Diskusion darüber, oder die Frage dannach, desshalb nicht. Und auch desshalb bin ich sehr auf weitere Tests von verschiedenen Leuten gespannt. :)
Aber das sollte man wohl Drüben weiterdiskutieren.
 

lysie

Erfahrener Benutzer
#16
Man sollte vielleicht auch noch dazu sagen dass eine Funke mit FHSS bei der ganzen sache zu bevorzugen ist ( der grund sollte klar sein? ).
 

digital_wadik

Well-known member
#17
In Zukunft soll sowieso nur über PS3 controller oder Joystick geflogen werden. Bin grade dabei das in mein Programm mit einzubauen. Dan hatt man nur noch einen Wlan link. Aber weiteres im anderen Thread ;)
 

Lonestar78

Erfahrener Benutzer
#18
Hi Nachbrenner. Super, das du das so ausführlich zusammenschreibst. Bin gespannt wo uns das Thema noch hinführt. Je mehr Leute mitmachen, desto schneller kommen wir weiter.

@olex: wir sprechen nicht nur, wir fliegen doch schon ...
 

GerdS

Erfahrener Benutzer
#19
Oder vielleicht solltet ihr euch einfach mal den Thread dazu durchlesen bevor ihr hier wieder irgend welchen käse von euch gebt?
Oder vielleicht solltest Du mal die Threads durchlesen wo Leute versuchten, FPV mit der GoPro 3 mit ihrem integrierten WIFI zu machen und damit auf die Nase gefallen sind, bevor Du Käse von Dir gibst?

Gleich im ersten Beitrag steht "Genutzt werden soll das 2.4Ghz WLan-Band. Für RC nutze ich 2.4GGhz FrSky.", damit brauche ich nicht erst den ganzen Low-Cost Thread durchzulesen um zu wissen dass hier der Fernsteuerempfänger mit wenigen cm Antennenabstand zum 1W WIFI-Sender auf der Strecke bleibt!

Gruß Gerd
 
Zuletzt bearbeitet:
FPV1

Banggood

Oben Unten