Instalacja Domotiga.
Poniższa instrukcja opisuje co i jak zainstalować na module CubieTruck przed przystąpieniem do zainstalowania oprogramowania sterowania automatyką DomotiGa
Co jest wymagane:
- Sukcesem zakończona instalacja systemu operacyjnego opisana tutaj
Utworzenie dedykowanego użytkownika w linux
który będzie używany do instalacji wszystkich narzędzi, jak również oprogramowania serwera DomotiGa
Uwaga: Konto jest używane we wszystkich skryptach poniżej, jeśli zostanie utworzone konto o innej nazwie niż administrator konieczne będzie zmiana nazwy konta w poniższych skryptach, jak również w przygotowanych przeze mnie skryptach do ściągnięcia.
- Utworzenie użytkownika o nazwie konta administrator oraz dodanie go do wszystkich potrzebnych grup. Operację wykonujemy jako superuser, czyli albo jako użytkownik root lub po zalogowaniu się, jako użytkownik linaro i wpisaniu komendy su)
adduser administrator --home /home/administrator addgroup administrator dialout addgroup administrator users
- Umożliwienie instalacji oprogramowania, przez użytkownika administrator. Dodanie go do grupy super-userów
sh -c "echo 'administrator ALL=(ALL) ALL' >> /etc/sudoers"
- Usunięcie standardowego użytkownika linaro (dla bezpieczeństwa) – jeśli byłeś wcześniej zalogowany jako linaro najpierw musisz się wylogować i zalogować jako administrator.
sudo userdel -r linaro
Dodanie repozytoriów oprogramowania
Poniżej dodajemy dodatkowe repozytoria potrzebne do zainstalowania oprogramowania DomotiGa
sudo sh -c "echo 'deb http://ppa.launchpad.net/nemh/gambas3/ubuntu quantal main' >> /etc/apt/sources.list.d/gambas3.list" sudo sh -c "echo 'deb-src http://ppa.launchpad.net/nemh/gambas3/ubuntu quantal main' >> /etc/apt/sources.list.d/gambas3.list" sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 14E4942973C62A1B
Instalacja narzędzi
Instalujemy narzędzia deweloperskie potrzebne, aby ściągnąć, skompilować i zainstalować oprogramowanie DomotiGa
sudo apt-get install make gcc subversion git-core libudev-dev libjson0 libjson0-dev libcurl4-gnutls-dev mc
W przypadku problemów z instalacją wszystkich narzędzi za pomocą komendy powyżej, można to wykonać instalując każde z narzędzi z osobna
sudo apt-get install make sudo apt-get install gcc sudo apt-get install subversion sudo apt-get install git-core sudo apt-get install libudev-dev libjson0 libjson0-dev libcurl4-gnutls-dev sudo apt-get install mc
Uruchomienie modułu sieci bezprzewodowej (WiFi)
Krok opcjonalny
Szczegółowa instrukcja znajduje się tutaj.
Ustawienie interfejsu sieciowego ze statycznym adresem IP.
Jest to krok opcjonalny, ale może być konieczny w przypadku kiedy adres IP urządzenia może się zmieniać. Typowa sytuacja kiedy adres IP przydzielany jest przez serwer DHCP rutera.
Po co w ogóle statyczny adres IP? Otóż, statyczny adres IP będzie pozwalać na:
- Łączenie się z serwerem zawsze za pomocą tego samego adresu IP 🙂
- Będzie niezbędny, aby była możliwość podłączenia się do serwera z sieci Internet (dodatkowo będzie potrzebna konfiguracja Twojego Modemu/Rutera)
Uwaga: Przykład poniżej konfiguruje statyczny adres IP dla przewodowego interfejsu sieciowego. Analogiczna konfigurację można dokonać dla bezprzewodowego połączenia sieciowego zamieniając eth0 na wlan0 w dwóch pierwszych wierszach.
Kroki:
- Edytujemy konfigurację sieciową
sudo mcedit /etc/network/interfaces
Powyższe adresy IP to tylko przykład i muszą zostać odpowiednio dobrane do konfiguracji Twojej sieci lokalnej. W przypadku problemów proszę o komentarz, pomogę bardziej profesjonalnie 🙂
Kluczowy adres IP, który musisz znać to adres Twojego rutera IP. Znając ten adres z dużym prawdopodobieństwem dobierzesz poprawnie pozostałe.
Wpisz adres IP Twojego rutera jako gateway oraz zamień 3 pierwsze liczby analogicznie w parametrach address, network, broadcast – 4 cyfrę pozostaw jak w przykładzie.
Po wprowadzeniu konfiguracji plik należy zapisać, a następnie zresetować połączenie sieciowe.
sudo service networking restart
Opcjonalny krok to zmniejszenie czasu oczekiwania na adres z serwera DHCP. Skróci to czas ładowania systemu podczas, gdy będą problemy o otrzymaniem adresu IP z serwera DHCP.
Edytujemy plik /etc/dhcp/dhclient.conf
sudo mcedit /etc/dhcp/dhclient.conf
Wyszukujemy linie z parametrem timeout i wprowadzamy czas oczekiwania na odpowiedź na 5 sekund
timeout=5;
Instalacja Netwotk Time Protocol (NTP)
Kroki
- Instalacja pakietu
sudo apt-get install ntp
- Konfiguracja, polega na zmianie serwerów NTP na te znajdujące się w Polsce
sudo mcedit /etc/ntp.conf
Należy zamienić adresy serwerów w następujący sposób
server 0.pl.pool.ntp.org server 1.pl.pool.ntp.org server 2.pl.pool.ntp.org server 3.pl.pool.ntp.org
- Restart NTP
sudo service ntp restart
- Na koniec ustawiamy jeszcze poprawny timezone
sudo dpkg-reconfigure tzdata
Wybieramy 8 dla Europy i 36 dla Polski.
- Wprowadzamy informacje o timezone do /etc/localtime
sudo ln -sf /usr/share/zoneinfo/Europe/Warsaw /etc/localtime
- Teraz możemy sprawdzić, czy data i czas jest aktualne
date
Instalacja NOIP2
Krok opcjonalny
Jeśli nie posiadasz stałego adresu IP od Twojego dostawcy internetu (sytuacja występująca najczęściej), a planujesz sterować systemu lub podglądać stan systemu z Internetu to będzie potrzebna domena dynamiczne aktualizowana po każdorazowej zmianie adresu IP Twojego modemu.
Funkcjonalność taka jest wbudowana w wielu dostępnych modemów, ja mimo tego używam dedykowanej aplikacji pracującej na linux’ie.
Co będzie potrzebne:
- utworzone konto w serwisie www. noip.com
- zarejestrowanie nowego host’a. Będzie to nazwa domeny, po wpisaniu której w przeglądarce internetowej, będzie wskazywała na Twój internetowy adres IP. Innymi słowy pozwoli na uruchomienie konsoli DomotiGa przez Internet z wykorzystaniem nazwy domeny zamiast adresu IP. Np.:
http://moja-domotiga.hopto.org
Instalacja:
cd /usr/local/src/ sudo wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz sudo tar xf noip-duc-linux.tar.gz sudo rm noip-duc-linux.tar.gz cd noip-2.1.9-1/ sudo make install
Podczas instalacji będziesz zapytany o konto, hasło do serwisu noip.com, a następnie interwał z jakim NOIP2 ma sprawdzać, czy Twój adres IP zmienił się.
Standardowa wartość to 30min. W moim przypadku zmieniam tą wartość na 5min.Nie zalecam ustawiania poniżej 5min. 30min jest również zupełnie ok.
Kolejny etap to instalacja NOIP2 jako serwisu. Będzie on uruchamiany / zamykany w momencie startu / zamknięcia systemu. W tym celu ściągamy zmodyfikowany już przeze mnie skrypt, a następnie rejestrujemy go.
sudo wget https://www.smartnydom.pl/project/cubietruck/noip2-script.txt sudo mv noip2-script.txt /etc/init.d/noip2 sudo chown root:root /etc/init.d/noip2 sudo chmod 755 /etc/init.d/noip2 sudo update-rc.d noip2 defaults
Komendy uruchamiająca i zatrzymująca serwis NOIP2
sudo service noip2 start sudo service noip2 stop
Instalacja bazy danych MySQL
- Instalacja oprogramowania
sudo apt-get install mysql-server mysql-client
- Konfiguracja bazy
Uwaga: w parametrze bind-address należy wpisać adres IP serwera (zaznaczone na czerwono)
sudo sh -c "echo '[mysqld]' >> /etc/mysql/conf.d/custom.cnf" sudo sh -c "echo 'bind-address=192.168.0.10' >> /etc/mysql/conf.d/custom.cnf" sudo sh -c "echo 'wait_timeout=2147483' >> /etc/mysql/conf.d/custom.cnf"
- Restart serwera MySQL
sudo service mysql restart
- Ustawienie hasła dla użytkownika root serwera mySQL
mysqladmin -u root -h localhost password "wprowadź tutaj hasło"
Instalacja serwera WWW (Apache)
Krok opcjonalny
Jeśli planujesz używać serwera DomotiGa przez przeglądarkę konieczne jest zainstalowanie serwera WWW. W tym przypadku będzie to oprogramowanie Apache2 z PHP i bibliotekami potrzebnymi do komunikowania się z serwerem DomotoGa
sudo apt-get install apache2 php5 libapache2-mod-php5 php5-curl php5-gd php5-mysql php5-xmlrpc
Serwer będzie miał włączony moduł rewrite
sudo a2enmod rewrite
Restart serwera www
sudo service apache2 restart
Instalacja środowiska graficznego
Oprogramowanie DomotiGa wymaga graficznego środowiska. Poniżej instalowane jest lekkie środowisko graficzne LxDE, nie obciążąjące zbytnio procesora i pamięci.
Graficzne środowisko linux’a nie jest wymagane po zainstalowaniu DomotiGa i uruchamianiu go w trybie serwisu.
sudo apt-get install lxde
Po instalacji robimy reboot systemu, a następnie logujemy się jako użytkownik administrator
reboot
Po zalogowaniu naszym oczom powinien ukazać się graficzny interfejs jak na zdjęciu poniżej.
Instalacja Remote Desktop VNC
Krok opcjonalny
Urządzenie CubieTruck w moim przypadku nie jest podłączone do monitora dlatego instaluję VNC, aby połączyć się do interfejsu graficznego zdalnie.
W moim przypadku jest to kluczowe. Urządzenie CubieTruck nie będzie miało na co dzień podłączenia do monitora, klawiatury, myszki itp. Będzie umieszczone w skrzynce w jakimś ustronnym miejscu z dedykowanym zasilaniem awaryjnym umożliwiającym pracę w przypadku braku energii elektrycznej.
Instalacja oprogramowania z terminala
sudo apt-get install tightvncserver
Uwaga: następne kroki należy wykonać koniecznie jako użytkownik administrator (lub inny utworzony w pierwszym kroku tej instrukcji)
Uruchomienie serwera VNC
/usr/bin/tightvncserver
Zainstalowanie serwera VNC jako usługi. VNC będzie uruchamiał i wyłączał się automatycznie podczasu uruchamiania i zamykania systemu. Skrypt jest skonfigurowany domyślnie
- dla użytkownika administrator
- rozdzielczość ekranu 1600×800
Można te parametry zmienić w dalszej części tej instrukcji.
sudo wget https://www.smartnydom.pl/project/cubietruck/vncserver-script.txt sudo mv vncserver-script.txt /etc/init.d/vncserver sudo chown root:root /etc/init.d/vncserver sudo chmod 755 /etc/init.d/vncserver sudo update-rc.d vncserver defaults
Jeśli potrzebana jest zmiana użytkownika lub rozdzielczości można tego dokonać edytująć skrypt uruchamiający serwer VNC
sudo mcedit /etc/init.d/vncserver
Komenda uruchamiające / wyłączające serwer VNC
sudo service vncserver stop sudo service vncserver start
W tym momencie powinna być możliwość podłączenia się do Linux’a zdalnie z innego komputera używając klienta VNC
W oknie startowym należy wpisać adres IP do serwera CubieTruck oraz instancję serwera VNC w tym przypadku 1.
Instalacja Round Robin Database Tool
sudo apt-get install rrdtool
Instalacja środowiska developerskiego Gambas
DomotiGa została napisane w Gambas i wymaga tego środowiska do uruchomienia
sudo apt-get build-dep gambas3 sudo apt-get install gambas3
W tym momencie system operacyjny powinien być gotowy na instalację oprogramowania serwera DomotiGa
Zapraszam na forum do dyskusji.