NEWS
Rasppi(gpio) und iobroker ein Smarthome
-
Hallo ich will mit ein smarthome bauen und möchte erst mal anfangen Temperaturen auslesen und Relais schalten über die gpio vom Pi dazu möchte ich anzeigen und Buttons auf einer Oberfläche haben
Nur wie stell ich das am besten an kann mir einer Tipps geben finde im Internet leider nichts Habs au schon mit Node-red probiert bekomm es aber einfach nicht hin
-
Hi riddler,
Was willst du denn genau erreichen?
Zum Thema Raspberry über Relais schalten kann ich dir ein paar Tipps geben in Kombination mit ioBroker
~Dutch
–-----------------------
Send from mobile device
-
Möchte einmal Relais schalten für Lichter also z.B. Gang Küche Wohnzimmer usw..
Und einmal eine Anzeige für Temperatur dann ein einmal ein Dreirad in der ich die Temperatur einstelle und das dann ein Relais schaltet
Also z.b Wassertemperatur hat 60grad
Im Dreirad ist 50grad eingestellt
Also soll des Relais solang geschalten sein bis die Wassertemperatur unter 50grad ist
-
Möchte einmal Relais schalten für Lichter also z.B. Gang Küche Wohnzimmer usw..
Und einmal eine Anzeige für Temperatur dann ein einmal ein Dreirad in der ich die Temperatur einstelle und das dann ein Relais schaltet
Also z.b Wassertemperatur hat 60grad
Im Dreirad ist 50grad eingestellt
Also soll des Relais solang geschalten sein bis die Wassertemperatur unter 50grad ist `
OK, die einfachste und billigste loesung waere zb einde relais karte an die gpio pins an zu schliessen, da es 17 belegbare pins gibt koenntest du auch 17 relais schalten (mache inch zb in meinem garten).
Relais boards wie diese schalten 10Ampere (~2200 watt)
2 fach https://www.sossolutions.nl/2x-relais
4 fach https://www.sossolutions.nl/4x-relais
8 fach https://www.sossolutions.nl/8-x-relais-5volt-no-nc
Die gpio koennen zowohl einganen (0/1 zb bewegungsmelder) als 3,3 v ausgang Liefern (zb fuers relais board).
Zur temperatuur messung benutze ich homematic geraete, wie das auf raspberry geht kan inch dir nicht weiterhelfen.
Empfehle dir aber vernuftige sensoren zu nemen und nicht 80 cent stek teilen fuer die pi
IObroker steuert die rapsberry an, schalt wunsch aus deinen beispiel geht dan z.b. Mit JavaScript adapter/blockly. (Wen temperatuur dan).
Einstellen von temperatuur trigger geht mit vis und einem object in IObroker, per vis variable ssetzen Welche dan im script benutten wird fuer min/max.
~Dutch
Beispiel test setup garten, 1 bewegungsmelder 16 relais
-
Okay danke schon mal für die Antwort
Relais und Temperatur Sensoren hab ich schon kann sie auch über den Terminal schalten.
Ich versteh nur nicht wie ich das in iobroken Programmiere das die gpio geschalten werden oder ausgelesen werden und mir auf einer Oberfläche angezeigt werden.
Oder das ich ein Button in VIS oder in node-red habe und wenn ich auf den mit der Maus drücke mein gpio geschalten wird
-
Hast du ioBroker auf dem pi?
Schon Mal nach dem rpi Adapter geschaut, der kan die Pins schalten/lesen
https://github.com/GermanBluefox/iobrok … /README.md
GPIOs
You can read and control GPIOs too. All what you need to do is to configure in the settings the GPIOs options (additional tab).
GPIOs
After some ports are enabled following states appear in the object tree:
rpi.0.gpio.PORT.state
Send from mobile device
-
Ich habe hier ein Banana Pi laufen und jetzt ist meine Frage, kann ich da auch den Rpi Adapter verwenden? Möchte ein paar Relais schalten. Die Pin Belegung ist ein wenig anders als beim Rpi aber das wäre kein Problem die suche ich mir schon raus. Es geht nur um das ob der Rpi Adapter auch am Bpi verwenden kann und ob man auch damit das System auslesen und Anzeigen lassen kann. (CPU, Temperatur, Speicher u.s.w)
-
Ich habe hier ein Banana Pi laufen und jetzt ist meine Frage, kann ich da auch den Rpi Adapter verwenden? Möchte ein paar Relais schalten. Die Pin Belegung ist ein wenig anders als beim Rpi aber das wäre kein Problem die suche ich mir schon raus. Es geht nur um das ob der Rpi Adapter auch am Bpi verwenden kann und ob man auch damit das System auslesen und Anzeigen lassen kann. (CPU, Temperatur, Speicher u.s.w) `
Adapter installieren und probieren ;).
~Dutch
–-----------------------
Send from mobile device
-
Das mit den GPIO scheint nicht so ohne Weiteres zu gehen, Die wichtigsten Systemdaten kannst du damit schon auslesen.
rpi2.0 2017-06-19 07:48:22.128 error Cannot setup port 5 as output: Error: EACCES: permission denied, open '/sys/class/gpio/gpio5/edge' rpi2.0 2017-06-19 07:48:22.126 error Cannot setup port 3 as output: Error: EACCES: permission denied, open '/sys/class/gpio/gpio3/edge' rpi2.0 2017-06-19 07:48:22.122 error Cannot setup port 21 as output: Error: EACCES: permission denied, open '/sys/class/gpio/gpio21/edge' rpi2.0 2017-06-19 07:48:22.120 error Cannot setup port 22 as output: Error: EACCES: permission denied, open '/sys/class/gpio/gpio22/edge' rpi2.0 2017-06-19 07:48:22.119 error Cannot setup port 26 as output: Error: EACCES: permission denied, open '/sys/class/gpio/gpio26/edge' rpi2.0 2017-06-19 07:48:22.117 error Cannot setup port 24 as output: Error: EACCES: permission denied, open '/sys/class/gpio/gpio24/edge' rpi2.0 2017-06-19 07:48:22.115 error Cannot setup port 23 as output: Error: EACCES: permission denied, open '/sys/class/gpio/gpio23/edge' rpi2.0 2017-06-19 07:48:22.114 error Cannot setup port 19 as output: Error: EACCES: permission denied, open '/sys/class/gpio/gpio19/edge' rpi2.0 2017-06-19 07:48:22.107 error Cannot setup port 18 as output: Error: EACCES: permission denied, open '/sys/class/gpio/gpio18/edge' rpi2.0 2017-06-19 07:48:22.106 error Cannot setup port 16 as output: Error: EACCES: permission denied, open '/sys/class/gpio/gpio16/edge' rpi2.0 2017-06-19 07:48:22.104 error Cannot setup port 15 as output: Error: EACCES: permission denied, open '/sys/class/gpio/gpio15/edge' rpi2.0 2017-06-19 07:48:22.102 error Cannot setup port 13 as output: Error: EACCES: permission denied, open '/sys/class/gpio/gpio13/edge' rpi2.0 2017-06-19 07:48:22.101 error Cannot setup port 12 as output: Error: EACCES: permission denied, open '/sys/class/gpio/gpio12/edge' rpi2.0 2017-06-19 07:48:22.099 error Cannot setup port 11 as output: Error: EACCES: permission denied, open '/sys/class/gpio/gpio11/edge' rpi2.0 2017-06-19 07:48:22.097 error Cannot setup port 10 as output: Error: EACCES: permission denied, open '/sys/class/gpio/gpio10/edge' rpi2.0 2017-06-19 07:48:22.094 error Cannot setup port 8 as output: Error: EACCES: permission denied, open '/sys/class/gpio/gpio8/edge' rpi2.0 2017-06-19 07:48:22.091 error Cannot setup port 7 as output: Error: EACCES: permission denied, open '/sys/class/gpio/gpio7/edge' rpi2.0 2017-06-19 07:48:21.999 error Cannot setup port 20 as output: Error: Channel 20 does not map to a GPIO pin rpi2.0 2017-06-19 07:48:21.994 error Cannot setup port 27 as output: Error: Channel 27 does not map to a GPIO pin rpi2.0 2017-06-19 07:48:21.992 error Cannot setup port 25 as output: Error: Channel 25 does not map to a GPIO pin rpi2.0 2017-06-19 07:48:21.927 error Cannot setup port 17 as output: Error: Channel 17 does not map to a GPIO pin rpi2.0 2017-06-19 07:48:21.926 error Cannot setup port 14 as output: Error: Channel 14 does not map to a GPIO pin rpi2.0 2017-06-19 07:48:21.924 error Cannot setup port 9 as output: Error: Channel 9 does not map to a GPIO pin rpi2.0 2017-06-19 07:48:21.923 error Cannot setup port 6 as output: Error: Channel 6 does not map to a GPIO pin rpi2.0 2017-06-19 07:48:21.921 error Cannot setup port 4 as output: Error: Channel 4 does not map to a GPIO pin rpi2.0 2017-06-19 07:48:21.914 error Cannot setup port 2 as output: Error: Channel 2 does not map to a GPIO pin rpi2.0 2017-06-19 07:48:15.937 info starting. Version 0.3.1 in /opt/iobroker/node_modules/iobroker.rpi2, node: v4.8.3 host.ioBroker-BPi 2017-06-19 07:48:12.229 info instance system.adapter.rpi2.0 started with pid 19158 host.ioBroker-BPi 2017-06-19 07:48:09.782 info instance system.adapter.rpi2.0 terminated with code 0 (OK)
Es kann natürlich sein, dass man mit geringen Anpassungen trotzdem die GPIOs zum Laufen bekommt, da bin ich aber raus!
Enrico
-
bis soweit ist die log ab OK, er sagt dir
A)
@RappiRN:rpi2.0 2017-06-19 07:48:22.128 error Cannot setup port 5 as output: Error: EACCES: permission denied, open '/sys/class/gpio/gpio5/edge' ```` `
Er hat keine berechtigungen, die RPI adapter documentation auf github sagt das iobroker als root laufen muss sonst kan er die pins nicht steuern.
desweiteren:
B)
@RappiRN:rpi2.0 2017-06-19 07:48:21.999 error Cannot setup port 20 as output: Error: Channel 20 does not map to a GPIO pin rpi2.0 2017-06-19 07:48:21.994 error Cannot setup port 27 as output: Error: Channel 27 does not map to a GPIO pin rpi2.0 2017-06-19 07:48:21.992 error Cannot setup port 25 as output: Error: Channel 25 does not map to a GPIO pin rpi2.0 2017-06-19 07:48:21.927 error Cannot setup port 17 as output: Error: Channel 17 does not map to a GPIO pin rpi2.0 2017-06-19 07:48:21.926 error Cannot setup port 14 as output: Error: Channel 14 does not map to a GPIO pin rpi2.0 2017-06-19 07:48:21.924 error Cannot setup port 9 as output: Error: Channel 9 does not map to a GPIO pin rpi2.0 2017-06-19 07:48:21.923 error Cannot setup port 6 as output: Error: Channel 6 does not map to a GPIO pin rpi2.0 2017-06-19 07:48:21.921 error Cannot setup port 4 as output: Error: Channel 4 does not map to a GPIO pin rpi2.0 2017-06-19 07:48:21.914 error Cannot setup port 2 as output: Error: Channel 2 does not map to a GPIO pin ```` `
Die meldungen bekommen ich beim rapsberry pi auch, diese pins kan er nicht steuern.
Deaktivieren diese in de adapter settings, dan bleiben immernoch 17 pins ueber die du steuern kannst.
~Dutch
-
Er hat keine berechtigungen, die RPI adapter documentation auf github sagt das iobroker als root laufen muss sonst kan er die pins nicht steuern. `
Ich brauch das zwar nicht, aber der Vollständigkeit halber, wie stellt man das ein?
Enrico
-
Er hat keine berechtigungen, die RPI adapter documentation auf github sagt das iobroker als root laufen muss sonst kan er die pins nicht steuern. `
Ich brauch das zwar nicht, aber der Vollständigkeit halber, wie stellt man das ein?
Enrico `
Entweder man startet ioBroker aus root (root ist man nach dem Commando "sudo su")
Oder
Man lässt ioBroker als Service laufen.
Bei mir habe ich ioBroker installiert mir sudo, danach per root als Service festgelegt.
Ich such Mal schnell die befehle
edit: Found it:
cp /opt/iobroker/node_modules/iobroker/install/linux/iobroker.sh /etc/init.d/ chmod 777 /etc/init.d/iobroker.sh bash /opt/iobroker/node_modules/iobroker/install/linux/install.sh
Dieses iobroker.sh sorgt fuer laufenim root siehe code der datei:
#!/bin/bash ### BEGIN INIT INFO # Provides: iobroker.sh # Required-Start: $network $local_fs $remote_fs # Required-Stop:: $network $local_fs $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts ioBroker # Description: starts ioBroker ### END INIT INFO (( EUID )) && echo .You need to have root privileges.. && exit 1 PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid NODECMD=/usr/bin/node IOBROKERCMD=/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js RETVAL=0 IOBROKERUSER=root start() { export IOBROKER_HOME=/opt/iobroker echo -n "Starting ioBroker" sudo -u ${IOBROKERUSER} $NODECMD $IOBROKERCMD start RETVAL=$? } stop() { echo -n "Stopping ioBroker" sudo -u ${IOBROKERUSER} $NODECMD $IOBROKERCMD stop RETVAL=$? } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo "Usage: iobroker {start|stop|restart}" exit 1 ;; esac exit $RETVAL
–-----------------------
Send from mobile device
-
Wenn ich deinen Code ausführe kommt:
root@ioBroker-BPi:~# cp /opt/iobroker/node_modules/iobroker/install/linux/iobrok er.sh /etc/init.d/ root@ioBroker-BPi:~# chmod 777 /etc/init.d/iobroker.sh root@ioBroker-BPi:~# bash /opt/iobroker/node_modules/iobroker/install/linux/inst all.sh Use user root for install. Set permissions... Start iobroker... : No such file or directory call http://ip_address:8081/ in browser to get the AdminUI of ioBroker root@ioBroker-BPi:~# ^C root@ioBroker-BPi:~#
Die iobroker.sh ist vorhanden im angegebenen Pfad.
Enrico
-
ich sehe da lehrzeichen bei dir ?
root@ioBroker-BPi:~# cp /opt/iobroker/node_modules/iobroker/install/linux/iobrok er.sh /etc/init.d/ root@ioBroker-BPi:~# chmod 777 /etc/init.d/iobroker.sh root@ioBroker-BPi:~# bash /opt/iobroker/node_modules/iobroker/install/linux/inst all.sh
dein iobroker ist wohl in diesem verzeichnis installiert ?
/opt/iobroker/
~Dutch
-
ich sehe da lehrzeichen bei dir ?
root@ioBroker-BPi:~# cp /opt/iobroker/node_modules/iobroker/install/linux/iobrok er.sh /etc/init.d/ root@ioBroker-BPi:~# chmod 777 /etc/init.d/iobroker.sh root@ioBroker-BPi:~# bash /opt/iobroker/node_modules/iobroker/install/linux/inst all.sh ```` `
Die Leerzeichen kommen vom Zeilenwechsel im kleinen putty-Fenster.
Ja ist in opt/iobroker.
Enrico
-
ich sehe da lehrzeichen bei dir ?
root@ioBroker-BPi:~# cp /opt/iobroker/node_modules/iobroker/install/linux/iobrok er.sh /etc/init.d/ root@ioBroker-BPi:~# chmod 777 /etc/init.d/iobroker.sh root@ioBroker-BPi:~# bash /opt/iobroker/node_modules/iobroker/install/linux/inst all.sh ```` `
Die Leerzeichen kommen vom Zeilenwechsel im kleinen putty-Fenster.
Ja ist in opt/iobroker.
Enrico `
diese 2 dateien sind aber wohl in deinem installations verzeichnis ?
/opt/iobroker/node_modules/iobroker/install/linux/iobroker.sh /etc/init.d/ /opt/iobroker/node_modules/iobroker/install/linux/install.sh
und diese datei ist noch nicht da ?
/etc/init.d/iobroker.sh
startet dein iobroker im moment automatisch (z.b. nach einen reboot der hardware ?)
-
Gehe mal in den Ordner mit
cd /etc/init.d
und schau ob dort die Datei drin ist
iobroker.sh
das Kannst du mit dem Befehl machen
ls -l
-
> Adapter installieren und probieren ;).
Werde es dann probieren und berichten ob es auch mit dem Bpi geht -
ich sehe da lehrzeichen bei dir ?
root@ioBroker-BPi:~# cp /opt/iobroker/node_modules/iobroker/install/linux/iobrok er.sh /etc/init.d/ root@ioBroker-BPi:~# chmod 777 /etc/init.d/iobroker.sh root@ioBroker-BPi:~# bash /opt/iobroker/node_modules/iobroker/install/linux/inst all.sh ```` `
Die Leerzeichen kommen vom Zeilenwechsel im kleinen putty-Fenster.
Ja ist in opt/iobroker.
Enrico `
diese 2 dateien sind aber wohl in deinem installations verzeichnis ?
/opt/iobroker/node_modules/iobroker/install/linux/iobroker.sh /etc/init.d/ /opt/iobroker/node_modules/iobroker/install/linux/install.sh
und diese datei ist noch nicht da ?
/etc/init.d/iobroker.sh
startet dein iobroker im moment automatisch (z.b. nach einen reboot der hardware ?) `
Ja alle drei Dateien sind vorhanden und ioBroker startet automatisch.
Enrico
-
Wie sieht dein Inhalt von /etc/init.d/ioBroker.sh aus ?
–-----------------------
Send from mobile device