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

Status
Nicht offen für weitere Antworten.
Setzte ebenfalls auf die selbe Kombination und konnte noch keine Störungen feststellen außer den beide WLAN Sticks zu nahe sind

Gesendet von meinem CRR-L09 mit Tapatalk
 

DerKlotz74

Erfahrener Benutzer
Auf welchen Frequenzen oberhalb 5GHz seid ihr unterwegs? Möchte mir Antennen bauen. Gerne als PN
 
Kann mal bitte jemand schildern, wie seine funktionierenden TX und RX-Scripte aussehen? Ich hatte einige Wochen keine Zeit für das Projekt und musste nun nach fehlgeschlagenem Feldtest feststellen, dass mein Setup nur funktioniert SOLANGE ICH IM HEIMISCHEN WLAN BIN !!

Ist so natürlich völlig idiotisch, auf dem Feld. Und ich dachte, ich wäre am Ziel :mad:
Ich will mein Handy als Display nutzen. Es hängt per Kabel am Rpi (WLAN wäre mir aber noch lieber ...).

EDIT: fand den Fehler. Ich hatte die IP-Adresse drin, die meinem Handy im lokalen WLAN zugewiesen wird. Verwende nun die korrekte IP vom USB-Tether, und damit klappt es auch. 2 Fragen:

1. Wie bekomme ich das ganze per WLAN hin? Damit klappts nämlich nicht.

2. Ich habe nun per USB leider heftige Bildstörungen (wie KOmpressionsartefakte) - wie kann ich die beseitigen?
 
Zuletzt bearbeitet:

Schalonsus

Erfahrener Benutzer
Genial wär ein Programm mit dem man aus einem gespeicherten Telemetry Stream ein Overlay Video erzeugen könnte, das kann man dann über den aufgezeichneten Video Stream legen mit einem Videobearbeitungsprogramm.
 

rodizio

Erfahrener Benutzer
Mir ist es endlich gelungen die Empfänger-Freezes nachzuvollziehen.

So wie es im Moment aussieht, gibt's drei Ursachen/Fehlerbilder, zwei davon noch ungelöst:

(1.) Bei aktiviertem FCSFail (beschädigte Pakete werden durchgeleitet) stürzt irgendwas im Kernel/Netzwerk/WLAN-Stack ab und es werden keine Pakete mehr weitergeleitet. ifconfig zeigt keine hereinkommenden Pakete mehr, dadurch kriegt der rx Prozess keine Pakete mehr und das Bild steht. Gelöst durch deaktivieren von FCSFail.


2. Hello_video.bin friert ein. Bis jetzt ist es mir trotz wochenlangen Versuchen erst einmal gelungen das nachzustellen, das war mit aktiviertem Befi OSD. Ohne OSD ist es bei mir nie aufgetreten, kann aber auch Zufall/Glück sein, nick100 hatte ja von Freezes auch ohne OSD berichtet ...

Lässt sich aber lösen, in dem hello_video.bin neugestartet wird. Das Neustarten dauert vielleicht eine halbe Sekunde, dann ist das Bild wieder da, ist also vertretbar. Problem ist allerdings sicher und schnell festzustellen ob hello_video.bin hängt, muss mal schauen wie man das am besten machen kann ...


