Labview - Mavlink 1.0 Read Interface

Status
Nicht offen für weitere Antworten.

Hirschi

Neuer Benutzer
#1
Hi,

ich hab mich mal ran gemacht und nenn simples Mavlink 1.0 Read Interface gebastelt.

Das mit der X.25 Checksumme hab ich nicht hinbekommen aber der code vergleicht die Payload länge im header mit der tatsächlichen Payloadlänge... Das sollte fürs erste ausreichend sein ...

Vielleicht bekommt es ja noch einer hin oder auch ich selber ..

Wie gesagt, es ist nur das Interface wo ihr nur die blanken Daten bekommt. Also erwartet keine schicke Oberfläche oder so ... Die könnt ihr euch ja dann selber basteln ;-)
Ich brauche für mein PRojekt ( FrankenDronen Mod) nämlich nicht mehr als die Höhe ... zumindest fürs erste ..

Also... vielleicht hilft es ja den einen oder anderen weiter ...
Darum, viel Spaß beim basteln ...

Ich werde mich auch irgendwann evtl. nochmal ran machen und den Code etwas aufräumen ... Bin halt kein Programmierer und weiß das es für die ein oder andere Sache elegantere Lösungen gegeben hätte, aber hauptsache is ja es läuft ..

Anhang anzeigen Labview Mavlink 1.0 Read.rar <----- neuere Version
 

Anhänge

Zuletzt bearbeitet:

Terminus

Erfahrener Benutzer
#3
Danke für die Mühe! Hast du evtl auch ein bisl Doku für dein Projekt gemacht? Ich will demnächst einen Sniffer programmieren welcher am Mavlink Protokoll lauscht und da sind gute Zusammenfassungen immer willkommen ;-)

Gruß
Termi
 

Hirschi

Neuer Benutzer
#4
Danke für die Mühe! Hast du evtl auch ein bisl Doku für dein Projekt gemacht? Ich will demnächst einen Sniffer programmieren welcher am Mavlink Protokoll lauscht und da sind gute Zusammenfassungen immer willkommen ;-)

Gruß
Termi
Ähm ja ......


Bin grade dabei den Code aufzuräumen wie man sieht und das ganze noch etwas zu kompriemieren, damit die schleifen scheller durch laufen bzw. nur so lange wie nötig und nicht so viel Pakete verpasst werden..

Der Header wird so entschlüsselt: http://qgroundcontrol.org/mavlink/start

Is in etwa der mitte der Seite zu finden aber der tollen Grafik hier


Das ganze mit dem Header passiert in der Paket Split VI

Die Payload selber wird in den jeweiligen Messages VI´s entschlüsselt ..

https://pixhawk.ethz.ch/mavlink/

Ab etwa mitte der Page sind die ganzen Messages mit ID´s angegeben.. Die ID in Hexdezimal umrechnen und vorne in der Messages VI bei "Regulären Ausdruck" ( bin dabei es übersichtlicher zu machen ) eingetragen ..

Anschlueßend die Payload in Ihre bestandteile zelegen ( Deserialisieren ) in den entsprchenden Bit Größen bzw Einheiten ... SGLFLoat , U32int , 8int .... usw...

Ist alles in dem Link oben in den jeweiligen Messages ID´s aufgelistet ...

Hab leider keine Zeit da ein ordentliches Frontpanel zu basteln, da ich eigentlich für mein vorhaben , nur ein paar Daten brauch..

Aber kann sich ja gerne einer ran setzen ..

Es ist auch möglich mehrere SYS ID´s und oder Comp ID´s , sogar über mehrer Empfänger also Com Ports auszulesen..

Sogar nach suchen zu lassen ...

Also ... wären ja gleich ein paar Ideen für dein Sniffer ;)
 

Hirschi

Neuer Benutzer
#5
Ähm,

hab mir deine Idee mit den Snifer noch mal durch´n Kopp gehen lassen ...

Datt wird , zumindest mit 3DR-Radio, nicht Funktionieren..

Bei 3DR-Radio ( bei XBee auch ) stellt man ja die Net ID ein. Wenn jetzt noch ein 3. Gerät dazu kommt, dann kann es nicht in das selbe "Netzwek" mit rein, sondern wird erst verbunden, wenn eins von den anderen ausgeschaltet wird..

Wäre nur die Möglichkeit mit nenn FTDI Breakout ( FTDI Chips Funktioniern einwandfrei unter Labview, PL2303 Chips sind ehr problematisch ) die RX Leitung des Empfänger Moduls abzugreifen, was ich selber auch vor habe.

Ich will für mein APM2.5 die Mission Planer Software verwenden, und das RX Signal vom 3DR Modul ( welches mit Missionplaner verbunden ist )abgreifen und nochmal für mein eigenes Labview Progie verwenden.

Und da die 433 MHz Module eh den Bug mit den USB Port haben ( hohes Rauschen verursacht duch den USB Port der glaube ich mit 480 MHz arbeitet ) verwende ich an der Ground Station ein Air Modul mit nem FDTI Breakout , bzw. dann zwei FDTI´s an ein Air Modul .. Eins für Misson Planer und eins für Labview..
 

Terminus

Erfahrener Benutzer
#7
Nabend.

Ne das wird noch oldschool verdrahtet :)

Ich will auf dem Kopter die Daten abgreifen mit einem kleinen Atmega und mit Jeti weiterleiten. Dann habe ich an der Funke Telemetrie. Dafür häng ich mich einfach an den Tx vom APM.

Gruß
Termi
 

Hirschi

Neuer Benutzer
#8
Klar ... datt sollte doch hin hauen ..

Jut mit Jeti kenn ich mich nicht so aus ... aber zur not einfach noch nenn 3DR ran .. 433 MHz oder 868 MHz ..
 

cGiesen

Erfahrener Benutzer
#9
Hallo,

wie testet Ihr das?
Häng Ihr immer einen Copter dran, oder gibt es sowas wie ein Mavlink Send womit man Daten senden kann?

Gruß
Carsten
 

Hirschi

Neuer Benutzer
#10
ähh. ja.. einfach den copter ( ich fliege mit AMP 2.5) einschalten, xbee oder 3DR-Radio an Laptop (oder über welchen Weg auch immer ihr an den Mavlink Daten stream ran kommt) com Port in der labview VI angeben und los.

bei mir ist es so , dass der APM nach dem einschalten Daten sendet.
zur Sicherheit verbinde ich aber den copter vorher mit der Mission Planer Software . mir kommt es so vor als ob ich danach mehr Pakete von der APM als vor dem Verbinden mit der Mission Planer Software.

denkbar wäre auch , labview als einen Art sniffer im Hintergrund zusammen mit Mission Planer mitlaufen zu lassen in den man einfach das rx Signal am ground Station Modem angreift.
so kann man zb eigene Daten mit loggen oder eigene Instrument verknüpft mit warn Sounds bauen.

ich bin aber gerade dabei, an nemm Send Programm.
Bis jetzt bin ich soweit das ich alle 8 RC Inputs überschreiben und steuern kann.
ausserdem arbeite ich noch daran die cam mount Einstellungen zu verändern.

ob ich weitere Funktionen hingekomme zu senden weiß ich noch nicht.

je nach dem was ich für mein Projekt brauche.

wenn jemand daraus nenn ordentliches Frontend bzw frontpanel basteln will kann er das gerne machen und ich ich würde den jenigen auch etwas unterstützen bei.

aber wie gesagt, ich brauche einige der mavlink Funktionen für mein eigenes Projekt und mit dem Frontpanel was ich mir bastel kann sonst keiner was anfangen denke ich.

ich wollte aber auch nicht so egoistisch sein und die Sachen die andere Leute evtl brauchen könnten nur für mich behalten.
 

Hirschi

Neuer Benutzer
#11
So..

wie bereits erwähnt, habe ich an einem Send Protocoll gearbeitet ... ICh hab da ziemlich viel Zeit drin investiert. Aber leider komme ich jetzt nicht mehr weiter, weil ich das Problem nicht sehe bzw. finde...
Und ich kann das ganze jetzt für ne ganze Zeit lang nicht mehr sehen, solange mir nicht wirklich noch ne gute Idee kommt... Weil das was ich jetzt mache ist nur noch ausprobieren und im dunkeln stochern..

Ich habe die Komunikation zwischen mein APM2.5 und Mission Planer ab den ersten Paketen an aufgezeichnet und bin jedes Paket Byte für Byte durch gegangen ..

Ich habe nichts weiter gefunden ...
Es werden vom Mission Planer nur die Heartbeat Pakete ( 00 ) , Parameter Request ( 21 ), Request Data Stream ( 66 ) und das RC Channel Input RAW overwriter ( 70 ) gesendet um in meinem Fall den Kamera Mount zu bewegen..

Die Request Data Stream ( 66 ), und Parameter Request ( 21 ) werden nur am anfang von Mission Planer gesendet ...

Wie schonmal erwähnt, habe ich die APM erst mit dem Mission Planer verbunden und danach das Programm einfach geschlossen und meins ausgeführt, was anfangs noch mit 1 HZ dann jetzt mit 2 Hz den Heartbeat ( 00 ) und RC Channel Input RAW overwriter ( 70 ) nach bedarf und mit 2 Hz sendet..

Aber nix passiert ... ich kann das ganze auch nicht weiter überprüfen, ob die APM überhaupt meine Pakete annimmt ...

Das 3DR-Radio zumindest erkennt meine gesendeten Heartbeats und sendet das Radio Status Paket ( 109 ) zurück ..


Wie gesagt ... ich weiß erstmal nicht mehr weiter .. vielleicht findet ja jemand anders den fehler .. oder vielleicht ist das ganze hier zumindet ein Ansatz für sein eigenes Projekt ..

Vielleicht beschäftige ich mich aber irgendwann nochmal damit .. mal sehen ..


In den *.txt Dateien findet ihr die Aufgezeichneten Streams ... Die könnt ihr euch mit Bin Viewer oder nenn anderen Hex Viewer angucken ..


Gruß ....

Anhang anzeigen Labview Mavlink 1.0 Send.zip Anhang anzeigen tx1.txt Anhang anzeigen rx1.txt
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten