FPV Wifi Broadcasting HD Video - Thread zum Raspberry HD Videolink von Befi

Status
Nicht offen für weitere Antworten.

Rangarid

Erfahrener Benutzer
Naja bei den Atk basierten Wifi Dongles ist das doch eigentlich nicht nötig, da ja die Firmware verändert wurde. Das Patchen ist ja nur nötig für die 2.3G Kanäle.

Bei den CSL300 musste ich nur "iw reg set RU" machen und jetzt zeigt der mir die ganze Zeit 30dBm an, auch wenn die nur 20 haben.

Für mehr Leistung brauchst du also keine Treiber bauen, sondern nur für iw reg ein Land aussuchen, indem die 30dBm erlaubt sind.
 
Das funktioniert nur wenn die sticks nicht hardware gelockt sind. Und leider scheint das z.b. die alfas die hier in der eu vertrieben werden so zu sein. Da bringt dann auch die ganze iwreg frickelei nichts. Um den den lock zu umgehen muss man das eeprom bzw. Kleinen ucontroller auf dem stick mit einer ungelockten version flashen.
 

careyer

DröhnOpaRähta
Ich fürchte Trailblazer hat hier völlig recht. Was Linux nach "iw regset" oder auch dem Treiberpatch anzeigt ist eine Sache... was aber der Stick tatsächlich an Leistung ausgibt eine andere. Deshalb wäre es sehr sinnvoll, wenn das tatsächlich mal jemand mit einem Spectrum Analyser messen könnte.

Auch die Kommandos
Code:
iw dev wlan0 set txpower fixed 1000  // (=10dBm) 
iw dev wlan0 set txpower fixed 2000  // (=20dBm) 
iw dev wlan0 set txpower fixed 3000  // (=30dBm)
resultieren laut Anzeige von Linux immer in angezeigten 30dBA... ergo: Dadurch ändert sich offenbar "gor nüscht!"
 
CSL300 5,8 GHz TX + RX

Ich komme gerade von meinem ersten Testflug mit den CSL300 Sticks als TX und RX im 5,8 GHz Bereich zurück. Leider waren die Bedingungen nicht optimal. Wir haben heute schon den ganzen Tag dichten Bodennebel. Ich konnte es mir trotzdem nicht verkneifen mal einen kurzen Testflug zu starten :)

Bis ca. 250 m war das Bild ok. Danach kamen die ersten Artefakte. Weiter weg bin ich nicht geflogen, da der Copter im Nebel nicht mehr zu sehen war. Ich werde den Test bei besseren Wetter wiederholen. Mal sehen, ob da noch deutlich mehr rauszuholen ist. Zum Beispiel mit einer Immersion CP Patch Antenne am Empfänger oder veränderten Parametern. Allerdings bin ich da nicht besonders optimistisch, da User im DIY Forum von ähnlichen Reichweiten berichtet haben.

Mein Setup sieht folgendermassen aus. Ich habe auf meinem Click’n Go Copter vorne einen Rapsi 2 mit Kamera und hinten den CSL300 montiert. Auf dem Raspi 2 läuft das Image von befi. Als Empfänger kommt ein Macbook Air mit einem CSL300 zum Einsatz. Dort läuft Ubuntu 14.04 in einer VM unter Parallels. Allen Antennen stammen aus meiner analogen 5,8 GHz Videoübertragung (RHCP). Als Kanal ist 161 eingestellt.

Btw. das tx Programm musste ich geringfügig modifizieren, da es sich sporadisch mit einer Fehlermeldung beendet hat. Bei Interesse kann ich das noch näher erläutern.
 

Anhänge

Rangarid

Erfahrener Benutzer
Also einen Optimierungsvorschlag hab ich gleich mal, der wesentlich mehr Reichweite bringen sollte. Hol dir ein USB Verlängerungskabel und pack den WLAN-Stick so hoch es geht. Durch den Laptop verdeckst du ja den ganzen Empfang. Kannst einfach nen Stab in den Boden rammen dafür oder n Stativ nehmen.

Am Copter kann man sicherlich auch noch optimieren, wenn du auf dich zufliegst ist alles verdeckt durch Elektronik und Batterie.

Copter ist halt immer schwierig, da soviel Elektronik auf kleinem Raum ist. Denke aber mit höher gelegenem RX Stick sollte da schon einiges mehr gehen.
 

sandmen

Erfahrener Benutzer
Empfangsseitig sind die CSL vielleicht nicht die besten.
Da ist der WDN3200 meiner Meinung nach besser.
Ich werde aber an diesem noch den Antennen-Mod machen.
Dann kann ich mehr sagen...
 

Rangarid

Erfahrener Benutzer
Warum sollte der WDN3200 besser sein? Der hat ne interne Antenne. Abgesehen davon ist es der selbe Chip, die sollten also von der Sensitivität her usw. eigentlich gleich sein.

Achja, was auch noch Reichweite bringen kann ist mit der Rate so weit wie möglich runter zu gehen. Ich hab bei meinen CSL300 als rate 12M fixed gesetzt.

Code:
iwconfig wlan0 rate 12M fixed
Sollte man am RX und am TX machen.
 
Zuletzt bearbeitet:
Also einen Optimierungsvorschlag hab ich gleich mal, der wesentlich mehr Reichweite bringen sollte. Hol dir ein USB Verlängerungskabel und pack den WLAN-Stick so hoch es geht. Durch den Laptop verdeckst du ja den ganzen Empfang. Kannst einfach nen Stab in den Boden rammen dafür oder n Stativ nehmen.

Am Copter kann man sicherlich auch noch optimieren, wenn du auf dich zufliegst ist alles verdeckt durch Elektronik und Batterie.

Copter ist halt immer schwierig, da soviel Elektronik auf kleinem Raum ist. Denke aber mit höher gelegenem RX Stick sollte da schon einiges mehr gehen.
Guter Tipp. Das mit dem USB Kabel hat damals auch bei meinem 3DR 433 MHz Telemetrie Empfänger einiges an Reichweite gebracht. Bei meinem Test waren allerdings die Antennen immer auf den Copter gerichtet und nichts durch das Notebook verdeckt.

Die Antennen am Copter sind noch nicht optimal plaziert. Dadurch dass eine Antenne nach unten zeigt, ist die Abdeckung durch die Batterie und Rahmen ab einer gewissen Höhe nicht so dramatisch. Kann man den CSL300 eigentlich auch mit nur einer angeschlossenen Antenne als Sender betreiben oder brennt dann die Endstufe durch?
 

Rangarid

Erfahrener Benutzer
Ich bin mir nichtmal sicher, was der CSL300 genau macht wenn er sendet. Senden als Diversity macht irgendwie nicht soviel Sinn, deshalb kann es sein, dass beim Senden immer nur eine Antenne aktiv ist. Das müsste man mal irgendwie ausprobieren, aber keine Ahnung wie...

Bei Amazon hatte einer geschrieben, dass es keinen Unterschied für den Empfang gemacht hat ob er 1 oder 2 Antennen dran hatte, aber glaub sein Gerät war auch sowieso defekt. Müsste man halt irgendwie mal messen.
 
Was brauchts denn unter Ubuntu zum Empfangen des Streams?
Könnt ich ja zum testen ma das kleine Chromebook mit Crouton nehmen.
Da braucht man nicht viel. Nur das rx Programm von befi. Das kann man unter Ubuntu kompilieren. Sowie gstreamer zur Anzeige des Videos. Das gibt's als Package in Ubuntu. Mein rx.sh Skript sieht dann so aus:

Code:
#!/bin/sh

sudo ifconfig wlan2 down
sudo iw dev wlan2 set monitor otherbss fcsfail
sudo ifconfig wlan2 up
sudo iw reg set RU
sudo iwconfig wlan2 rate 18M fixed
sudo iwconfig wlan2 channel 161

sudo ./rx -b 8 -r 4 -f 1024 wlan2 | gst-launch-1.0 -v fdsrc ! h264parse ! avdec_h264 ! autovideosink sync=false
 
Empfangsseitig sind die CSL vielleicht nicht die besten.
Da ist der WDN3200 meiner Meinung nach besser.
Ich werde aber an diesem noch den Antennen-Mod machen.
Dann kann ich mehr sagen...
Was ich so in diversen anderen Foren gelesen habe, ist genau umgekehrt. Die CSL300 sollen sich sehr gut als Empfänger eignen, aber als Sender nur mittelmässig sein. Im DIY Drones Forum kommt ein User mit 2 x CSL300 als Empfänger (Diversity) und einem Alfa AWUS051NH V2 als Sender auf 1,2 km Reichweite im 5,8 GHz Bereich. Und das ohne irgendwelche gepatchte Treiber oder Firmware. Das würde mir problemlos reichen :)
 
