Hallo und Herzlich Willkommen im RC-DROHNEN-FORUM.
Wir sind ein unabhängiges, rein privat geführtes Forum zum Thema Multicopter (Drohnen) speziell für Luftbild-Aufnahmen und Technik für den privaten- und gewerbliche Piloten.
Ein lockerer, freundlicher Umgang gepaart mit Know-How, Hilfsbereitschaft und ein respektvolles Miteinander erwarten Dich hier.
Melde Dich kostenlos an, um alle Funktionen nutzen zu können. Wir freuen uns auf Dich!
Viel Spaß wünscht Dir das RCDF-Team.

Offizieller Partner des BVCP - Bundesverband Copter Piloten

Testtool für SR24 an Raspberry Pi

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Testtool für SR24 an Raspberry Pi

      SR24 ist der ZigBee Receiver, der in vielen Yuneec Koptern verbaut ist. Nachdem ich schon vie dazu gelesen hatte und tolle Projekte fand, wollte ich auch mal austesten, ob ich den SR24 für etwas anders benutzen kann. Ein Modellauto hat schon jemand mit der St16 gesteuert und auch einen Konverter ZigBee zu S-Bus gebaut und eine DJI Phantom mit der ST16 gesteuert. Die Motivation war also da und ich konnte mich aufraffen, auch etwas in der Richtung zu machen.

      Als Vorarbeit ist ein Tool, lauffähig auf dem Raspberry PI, entstanden, mit dem man die Verbindung ST10/ST16 mit sonstwas ausprobieren kann. Das Tool kann auch dazu dienen, das Verhalten der ST16 (bzw. ST10, ST12, ST24) zu testen.
      Raspi3.png

      Hier ist der Versuchsaufbau:
      Raspi5.JPG


      Eine Beschreibung:

      SR24onRaspi.pdf

      Und das Tool selbst:

      SR24_decode.zip

      Gruß HE
    • Hallo HE,

      endlich mal wieder etwas, was mich interessiert!

      Das ist doch mal eine gute Idee - ich bin PixHawk/Ardupilot Fan und baue die meisten Sachen selber. Pascal (damit hast du dein Tool geschrieben?) kann ich nicht, dafür C++! Raspi's habe ich mehrere im Einsatz. Nur ein ZigBee Receiver SR24 habe ich zur Zeit nicht.

      Es ist jetzt ein wenig spät, ich habe bei den einschlägigen Händlern geschaut und habe alle möglichen ZigBee Receiver gefunden, nur keinen SR24. Eine Bezugsquelle wäre nicht schlecht.


      Aber nun werde ich mal schlafen und dann in Ruhe mal alles durchlesen.


      Ingo

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von ingo46 ()

    • C kann ich nicht. das macht es schwierig für mich, mehr in PX4 Autopilot zu machen. Für mich sieht C Quelltext aus, als ob sich ein Hund auf der Tastatur gewälzt hätte. Wie man solche Kriekelkrakel als Operatoren nehmen konnte, erschließt sich mir nicht. Wenn man OR (oder AND oder so etwas) meint, warum schreibt man nicht OR? Aber egal... Auf jeden Fall kann man das Programm hernehmen, um einiges auszuprobieren. dafür ist es gemacht. Für PX4 gibt es ja schon etwas für die ST24 (mit SR24):
      https://github.com/PX4/PX4-Autopilot/blob/master/src/lib/rc/
      Das scheint aber veraltet zu sein bzw. nur für H920 alt mit ST24.
      Beim Q500 und Typhoon H sind ein paar Änderungen drin. Ich habe das mal versucht C-gerecht aufzuschreiben:

      Quellcode

      1. typedef struct {
      2. uint8_t t; ///< packet counter or clock
      3. uint8_t ///< Unknown byte, looks like random
      4. int32_t lat; ///< lattitude (degrees) +/- 90 deg; int32 big endian, lat = int32 / 10000000
      5. int32_t lon; ///< longitude (degrees) +/- 180 deg
      6. int32_t alt; ///< 0.01m resolution, altitude (meters)
      7. int16_t vx, vy, vz; ///< velocity 0.01m res, +/-320.00 North-East- Down
      8. uint8_t nsat; ///<number of satellites + GPS fix type + GPS used
      9. uint8_t voltage; ///< 25.4V voltage = 5 + 255*0.1 = 30.5V, min=5V
      10. uint8_t current; ///< 0.5A resolution
      11. int16_t pitch, roll, yaw; ///< 0.01 degree resolution
      12. uint8_t motorStatus; ///< 1 bit per motor for status 1=good, 0= fail
      13. uint8_t imuStatus; ///< inertial measurement unit status
      14. uint8_t pressCompassStatus; ///< pressure / compass status
      15. uint9_t f_mode ///< List of flight modes see manual Q500Log2kml
      16. uint8_t Vehicle type ///< = 5 for Typhoon H, List of v_types see manual Q500Log2kml
      17. uint8_t Error flags ///< see manual Q500Log2kml
      18. uint8_t gps_accH ///< uint6 / 20
      19. } TelemetryData;
      20. typedef struct {
      21. uint16_t t; ///< packet counter or clock
      22. uint8_t rssi; ///< signal strength
      23. uint8_t packet_count; ///< Number of UART packets sent since reception of last RF frame (this tells something about age / rate)
      24. uint8_t channel[18]; ///< channel data, 12 channels (12 bit numbers)
      25. int32_t lat; ///< lattitude (degrees) +/- 90 deg; int32 big endian, lat = int32 / 10000000
      26. int32_t lon; ///< longitude (degrees) +/- 180 deg
      27. float alt; ///< 32bit 0.01m resolution, altitude (meters)
      28. int16_t accuracy; ///< Values like in RemoteGPS_xxxxx.csv, unknown measurement unit
      29. int16_t speed; ///< 0.01 m/s
      30. int16_t angle; ///< Currently I do not understand how to convert to degrees
      31. uint8_t nsat;
      32. } ChannelData_GPSdata; ///< Packet type = 3
      Alles anzeigen
      Hier hab ich mal versucht, das zu dokumentieren:
      UART_ST24_raw.ods.zip

      In den in der Beschreibung aufgeführten Quellen findest du auch SW Beispiele von @dylanfm.

      Mein Zeug findest du hier:
      GitHub - h-elsner/SR24_decode: Read and decode data from Yuneec ZigBee transmitter SR24. Test tool for Raspberry Pi.

      Im Zusammenhang mit PX4 Autopilot gibt es noch ein schönes Projekt einer PX4 Firmware für den Typhoon H. Damit kann man alles machen, was im PX4 Autopilot möglich ist. Wir suchen noch Entwickler, die da mitarbeiten wollen.
      GitHub - tonirosendahl/Thunderbird: Thunderbird Firmware, A fork of PX4 Autopilot Software for Yuneec Typhoon H


      Gruß HE
    • h-elsner schrieb:

      Such mal nach YUNQ501107.
      ...das habe ich gerade gemacht und bin fündig geworden und habe bestellt - kommt leider aus den USA und daueret ein wenig.

      Was ich unter SR24_decode gefunden habe müsste doch eine für den Raspi compilierte Versien sein, oder?

      Ich gehe mal davon aus, dass du einen Pascal-Compiler auf dem Raspi installiert hast. Ich habe Freepascal und Lazarus Pascal gefunden. Bis mein Empfänger da ist, würde ich mal schon mal Pascal zu installieren.

      Ich habe mal unter PX4-Autopilot/st24.h at master · PX4/PX4-Autopilot · GitHub geschaut. Da muss ich mir zunächst mal doch ein einfaches Pascal-Programm anschauen.

      Ingo
    • Richtig. Das ist auf und für den Raspi compiliert und sollte ohne Probleme laufen (bei mir Raspi 3). Eventuell muss man es noch ausführbar machen
      Ich habe Lazarus auf Raspian mit Hilfe von fpcupdeluxe installiert. Wenn du das machen willst, können wir ja über PN weiter diskutieren. Es ist nämlich ganz einfach, aber nur wenn man weiß, wie ;-).

      Gruß HE
    • Enrico schrieb:

      Wäre schön, was sinnvolles damit zu basteln.
      Ich bin jetzt soweit, dass ich zwei Servos oder einen Servo und einen Motor mit der ST16 (oder ST10) steuern kann. Für ein Schiff oder ein Auto reicht das schon.
      Ich schicke Fake-Telemetrie zur ST16, um vorzuspiegeln, dass alles in Ordnung ist. Das verhindert, dass komische Fehlermeldungen aufpoppen.

      Dies hier ist mein vollständiges Experimentierset. crazy

      Komplettset.JPG

      Sieht alles schon ganz gut aus, aber noch sind einige Dinge offen. Ich arbeite gerade an einem Tool, wo man die Settings für alle Kanäle einstellen kann.
      Noch viel Arbeit an der Tastatur...

      Gruß HE
    • Neu

      Der derzeitige Entwicklungsstand sieht so aus, dass man 2 Analogservos auf beliebige Kanäle sowie die Schalter auf frei wählbare GPIO-Ports legen kann. Die Konfiguration erfolgt per Textdatei. Ein kleines Programm ohne GUI wird beim Booten gestartet und lauscht am SR24 bis eine Funke sich verbindet. Dann werden die 12 Kanäle abgefragt und entsprechend der Konfiguration ausgewertet.
      Auch Sticks können als Schalter konfigiriert werden. So kann man z.B. per Throttle Stick eine Seilwinde betätigen. Der Schaltpunkt liegt dann bei etwa ein Drittel Servoweg. Damit sind schon recht komplexe Modelle steuerbar.

      Gruß HE