Przedmiotem projektu jest multisterownik/ multikontroler kotłowni wykorzystujący jako jednostkę centralną minikomputer Raspberry Pi B+
Opis działania, funkcje, zdjęcia można znaleźć tu: Multisterownik/ multikontroler kotłowni na Raspberry Pi B+
Serwer napisałem pod swoją kotłownię. Jeżeli chesz go wykorzystać u siebie pamiętaj, że cała odpowiedzialność za bezpieczeństwo leży po Twojej stronie. Jeżeli nie do końca wiesz co robisz lepiej wykorzystaj dodatkowe zabezpieczenia.
- Instalacja odbywa się na systemie Raspbian, korzystając z konta domyślnego użytkownika pi
- Katalog serwera umieszczony będzie w katalogu głównym użytkownika pi
Na końcu pliku /etc/modules dopisać dwie linie:
w1-gpio
w1-therm
Instalujemy biblioteki dla Pythona:
sudo apt-get update
sudo apt-get install python-mysqldb
Serwer WWW nie jest potrzebny do działania serwera kotłowni jednak umożliwia skorzystanie z frontendu do odczytu stanów, korzystania ze statystyk, itp.
sudo apt-get install lighttpd php5-cgi
sudo lighttpd-enable-mod fastcgi
W pliku /etc/php5/cgi/php.ini ustawiamy:
cgi.fix_pathinfo=1
Na końcu pliku /etc/lighttpd/lighttpd.conf dopisujemy:
fastcgi.server = ( ".php" => (("bin-path" => "/usr/bin/php5-cgi", "socket" => "/tmp/php.socket")))
alias.url += ( "/sowa" => "/home/pi/sowa/public_html/" )
Uruchamiamy ponownie serwer lighttpd:
sudo service lighttpd restart
Upewniamy się, że będzie uruchamiany automatycznie:
sudo update-rc.d lighttpd defaults
System bazy danych nie jest wymagany do pracy, jednak pozwala na gromadzenie danych stanów serwera kotłowni. Do wyboru mamy obsługę MySQL lub SQLite3. Można zapisywać dane do jednej lub drugiej bazy lub do dwóch jednocześnie.
apt-get install mysql-server mysql-client php5-mysql
Upewniamy się, że serwer bazy będzie uruchamiany automatycznie:
sudo update-rc.d mysql defaults
Tworzymy bazę danych o nazwie sowa na potrzeby projektu:
mysql -u root -p
CREATE DATABASE sowa;
quit;
sudo apt-get install sqlite3 php5-sqlite
sudo apt-get install git
cd
git clone https://github.com/tm-poland/sowa.git
- W katalogu użytkownika pi został utworzony katalog serwera sowa.
- Odnajdujemy w nim katalog install i kopiujemy w odpowiednie miejsca w sytemie pliki zawarte w tym katalogu zgodnie z jego ścieżką.
- Ustawiamy odpowiednie własności:
sudo chown root:root /etc/init.d/sowa
sudo chown root:root /etc/logrotate.d/sowa
-
Ustawiamy automatyczny start/ stop serwera
sudo update-rc.d sowa defaults -
Teraz przyszedł czas na konfigurację pliku serwera SOWA /home/pi/sowa/sowa.conf oraz frontendu /home/pi/sowa/public_html/config.inc.php
-
Jeżeli wybraliśmy bazę danych SQLite3 należy ją zainicjować. Przechodzimy do katalogu, gdzie ma się znajdować (domyślnie w katalogu serwera, czyli /home/pi/sowa/) i wpisujemy polecenia:
sqlite3 /home/pi/sowa/sowa.db
.exit
- Zmień nazwę pliku sowa.conf-default na sowa.conf:
mv /home/pi/sowa/sowa.conf-default /home/pi/sowa/sowa.conf
- Dopasuj konfigurację serwera SOWA w pliku sowa.conf do swoich potrzeb.
- Zmień nazwę pliku konfiguracyjnego frontendu config.inc.php-default na config.inc.php:
mv /home/pi/sowa/public_html/config.inc.php-default /home/pi/sowa/public_html/config.inc.php
- Dopasuj konfigurację frontendu w pliku public_html/config.inc.php do swoich potrzeb.
- Możemy zrestartować RPi:
sudo reboot - Frontend jest dostępny pod adresem:
http://ip_twojego_rpi/sowa
Do użytku prywatnego - bez ograniczeń. W innych przypadkach proszę o kontakt.