Moin,
versuche mal mit dieser Anleitung die Installation von SHC:
Display All
versuche mal mit dieser Anleitung die Installation von SHC:
Source Code
- 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 "sudo nano /etc/apache2/sites-available/000-default.conf" die Zeile 12 mit folgendem Eintrag ersetzen und den Webserver neu starten
- /var/www /html -----> Entfernen
- Dann
- sudo service apache2 restart
- 3. Installation Redis und PHPRedis
- Redis kann einfach aus den Paketquellen installiert werden -----> (bei Jessie).
- ~ $ sudo apt-get install redis-server
- ~ $ sudo apt-get install php5-redis
- 4. 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
- 127.0.0.1
- 1
- 1
- nix
- soll SHC=ja
- soll PCC=ja
- /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://192.168.xxx.xxx/shc?app=shc erreichbar sein.
- 5. 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 mit"sudo nano /etc/fstab" 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.
- 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
- 10
- 2
- 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
- 192.168.xxx.xxx
- 9274
- 11
- ja
- ja
- ja
- 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
- 8.1 Pilight konfigurieren (wenn benötigt)
- ~# sudo -i
- ~# nano /etc/apt/sources.list
- „deb http://apt.pilight.org/ stable main “ << am Ende der Datei Einfügen.
- ~# wget -O - http://apt.pilight.org/pilight.key | apt-key add -
- ~# apt-get update
- ~# apt-get install pilight
- Pilight Webserver disable
- Zusätzlich kann in der "sudo nano /etc/pilight/config.json" Datei die Weboberfläche von Pilight deaktiviert werden, dieser wird vom SHC geliefert.
- "webserver--enable": 0"
- 9. sudoers Datei einrichten
- Welche Anpassungen an der sudoers Datei nötig sind, ist in dem Artikel sudoers Datei anpassen beschrieben.
- sudo visudo
- in die datei am Ende einfügen
- www-data ALL = NOPASSWD: /opt/rcswitch-pi/send
- www-data ALL = NOPASSWD: /usr/local/bin/pilight-send
- www-data ALL = NOPASSWD: /sbin/reboot, /sbin/halt
- www-data ALL = NOPASSWD: /var/www/shc/shc/lib/external/python/dht.py
- www-data ALL = NOPASSWD: /var/www/shc/shc/lib/external/python/bmp.py
- 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
- 11. Sensorsender installieren:
- cd /var/www/shc
- /var/www/shc $ sudo chmod 0777 -R ./
- /var/www/shc $ php index.php app=shc -st -c
- ja
- 127.0.0.1
- 80
- ID 10
- Status Led 10
- 12. DHT Sensoren installieren: (wenn benötigt)
- ~ $ sudo apt-get install build-essential python-dev
- ~ $ git clone https://github.com/adafruit/Adafruit_Python_DHT
- ~ $ cd Adafruit_Python_DHT
- ~/Adafruit_Python_DHT $ sudo python setup.py install
- sudo visudo
- www-data ALL = NOPASSWD: /var/www/shc/shc/lib/external/python/dht.py
- am Ende eine Leerzeile
- 13. BMP installieren : (wenn benötigt)
- Am Master nicht, nur wenn BMP auch am Master.
- Nur am Slave, wenn kein BMP am Master.
- 1.
- I2C Schnittstelle in der raspi-config einschalten
- sudo raspi-config
- 2.
- Das auslesen von BMP Sensoren wird nicht direkt vom Raspberry Pi unterstützt und erfordert zusätzliche Treiber. Das SHC verwendet die Adafruit BMPPython Libary die wie folgt installiert wird:
- ~ $ git clone https://github.com/adafruit/Adafruit_Python_BMP
- ~ $ cd Adafruit_Python_BMP
- ~/Adafruit_Python_BMP $ sudo python setup.py install
- 3.
- Nun müssen die Kernelmodule aktiviert werden. In der Datei “/etc/modules” müssen folgende Module hinzugefügt werden.
- sudo nano /etc/modules
- i2c-bcm2708
- i2c-dev
- 4.
- In der Datei “/etc/modprobe.d/raspi-blacklist.conf” muss der Eintrag “blacklist i2c-bcm2708? auskommentiert bzw. entfernt werden.
- sudo nano /etc/modprobe.d/raspi-blacklist.conf
- blacklist spi-bcm2708
- blacklist i2c-bcm2708
- sudo apt-get install python-smbus i2c-toolsvisudp
- Damit die Luftdruckmessung später nicht ständig mit Superuser-Rechten laufen muss, sollte der entsprechende Benutzer (zum Beispiel der Standardbenutzer pi) Mitglied der Gruppe i2c sein:
- sudo adduser pi i2c
- 5.
- Bei smbus error
- sudo apt-get install python-smbus
- nach installieren.
- 6.
- Danach muss das Script zum auslesen von BMP Sensoren noch in der sudoers Datei eingetragen werden. Das ist im Artikel sudoers Datei anpassen beschrieben.
- cd /var/www/shc
- sudo visudo
- www-data ALL = NOPASSWD: /var/ww/shc/shc/lib/external/python/bmp.py
- 7.
- Nach der Installation müssen die einzelnen Sensoren noch am Sensor sender angemeldet werden dazu muss folgender Befehl aufgerufen werden:
- cd /var/www/shc
- /var/www/shc $ php index.php app=shc -st -enableBMP 77
- /var/www/shc $ php index.php app=shc -st -disableBMP 77
- Danach werden automatisch die ausgelesenen Daten der angemeldeten DHT Sensoren an den Sensor Empfänger gesendet. Es kann nur ein BMP Sensor pro Raspberry Pi verwendet werden.
- Nach einem weiteren Neustart des Systems sollten alle Dienste automatisch starten und das SHC ist einsatzbereit.