Kommunikation zwischen Raspberry und Arduino

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Ich habe einen Raspberry und einen Arduino, welche miteinander kommunizieren müssen (einseitig)

    Der Raspberry muss in der Lage sein, bestimmte vordefinierte Befehle an den Arduino zu übermitteln. Das Problem ist - am Arduino ist nur noch 1 einzelner Input Pin frei.

    Kann mann soetwas evtl. über Frequenzen oder "Morsezeichen" lösen? Also das Signal "3x kurz, 3x lang" ist Befehl 1 und "2x kurz, 2x lang" Befehl 2?

    Hat jemand eine Idee, wie man das am besten umsetzt?

  • Ein Pin reicht - wenn es der Rx-Pin ist.

    Kannst du die Pins so belegen, dass der freie Pin eben der Rx ist?

    Wenn nicht, kannst du Software-UART (SoftwareSerial) benutzen, also eine mit Software emulierte serielle Schnittstelle. Die Konfiguration machst du so, dass dein freier Pin Rx ist. Je nach Anwendung kann das aber Probleme geben, weil die Softwareemulation je nach Umsetzung viel Rechenpower benötigt, Interrupts blockiert, nur bestimmte Pins und Geschwindigkeiten zulässt oder andere Einschränkungen hat. Es gibt eine Reihe verschiedener Libraries für Serial-Emulationen - jede hat wohl mehr oder minder ihre speziellen Macken...

    Es gibt bei vielen AVR-µC auch die Möglichkeit, den UART auf verschiedene Pins zu legen.

    Welchen Arduino benutzt du und welcher Pin ist noch frei?
    Was hängt an den anderen Pins und kannst du davon ggf. was umlegen?

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

    2 Mal editiert, zuletzt von Gnom (4. Februar 2019 um 19:36)

  • Sorry, aber das kann ich so nicht stehen lassen ..

    Je nach Anwendung kann das aber Probleme geben, weil die Softwareemulation je nach Umsetzung viel Rechenpower benötigt, ...

    Ähm weil?

    ... Interrupts blockiert,

    wieso sollten Inetrrupts blockiert werden?

    ...nur bestimmte Pins und Geschwindigkeiten zulässt

    das mit der Geschwindigkeit trifft allerdings un der Tat zu ... 115 kbit ist imho das empfohlene Maximum bei Standard-Arduinos...


    ... verschiedener Libraries für Serial-Emulationen - jede hat wohl mehr oder minder ihre speziellen Macken...

    Software-Serial ist ein "buildin" der Arduino IDE und funktioniert recht zuverlässig.

    //EDIT: GND verbinden nicht vergessen.

    cu,

    -ds-

  • Das Problem ist - am Arduino ist nur noch 1 einzelner Input Pin frei.

    Hat jemand eine Idee, wie man das am besten umsetzt?

    wieso nur ein PIN frei, den braucht man nicht mal, Arduino an USB vom PI und fertig,

    der PI kann an USB raussenden und der Arduino mit Serial.read lesen!

    Gleichzeitig wird der Arduino noch mit Strom versorgt, die 50mA sollte der PI doch überhaben.

    Ausserdem entfällt die Pegelwandlung 5V/3,3V.

    Über die Arduino IDE auf dem PI kann der sogar ferngesteuert (VNC Netzwerk) programmiert werden!

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • wieso nur ein PIN frei, den braucht man nicht mal, Arduino an USB vom PI und fertig,

    das kann man jetzt so pauschal nicht sagen. In dem von Dir angenommenen Fall wären ja beide, also Rx/Tx, unbelegt - also prinzipiell kein Problem.

    Wenn der TO aber sagt, er hat nur noch einen freien Pin ... dann gehe ich mal davon aus, dass er die Pins des UART anderweitig verwendet.

    cu,

    -ds-

  • ... dann gehe ich mal davon aus

    der erste je gemachte Fehler ist eine falsche Annahme

    ausserdem sind beim Arduino Tx und Rx ja mit dem USB Wandler belegt und bei manchen Clones nicht mal mit einem Serien R bestückt, dann hält der USB Wandler die Tx Leitung fest, musste ich auch schon erkennen.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • der erste je gemachte Fehler ist eine falsche Annahme

    ne ... der erste gemachte Fehler ist eine Interpretation einer Aussage. Und

    Das Problem ist - am Arduino ist nur noch 1 einzelner Input Pin frei.

    ist doch erst mal eindeutig ;)

    beim Arduino Tx und Rx ja mit dem USB Wandler belegt

    kann man so auch nicht sagen ... der Pro Mini z.B. hat gar keinen USB Wandler ...

    //EDIT: Zudem sollten die UART Pins durchaus auch anderweitig verwendbar sein (was ich allerdings nur beim Pro Mini und ATTiny mit Gewissheit sagen kann).

    cu,

    -ds-

  • ... der Pro Mini

    ist ja auch eine relative Ausnahme, ich tippe auf >90% uno, nano, m2560

    dann kommen die clones mit oder ohne USB und dann die xmega

    Bei Arduino denkt man jedenfalls zuerst an AVR 8-bit, ist nicht zwingend richtig aber nicht völlig daneben.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • a) Zitat: "

    SoftwareSerial is the worst choice. It works on any two pins, but it is very inefficient. It disables interrupts for the entire time that a character is being sent OR received" Quelle

    Deine Bemerkung "Warum sollten..." heißt wohl, dass du dich damit selbst nicht auskennst - warum stellst du meine Aussage also in Frage?
    b) Software Serial ist nach Ansicht der oben genannten Quelle die schlechteste von drei dort genannten Libraries.

    Mag sein, dass Software-Serial "recht zuverlässig" funktioniert. Das heißt noch nicht, dass es wirklich gut ist.

    Zur Lektüre empfehel ich z. B. dies hier.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Bitte ... lass doch mal Deine Fundstücke weg und stell' sie nicht als pauschale Aussagen oder Dein "Expertenwissens" hier rein.

    Du darfst gerne Deine Meinung posten ... noch lieber Deine persönlichen Erfahrungen ... aber dieses Verbreiten von Halbwahrheiten ist einfach unerträglich - erst recht, wenn Du erst noch eine Suchmaschine bemühen musst, um sie nachträglich zu belegen.

    Es können immer Probleme auftreten ... aber das sind eben Einzelfälle und die Art, wie solche Ausreisser im Internet dargestellt werden, kennen wir alle. Und dass fast ausschliesslich diese Problemfälle im Netz zu finden sind, liegt in der Natur der Sache - wo es keine Probleme gibt, bedarf es auch keines Foren-Threads.


    Lass' einfach Dein Pseudo-Experten-Wissen - und vor allem Deine Pauschalisierungen - stecken ... dann gibt's an Deinen Posts auch nichts auszusetzen.

    cu,

    -ds-

  • dreamshader ..

    Was ist denn bloß los? Hab's schon im letzten Thread mitkommen, lass das persönliche doch raus - war doch sonst nicht deine Art!

    Außerdem, wo ist das Problem, wenn jemand seine Aussage mit einer Quelle untermauert, aufgrund von Recherche für den TO...

    Also ehrlich.

    Wenn's brennt 112 hilft weiter!

  • @ds:

    Ich mache den Fragenden nur auf mögliche Probleme aufmerksam, damit er besser einschätzen kann, ob er Software benutzt oder lieber einen Pin umprogrammiert. Ich drücke mich immer vorsichtig aus ("kann Probleme geben") und behaupte keinesfalls, das SoftwareSerial nicht funktioniert. Kein Grund, mich (wie bereits in einem andern Thread) zu beleidigen.

    Ich frage mich, warum du derart aggressiv gegen andere reden musst. Dein Verhalten ist unerträglich. Und das ist nicht die erste Entgleisung dieser Art.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Na dann mach's doch auch so, dass es so rüberkommt wie es ist:

    "ich habe damit zwar keine Erfahrung, aber gerade in Bezug auf die ... Library wird im Internet oft über Probleme mit ... berichtet ( siehe z.B. hier -> xxxxx ).

    Und stell das nicht so hin, als wärst Du der Experte und könntest pauschal über alles eine Aussage machen:

    kann das aber Probleme geben, weil die Softwareemulation je nach Umsetzung viel Rechenpower benötigt, Interrupts blockiert, nur bestimmte Pins und Geschwindigkeiten zulässt oder andere Einschränkungen hat.

    Wie viele Libraries hast Du für diese Aussage denn genauer analysiert?

    Du verstehst den kleinen, aber feinen Unterschied?

    //EDIT:

    Ich sehe immer noch keinen Grund warum nicht der Arduino am USB plappern sollte

    hatte ich weiter oben schon geschrieben: weil er Rx/Tx des UART anderweitig verwendet (geht scheinbar auch beim UNO -> https://arduino.stackexchange.com/questions/3772…ar-digital-pins ).

    //EDIT2:

    Dein Verhalten ist unerträglich. Und das ist nicht die erste Entgleisung dieser Art.

    Was gibt Dir das Recht, mich zu verurteilen? Das ist in meinen Augen ganz schön arrogant ... :fies:

    cu,

    -ds-

    • Offizieller Beitrag

    Jungs! Bitte mach es mir doch nicht so schwer...! Brauchts mal wieder einen Prügelknaben hier? :wink:

    Gerne wenn es hilft hier wieder Ruhe rein zu bringen, aber dann ändere ich meinen Status wieder in Rosinenscheißer. :shy: Kommt mal alle wieder runter und konzentriert euch auf das Wesentliche. Wir sind alle hier um den Leuten zu helfen und nicht um uns gegenseitig zu dissen (blödes Wort) oder? Muss ich wirklich noch mehr schreiben? ;)

  • ds, ich werde mich künftig zu keiner deiner Aussagen mehr in irgendeiner weise äußern. Du kannst schreiben, was du willst, du kannst mich beleidigen, du kannst alles, was ich sage, als falsch bezeichnen - ist mir schnuppe! Ich habs nicht nötig, mich von jemandem wie dir beleidigen zu lassen und ich habs genauso wenig nötig, mir von dir das Maul verbieten zu lassen. Glücklicherweise hab ich mich besser im Griff als du und bin nicht drauf angewiesen, andere zu beleidigen. Viel Spaß noch mit deiner sehr eigenen Art sozialen Kontaktes. Adieu!

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • das das ausgerechnet ds trifft, einer der sanftmütigsten mit einer Engelsgeduld.....

    Ich dachte dein Zorn trifft eher mich, leider schreibst du viel besonders zu Elektrotechnik wo mir auch oft die Gäule durchgehen.

    Es ist nicht schlimm wenn man nicht alles weiss, aber dann......ist es manchmal besser zu schweigen (ich gestehe gelingt mir auch nicht immer, aber neuerdings immer öfter)

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Sorry hyle, aber hier lesen auch Leute mit, die gar keine Ahnung haben. Und da kann es imho nicht angehen, dass Halbwahrheiten und anderer Unsinn als Expertenwissen verkauft wird.

    Genau so entstehen nämlich Ratgeber und Tutorials mit "chmod 777" und "rpi-update" ... muss ich noch mehr schreiben?

    cu,

    -ds-

  • kann man das nicht per PN klären

    was denn?

    wenn jemand ohne das nötige Wissen und evtl. uneinsichtig nicht passendes schreibt soll das unsichtbar widersprochen werden?

    An dieser Stelle fürs Forum verstehe ich -ds-,

    als Moderator sollte dir auch daran gelegen sein, sonst steht hier nur noch Schrott!

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Es gibt hier ein paar Leute, die sich verdammt ähneln. Die haben auch schon Leute wie Meigrafd vergrault mit ständigen Angriffen.

    Lang lebe das Forum. Lang lebe der Destruktivismus, der Neid, die Missgunst und lang leben die Krähen, die einander keine Augen aushacken.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!