Hott Telemetrie-Daten am Sender auslesen

cord

User
Hallo,
ich versuche gerade die Telemetrie-Daten aus meinem MZ-32 Sender auszulesen. Dazu habe einen ESP32 an den Data-Port (19200Bd) angeschlossen und sende zur Abfrage der GPS Daten 0x80 0x8A. Als Antwort bekomme ich 57 Bytes (55 ohne die Abfrage):

00000000: 80 8A 7C 00 00 5A 36 27 38 64 36 0A 00 37 00 A0
00000010: 89 01 00 00 B8 14 80 04 00 85 03 BB 05 0D 00 F4
00000020: 01 44 75 78 08 33 AD 00 00 00 13 37 0E 57 0A 00
00000030: 00 00 00 33 00 00 00 7D 8C

Auf Anfrage habe leider keine Spezifikation dazu von Graupner erhalten, nur die Spezifikationen der Smart-Box Schnittstelle und der Bluetooth Schnittstelle mit dem Hinweis lieber die BT-Schnittstelle zu verwenden. Ich habe aber noch keine Vorstellung wie ich diese ansprechen soll. Hat jemand Erfahrung damit? Oder hat die Spezifikation für das obige Format?
Bin für jeden Hinweis dankbar.

Ein paar Werte konnte ich identifizieren:

Byte
17,18 Geschwindigkeit
19 N/S ?
20,21 Lat
22,23 Lat Nachkommastellen
24 E/W ?
25,26 Lon
27,28 Lon Nachkommastellen
29,30 Entfernung

42 Stunden (UTC)
43 Minuten
44 Sekunden
45,46 Millisekunden



Gruß
Cord
 

ingo_s

User
Die alte Sensors, Telemetrie Beschreibung 4_2 enthält das GPS Daten Protokoll der SmartBox.
Allen und auch dem GPS Sensor Daten Protokoll am Empfänger sind nur 13 (15) Byte Empfänger Daten an der SmartBox Schnittstelle voran gestellt.

Gruß Ingo
 

cord

User
Bei den Daten aus der MZ-32 passt jetzt die Schnittstellenspezifikation wenn ich 8 + 2 Byte einfüge. Schade das es wohl noch keine vollständige Beschreibung gibt.
Schön wäre auch die Daten direkt mit Bluetooth abzufragen, hat das schon jemand hinbekommen? Ich meine nicht die Android App, das funktioniert schon.
Gruß Cord
 

cord

User
Hab heute mal die ersten Versuche draußen mit meinem Lentus absolviert

Altitude.jpg


Die Flughöhe als Kurve mit einem 2,8" ILI9341 Touch Display, ESP32 und LVGL Library.

Gruß
Cord
 

Anhänge

  • Altitude.jpg
    Altitude.jpg
    250 KB · Aufrufe: 103
Hallo Cord

Das scheint mit der Sensorantwort um 9Byte versetzt, aber sonst gleich zu sein ?
17+18 bei Dir Speed, unten ist das 8+9, und geht dann so weiter laufend durch...

Quelle, Bei Ziege One kopiert:

Er hat dort auch was mit BT gebaut wenn ich das richtig sehe, um sie für die Videobrille abzuholen (oder sowas ähnliches, k.A.)
Anzeigen der Telemetrie Daten von Hott Sendern in die Videobrille (Monitor)

C-ähnlich:
        uint8_t DummyH[5];
        uint8_t Rec_RX_S_STR;
        uint8_t Rec_RVOLT;
        uint8_t Rec_TEMP;
        uint8_t Rec_RX_dBm;
        uint8_t Rec_RX_S_QUA;
        uint8_t Rec_RLOW;
        uint16_t Rec_LOST;
        uint8_t Rec_TX_dBm;
        uint8_t Rec_Null_Byte;
        uint8_t sensorTextID;
        //uint8_t DummyH[16];
        uint8_t flightDirection;  //#07 119 = Flightdir./dir. 1 = 2°; 0°(North), 90°(East), 180°(South), 270°(West) */
        uint16_t GPSSpeed;        //#08 8 = /GPS speed low byte 8km/h */
                                  //#09 MSB
        uint8_t LatitudeNS;       //#10 48°39’988 #10 north = 0, south = 1*/
        uint16_t LatitudeMin;     //#11 231 0xE7 = 0x12E7 = 4839 */
                                  //#12 MSB
        uint16_t LatitudeSec;     //#13 171 220 = 0xDC = 0x03DC =0988 */
                                  //#14 MSB
        uint8_t longitudeEW;      //#15 000  = E= 9° 25’9360 east = 0, west = 1*/
        uint16_t longitudeMin;    //#16 150 157 = 0x9D = 0x039D = 0925 */
                                  //#17 MSB
        uint16_t longitudeSec;    //#18 056 144 = 0x90 0x2490 = 9360*/
                                  //#19 MSB
        uint16_t distance;        //#20 027 123 = /distance low byte 6 = 6 m */
                                  //#21 MSB
        uint16_t altitude;        //#22 243 244 = /Altitude low byte 500 = 0m */
                                  //#23 MSB
        uint16_t climbrate1s;     //#24 climb rate in 0.01m/s. Value of 30000 = 0.00 m/s
                                  //#25 MSB
        int8_t climbrate3s;       //#26 climb rate in m/3sec. Value of 120 = 0m/3sec
        uint8_t GPSNumSat;        //#27 GPS.Satelites (number of satelites) (1 byte) */
        uint8_t GPSFixChar;       //#28 GPS.FixChar. (GPS fix character. display, if DGPS, 2D oder 3D) (1 byte) */
        uint8_t HomeDirection;    //#29 HomeDirection (direction from starting point to Model position) (1 byte) */
        uint8_t angleXdirection;  //#30 angle x-direction (1 byte) */
        uint8_t angleYdirection;  //#31 angle y-direction (1 byte) */
        uint8_t angleZdirection;  //#32 angle z-direction (1 byte) */
        int8_t gps_time_h;        //#33 UTC time hours
        int8_t gps_time_m;        //#34 UTC time minutes
        int8_t gps_time_s;        //#35 UTC time seconds
        int8_t gps_time_sss;      //#36 UTC time milliseconds
        int16_t msl_altitude;     //#37 mean sea level altitude
                                  //#38 MSB
        uint8_t vibration;        //#39 vibration (1 bytes) */
        uint8_t Ascii4;           //#40 00 ASCII Free Character [4] */
        uint8_t Ascii5;           //#41 00 ASCII Free Character [5] */
        uint8_t GPS_fix;          //#42 00 ASCII Free Character [6], we use it for GPS FIX */
        uint8_t version;          //#43 00 version number */
        uint8_t endByte;          //#44 0x7D Ende byte */
        uint8_t parity;           //#45 Parity Byte */
    } GPSData;
 
Zuletzt bearbeitet:
Ansicht hell / dunkel umschalten
Oben Unten