{"id":1037,"date":"2017-07-30T19:15:10","date_gmt":"2017-07-30T18:15:10","guid":{"rendered":"https:\/\/www.walterschlag.net\/?p=1037"},"modified":"2018-01-05T17:44:30","modified_gmt":"2018-01-05T16:44:30","slug":"raspberry-pi-relais-schalten","status":"publish","type":"post","link":"https:\/\/inator.at\/?p=1037","title":{"rendered":"Raspberry PI &#8211; Relais schalten"},"content":{"rendered":"<p>Hat man mehrere Relais am PI h\u00e4ngen, m\u00f6chte man vermutlich daf\u00fcr ein Script haben, um die Relais komfortabel schalten zu k\u00f6nnen :<\/p>\n<pre>cat \/bin\/relais\r\n#!\/bin\/bash\r\n\r\ncase $1 in\r\n1) pin=21; ;;\r\n2) pin=20; ;;\r\n3) pin=26; ;;\r\n4) pin=16; ;;\r\n5) pin=19; ;;\r\n6) pin=13; ;;\r\n7) pin=12; ;;\r\n8) pin=6; ;;\r\n*)\r\n for (( x=1 ; $x<=8 ; x++ ))\r\n do\r\n  \/bin\/relais $x\r\n done\r\nexit 0 ;;\r\n\r\nesac\r\n\r\nif test \"$2\" == \"\"\r\nthen\r\n if test \"$(cat \/sys\/class\/gpio\/gpio$pin\/value)\" == \"0\"\r\n then\r\n  echo 1\r\n else\r\n  echo 0\r\n fi\r\nelse\r\n\r\n if test \"$2\" == \"1\"\r\n then\r\n  v=0\r\n else\r\n  v=1\r\n fi\r\n #gpio -g mode $pin output\r\n #gpio -g mode $pin $1\r\n\r\n echo \"$pin\" > \/sys\/class\/gpio\/export 2>\/dev\/null\r\n echo \"out\" >  \/sys\/class\/gpio\/gpio$pin\/direction\r\n echo \"$v\" > \/sys\/class\/gpio\/gpio$pin\/value\r\n\r\n# echo \"$(date) $1 $(whoami)\" >> \/tmp\/strom.log\r\nfi\r\n<\/pre>\n<p>Weiters ist es von Vorteil, die Ausg\u00e4nge beim Booten zu initialisieren, damit ein definierter Zustand herrscht :<\/p>\n<pre>cat \/etc.rc.local\r\n...\r\nfor (( r=1; $r<=8; r++)); do \/bin\/relais $r 0; done\r\n<\/pre>\n<p>L\u00e4uft sowieso schon ein Webserver mit PHP, dann bietet sich auch noch ein PHP Script an, um via Webinterface schalten zu k\u00f6nnen. (Achtung ! das hat keinen Passwortschutz eingebaut) :<\/p>\n<p>index.php :<br \/>\n<a href=\"https:\/\/inator.at\/wp-content\/uploads\/2017\/07\/index_relais_schalten.php_.txt\">index_relais_schalten.php<\/a><\/p>\n<p>visudo :<\/p>\n<pre>\r\n...\r\nwww-data ALL=(ALL) NOPASSWD: \/bin\/relais\r\n...\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Hat man mehrere Relais am PI h\u00e4ngen, m\u00f6chte man vermutlich daf\u00fcr ein Script haben, um die Relais komfortabel schalten zu k\u00f6nnen : cat \/bin\/relais #!\/bin\/bash case $1 in 1) pin=21; ;; 2) pin=20; ;; 3) pin=26; ;; 4) pin=16; ;; 5) pin=19; ;; 6) pin=13; ;; 7) pin=12; ;; 8) pin=6; ;; *) for (( &hellip; <a href=\"https:\/\/inator.at\/?p=1037\" class=\"more-link\"><span class=\"screen-reader-text\">Raspberry PI &#8211; Relais schalten<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1037","post","type-post","status-publish","format-standard","hentry","category-allgemein"],"_links":{"self":[{"href":"https:\/\/inator.at\/index.php?rest_route=\/wp\/v2\/posts\/1037","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/inator.at\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/inator.at\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/inator.at\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/inator.at\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1037"}],"version-history":[{"count":5,"href":"https:\/\/inator.at\/index.php?rest_route=\/wp\/v2\/posts\/1037\/revisions"}],"predecessor-version":[{"id":1146,"href":"https:\/\/inator.at\/index.php?rest_route=\/wp\/v2\/posts\/1037\/revisions\/1146"}],"wp:attachment":[{"href":"https:\/\/inator.at\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1037"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/inator.at\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1037"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/inator.at\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1037"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}