Arduino und Raspberry Pi per Ethernet "reden" lassen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hey Leute,

    ich habe mal eine Frage, besteht die Möglichkeit Arduino und Raspberry Pi per Ethernet kommunizieren zu lassen? Also ähnlich wie die Kommunikation per Serielle / USB Schnittstelle. Es geht um Abfrage von Messwerten und dessen Übermittlung.

    Was wäre den in dem Zusammenhang evtl. die einfachste Lösung? Hat das jemand vielleicht schon mal ausprobiert?


    Michael

    Der Raspberry Pi ist schon ein schönes Spielzeug mit dem man einiges anfangen kann.

    :angel: :wallbash:

  • Arduino und Raspberry Pi per Ethernet "reden" lassen? Schau mal ob du hier fündig wirst!

  • Hi,
    geht ...

    entweder über WLAN: -> click <- ... da ist das relativ easy
    oder über ein Ethernet-shield -> click <- ...

    Letzteres hab' ich allerdings in Ermangelung eines Ethernet-shields noch nicht ausprobiert. Nur für das ESP8266 habe ich mal -> diese Library <- für den Arduino geschrieben.
    Auf meiner Agenda steht aber noch -> so ein ENC28J60 <- Teil auszuprobieren.

    cu,
    -ds-

  • Das Hardwaremäßige war mir eigentlich klar. Habe ein Arduino Mega mit Ethernet-Shield hier. Und meine Pis sind alle per Ethernet verbunden, war eh schon alles verbunden daher am besten.

    Ich meinte eher die Softwaremäßige Umsetzung. Gibt es dort evtl. schon eine Funktionalität die evtl. vorgefährtigt ist?


    Michael

    Der Raspberry Pi ist schon ein schönes Spielzeug mit dem man einiges anfangen kann.

    :angel: :wallbash:

  • Ich meine eher, welche Lösung man dort nimmt. Ich hab schon mal mit dem Arduino ein Webserver aufgesetzt.

    Oder muss ich für sowas wie ein "Protokoll" selber entwickeln oder wie läuft sowas ab? Dachte da gibt es eine Möglichkeit eines Art "Chatserver" oder sowas ähnliches.

    Wäre nett, wenn man in der Hinsicht mir mal ein Tipp geben könnte.

    Aber trotzdem schon mal danke dreamshader, nur bischen mehr Infos wäre interessant.


    Michael

    Der Raspberry Pi ist schon ein schönes Spielzeug mit dem man einiges anfangen kann.

    :angel: :wallbash:

  • Hallo Michael,


    Ich meine eher, welche Lösung man dort nimmt.
    ...

    Wofür man was dort nimmt? :s
    Entweder bin ich heute begriffstutzig oder steh neben mir oder sollte mich lieber hinlegen :s

    Folgst Du dem zweiten Link in meinem Posting hast Du gleich eine ganze Latte an Beispielen wie Chat-Server, Telnet-Client, versch. Webserver ...

    was will man mehr ...

    cu,
    -ds-

  • Sry, scheinbar etwas übersehen *schämen und rot werden*

    Aber gut, werde mir mal die Chat-Server Lösung angucken. Denke das könnte das sein, was ich brauche.

    Wobei der Arduino den Server stellen würde und der RPi lediglich den Client, der Anfragen stellt. Über den weg könnte ich das ggf. wie folgt durchführen in Python oder so:

    1. Verbindung aufbauen
    2. Anfrage stellen
    3. Antwort erhalten (oder nicht)
    4. Verbindung trennen

    So hab ich am Ende die Möglichkeit auch mehrere "Server" auf zu bauen, wenn dies Räumlichbedingt nötig wird und da alles im Netzwerk stattfindet brauch ich mir ja bezüglich Sicherheit auch nur bedingt Gedanken machen, vorallem wenn ich den Port nach außen dicht halte.

    Idee brauchbar oder zumindest richtige Richtung?


    Michael

    Der Raspberry Pi ist schon ein schönes Spielzeug mit dem man einiges anfangen kann.

    :angel: :wallbash:

  • So ist das wohl :thumbs1:

    es kommt jetzt natürlich auf den jeweiligen Anwendungsfall an und ich würde mal als Überlegung einbeziehen, ob Du das nicht auf HTTP-Basis sinnvoller ist.
    Also einen Web-Server, der Dir das Ergebnis Deiner Anfrage zurückliefert. Dast hätte den Vorteil, dass Du z.B. Temperaturen eines oder mehrerer Arduinos eigenständig und ohne weiteres Zutun (refresh halt) in jeweils einem eigenen Frame einer HTML-Seite anzeigen lassen könntest.

    cheers,
    -ds-

  • Ja muss man gucken.

    Der Pi soll ja primär Daten einsammeln und die Aufbereitet zur Verfügung stellen, bzw. auf Daten reagieren und dann eine Aktion auslösen, wie z.B. Befehl an Arduino Board schicken.

    Aber werde es mir mal durch den Kopf gehen lassen und vielleicht morgen mal Aktiver ins Arbeiten übergehen und mal verschiedenes testen.

    Das mit dem Chatserver war an sich nur mein erster Gedanke gewesen, da so eine Kommunikation direkt und nur mit einfachen Kommandos bzw. Daten rumhantiert wird und man nicht den HTML Code am Pi "Filtern" muss um die Informationen zu bekommen.


    Michael

    Der Raspberry Pi ist schon ein schönes Spielzeug mit dem man einiges anfangen kann.

    :angel: :wallbash:

  • ne passt schon wie Du Dir das ausgedacht hast ...

    Ist halt im einen oder anderen Fall ganz praktisch, wenn der Arduino das selbst (am einfachsten halt per HTTP) managed. Und wenn er offline, ist er halt offline ;) ...
    Mit EMONCMS als Hostsystem wäre über die Web-API da sogar die Speicherung der Daten mit dabei ;) ...

    Kommt, wie gesagt, immer auf den Einzelfall an.
    cheers,
    -ds-

  • Ja gut. Nur so wichtig is es nicht ob alles Läuft. Ist ja nur "Spielerei" und am RPi werde ich einfach eine Fehlerbehandlung integrieren, dass sobald er merkt, dass ein Arduinoboard nicht erreichbar ist. Und dann einfach sich diesen Zustand merkt und evtl. eine Email oder so raus schickt und erst über ein "Reset" der Sammelstörung werden wieder alle Boards abgefragt.

    Ich hoffe es ist verständlich.

    Also wenn man ausgeht es gibt 3 Arduinoboards im Netz und Board 1 fällt aus, dann bekommt eine Datei (z.B. eine Art INI - Datei) den vermerk, Board "tot" und er fragt danach turnusmäßig nur noch Board 2 und 3 ab. Und dann bau ich am RPi eine LED und Taster an, wie am Schaltschrank (Sammelstörung und Quitierung) oder so.

    Aber das ist Zukunftsmusik. Ich denke ich fange erstmal mit einem Arduinoboard und dem RPi an.


    Michael

    Der Raspberry Pi ist schon ein schönes Spielzeug mit dem man einiges anfangen kann.

    :angel: :wallbash:

Jetzt mitmachen!

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