Drei RPis miteinander verbinden

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

    ich würde gerne 3 Pis miteinander verbinden. Jetzt gibt es sicherlich unzählige Möglichkeiten...
    Um etwas einzuschränken, schildere ich mal, was ich vorhabe:

    Es soll eine Zeichenkette über Funk (WLAN?) oder (wenn einfacher) Kabel an die 2 Pis gesendet werden. 1 Pi darf senden, die anderen Sollten dann die Nachricht lesen.
    Gleichzeitig sollten die andren PIs aber auch senden können. Ich hoffe, dass ich das nicht zu umständlich beschrieben habe.

    Ungefähre Idee:
    PI 1 sendet "Start2" --> Motor am PI 2 startet --> Motor hat sich XY mal gedreht --> PI 2 sendet "Fertig"
    PI 1 sendet "Start3" --> Motor am PI 3 startet --> Motor hat sich XY mal gedreht --> PI 3 sendet "Fertig"

    1.) Kann ein solches Vorhaben mit WLAN und Python realisiert werden?
    2.) Gibt es zur Funklösung auch eine Kabellösung?

    :danke_ATDE:

    Einmal editiert, zuletzt von PythonRapiPi (10. Dezember 2016 um 10:35)

  • Hallo PythonRapPi,

    Wenn Du nicht auf Python festgefahren bist:
    Lazarus mit lNet-Package und lNet-Tutorial. 30 Minuten später steht der Code für einen Socket-Server und Socket-Clients - inklusive GUI.

    Dann kann jeder senden und empfangen. Jeder kann an alle senden oder an einen gezielten Empfänger. Der Empfänger kann unterscheiden, was für ihn bestimmt ist und darauf reagieren - der Rest wird ignoriert. Der Empfänger kann je nach Sender unterschiedliche Prioritäten setzen.

    Sprich, alles, was Du umsetzen möchtest, ist da recht einfach möglich.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Ich frag mich gerade was der Thread im Forumsbereich "Elektronik-Grundlagen" zu suchen hat wenn aber denn die Frage eher Software Seitig ausgereichtet ist? :s

    Also entweder eine Frage bezüglich Software oder Netzwerk, aber Elektronik-Grundlagen passt wie ich finde gar nicht.

    Bezüglich Software kann das in jeder nur erdenklichen Sprache umgesetzt werden - fraglich wäre nur ob es evtl. Sinnvoll wäre einen Pi als "Master" zu deklarieren, so als eine Art "Brain" ders dann verwaltet usw. Würde es Denk ich einfacher machen als wenn jeder Pi von jedem anderen weiß und explizit dem was zusenden kann.

  • Ich habe da noch eine Frage. Bei mir ist gerade das Problem, dass er die IP Adresse wohl nicht findet...

    Was ich gemacht habe:

    sudo service dhcpcd status

    sudo service dhcpcd stop

    sudo update-rc.d -f dhcpcd remove

    sudo nano /etc/network/interfaces

    auto wlan0
    allow-hotplug wlan0
    iface eth0 inet static
    address 192.168.100.2
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 192.168.1.1


    ifconfig

    wlan0 Link encap:Ethernet HWaddr 74:da:31:33:81:4e
    inet6 addr: fe80::77de:ce65:78df:bbb3/64 Scope:Link
    UP BROADCAST MULTICAST MTU:1500 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

    sudo nano /etc/resolv.conf

    nameserver 192.168.1.1
    domain localhost raspberrypi.local

    sudo reboot

    Python Server File:

    sudo python tcpServer.py

    Traceback (most recent call last):
    File "tcpServer.py", line 7, in <module>
    s.bind((host, port))
    File "/usr/lib/python2.7/socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
    socket.error: [Errno 99] Cannot assign requested address

    Einmal editiert, zuletzt von PythonRapiPi (12. Dezember 2016 um 11:12)

  • ..
    address 192.168.100.2
    netmask 255.255.255.0
    gateway 192.168.1.1
    ..
    IP-Adresse, Netzmaske, Gateway etc passen nicht zusammen. IP sollte wohl "address 192.168.1.2" heissen

    Wenn du nichts zu sagen hast, sag einfach nichts.

    Einmal editiert, zuletzt von llutz (12. Dezember 2016 um 11:13)

  • OK werde ich mal testen! Melde mich gleich nochmal

    ---

    Also ich habe das soweit eingebaut, aber gleiches Problem.

    In der ifconfig wlan0 steht aber auch keine ipv4 ???

    ---

    Ich musste die ipv6 deaktivieren:

    sudo nano /etc/sysctl.conf
    Dort einfügen: net.ipv6.conf.all.disable_ipv6 = 1

    Nach einem Neustart und anpassen der IP Adressen, war das Problem gelöst!

    Einmal editiert, zuletzt von PythonRapiPi (12. Dezember 2016 um 12:13)

  • Es hat sich doch noch eine Frage ergeben.

    Mein Socket Server läuft jetzt auf Pi 1 mit der IP 192.168.1.2
    Mein Client lauft auf Pi 2 mit der IP 192.168.1.3

    Der Client meldet jedoch No route to host...

    GELÖST, Router oder LAN muss konfiguriert werden. Ich bin letztlich auf die LAN Variante umgestiegen, da ich keine Lust hatte am Router herumzuspielen...

    Einmal editiert, zuletzt von PythonRapiPi (12. Dezember 2016 um 17:55)

Jetzt mitmachen!

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