3. Bei aktiviertem Rangarid OSD scheint sich die GPU manchmal komplett aufzuhängen. Bis jetzt auch erst einmal aufgetreten. Zugriff per Netzwerk geht dann noch. Der osd Prozess hängt dann im <defunct> state und lässt sich auch mit "kill -9" nicht beenden. Das Kommando "vcgen_cmd get_camera" z.B. funktioniert auch nicht mehr, hängt auch einfach. Sieht für mich so aus, als ob die GPU komplett hängt. Problem sollte sich recht einfach und schnell erkennen lassen indem einfach einmal pro Sekunde mit vcgen_cmd (oder irgendwas anderem muss ich mal schauen ...) getestet wird ob die GPU hängt. Problem ist, dass sich das anscheinend nur durch einen Reboot lösen lässt. Das dauert 10 Sekunden und bedeutet wohl den sicheren Absturz wenn man kein Loitering oder sowas hat :(
 

rodizio

Erfahrener Benutzer
Habe irgendwo im Raspberry Forum gesehen, dass man mit dem vcgen Kommando wohl irgendwie GPU debugging oder Logs sehen kann, weiss aber nicht ob das dafür geht, muss ich mir bei Gelegenheit nochmal anschauen.

Kannst Du vielleicht in Deinem OSD code irgendwas debuggen? Wenn nur die GPU hängt, müsste der Code ja theoretisch weiterlaufen (können), er wird wahrscheinlich nur an irgendeiner Funktion die auf die GPU zugreift einfach stehenbleiben weil die GPU nicht mehr reagiert (?) Weiss nicht, ob man das irgendwie abfangen kann im Code? Wenn Datenholen/dekodieren/malen eine Schleife ist, wird das wahrscheinlich schwierig, müsste man erst alles auf multithreaded umbauen. Örgs.

Ansonsten (erstmal als Workaround) gibt's auf dem Pi noch den hardware watchdog. Der löst einen hardware reboot aus sobald er eine konfigurierbare Zeit nicht "gestreichelt" wird. Wenn Du in Deinem Code in der Schleife die auf den Bildschirm malt regelmässig den Watchdog "streichelst" (einfach auf /dev/watchdog schreiben), sollte der automatisch neustarten wenn die Schleife steht wenn die GPU hängt ...
 

Rangarid

Erfahrener Benutzer
Naja das Problem ist, dass ich die openvg lib benutze, da ist der eigentliche GPU kram drin. Könnt also sein, dass dort irgendwo ein Fehler ist. Hab auch aktuell keine Zeit dafür... aber mal sehen... Vielleicht find ich mal n paar Minuten.
 

careyer

DröhnOpaRähta
@rodizio & @rangarid: das sind genau die Freezes die ich meine.... Die komplette GPU hängt sich dann irgendwie weg und Video und OSD Werden zu Zombie Prozessen. Die Wahrscheinlichkeit für die Freezes steigt je mehr Grafik das Rangarid OSD rendern muss... Ganz übel ist zMB. der grafische Home Pfeil


Gesendet von iPhone mit Tapatalk
 

rodizio

Erfahrener Benutzer
Dann schaue ich erstmal, dass ich das "von aussen" irgendwie prüfe und dann den reboot auslöse.


Habe gerade noch das hier gefunden:

https://www.raspberrypi.org/forums/viewtopic.php?f=33&t=77231

Btw I found a way of apparently resetting the GPU, by power cycling it. It did the trick for me for the rendering front-end at least (and all semaphore state). Have a look at QpuEnable:
https://github.com/simonjhall/dma/blob/master/vc_support.c
true powers up the GPU and false powers it down. Just use this to cycle it.
What I discovered that when you disable it, the GPU completely disappears from the MMIO interface and when you turn it back on all sins are forgiven
Sieht so aus, als ob das genau macht was wir brauchen. Ich hab zuwenig Plan vom programmieren, kriegt man das damit hin? Kleines Tool, was einfach einmal GPU aus/ein macht?


Edit: Careyer: Ah, ich werde mal probieren das Grafik-intensive Zeugs auszukommentieren.
 
Zuletzt bearbeitet:

careyer

DröhnOpaRähta
Jepp...die Leitern sind in der Tat auch übel... Und erhöhen das Risiko für einen Freeze erheblich.... Sehr schön kann man es nachstellen wenn man einfach alles aktiviert was geht


Gesendet von iPhone mit Tapatalk
 
Kann hier jemand BITTE BITTE kurz schreiben,

WIE ICH DIE VERBINDUNG PER WLAN HINBEKOMME ? Also RX-RPi => WIFI-Hotspot am Handy ? Ich bekomme es einfach nicht hin und finde den Fehler NICHT.

DANKE !

Außerdem wüsste ich gern wie die Paramter gesetzt werden müssen, damit es egal ist, ob TX-RPI oder RX-RPI zuerst starten. Ich las davon hier auf dem Board, finde die Stelle aber ums verrecken nicht mehr.
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten