EZ-Wifibroadcast, HD FPV in günstig und einfach

Status
Nicht offen für weitere Antworten.
Erfolgserlebnis: oben rechts werden jetzt eingehende Pakete angezeigt.
Mit Unterstützung von Jens habe dazu einen Pegelwandler eingebaut.
Vom AMD -> Minus und TX auf der RS232-Seite angeschlossen
Vom Zero Plus, Minus und RX an der TTL-Seite angeschlossen.



Aber leider noch keine Anzeige von echten OSD-Daten.


Wenn es ev. weiterhilft:
Das sind meine Einstellungen vom AMD bez. Telemetrie. Wird auch auf dem parallel geschalteten analogen MinimOSD angezeigt.
SERIAL0_BAUD,57
SERIAL1_BAUD,57
SIMPLE,0
SR0_EXT_STAT,2
SR0_EXTRA1,4
SR0_EXTRA2,4
SR0_EXTRA3,2
SR0_PARAMS,10
SR0_POSITION,2
SR0_RAW_CTRL,2
SR0_RAW_SENS,2
SR0_RC_CHAN,2
SR1_EXT_STAT,2
SR1_EXTRA1,2
SR1_EXTRA2,2
SR1_EXTRA3,2
SR1_PARAMS,0
SR1_POSITION,2
SR1_RAW_CTRL,2
SR1_RAW_SENS,2
SR1_RC_CHAN,2

Könnt Ihr mir bitte auf die Sprünge helfen?
Viele Grüße
Jochen
 
Zuletzt bearbeitet:
Hallo
Wie wird denn das MavLink auf dem Empfänger decodiert?
Müßte man da nicht auch noch die seriale Geschwindigkeit angeben?
Damit der Empfänger weiss wie schnell die Daten kommen⁠⁠⁠⁠?
Viele Grüße
Jochen
 

rodizio1

Erfahrener Benutzer
Fast 69.000 Pakete sieht sehr viel aus, anscheinend kommen da sehr viele Daten aus der FC. Eigentlich sollten da, keine Ahnung, vielleicht irgendwas zwischen 1 und vielleicht max. 50 Pakete pro Sekunde rauskommen.

Oder lief das schon recht lange?

Ich kenne mich mit dem Mavlink Zeugs nicht aus, aber so wie ich das im Source sehe, versteht Rangarids OSD folgende Mavlink IDs:

MAVLINK_MSG_ID_GPS_RAW_INT
MAVLINK_MSG_ID_GLOBAL_POSITION_INT
MAVLINK_MSG_ID_ATTITUDE
MAVLINK_MSG_ID_SYS_STATUS
MAVLINK_MSG_ID_VFR_HUD

Du müsstest also irgendwie dafür sorgen, dass diese Messages aus deiner FC kommen. So wie ich das bislang mitbekommen habe, gibt's bei Mavlink wohl irgendwie recht viele verschiedene Messages, je nach Einstellung, Flightcontrol, Version, was weiss ich.

Aber nur Halbwissen.

Kannst Du mal ein Telemetry log hochladen? Dann könnte ich mal schauen ob diese Message IDs dabei sind ..



Edit: Okay, so wie ich das verstehe, geben deine obigen SR... parameter wohl an, was gesendet wird und wie oft (Zahl dahinter die Streamrate in Hz). Wären dann insgesamt 42 Mavlink Pakete pro Sekunde wenn ich mich nicht verzählt habe. Je nachdem wie gross die Mavlink Pakete sind, können daraus auch noch mehr Wifibroadcast Pakete werden.

SR0_POSITION,2 enthält wohl die Message GLOBAL_POSITION_INT, die Rangarid's OSD versteht. Sollte also eigentlich gehen (?)

Was SR1_POSITION ist, bzw. was es mit den Nummern nach dem SR auf sich hat, keine Ahnung.
 
Zuletzt bearbeitet:

stxShadow

Erfahrener Benutzer
Nabend,

was Jochen meint ist: der APM schickt seine Daten ja mit 57600 Bit an den Raspberry. Hier kommen die Daten auch an. (ich kann die Daten auf der Schnittstelle des Raspi sehen). Nun stellt sich die Frage: muss man am Empfänger Raspi noch etwas einstellen um eben diese 57600 Bit irgendwo rauszubekommen ?? oder erkennt das System selber wieviel Bit/Sek da ankommen ? bzw mit welche Datenrate rechnet das OSD ?

Leider bin ich aktuell massiv unterwegs, weshalb ich Jochen da gerade auch nicht helfen kann.

Viele Grüße

Jens
 

rodizio1

Erfahrener Benutzer
Ab dem Punkt wo die Daten auf dem Tx von der seriellen Schnittstelle herunter sind ist einfach nichts mehr mit Bit pro Sekunde, die Daten werden einfach so weitergeschickt, ist keine synchrone Übertragung vom Tx bis zum Rx. Wenn ein paar Bytes von der FC kommen, packt wifibroadcast das in ein Paket, schickt es los* und wartet wieder bis was kommt ... Das OSD wartet bis was angekommen ist und rendert dann entsprechend.

*Da stimmt vielleicht noch was nicht, die Sache mit den vielen Paketen ...
 
Ich finden es super, wie schnell und engagiert Du reagierts. Danke.
>Kannst Du mal ein Telemetry log hochladen?
Werde ich asap machen. Um die Logs habe ich mich noch nie gekümmert. :-(
Aber so kommt man langsam immer tiefer in die Materie rein. :)
 

zwiebacksaege

Erfahrener Benutzer
hi Leute. aufgrund des aktuell so hässlichen Wetters möchte ich dieses schöne Projekt auch mal ausgiebig testen. zur Hardware Bestellung eine Frage : muss es ein Monitor an HDMI oder AV sein oder kann man final dann auch so einen schönen integrierten Display über DSI port nehmen ... der wenigen kabel wegen...
Gruß zwiebacksaege

Sent from my Wileyfox Swift using Tapatalk
 

rodizio1

Erfahrener Benutzer
DSI display geht auch, habe das Raspberry 7 Zoll display an einem. Gibt's auch schöne fertige Gehäuse für. Aber die Auflösung ist mit 800x480 nicht so toll, weiss nicht ob's noch andere mit höherer Auflösung gibt.
 

zwiebacksaege

Erfahrener Benutzer
danke für die info. Bestellung ist raus :)

Sent from my Wileyfox Swift using Tapatalk
 

Lonestar78

Erfahrener Benutzer
Mein lieber Schwan, Ihr habt Irre was auf die Beine gestellt. Congrats.
Ich hatte mich ja heimlich still und leise für einige Zeit verabschiedet.
Job, Haus und Nachwuchs haben ihren Tribut gefordert.

Habe vor zwei Wochen angefangen wieder mitzulesen, dann fluchs zwei Alpha 52h bestellt.
Raspberrys und Cams liegen ja einige rum :)

Heute schnell mit der 1.3b bespielt, kurz die Config angepasst, die App installiert auf dem Android, Tethering an, kurz über den Stromverbrauch der Alfas geflucht, zusätzliche Netzteile angestöpselt und siehe da: funzt :)

Whats next?
Ich werde meine Airpicontrol App um EZ-Wifibroadcast erweitern, die erste grobe Implementierung läuft bereits.
Schöne neue Welt :)
 

stxShadow

Erfahrener Benutzer
Moin Moin,

zur Info; Mavlink (an APM) über Wifibroadcast (EZ 1.3) funktioniert. Man muss nur für einen sauberen Pegel sorgen. Das OSD selber ist aber relativ langsam zu den analogen OSDs die ich so kenne. Die Update Rate liegt bei 50 ms .... von daher sollte das doch auch schneller gehen oder ?

Viele Grüße

Jens
 
Zuletzt bearbeitet:

zwiebacksaege

Erfahrener Benutzer
das hört sich ja immer besser an. was muss man für mavlink tun? gibt es dafür einen Schaltplan?
Gruß zwiebacksaege

Sent from my Wileyfox Swift using Tapatalk
 

rodizio1

Erfahrener Benutzer
stxshadow: Update Rate ist konfigurierbar in der osdconfig.txt. Habe erstmal 50ms genommen weil ich dachte das reicht. Je nachdem wie viel graphische Elemente an sind, kann das OSD aber durchaus schneller rendern. Probier mal 20ms oder so.

Wieviele Updates schickt denn das mavlink protokoll bei 'üblichen' konfigs mit Analog OSD?
 

stxShadow

Erfahrener Benutzer
stxshadow: Update Rate ist konfigurierbar in der osdconfig.txt. Habe erstmal 50ms genommen weil ich dachte das reicht. Je nachdem wie viel graphische Elemente an sind, kann das OSD aber durchaus schneller rendern. Probier mal 20ms oder so.

Wieviele Updates schickt denn das mavlink protokoll bei 'üblichen' konfigs mit Analog OSD?
Wieviele das genau sind weiss ich noch nicht. Ich werde mich da aber mal schlau machen. Wie gesagt: gefühlt ist es deutlich langsamer. Bei schnnel Bewegungen ist dies natürlich am deutlichsten am Hozizont zu erkennen. Das dauert schon einiges bis der sich anfängt zu bewegen. (Verzögert) .... ich denke nicht, dass es am Rendering liegt. 50 ms entspricht 20 Updates / Sekunde .... die sehe ich aber hier nicht.
 

stxShadow

Erfahrener Benutzer
das hört sich ja immer besser an. was muss man für mavlink tun? gibt es dafür einen Schaltplan?
Gruß zwiebacksaege

Sent from my Wileyfox Swift using Tapatalk

Aktuell läuft es bei mir noch auf einen Simplen 1 kOhm Widerstand hinaus. Dieser sorgt dafür, daß nur ca 3.3 Volt am Raspberry ankommen. Dadurch wird das Signal natürlich verwaschen. Funktioniert aber bis 57600 sauber. Du musst einfach nur TX vom APM Telemetrie Port am RX Pin (GPIO Port 10) des Raspberry über einen 1kOhm Widerstand anschliessen. Des weiteren benötigst Du noch einmal Masse vom APM zum Raspberry ..... damit funktioniert es erstmal. Per default steht der Telemetrie Port auf 56700 Bit. Die musst Du dann in der wifibroadcast.conf auch so anpassen.

Danach sollte es funktionieren, wenn Du am RX das OSD aktiviert und in der osd.config die Werte einblenden lässst. Am besten lässt man sich den OSD RSSI Wert mit einblenden. So siehst Du ihm Fehlerfall ob überhaupt etwas ankommt.

Ich werde das ganze nochmal sauber mit einem Gatter aufbauen .... dauert aber ein paar Tage. Danach gibts ggf auch einen Schaltplan :)

Viele Grüße

Jens
 
Aktuell läuft es bei mir noch auf einen Simplen 1 kOhm Widerstand hinaus. Dieser sorgt dafür, daß nur ca 3.3 Volt am Raspberry ankommen. Dadurch wird das Signal natürlich verwaschen. Funktioniert aber bis 57600 sauber. Du musst einfach nur TX vom APM Telemetrie Port am RX Pin (GPIO Port 10) des Raspberry über einen 1kOhm Widerstand anschliessen. Des weiteren benötigst Du noch einmal Masse vom APM zum Raspberry ..... damit funktioniert es erstmal. Per default steht der Telemetrie Port auf 56700 Bit. Die musst Du dann in der wifibroadcast.conf auch so anpassen.

Danach sollte es funktionieren, wenn Du am RX das OSD aktiviert und in der osd.config die Werte einblenden lässst. Am besten lässt man sich den OSD RSSI Wert mit einblenden. So siehst Du ihm Fehlerfall ob überhaupt etwas ankommt.

Ich werde das ganze nochmal sauber mit einem Gatter aufbauen .... dauert aber ein paar Tage. Danach gibts ggf auch einen Schaltplan :)

Viele Grüße

Jens
Wieso nimmst du nicht einen vernünftigen Level-Shifter i.e. http://www.ti.com/product/txs0102/datasheet
Da hast du auch kein Problem mit Bandbreite und Signalqualität. Nutze sie selber sowohl für I2C als auch für UART - absolut stressfrei!
 

stxShadow

Erfahrener Benutzer
Wieso nimmst du nicht einen vernünftigen Level-Shifter i.e. http://www.ti.com/product/txs0102/datasheet
Da hast du auch kein Problem mit Bandbreite und Signalqualität. Nutze sie selber sowohl für I2C als auch für UART - absolut stressfrei!
Wie Du vielleicht in den Posts weiter vorne gesehen hast mache ich das auch. In diesem Fall sollte es aber möglichst einfach und ohne viel Lötarbeit sein. Ein Widerstand und eine ZenerDiode reichen für diese Simple Anwendung auch locker aus .... man muss ja nicht immer mit Kanonen auf Spatzen schiessen.
 

Lonestar78

Erfahrener Benutzer
Sag mal Rodizio,
wäre eine art Sync Service von RX nach TX für das Config-File denkbar?
Ich bastel in der AirPiControl App gerade daran, ein paar sachen konfigurierbar zu machen, Auflösung Datenrate und vor allem Kamera-Einstellungen. Dann würde ich das gerne von der App auf den RX schreiben.
Der RX müsste dann erkennen "Ahh neues Config-File in verzeichnis /root/ ...das nehm ich jetzt und schreibs nach /boot/ und schicks dem TX kollegen rüber, der dann das gleiche macht. Danach starte ich mich neu."

Eine Idee dazu?
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten