Raspberry als Slave

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

    • Raspberry als Slave

      SHC Version: 2.2.7
      SHC Modul: Sensoren

      Hallo zusammen,
      der erste Pi läuft mit SHC2.2 hervorragend, deshalb habe ich noch ein paar Fragen zum Einsatz eines Rasperry als Slave:
      1. Sollte die Installation des Slave besser über die Anleitung von rmjspa erfolgen oder geht auch das Image von micromaster?
      2. Bleiben beim Einsatz eines Slave im Master die Einträge localhost und als IP 127.0.0.1 bestehen?
      3. Warum steht beim Master eigentlich nicht der Raspberry-Name und die Raspberry-IP (z.B. 192.168.xxx.xxx) drin?
      4. Wird der Slave beim Master nur als Schaltserver eingetragen oder noch an anderer Stelle im Master?
      5. Wie erfolgt die Konfiguration bzw. Zuordnung der GPIO´s auf dem Slave?
      6. Können am Slave nur Eingänge eingelesen oder auch Ausgänge geschalten werden?
      7. Wie wird der Sensortransmitter am Master und am Slave aktiviert und konfiguriert?
      Viele Fragen; ich hoffe aber trotzdem auf Antworten die mir (und anderen Anfängern) beim Raspberry weiterhelfen.

      Danke euch allen schon im Voraus ;)
    • Habe das so schon länger am laufen.
      1x Master 3x Slave
      Auf allen Rpi`s ist eine Vollinstallation von SHC.
      Andere machen nur eine Teilinstallation.

      Quellcode

      1. IP Master 192.168.178.30
      2. IP Slave1 192.168.178.x1
      3. IP Slave2 192.168.178.x2
      4. IP Slave3 192.168.178.x3
      5. Master :::
      6. Schaltserver konfigurieren:
      7. cd /var/www/shc
      8. /var/www/shc $ sudo service shcd stop
      9. /var/www/shc $ sudo service shcd start
      10. php index.php app=shc -ss -c
      11. Schaltserver aktiviert (ja): ja
      12. IP Adresse (127.0.0.1): 192.168.178.30
      13. Port (9274): 9274
      14. gib -1 ein um die sende LED zu deaktivieren
      15. GPIO Pin für die sende LED (-1): -1
      16. Verfügt der RPi über einen 433MHz Sender? (ja): ja
      17. darf der Raspberry Pi GPIOs als Eingänge einlesen? (ja): ja
      18. darf der Raspberry Pi GPIOs als Ausgänge schreiben? (ja): ja
      19. Die Einstellungen wurden erfolgreich gespeichert und werden nach dem nächsten neustart des Servers aktiv
      20. Der Schaltserver muss in der SHC 2.2 Beta noch zusätzlich auf der Webpoberfläche angelegt werden.
      21. Zusätzlich die IP des Schaltservers vom Slave.
      22. ''''''''''''''''''''''''''''''''''
      23. Sensorsender konfigurieren:
      24. /var/www/shc $ php index.php app=shc -st -c
      25. ja
      26. IP 192.168.178.30
      27. Port 80
      28. Sensor Punkt ID 10
      29. Status Led Pin 10
      30. ************************************************************************
      31. Slave 1 :::
      32. Schaltserver konfigurieren:
      33. cd /var/www/shc
      34. php index.php app=shc -ss -c
      35. Schaltserver aktiviert (ja): ja
      36. IP Adresse (127.0.0.1): 192.168.178.x1
      37. Port (9274): 9274
      38. gib -1 ein um die sende LED zu deaktivieren
      39. GPIO Pin für die sende LED (-1): -1
      40. Verfügt der RPi über einen 433MHz Sender? (ja): ja
      41. darf der Raspberry Pi GPIOs als Eingänge einlesen? (ja): ja
      42. darf der Raspberry Pi GPIOs als Ausgänge schreiben? (ja): ja
      43. Die Einstellungen wurden erfolgreich gespeichert und werden nach dem nächsten neustart des Servers aktiv
      44. Der Schaltserver muss in der SHC 2.2 Beta noch zusätzlich auf der Webpoberfläche angelegt werden.
      45. ''''''''''''''''''''''''''''''''''
      46. Sensorsender konfigurieren:
      47. /var/www/shc $ php index.php app=shc -st -c
      48. ja
      49. IP 192.168.178.30 (IP vom Master)
      50. Port 80
      51. Sensor Punkt ID 10
      52. Status Led Pin 10
      53. **********************************************************************************
      54. Slave 2 :::
      55. Schaltserver konfigurieren:
      56. cd /var/www/shc
      57. php index.php app=shc -ss -c
      58. Schaltserver aktiviert (ja): ja
      59. IP Adresse (127.0.0.1): 192.168.178.x2
      60. Port (9274): 9274
      61. gib -1 ein um die sende LED zu deaktivieren
      62. GPIO Pin für die sende LED (-1): -1
      63. Verfügt der RPi über einen 433MHz Sender? (ja): ja
      64. darf der Raspberry Pi GPIOs als Eingänge einlesen? (ja): ja
      65. darf der Raspberry Pi GPIOs als Ausgänge schreiben? (ja): ja
      66. Die Einstellungen wurden erfolgreich gespeichert und werden nach dem nächsten neustart des Servers aktiv
      67. Der Schaltserver muss in der SHC 2.2 Beta noch zusätzlich auf der Webpoberfläche angelegt werden.
      68. ''''''''''''''''''''''''''''''''''
      69. Sensorsender konfigurieren:
      70. /var/www/shc $ php index.php app=shc -st -c
      71. ja
      72. IP 192.168.178.30
      73. Port 80
      74. Sensor Punkt ID 10
      75. Status Led Pin 10
      76. **********************************************************************************
      77. Slave 2 :::
      78. Schaltserver konfigurieren:
      79. cd /var/www/shc
      80. php index.php app=shc -ss -c
      81. Schaltserver aktiviert (ja): ja
      82. IP Adresse (127.0.0.1): 192.168.178.x2
      83. Port (9274): 9274
      84. gib -1 ein um die sende LED zu deaktivieren
      85. GPIO Pin für die sende LED (-1): -1
      86. Verfügt der RPi über einen 433MHz Sender? (ja): ja
      87. darf der Raspberry Pi GPIOs als Eingänge einlesen? (ja): ja
      88. darf der Raspberry Pi GPIOs als Ausgänge schreiben? (ja): ja
      89. Die Einstellungen wurden erfolgreich gespeichert und werden nach dem nächsten neustart des Servers aktiv
      90. Der Schaltserver muss in der SHC 2.2 Beta noch zusätzlich auf der Webpoberfläche angelegt werden.
      91. ''''''''''''''''''''''''''''''''''
      92. Sensorsender konfigurieren:
      93. /var/www/shc $ php index.php app=shc -st -c
      94. ja
      95. IP 192.168.178.30
      96. Port 80
      97. Sensor Punkt ID 10
      98. Status Led Pin 10
      Alles anzeigen
      Kann besser Hardware als Software !
    • @Plumbum

      Zu
      1. Da der Slave ohnehin komplett konfiguriert werden muß, lohnt sich m.E. das fertige Master Image für einen Slave nicht. Besser mit Jessie light ein schlankes System aufsetzen.
      2. Nein, siehe Beitrag von Premo
      3. Weiß nicht genau, wie Du das meinst. Du kannst aber auch anstatt 127.0.0.1 die tatsächliche IP also 192.168.x.x eintragen.
      4. Zusätzlichen Schaltserver am Master eintragen. Ferner unter Schaltelemente den Slave auswählen, wenn da Ausgänge beschaltet sind.
      5. Siehe Punkt 4
      6. Es können Eingänge gelesen werden und Ausgänge geschaltet werden
      7. Siehe Beitrag von Premo.
      SHC Master B2+ WLAN sowie 1 Slave B2+, 2 Slave B+ und 2 Slave Raspi B. 5x Pi Cam; Imac mit OSX El Capitan; Iphone 6 plus; Ipad mini; Lenovo Android Tablet.
    • Hi, das Thema ist zwar schon alt, meine Frage passt aber am Besten hier hin. Master/Slave funzt soweit, der slave Schaltserver wird mir am Master als online angezeigt. Nun klappt aber der einfache Fall nicht: GPIO PIN 0 als Eingang am Slave eingerichtet, web gui aktiviert und Schaltfunktion erstellt. Je nach Zustand wird der Eingang an oder aus korrekt angezeigt. Nicht aber am Master, der sieht den selben PIN am slave als aus, egal welchen Zustand der PIN tatsächlich hat. Ich übersehe bestimmt etwas -> wir erfolgt das Update eines geändert GPIO slave PINS am Master?

      Nachtrag: das Schalten des GPIO 1 am slave über den Master klappt wunderbar!

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

    • Brainfuck-Quellcode

      1. +-----+-----+---------+------+---+-Model B2-+---+------+---------+-----+-----+
      2. | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
      3. +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
      4. | | | 3.3v | | | 1 || 2 | | | 5v | | |
      5. | 2 | 8 | SDA.1 | IN | 1 | 3 || 4 | | | 5V | | |
      6. | 3 | 9 | SCL.1 | IN | 1 | 5 || 6 | | | 0v | | |
      7. | 4 | 7 | GPIO. 7 | IN | 1 | 7 || 8 | 1 | ALT0 | TxD | 15 | 14 |
      8. | | | 0v | | | 9 || 10 | 1 | ALT0 | RxD | 16 | 15 |
      9. | 17 | 0 | GPIO. 0 | IN | 0 | 11 || 12 | 1 | IN | GPIO. 1 | 1 | 18 |
      10. | 27 | 2 | GPIO. 2 | IN | 1 | 13 || 14 | | | 0v | | |
      11. | 22 | 3 | GPIO. 3 | IN | 0 | 15 || 16 | 1 | IN | GPIO. 4 | 4 | 23 |
      12. | | | 3.3v | | | 17 || 18 | 1 | IN | GPIO. 5 | 5 | 24 |
      13. | 10 | 12 | MOSI | IN | 0 | 19 || 20 | | | 0v | | |
      14. | 9 | 13 | MISO | IN | 0 | 21 || 22 | 0 | IN | GPIO. 6 | 6 | 25 |
      15. | 11 | 14 | SCLK | IN | 0 | 23 || 24 | 1 | IN | CE0 | 10 | 8 |
      16. | | | 0v | | | 25 || 26 | 1 | IN | CE1 | 11 | 7 |
      17. +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
      18. | 28 | 17 | GPIO.17 | IN | 0 | 51 || 52 | 0 | IN | GPIO.18 | 18 | 29 |
      19. | 30 | 19 | GPIO.19 | IN | 0 | 53 || 54 | 0 | IN | GPIO.20 | 20 | 31 |
      20. +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
      21. | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
      22. +-----+-----+---------+------+---+-Model B2-+---+------+---------+-----+-----+
      Alles anzeigen


      0 ist als IN deklariert... was erwartest Du hier zu sehen? am slave funktioniert es ja auch. Ich wechsel einfach mal auf 6...

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

    • mit der 6 klappt es leider auch nicht. wieder funzt es am slave sauber, die Übertragung an den Master hingegen nicht. Muss für die Übertragung der sensor transmitter aktiv sein? Kann ich ein log einsehen, wo die Übertragung protokolliert wird?

      danke für Deine Mühe und Zeit :)

      PS via nethogs kann ich sehen, dass die Veränderung des Eingangs am Slave KEIN event auf dem socket erzeugt, d.h. es wird auch nichts übertragen. In die andere Richtung, also einen Ausgang am Salve über den Master steuern, funktioniert es es sichtbar. SOmit ist für mich bewiesen, dass die Änderung am slave keine Transmission auslöst. Wo/Wie kann ich das prüfen/ändern?

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

    • Habe mal getestet und es funktioniert.
      Eine Anleitung in Bildern als Anhang.

      Zum Testen habe ich 2 Smardphone genommen.
      Auf beiden die App installiert 1x Master 1x Slave.
      Damit sieht man schneller ob die Eingänge umgeschaltet
      werden.
      Geht aber auch über die GUI muss kurz aktuallisiert werden.
      Wenn jetzt ein Eingang auf High gesetzt wird geht am Master
      und Slave von rot nach grün.
      Dateien
      • Master_Slave.zip

        (346,44 kB, 11 mal heruntergeladen, zuletzt: )
      Kann besser Hardware als Software !
    • danke, jetzt geht es bei mir auch, es lag an der iptables Konfiguration.

      Mittlerweile habe ich auch das Event-System eingerichtet und lese mich gerade in den Programmcode ein. Nach Auslösen eines Events kann man stets nur ein command auslösen, das möchte ich nicht, ich möchte einfach nur den Schaltstatus verändern. Hier habe ich aufgrund fehlender Doku das Problem, die event Verarbeitung zu verstehen. Ich bräuchte mal Hilfe beim Aufsetzen des remote debugging mit zB eclipse. Per XDebug kann ich von meiner Entwicklungsmaschine die Session debuggen, die auch von dort aus starte. Das event wird aber nur auf dem rpi ausgelöst und liegt daher nicht in meiner debugging session. Wie kann es einrichten, so dass ich trotzdem debuggen kann, wie die event verarbeitung läuf? btw, wie genau werden die Events eigentlich getriggert? Gibt es dazu eine Prozesslogik?