Zuletzt bearbeitet:
hallo hd piloten :D

vielen dank für die vielen infos die hier in diesem thread stecken!
ich konnte mit eurer hilfe mein setting zu laufen bringen. eine frage hab ich nun doch noch. folgendes bild ist ein vlc snapshot eines videos mit 60fps gefilmt. liegt die latenz bei 110ms?

TX: Odroid-W, CSL300, noch stabantennen, kein powermod, 5V über Adaptor Input PIN
RX: PI2B, 2x AWUS051NH v2, noch stabantennen, StromPi, kein USB-Hub, kein powermod
Monitor: HeadplayHD

Images: http://www.rcgroups.com/forums/showthread.php?t=2454052&page=16#post33054682,
Kanal 146, Region BO
mit dieser anleitung für 8gb karten verkleinert http://softwarebakery.com/shrinking-images-on-linux
 

Anhänge

just_different

Erfahrener Benutzer
@mendel: nee, Du unterliegst dem gleichen Fehler, wie ich.
Auf Deinem Laptop, kannst Du ja sehen, dass er mit 60Hz läuft, demzufolge ist auch ein Kästchen 16ms wenn ich das richtig sehe.
Somit 11x16ms=176ms
Wenn Du also noch optimierst (Antennen, Übertragungsraten, etc), dann solltest Du das durchaus noch akzeptabel runter drücken können.
 
Zuletzt bearbeitet:

Rangarid

Erfahrener Benutzer
Was ich so in diversen anderen Foren gelesen habe, ist genau umgekehrt. Die CSL300 sollen sich sehr gut als Empfänger eignen, aber als Sender nur mittelmässig sein. Im DIY Drones Forum kommt ein User mit 2 x CSL300 als Empfänger (Diversity) und einem Alfa AWUS051NH V2 als Sender auf 1,2 km Reichweite im 5,8 GHz Bereich. Und das ohne irgendwelche gepatchte Treiber oder Firmware. Das würde mir problemlos reichen :)
Naja um zu sehen, welche Sticks am besten geeignet sind braucht man sich ja nur die Sensitivität anschauen. Ob die tatsächlich stimmt sei mal dahingestellt. Hier mal ein paar Vergleiche:

WDN3200
11M/2,4GHz: -86dBm bei 8% PER
54M/5GHz: -76dBm bei 10% PER
6M/5GHz: -90dBm bei 10% PER

Wie es mit den Werten dazwischen aussieht weiß ich nicht. hier wäre ja am ehesten 11M in 5Ghz hilfreich.

T2UH
5GHz:
11a 6Mbps: -94dBm
11a 54Mbps: -78dBm
11n HT20 MCS0: -94dBm
11n HT40 MCS0: -92dBm
11ac VHT80 MCS0: -89dBm
2.4GHz:
11b 11Mbps: -91dBm
11n HT20 MCS0: -95dBm
11n HT40 MCS0: -92dBm

AWUS051NH
b/g/n
Legacy Mode
11M -91
54M -77

HT20 Mode
MCS 8 -92
MCS 0 -92

HT40 Mode
MCS 8 -89
MCS 0 -88 (Typically @PER < 8% packet size 1024 and @25ºC + 5ºC)

