Skip to content
This repository was archived by the owner on Dec 19, 2019. It is now read-only.

Raspberry Pi

rgarcia89 edited this page Jan 14, 2016 · 17 revisions

Installation auf dem Raspberry Pi

  1. Hardwareanschluss
  2. Installation PHP und Webserver
  3. Installation Redis und PHPRedis
  4. Temp Ordner als Ramdisk konfigurieren
  5. SHC Installation
  6. Sheduler Konfigurieren
  7. Schaltserver Konfigurieren
  8. wiringpi und rcswitch-pi installieren
  9. sudoers Datei einrichten
  10. Autostart einrichten

1. Hardwareanschluss

comming soon

2. Installation PHP und Webserver

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

3. Installation Redis und PHPRedis

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

4. Temp Ordner als Ramdisk konfigurieren

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.

5. SHC und PCC Installation

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.

6. Sheduler konfigurieren

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.

7. Schaltserver konfigurieren

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.

8. Wiringpi und Rcswitch-pi installieren

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

9. sudoers Datei einrichten

Welche Anpassungen an der sudoers Datei nötig sind, ist in dem Artikel sudoers Datei anpassen beschrieben.

10. Autostart einrichten

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.