-
Notifications
You must be signed in to change notification settings - Fork 18
Raspberry Pi
- Hardwareanschluss
- Installation PHP und Webserver
- Installation Redis und PHPRedis
- Temp Ordner als Ramdisk konfigurieren
- SHC Installation
- Sheduler Konfigurieren
- Schaltserver Konfigurieren
- wiringpi und rcswitch-pi installieren
- sudoers Datei einrichten
- Autostart einrichten
comming soon
Als erstes muss ein Webserver und PHP installiert werden, ich beschreibe hier wie Apache installiert wird, lighttpd oder nginx können aber genau so verwendet werden.
~ $ sudo apt-get update
~ $ sudo apt-get upgrade -y
~ $ sudo apt-get install git-core
~ $ sudo apt-get install php5-common php5-cgi php5-cli php-apc
~ $ sudo apt-get install apache2 libapache2-mod-php5
Falls Raspbian Jessie (Light) verwendet wird, muss der DocumentRoot des Webserver angepasst werden. Dazu in der Datei /etc/apache2/sites-available/000-default.conf die Zeile 12 mit folgendem Eintrag ersetzen und den Webserver neu starten
/var/www
sudo service apache2 restart
Redis kann einfach aus den Paketquellen installiert werden (Jessie).
~ $ sudo apt-get install redis-server
~ $ sudo apt-get install php5-redis
PHPRedis muss von GitHub geholt und kompiliert werden (Wheezy).
~ $ sudo apt-get install php5-dev
~ $ cd /opt
/opt $ sudo git clone https://github.com/phpredis/phpredis.git
/opt $ cd phpredis/
/opt/phpredis $ sudo phpize
/opt/phpredis $ sudo ./configure
/opt/phpredis $ sudo make && sudo make install
/opt/phpredis $ sudo touch /etc/php5/conf.d/500-redis.ini
/opt/phpredis $ sudo chmod 0777 /etc/php5/conf.d/500-redis.ini
/opt/phpredis $ echo "extension=redis.so" >> /etc/php5/conf.d/500-redis.ini
Um die Anwendung zu beschleunigen und die SD Karte vor unnötig vielen Schreibzugriffen zu verschonen empfehle ich den Cache in eine Ramdisk zu verlegen. D.h. das ist ein kleiner Speicherbereich im Arbeitsspeicher der sehr schnell les- und schreibbar ist und dem sehr viele schreibvorgänge nichts aus machen. Damit Linux die Ramdisk beim starten des Raspberry Pi erstellt, muss folgende Zeile in die /etc/fstab Datei eingetragen werden:
tmpfs /var/www/shc/rwf/data/cache tmpfs nosuid,size=5M 0 0
Wichtig: DIe letzte Zeile der Datei muss eine Leerzeile sein! Nach einem Neustart des Raspberry Pi ist nun alles für die Installation des SHC vorbereitet.
Das SHC kann einfach in der aktuellsten Version von GitHub geholt werden und muss dann nur noch installiert werden.
~ & cd /var/www
/var/www $ sudo git clone https://github.com/agent4788/SHC_Framework
/var/www $ sudo mv SHC_Framework/ shc/
/var/www $ cd shc/
/var/www/shc $ sudo chmod 0777 -R ./
/var/www/shc $ php install.php
/var/www/shc $ sudo chmod 0777 -R ./
Während der Installation wird nach und nach gefragt welche APPs installiert werden sollen. Nach diesen Schritten ist die Weboberfläche einsatzbereit und sollte unter http://localhost/shc?app=shc erreichbar sein.
Nachdem die Weboberfläche läuft ist es an der Zeit die wichtigsten Dienste zu installieren/konfigurieren. Im ersten Schritt wird der Sheduler Deamon benötigt, dieser sorgt für die Zeitschaltfunktionen, aktualisiert die Daten von Eingängen und Benutzern zu Hause. Dieser Dienst sollte immer laufen und kann auch nur in der Hauptinstallation genutzt werden. Der Sheduler muss zuerst konfiguriert werden:
/var/www/shc $ php index.php app=shc -sh -c
danach kann er mit folgendem Befehl zum Test gestartet werden:
/var/www/shc $ php index.php app=shc -sh
Erscheint nicht innerhalb von ca. 2 Minuten eine Fehlermeldung ist der Dienst lauffähig und der Testlauf kann mit STRG + C abgebrochen werden.
Der zweite wichtige Dienst ist der Schaltserver, dieser sendet die 433MHz Befehle, schreibt und liest die GPIO's des Raspberry Pi. Dieser Dienst kann auf dem Raspberry Pi mit der Hauptinstallation laufen, kann aber auch auf einem separaten Raspberry Pi laufen. Im SHC können auch mehrere Schaltserver genutzt werden. Für die Standardinstallation wird hier die Installation auf dem Raspberry Pi mit der Hauptinstallation beschrieben.
Als erstes sollte der Schaltserver mit folgendem Befehl konfiguriert werden:
/var/www/shc $ php index.php app=shc -ss -c
Die Serveradresse und der Port können bei der Standardeinstellung '127.0.0.1:9273' belassen werden. Die folgenden Einstellungen richten die Möglichkeiten des Schaltservers ein 433MHz Befehle zu senden, GPIOs zu lesen und/oder zu schreiben.
Wiringpi wird für das Lesen und/oder Schreiben von GPIOs, sowie das senden der 433MHz Befehle benötigt.
/var/www/shc $ cd ~
~ $ git clone git://git.drogon.net/wiringPi
~ $ cd wiringPi
~ $ git pull origin
~ $ ./build
Rcswitch-pi sendet die 433MHz Befehle und wird wie folgt installiert:
~ $ cd /opt
/opt $ sudo git clone https://github.com/r10r/rcswitch-pi.git
/opt $ cd rcswitch-pi
/opt/rcswitch-pi $ sudo make
Welche Anpassungen an der sudoers Datei nötig sind, ist in dem Artikel sudoers Datei anpassen beschrieben.
Ist alles entsprechend installiert sollte man kurz testen ob der Dienst Fehlerfrei startet. Dies macht man wie folgt:
~ $ cd /var/www/shc
/var/www/shc $ php index.php app=shc -ss
Darauf hin sollte eine grün hinterlegte Meldung erscheinen die besagt das der Server läuft. Erscheint eine Fehlermeldung muss diese zuerst behoben werden.
Ist alles erfolgreich installiert und auch der Test erfolgreich durchlaufen, kann der Autostart wie folgt eingerichtet werden:
/var/www/shc $ sudo mv shcd.sh /etc/init.d/shcd
/var/www/shc $ sudo update-rc.d shcd defaults
Nach einem weiteren Neustart des Systems sollten alle Dienste automatisch starten und das SHC ist einsatzbereit.