Seite 1 von 1

Installation von FB.Switch auf einem RaspberryPi

Verfasst: So 27. Mai 2018, 21:23
von onkeldave
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:

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
}
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:

Code: Alles auswählen

sudo su
Dann alles auf den aktuellen Stand bringen:

Code: Alles auswählen

apt-get update
apt-get upgrade
Danach die Ersteinrichtung, besonderes Augenmerk lege ich immer auf den Punkt 4 "Localisation Options", damit FB.Switch später auch die richtige Uhrzeit hat.

Code: Alles auswählen

raspi-config
Jetzt wird als erstes der Apache 2 Webserver installiert und die benötigten php Pakete hinterher:

Code: Alles auswählen

apt-get install -y apache2
apt-get install -y php php-curl php-xml php-ssh2
Danach die aktuelle Version von FB.Switch über Github installiert

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
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:

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
FB.Switch sollte nun unter http://IP_Adresse _des _Pi/fb-switch erreichbar sein.
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 -
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:

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
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)
FS1000A.jpg
FS1000A.jpg (8.33 KiB) 17726 mal betrachtet
Verkabelung:
Pi Pin 4 (5V) -> Sender Vcc
Pi Pin 6 (GND) -> Sender GND
Pi Pin 11 (GPIO17) -> Sender Data
Pi.JPG
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
Außerdem wird ein Eintrag in der sudoers Datei benötigt, damit der Benutzer "www-data" die Rechte hat, RC-Switch zu benutzen

Code: Alles auswählen

echo 'www-data ALL = NOPASSWD: /opt/rcswitch-pi/send' >> /etc/sudoers
reboot
Nach dem Neustart ist schalten über den Sender aus FB.Switch möglich, aber nur für Steckdosen mit den 10 DIP Schaltern.
Funksteckdose.jpg
Funksteckdose.jpg (13.35 KiB) 17726 mal betrachtet
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.

Re: Installation von FB.Switch auf einem RaspberryPi

Verfasst: So 27. Mai 2018, 23:34
von mrberni
Hi,

danke für deinen unermüdlichen Einsatz. :)
Aber der crontab-Eintrag hat noch einen Fehler drin: "connair"?

Gruß

Re: Installation von FB.Switch auf einem RaspberryPi

Verfasst: Mo 28. Mai 2018, 06:51
von onkeldave
Oh! Da bin ich in der Zeile verrutsch und hab den falschen crontab kopiert... Danke fürs Korrekturlesen, mrberni! Ist jetzt richtig.

Re: Installation von FB.Switch auf einem RaspberryPi

Verfasst: Di 29. Mai 2018, 14:07
von WOLFGANG
Hallo David.

Hattest du nicht mal ein ausführbaren Script für connair geschrieben?

Re: Installation von FB.Switch auf einem RaspberryPi

Verfasst: Di 29. Mai 2018, 18:44
von onkeldave
Ja, aber das geht nicht mehr so recht. Ich dachte mir, ich mach mal was aktuelles. :)