Und hier noch a
[TABLE="width: 100%"]
[TR]
[TD="width: 158, bgcolor: #ffffff"][/TD]
[TD="bgcolor: #ffffcc"]5180MHz[/TD]
[TD="bgcolor: #ffffcc"]5320MHz[/TD]
[TD="bgcolor: #ffffcc"]5500MHz[/TD]
[TD="bgcolor: #ffffcc"]5825MHz[/TD]
[/TR]
[TR]
[TD="width: 158, bgcolor: #ffffcc"]6M[/TD]
[TD="bgcolor: #ffffff"]-93[/TD]
[TD="bgcolor: #ffffff"]-92[/TD]
[TD="bgcolor: #ffffff"]-93[/TD]
[TD="bgcolor: #ffffff"]-93[/TD]
[/TR]
[TR]
[TD="width: 158, bgcolor: #ffffcc"]54M[/TD]
[TD="bgcolor: #ffffff"]-78[/TD]
[TD="bgcolor: #ffffff"]-78[/TD]
[TD="bgcolor: #ffffff"]-78[/TD]
[TD="bgcolor: #ffffff"]-78[/TD]
[/TR]
[TR]
[TD="width: 158, bgcolor: #ffffff"][/TD]
[TD="bgcolor: #ffffff, colspan: 4"][/TD]
[/TR]
[TR]
[TD="width: 158, bgcolor: #ffffcc"]HT20[/TD]
[TD="bgcolor: #ffffff, colspan: 4"][/TD]
[/TR]
[TR]
[TD="width: 158, bgcolor: #ffffcc"]MCS 8[/TD]
[TD="bgcolor: #ffffff"]-92[/TD]
[TD="bgcolor: #ffffff"]-93[/TD]
[TD="bgcolor: #ffffff"]-92[/TD]
[TD="bgcolor: #ffffff"]-88[/TD]
[/TR]
[TR]
[TD="bgcolor: #ffffcc"]MCS 0[/TD]
[TD="bgcolor: #ffffff"] -92[/TD]
[TD="bgcolor: #ffffff"]-93[/TD]
[TD="bgcolor: #ffffff"]-92[/TD]
[TD="bgcolor: #ffffff"]-88[/TD]
[/TR]
[TR]
[TD="bgcolor: #ffffff"][/TD]
[TD="bgcolor: #ffffff, colspan: 4"][/TD]
[/TR]
[TR]
[TD="width: 158, bgcolor: #ffffcc"]HT40[/TD]
[TD="bgcolor: #ffffff, colspan: 4"][/TD]
[/TR]
[TR]
[TD="width: 158, bgcolor: #ffffcc"]MCS 8[/TD]
[TD="bgcolor: #ffffff"] -90[/TD]
[TD="bgcolor: #ffffff"]-89[/TD]
[TD="bgcolor: #ffffff"]-89[/TD]
[TD="bgcolor: #ffffff"]-86[/TD]
[/TR]
[TR]
[TD="bgcolor: #ffffcc"]MCS 0[/TD]
[TD="bgcolor: #ffffff"]-90[/TD]
[TD="bgcolor: #ffffff"]-88[/TD]
[TD="bgcolor: #ffffff"]-87[/TD]
[TD="bgcolor: #ffffff"]-87[/TD]
[/TR]
[/TABLE]

Habe bei allen Sticks ein paar Modi rausgenommen, außerdem gibt es noch Zwischenmodi die hier auch nicht drinstehen, die eventuell besser oder schlechter sein können.

Ich weiß garnicht, warum die Alfas so schlecht als Empfänger sein sollen, von der Sensitivität her sind die Spitze...

Am allerbesten finde ich sehen die TP-Link T2UH aus. leider funktioniert der Treiber unter Linux nicht richtig. Sonst wären die wohl die perfekten Kandidaten.
 

just_different

Erfahrener Benutzer
Zuletzt bearbeitet:

Rangarid

Erfahrener Benutzer
Grad mal mit Ubuntu am Laptop getestet, wenn ich
Code:
sudo ./rx -b 8 -r 4 -f 1024 wlan2 | gst-launch-1.0 -v fdsrc ! h264parse ! avdec_h264 ! autovideosink sync=false
mache, bekomme ich nen haufen Fehler. Zunächst mal muss man sowieso noch die entsprechenden gstreamer Pakete installieren, damit er nicht vorher schon meckert, hab grad die namen nicht im Kopf, findet man aber mit etwas googlen.

Daraufhin habe ich dann mplayer ausprobiert, damit ging es dann so ziemlich direkt. mplayer funktioniert auch aus der Konsole raus, ohne dass man den Desktop braucht. Weiß grad nicht wie das bei gstreamer ist.

Befehl ist
Code:
sudo apt-get install mplayer
sudo ./rx ... | mplayer -fps 60 -cache 1024 -
Man kann dann noch -fs als Parameter für Fullscreen mitgeben.
 

tomm

Erfahrener Benutzer
erhöht der cache in der mplayer-pipe nicht zusätzlich noch die latenz?

gstreamer beherrscht auch direkt in der console die wiedergabe, der sink ist dann irgendwas mit framebuffer, genaue bezeichnung hab ich aber nicht im kopf. ansonsten statt autovideosink mal xvimagesink probieren, falls die autoerkennung nicht korrekt arbeitet. damit funktioniert es bei mir gut.

beim pi geht das übrigens auch. gibt ein angepasstes gstreamer, der passende sink mit hardwarebeschleunigung ist dann eglglessink.
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten