Installation von FB.Switch auf einem RaspberryPi
Verfasst: So 27. Mai 2018, 21:23
Folgende Schritte sind nötig, um FB.Switch auf einem RaspberryPi zu installieren:
Betriebssystem Raspian Stretch Lite auf eine SD Karte kopieren. Wie das geht steht hier:
https://www.raspberrypi.org/documentati ... ng-images/
https://www.datenreise.de/raspberry-pi- ... hme-howto/
Nachdem die SD Karte vorbereitet ist, empfiehlt es sich, VOR dem ersten Start des Pi auf die Boot Partion (das ist die im Windows Explorer sichtbare Partition) eine leere Datei mit Namen "ssh" anzulegen. Dadurch ist es möglich, sich direkt ohne angeschlossene Tastatur und Monitor übers Netzwerk per SSH mit dem Pi zu verbinden. Für Pi ZerwoW und Pi3 kann man auch noch eine Datei wpa_supplicant.conf mit folgendem Inhalt anlegen, bei SSID und psk natürlich eure WLAN Zugangsdaten eintragen:
Der Pi verbindet sich dann beim ersten Start gleich mit dem WLAN und ist mit seiner zugewiesenen IP Adresse per SSH erreichbar.
Standartbenutzer: pi
Standartpasswort: raspberry
Ich als Windows Nutzer benutze für den SSH Zugang putty.
Nun noch ein paar Standartschritte, bevor es mit der Installation von FB.Switch losgeht. Für die Installation benötigt man ROOT Rechte:
Dann alles auf den aktuellen Stand bringen:
Danach die Ersteinrichtung, besonderes Augenmerk lege ich immer auf den Punkt 4 "Localisation Options", damit FB.Switch später auch die richtige Uhrzeit hat.
Jetzt wird als erstes der Apache 2 Webserver installiert und die benötigten php Pakete hinterher:
Danach die aktuelle Version von FB.Switch über Github installiert
Damit wurde FB.Switch nach /var/www/html/fb-switch installiert. Die Github Installation sollte man nur bei der Erstinstallation durchführen, ansonsten zerschiesst man sich u.U. seine Installation. Spätere Updates kann man von Github als zip Downloaden und dann per FTP auf den Webserver schieben. Dazu unten mehr. Dabei ist wichtig, dass man den Ordner /fb-switch/data vorher sichert und dann zurück kopiert oder gar nicht erst überschreibt. Alle Individuellen Einstellungen legt FB.Switch in diesem Ordner an.
Jetzt noch die benötigten Rechte setzten, damit FB.Switch auf dem Webserver Schreibrechte hat:
FB.Switch sollte nun unter http://IP_Adresse _des _Pi/fb-switch erreichbar sein.
Damit die Timer funktionieren noch dies hier:
Für die einfache Administration von FB.Switch installiere ich mir immer noch einen FTP-Zugang für den Webserver, dann kann man per ftp Upload einfach Dateien hin und her kopieren, ohne mit den Rechten Probleme zu bekommen:
In der vorletzten Zeile werden die Zugangsdaten für den FTP Server eingerichtet. Der von mir verwendete Benutzer heißt "piftp", den könnt ihr hinter "Name" beliebig ändern. Das Wunschpasswort muss dann zweimal eingegeben werden. Wie bei Linux üblich sieht man die Eingabe nicht. Nun kann mann mit ftp://IP_Adresse_des_Pi auf /fb-switch zugreifen und alles mögliche Problemlos up- und downloaden.
Es gibt zwar beim Pi auch die Möglichkeit per sftp ohne zusätzliche Softwareinstallation up- und downloads durchzuführen, allerdings passen danach die Rechte bei FB.Switch nicht mehr.
***EDIT***
Wer sich kein 433MHz Gateway anschaffen möchte, kann sich einen 433MHz Sender besorgen, diesen direkt am Pi anschliessen und per GPIO über FB.Switch schalten.
Was wird benötig?
- 433Mhz Sender Modul FS1000A, z. B.:
http://www.amazon.de/dp/B00HULZ3ZO/ref= ... hxb1S57J2M
-Funksteckdosen mit 10 DIP Schaltern, z.B.:
http://www.amazon.de/dp/B001AX8QUM/ref= ... hxb0MEPHYX
- 3 Drähte zum verbinden des Senders mit dem Pi
- 17,2 cm Drahtstück als Antenne (muss noch am Sender angelötet werden,wichtig für die Reichweite) Verkabelung:
Pi Pin 4 (5V) -> Sender Vcc
Pi Pin 6 (GND) -> Sender GND
Pi Pin 11 (GPIO17) -> Sender Data Nur muss noch Wiring Pi und RCSwitch-Pi installiert werden (weiterhin alles als sudo!):
Außerdem wird ein Eintrag in der sudoers Datei benötigt, damit der Benutzer "www-data" die Rechte hat, RC-Switch zu benutzen
Nach dem Neustart ist schalten über den Sender aus FB.Switch möglich, aber nur für Steckdosen mit den 10 DIP Schaltern.
Wichtig: Egal von welchem Hersteller die Steckdosen sind, sie müssen als "ELRO/mumbi" Gerät angelegt werden.
Ältere Intertechno, die nich selbslernend sind, sondern die zwei Drehschalter haben, können auch geschaltet werden. Diese werden als Intertechno angelegt.
In den Einstellungen von FB.Switch muss man nun noch GPIO-Port verwenden auf "Ja", als Sender wird beim entsprechenden Gerät "RasPi GPIO" ausgewählt.
Betriebssystem Raspian Stretch Lite auf eine SD Karte kopieren. Wie das geht steht hier:
https://www.raspberrypi.org/documentati ... ng-images/
https://www.datenreise.de/raspberry-pi- ... hme-howto/
Nachdem die SD Karte vorbereitet ist, empfiehlt es sich, VOR dem ersten Start des Pi auf die Boot Partion (das ist die im Windows Explorer sichtbare Partition) eine leere Datei mit Namen "ssh" anzulegen. Dadurch ist es möglich, sich direkt ohne angeschlossene Tastatur und Monitor übers Netzwerk per SSH mit dem Pi zu verbinden. Für Pi ZerwoW und Pi3 kann man auch noch eine Datei wpa_supplicant.conf mit folgendem Inhalt anlegen, bei SSID und psk natürlich eure WLAN Zugangsdaten eintragen:
Code: Alles auswählen
country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="wlan-name"
psk="passwort"
key_mgmt=WPA-PSK
}
Standartbenutzer: pi
Standartpasswort: raspberry
Ich als Windows Nutzer benutze für den SSH Zugang putty.
Nun noch ein paar Standartschritte, bevor es mit der Installation von FB.Switch losgeht. Für die Installation benötigt man ROOT Rechte:
Code: Alles auswählen
sudo su
Code: Alles auswählen
apt-get update
apt-get upgrade
Code: Alles auswählen
raspi-config
Code: Alles auswählen
apt-get install -y apache2
apt-get install -y php php-curl php-xml php-ssh2
Code: Alles auswählen
apt-get install -y git
cd /var/www/html
git clone https://github.com/bombcheck/FB.Switch.git
mv /var/www/html/FB.Switch /var/www/html/fb-switch
Jetzt noch die benötigten Rechte setzten, damit FB.Switch auf dem Webserver Schreibrechte hat:
Code: Alles auswählen
usermod -a -G www-data pi
chown -R www-data:www-data /var/www/html
chmod 775 /var/www/html
chmod g+s /var/www/html
Damit die Timer funktionieren noch dies hier:
Code: Alles auswählen
cat <(crontab -l) <(echo "*/1 * * * * wget -q http://127.0.0.1/fb-switch/index.php?timerrun -O /dev/null >> /dev/null 2>>/dev/null") | crontab -
Code: Alles auswählen
apt-get install -y proftpd-basic
echo 'DefaultRoot ~' >> /etc/proftpd/proftpd.conf
echo 'AuthOrder mod_auth_file.c mod_auth_unix.c' >> /etc/proftpd/proftpd.conf
echo 'AuthUserFile /etc/proftpd/ftpd.passwd' >> /etc/proftpd/proftpd.conf
sudo echo 'AuthPAM off' >> /etc/proftpd/proftpd.conf
echo 'RequireValidShell off' >> /etc/proftpd/proftpd.conf
echo '/bin/false' >> /etc/shells
cd /etc/proftpd/
ftpasswd --passwd --name piftp --uid 33 --gid 33 --home /var/www/html/ --shell /bin/false
/etc/init.d/proftpd restart
Es gibt zwar beim Pi auch die Möglichkeit per sftp ohne zusätzliche Softwareinstallation up- und downloads durchzuführen, allerdings passen danach die Rechte bei FB.Switch nicht mehr.
***EDIT***
Wer sich kein 433MHz Gateway anschaffen möchte, kann sich einen 433MHz Sender besorgen, diesen direkt am Pi anschliessen und per GPIO über FB.Switch schalten.
Was wird benötig?
- 433Mhz Sender Modul FS1000A, z. B.:
http://www.amazon.de/dp/B00HULZ3ZO/ref= ... hxb1S57J2M
-Funksteckdosen mit 10 DIP Schaltern, z.B.:
http://www.amazon.de/dp/B001AX8QUM/ref= ... hxb0MEPHYX
- 3 Drähte zum verbinden des Senders mit dem Pi
- 17,2 cm Drahtstück als Antenne (muss noch am Sender angelötet werden,wichtig für die Reichweite) Verkabelung:
Pi Pin 4 (5V) -> Sender Vcc
Pi Pin 6 (GND) -> Sender GND
Pi Pin 11 (GPIO17) -> Sender Data Nur muss noch Wiring Pi und RCSwitch-Pi installiert werden (weiterhin alles als sudo!):
Code: Alles auswählen
cd /opt
git clone git://git.drogon.net/wiringPi
cd wiringPi
./build
mkdir /opt/rcswitch-pi
cd /opt/rcswitch-pi
wget http://pi.onkeldave.de/rcswitch-pi.zip /opt/rcswitch-pi
unzip rcswitch-pi
make
Code: Alles auswählen
echo 'www-data ALL = NOPASSWD: /opt/rcswitch-pi/send' >> /etc/sudoers
reboot
Ältere Intertechno, die nich selbslernend sind, sondern die zwei Drehschalter haben, können auch geschaltet werden. Diese werden als Intertechno angelegt.
In den Einstellungen von FB.Switch muss man nun noch GPIO-Port verwenden auf "Ja", als Sender wird beim entsprechenden Gerät "RasPi GPIO" ausgewählt.