- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 59

Thema: Universelle Fernsteuerung mit Bluetooth

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    HaWe
    Gast
    Zitat Zitat von Rabenauge Beitrag anzeigen
    Ein bisschen hab ich mal weiter codiert:
    Es werden jetzt alle Werte tatsächlich auch per BT gesendet, in der Form:
    lX128-> X-Achse links hat den Wert 128.
    Auf die Weise geht das mit relativ wenigen Daten von statten-es werden _nur_ Änderungen gesendet.
    Wenn man nix tut, dann nicht....
    Die Auswertung auf der Gegenseite steht noch aus....ich denke aber, sehr schwierig wird das nicht.
    hallo,
    ich halte das für u.U. bedenklich bzw. gefährlich:
    Folgender Fall:
    wert lX128 gesendet und empfangen => alles ok, Empfänger führt entspr. Befehl aus (z.B. Motor links auf pwm128 )
    danach
    wert lX0 gesendet aber wegen Unterbrechung oder Block (Serial stream/buffer hardware/software sync/async wire/wireless) nicht empfangen => Empfänger führt immer noch entspr. alten Befehl aus (Motor links auf pwm128 statt 0), da sich für ihn nichts geändert hat.

    Ganz abgesehen davon ist es ebenfalls denkbar, dass einzelne Bytes (l,X,1,2,8 ) durch Datenkorruption falsch übertragen bzw. empfangen werden - wie prüfst du auf Datenintegrität und korrekten Empfang? z.B.
    wert lX128 gesendet aber wegen Datenkorruption falsch empfangen => Empfänger liest lY128 (anderer Motor auf pwm128 ) oder noch was ganz anderes
    (edit: das müsste dann auf heartbeat und timeouts gecheckt und nach Rückmeldung auf Richtigkeit und Vollständigkeit überprüft werden; weitere Stichworte sind message-Startsignal, Ende-Signal, msg-Länge, checksum)
    Geändert von HaWe (15.04.2020 um 12:24 Uhr)

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Zur Not kann er noch ein Paritätsbit mitsenden und auf der Gegenseite prüfen. Sehr genau beschrieben ist das hier: https://de.wikipedia.org/wiki/Parit%C3%A4tsbit
    Eventuell kann das einfach so umgesetzt werden, dass man nur halbe Wertebereiche überträgt und das höchstwertige Bit als Paritätsbit verwendet.
    Sollte kein Problem sein.


    MfG

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.211
    Heartbeat ist schon vorbereitet.
    Ich habe schon einen Timer drin, der alle halbe Sekunde einen Tick erzeugt (den setze ich wahrscheinlich noch deutlich runter, in der Zeit), denn es stimmt: wenn das Stop-Signal nicht ankommt, fährt er endlos weiter.
    Die HC 05 merken auch erst nach ungefähr zehn Sekunden, wenn die Verbindung weg ist-> zu lange.
    Ich will also (wie gesagt, vermutlich wirds am Ende mindestens viermal pro Sekunde passieren) ein "alive" senden, und wenn das, sagen wir, zweimal, nicht kommt, weiss der Empfänger, dass da was faul ist, und kann sein fail-save aktivieren.

    Auch richtig: gegen verstümmelte Signale hab ich noch nix...hat aber nicht das BT-Protokoll da sowieso was eingebaut?

    Aber gut, dass der Einwand kam, ich werd das beim ausprobieren (vorerst sowieso nur trocken, mit dem UNO als Prügelknaben) mal im Auge behalten.
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  4. #4
    HaWe
    Gast
    der Fehler kann v.a. in der verkabelten Serial TX/RX-Kette vorkommen, also außerhalb von BT.
    Meine Serial messages (hin/zurück) laufen immer per handshake, bei dem die Fernsteuerung und das Mobil msgs wechselweise in der Art versenden:

    0 0xff Start
    1 msg_len // (<=255)
    2 timer-byte für heartbeat (in 100ms), auch für timeout
    3 uint8_t(chksum) // summe über alle Datenbytes, die ab hier folgen, davon das low byte
    4 ack
    5 daten
    6 daten
    7 daten
    8 daten
    ...
    0xfe Ende

    so kann gecheckt werden, ob
    - alle bytes gelesen wurden (Anzahl inkl. Start und Ende)
    - ob dabei auch alle Einzel-Bytes korrekt sind über chksum (nur geringe Fehlerwahrschl. bei weggelassenem chksum- highbyte)
    - ob timeout und heartbeat im Rahmen sind
    - ob die zuletzt empfangene Nachricht korrekt war

    nach dem Senden wartet die Fernsteuerung, ob alle 4 checks korrekt waren beim Empfänger (Senden von ack plus Werte des Mobils an Fernsteuerung) - dann wartet wieder das Mobil, bis die Fernsteuerung neue Daten sendet.

    PS
    auch hier müsste evt. besser sichergestellt werden, dass immer alles gesendet wird, nicht nur bei Änderung eines Wertes.
    Ändert sich nämlich ein Wert sehr schnell (255-->0), kann es sein, dass der Empfänger nur eine msg mit einem Zwischenwert liest (z.B. 50), aber die 0 verpasst: trotzdem wird er die chksum etc. als korrekt prüfen (auf 50) ohne wegen der Zeitverzögerung jemals die 0 in der Folge-Message zu bekommen, und der Sender kann u.U. der Meinung sein, er hätte die letzte Änderung schon gesendet und sendet die 0 nicht nochmal: also macht das Mobil mit Wert 50 weiter, nicht mit 0.
    Geändert von HaWe (15.04.2020 um 21:52 Uhr) Grund: typo

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    14.12.2010
    Ort
    NRW
    Beiträge
    223
    hi rabenauge,

    bin ich letztens drüber gestolpert, vielleicht gibt Dir das noch die eine oder andere Anregung für Dein Project.

    https://howtomechatronics.com/projec...c-transmitter/
    cYa pig

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    als ich mir die webseite angeschaut habe, war meine erste reaktion - ob Rabenauge weitermacht? Machst Du?

    wäre schade drum, finde ich...

    Die gleiche frage stellte ich mir meines outdoors wegen auch. Eigentlich ist ja alles schon da - und viel schöner. Weiter gehts hier

    - - - Aktualisiert - - -

    @rabenauge:

    könntes du dir vorstellen die leiterplatte um den anschluss für ein HC05 modul zu ergänzen und dort zu bestellen? Wäre sofort dabei!
    gruß inka

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.211
    Ja natürlich mache ich weiter.
    Hab nur momentan keine Zeit...was mich an der von piggiTux Link stört: kein Display?
    Das war eine meiner ersten gedanklichen Forderungen überhaupt, einfach, um auch mal irgendwelche Daten zurück senden zu können.

    Ansonsten ist das Ding durchaus cool.
    Nein, an einer ohne Display hab ich, ehrlich gesagt, kein Interesse.
    Aber eigentlich sollte es nicht kompliziert sein, ein BT-Modul nachzurüsten.

    Ich hab das Modul in meiner ja an RX/TX0, also direkt an USB- und das funktioniert auch, man kann immernoch die Daten seriell auslesen (einfach an USB anstecken, und die Daten kommen...) und mit dem zusätzlichen Pin (plus nem Transisor und nem Basiswiderstand) kann man das Modul auch abschalten, und somit ganz normal über USB programmieren.
    Wenn bei der von dem Link also wenigstens noch _ein_ Pin verfügbar ist (muss Ausgang sein, aber nen digitaler reicht) kann man das genauso machen.

    Aber wie gesagt: ich hab nicht die Zeit, mir das mal genauer anzusehn-dieses Funkmodul, was da verbaut ist, muss ja auch irgendwo dran hängen?
    Evtl. könnte man auch ein Display nachrüsten (per I2C seh ich da kein allzu grosses Problem, ist ja ein Bus).
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

Ähnliche Themen

  1. Der universelle IR Fernbedienungs-Empfänger
    Von for_ro im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 34
    Letzter Beitrag: 30.08.2015, 10:18
  2. Universelle Fernbedienung über Bluetooth
    Von Trabukh im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 2
    Letzter Beitrag: 05.01.2013, 20:58
  3. Universelle 16-bit-USB-Messbox
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 1
    Letzter Beitrag: 11.10.2012, 15:57
  4. UNITALK, Die universelle Sprachausgabe
    Von gpsklaus im Forum Eigene fertige Schaltungen und Bauanleitungen
    Antworten: 38
    Letzter Beitrag: 25.11.2006, 19:56
  5. Universelle LCD-Routine für AVR
    Von skyrider im Forum AVR Hardwarethemen
    Antworten: 10
    Letzter Beitrag: 22.05.2005, 15:05

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests