niedziela, 27 listopada 2016

Testy i połączenie różnych czujników MySensors

Dzisiaj opiszę testy i kombinacje połączeń różnych czujników do odbiornika MySensors.

Test czujnika DHT 22

Czujnik DHT22 i DHT11 posiada cztery nóżki, które kolejno od lewej posiadają wejścia 1 - VCC, 2 - Data, 3 - nie używany, 4 - GND

Do nóżki numer 2 - Data należy podłączyć zasilanie poprzez rezystor podciągający 10K.

Schemat podłączenia do odbiornika MySensors


Do podłączenia czujnika DHT wykorzystano pin 3 odbiornika MySensors.

Kod programu do wgrania do Arduino jest do pobrania tu -> Link

W 14-stej linijce kodu, określono nr pinu do przesyłania danych:
#define DHT_DATA_PIN 3

W 21-szej linijce kodu określony jest czas w milisekundach pomiędzy kolejnymi odczytami i przesyłaniem danych do Domoticz:
static const uint64_t UPDATE_INTERVAL = 30000;

Możemy go dowolnie modyfikować pamiętając, że minimalny czas dla czujnika DHT22 to 1000 ms, czyli 1 sekunda, a dla DHT11 to 2000 ms, czyli 2 sekundy.

Po wgraniu do Arduino w logach Domoticz -> Konfiguracja -> Logi wyświetli się nazwa programu.


Po wejściu w Konfiguracja -> Urządzenia w Domoticz pojawi się czujnik.


Urządzenie dodajemy po kliknięciu w zieloną strzałkę i po wpisaniu nazwy odczyt temperatury i wilgotności będzie widoczny w zakładce Temperatura.


Test czujnika ruchu PIR HC-SR501

Do testów wykorzystałem czujnik PIR HC-SR501 niebieski.

Czujnik posiada 2 potencjometry T1 i T2, zworkę którą można ustawić w pozycji L lub H i wyjścia/wejścia VCC, OUT i GND.


Potencjometrami T1 i T2 regulujemy:
T1 - czas trwania stanu wysokiego po wykryciu obiektu
T2 - czułość czujnika (dystans, w którym wykrywa ruch obiektu)

Zworkę proponuję ustawić w pozycji H, co będzie skutkowało, tym że po wykryciu ruchu na pinie OUT pojawi się stan wysoki i będzie on utrzymywany dopóki trwa ruch, w pozycji L po wykryciu ruchu na wyjściu OUT pojawi się stan wysoki i zaraz przejdzie w stan niski.

Potencjometr T1, czyli czas reakcji proponuję ustawić maksymalnie w lewo, a T2 czyli odległość na jakiej będzie wykrywany ruch tak jak pokazano niżej.


Kod programu do wgrania do Arduino jest do pobrania tu -> Link

W kodzie programu w 41 linijce kodu określamy pin Arduino, do którego podłączamy wyjście OUT czujnika PIR.

Ja wykorzystałem pin 4, czyli:
#define DIGITAL_INPUT_SENSOR 4

W 40 linijce kodu ustawiamy czas w milisekundach, pomiędzy którym będzie wykrywany ruch, najlepiej ustawić go na jak najmniejszy ja ustawiłem 1 sekundę czyli 1000 ms:
unsigned long SLEEP_TIME = 1000;

Schemat podłączenia


Po wgraniu kodu do Arduino w logach Domoticz wyświetli się nazwa programu:


W urządzeniach pojawi się:


Po kliknięciu w zielona strzałkę czujnik pir pojawi się w Przełącznikach w menu Domoticz jak zwykły włącznik, musimy jeszcze kliknąc Edycja i zmienić go na Motion Sensor.


Tak wygląda dodany czujnik ruchu.


Po wykryciu ruchu czujnik podświetli się na czerwono.


Połączenie czujnika DHT22 i czujnika PIR HC-SR501

Kod wykorzystujący jednocześnie czujnik DHT22 i czujniku ruchu PIR HC-SR501 na jednym odbiorniku MySensors jest do pobrania tu -> Link

Podłączamy:

Pin 3 - czujnik DHT22
Pin 4 - czujnik PIR HC-SR501


Numery pinów zostały zdefiniowane w 13 i 14 linijce kodu programu:

#define DHT_DATA_PIN 3 // pin podlaczenia czujnika DHT
#define DIGITAL_INPUT_SENSOR 4 //pin podlaczenia czujnika ruchu PIR

Czas odczytu danych i przesyłania danych do Domoticz został określony w 21 linijce kodu i jest ustawiony na 1000 ms czyli 1 sekundę:

static const uint64_t UPDATE_INTERVAL = 1000;

Po dodaniu w Domoticz mamy:


Zmontowane czujniki na odbiorniku MySensors


Czujnik PIR możemy wykorzystać do włączania różnych urządzeń tworząc zdarzenia w Konfiguracja -> Więcej opcji -> Zdarzenia.

Przykładowe zdarzenie, które włącza lampkę przy biurku na 1 minutę.


Działanie czujnika PIR widać na poniższym filmie, po wykryciu ruchu zapala się lampka przy biurku.


Połączenie czujnika jakości powietrza GP2Y1010AU0F i DHT22

Czujnik jakości powietrza GP2Y1010AU0F opisałem w tym wpisie na blogu -> Link

Kod programu wykorzystujący jednocześnie czujnika jakości powietrza i czujnik DHT22 jest do pobrania tu -> Link

Czujnik jakości powietrza wykorzystuje piny A1 i 3, a czujnik DHT22 pin 4, jest to zdefiniowane w 15 do 17 linijce kodu programu:
#define DUST_SENSOR_ANALOG_PIN 1
#define DUST_SENSOR_DIGITAL_PIN 3
#define DHT_DATA_PIN 4 // Ustawienie pinu wyjsciowego DHT

Czas przesyłania danych i odczytów został ustawiony na 30 sekund w 26 linijce kodu programu:
unsigned long SLEEP_TIME = 30000; //czas miedzy kolejnymi odczytami

Po dodaniu do Domoticz mamy:


Zmontowane czujniki


Połączenie czujnika gazu MQ-2 i DHT22

Czujnik gazu MQ-2 opisałem w tym wpisie na blogu -> Link

Kod programu wykorzystujący czujnik MQ-2 i DHT22 jednocześnie na odbiorniku MySensors jest do pobrania tu -> Link

Podłączenie:

DHT22 - pin 3 Arduino
Czujnik MQ-2 - A0 - pin A1 Arduino
GND - masa
VCC - zasilanie +5V

Czujnik DHT22 podłączony do zasilania tak jak na początku wpisu na blogu, poprzez rezystor podciągający 10K.

W Domoticz mamy:


Zmontowane czujniki


Połączenie czujnika ciśnienia BMP180 i DHT22

Czujnik ciśnienia BMP180 wykorzystałem w budowie mojej stacji pogody, którą opisałem w tym wpisie na blogu -> Link

Czujnik BMP180 wymaga zasilania 3,3V i działa jedynie na pinach SCL i SDA Arduino, są to odpowiednio piny A5 i A4, na innych pinach czujnik nie będzie działać.

Czujnik BMP180 wygląda tak:


Podłączamy go tak:

VIN - zasilanie 3,3V
GND - GND
SCL - pin A5
SDA - pin A4

Czujnik DHT22 wykorzystuje pin 3 Arduino.

Kod programu do pobrania jest tu -> Link

W przeciwieństwie do kodu programu, który wykorzystałem w opisie budowy stacji pogody, kod ten wykorzystuje już biblioteki MySensors 2.0.

W kodzie programu w linijce 41 musimy wpisać wysokość nad poziomem morza w metrach swojej lokalizacji, możemy to sprawdzić na stronie -> Link
const float ALTITUDE = 312;

Po dodaniu w Domoticz mamy:


Połączenie czujnika ciśnienia BMP180, DHT22 i GP2Y1010AU0F

Podłączenie:

BMP180:
VIN - zasilanie 3,3V
GND - GND
SCL - pin A5
SDA - pin A4

DHT22 - pin 4

GP2Y1010AU0F - pin analogowy A1, pin cyfrowy - pin 3

Kod programu -> Link

Wysokość nad poziomem morza definiujemy w linijce 40 kodu.

Po wgraniu do Arduino w Domoticz mamy:


Zamontowane czujniki

piątek, 18 listopada 2016

Nowa wersja oprogramowania RFLink z obsługą MySensors

Pojawiła się nowa wersja oprogramowania dla RFLink R44 z obsługą MySensors, do pobrania tu -> Link

Dla dobrego zasięgu najlepiej zamontowac moduł NRF24L01 z zewnętrzną antenką.


Po ściągnięciu rozpakowujemy archiwum i programujemy tak jak opisałem we wcześniejszym wpisie na blogu -> Link

Uruchamiamy plik RFLinkLoader.exe i w Select file wybieramy plik RFLink.cpp.hex z rozpakowanego archiwum, odpowiedni port com w Serial Port i klikamy Upload/Program Firmware to device.

Po wgraniu oprogramowania klikamy Serial Port Logging i najlepiej włączyć wszystkie opcje dla modułu NRF, czyli NodoNRF:ON, MiLight:ON, BLE:ON, MySensors:ON.


Po włączeniu tych opcji powinniśmy zobaczyć wykryte urządzenia w logu jak wyżej.

Teraz już wystarczy podłączyć i dodać RFLink jak opisałem we wcześniejszym wpisie na blogu -> Link

Po jakimś czasie w Konfiguracja -> Urządzenia powinniśmy zobaczyć wykryte urządzenia MySensors przez RFLink.


Dodajemy je klikając w zieloną strzałkę i wpisując nazwę.

Z tego co zauważyłem RFLink nie pokazuje poprawnych wartości dla niektórych odbiorników MySensors i nie wykrywa wszystkich rodzaji czujników MySensors, nie wykrywa mi np. czujnika jakości powietrza z czym bramka MySensors nie ma problemu.

piątek, 11 listopada 2016

Instalacja starych i nowych bibliotek MySensors i opis przesyłania danych MySensors 2.0

Ponieważ po wprowadzeniu nowych bibliotek MySensors 2.0 pojawiają się problemy z kompilacją starych i nowych kodów programów MySensors napiszę jak poprawnie wszystko zainstalować.

Na dzień dzisiejszy najnowsza wersja programu Arduino, to 1.6.12, do pobrania z strony Arduino.cc -> Link

Po ściągnięciu i instalacji programu Arduino, proponuję wypakować i skopiować do folderu:
Program Files -> Arduino -> libriares ten zestaw bibliotek -> Link
Do folderu Moje Dokumenty -> Arduino -> libraries wypakować i skopiować ten zestaw plików -> Link

W katalogu Moje Dokumenty -> Arduino -> libriares -> MySensors-master -> examples mamy większość kodów programów do obsługi czujników MySensors.


W nowych bibliotekach i kodach programów MySensors zmienił się sposób zapisu i przesyłania danych.

Na początku kodu programu definiujemy rodzaj użytego modułu radiowego, dla NRF24L01 jest to:
#define MY_RADIO_NRF24

Dla innych rodzajów modułów radiowych:
#define MY_RADIO_RFM69
#define MY_RS485

Jeżeli chcemy śledzić przesyłanie i odbieranie danych na porcie szeregowym w monitorze portu szeregowego w programie Arduino, to dodajemy wpis:
#define MY_DEBUG

Wtedy po włączeniu monitora portu szeregowego w programie Arduino -> Narzędzia -> Monitor portu szeregowego, widzimy dane jakie są przesyłane. Konwerter TTL musi być podłączony do Arduino.


Prędkość portu ustawiamy zazwyczaj na 115200 lub 9600

W dalszej części kodu MySensors dodajemy wpis importu potrzebnych bibliotek, dla MySensors są to wpisy:


Jeżeli używamy różnych czujników importujemy również biblioteki dla danego czujnika.

Dalej znajduje się wpis identyfikujący podłączony czujnik, ma on formę:
#define child_id_nazwa 0

Jeżeli mamy do przesłania kilka rodzajów danych definiujemy je kolejno, po nazwie dodając kolejny numer, czyli:
#define child_id_nazwa1 0
#define child_id_nazwa2 1
#define child_id_nazwa3 2

Dalej znajduje wpis inicjalizacji przesyłania danych, który ma formę:
MyMessage msg_nazwa1(child_id_nazwa1, rodzaj-zmiennej);

Rodzaje zmiennych są określone na stronie MySensors w trzeciej tabeli od góry w czwartej kolumnie -> Link

Przykładowo dla temperatury będzie to V_TEMP, dla wilgotności V_HUM, dla ciśnienia V_PRESSURE itd...

Więc, jeżeli chcielibyśmy przesyłać te dane muszą się znaleźć wpisy, dla każdej wartości w takiej formie:
MyMessage msg_nazwa1(child_id_nazwa1, V_TEMP);
MyMessage msg_nazwa2(child_id_nazwa2, V_HUM);
MyMessage msg_nazwa3(child_id_nazwa3, V_PRESSURE);

Dalej umieszczamy wpis prezentacji danych do kontrolera, dla MySensors 2.0, wpis jest w takiej formie:
void presentation() {
// Wyslij informacje o nazwie do bramki
sendSketchInfo("Nazwa programu, "1.0");

// Rejestracja czujnikow
present(child_id_nazwa1, S_TEMP);
present(child_id_nazwa2, S_HUM);
present(child_id_nazwa3, S_BARO);
}

W nawiasie jest określony typ czujnika, dla odpowiadającej mu rodzaju zmiennej.
Jest określone na stronie MySensors w trzeciej tabeli w pierwszej kolumnie -> Link

Dla V_TEMP jest to S_TEMP, dla V_HUM jest to S_HUM itd...

Dalej możemy dodać blok danych void setup, które zostaną wysłane tylko raz:
void setup() {
}

W pętli void loop umieszczamy kod do odczytu danych z czujników oraz kod przesyłania danych, czyli:
void loop()
{
send(msg_nazwa1.set(temperatura, 1));
send(msg_nazwa2.set(wilgotnosc, 1));
send(msg_nazwa3.set(cisnienie, 1));

delay(10000); // czas w milisekundach pomiędzy kolejnymi odczytami
}

temperatura, wilgotnosc i cisnienie są to wartości odczytane z czujników, które są przesyłane do Domoticz.

Do pobrania jest tu -> Link przykładowy kod programu do czujnika poziomu węgla dla MySensors 2.0, którego budowę opisałem w tym wpisie -> Link

czwartek, 10 listopada 2016

Test czujnika jakości powietrza GP2Y1010AU0F na MySensors

Dzisiaj opiszę działanie czujnika pyłu i jakości powietrza Sharp GP2Y1010AU0F na odbiorniku MySensors.

Czujnik można kupić za około 30 zł w tym sklepie -> Link

Czujnik GP2Y1010AU0F wygląda, jak na zdjęciu niżej i w zestawie otrzymujemy rezystor 150 ohm i kondensator 220 uF.


Czujnik GP2Y1010AU0F posiada następujące parametry techniczne:

napięcie zasilania: DC5 ± 2 V
pobór Prądu: 20mA (szczyt)
czułość: 0.5 V/(0.1 mg/m3)
minimalny poziom wykrywanych cząstek: 0.8 μm
temperatura pracy:-10 ~ 65
wymiary: 46mm x 30mm x 17.6mm

Schemat podłączenia do odbiornika MySensors wygląda następująco.


Czujnik GP2Y1010AU0F posiada przewody, które podłączamy następująco:

1. Biały podłączamy przez rezystor 150 ohm do zasilania 5V
2. Niebieski do GND
3. Zielony do pinu 3 Arduino
4. Żółty do GND
5. Czarny do pinu analogowego A1 Arduino
6. Czerwony do zasilania 5V

Między białym (plus) przed rezystorem 150 ohm, a masą GND (minus) na niebieskim, dajemy kondensator 220 uF.

Kod programu do wgrania do Arduino jest do pobrania tu -> Link

Na końcu kodu w delay(10000); określamy sobie czas w milisekundach między kolejnymi odczytami.
Ja ustawiłem na 10000 milisekund, czyli 10 sekund.

Po wgraniu kodu do Arduino w logach Domoticz (Konfiguracja -> Logi) pojawi się log z nazwą programu.


Teraz już tylko wystarczy wejść w Konfiguracja -> Urządzenia i kliknąć w zieloną strzałkę, aby dodać urządzenie.


Czujnik będzie widoczny w zakładce użytkowe.


Działanie czujnika widać na poniższym filmie.


Jak widać po zapaleniu papierosa, wzrosło stężenie cząstek.

Normalnie w pomieszczeniu pokazuje stężenie 10 ug/m3, po wystawieniu za okno wzrosło do około 42 ug/m3, co w okresie grzewczym na wsi mieści się w zakresie dopuszczalnym.

Zmodyfikowany i ulepszony kod programu, do pobrania -> Link

środa, 9 listopada 2016

Automatyczne nawadnianie szklarni na Arduino

Dzisiaj opiszę jak wykonać sterownik na Arduino do automatycznego podlewania małej szklarni.

Do swojego projektu wykorzystałem:

Sterownik:

1. Arduino Mini Pro 5V 16 MHz - koszt 9,90 zł -> Link
2. Wyświetlacz LCD 16x2 niebieski - koszt 9,90 zł -> Link
3. Czujnik wilgotności gleby - koszt 9,90 zł -> Link
4. Czujnik temperatury DS18B20 - koszt 4,50 zł -> Link
5. Potencjometr obrotowy 10k - koszt 2,50 zł -> Link
6. Płytka uniwersalna do zmontowania układu, ja wykorzystałem 2 płytki uniwersalne jakie miałem w domu, ale taka płytka powinna być dobra -> Link - koszt 3,50 zł
7. Obudowa czarna z okienkiem - koszt 5,70 zł -> Link

Będą jeszcze potrzebne 3 diody led, ja wykorzystałem jedną czerwoną, zieloną i żółtą oraz 3 rezystory 200 ohm do podłączenia diod i jeden rezystor podciągający 4,7k do czujnika DS18B20.

Koszt sterownika razem z obudową powinien się zamknąć w kwocie około 45 zł.

Pozostałe elementy:

Do włączania pompki wykorzystałem moduł przekaźnika 5v - koszt 6,40 zł -> Link

Woda będzie pobierana z beczki w ogrodzie, do pompowania wody wykorzystałem pompkę wymontowaną z starej uszkodzonej zmywarki.


Do zasilania Arduino wykorzystałem zasilacz 5v - koszt na Allegro około 5 zł.

Schemat połączeń wygląda jak niżej.


Do wyświetlacza LCD zostały podłączone następujące piny Arduino:
VSS - GND
VDD - VCC
V0 - środkowa nóżka potencjometru 10K
RS - pin 12
RW - GND
E - pin 11
D4 - pin 5
D5 - pin 4
D6 - pin 3
D7 - pin 2
A - VCC
K - GND

Czujnik temperatury DS18B20 został podłączony do pinu 13 Arduino

Czujnik wilgotności gleby:
pin A0 czujnika do A0 Arduino
VCC czujnika do pinu 6 Arduino
GND czujnika do GND Arduino

Diody led:
Czerwona przez rezystor 200 ohm - pin 7 Arduino
Żółta przez rezystor 200 ohm - pin 8 Arduino
Zielona przez rezystor 200 ohm - pin 9 Arduino

Przekaźnik został podłączony do pinu 10 Arduino

Kod programu do wgrania do Arduino jest do pobrania tu -> Link

W kodzie programu wilgotność została ustawiona na 55 %, jeżeli wartości wilgotności będzie mniejsza niż 55% to włącza się pompa, zapala się czerwona dioda led informująca o włączeniu pompy oraz żółta dioda led informująca, że jest sucho.

Określono to w 74 linijce kodu:
if(moistureLevel < 55)


Jeżeli wilgotność będzie większa lub równa 55% wyłącza się pompa, czerwona i żółta dioda led i zapala się zielona dioda led informująca, że jest mokro.

Określono to 53 linijce kodu:
if(moistureLevel >= 55)

Na wyświetlaczu jest pokazywana aktualna wilgotność gleby oraz temperatura.

Działanie widać na poniższym filmie.


Działanie z podłączoną pompą.

środa, 26 października 2016

Czujnik MQ-2 na odbiorniku MySensors

Dzisiaj opiszę działanie czujnika MQ-2 na odbiorniku MySensors.

Czujnik MQ-2 wykrywa takie gazy jak: propan, butan, metan, LPG, a także alkohol i dym. Czujnik mierzy stężenie tych gazów w powietrzu do wartości 10 000 ppm.

Czujnik MQ-2 wygląda jak na zdjęciu niżej, a koszt to około 10 zł.


Czujnik MQ-2 posiada następujące wejścia i wyjścia:

A0 - analogowe wyjście sygnału
D0 - cyfrowe wyjście sygnału
GND - masa
VCC - zasilanie +5V



Do odbiornika MySensors podłączamy pin A0 czujnika do pinu A1 odbiornika oraz napięcie VCC +5V i masę GND.


Do odbiornika wgrywamy kod programu ze strony MySensors -> Link

W kodzie programu ze strony MySensors musimy sobie zmodyfikować domyślny pin na A1 i możemy również czas aktualizacji i przesyłania danych na 1000 mili sekund, czyli 1 sekundę, tak jak pokazano niżej.



Zmodyfikowany kod programu do pobrania jest tu -> Link

Po wgraniu programu do Arduino, w logach Domoticz -> Konfiguracja -> Logi pojawi się nazwa programu.


Teraz, aby wykryło czujnik i był on widoczny w Urządzeniach Domoticz musimy podać gaz z zapalniczki na czujnik.
Po podaniu gazu zapali się zielona dioda na czujniku, czułość możemy regulować potencjometrem na płytce.

Powinno się pojawić w Urządzeniach Domoticz, Konfiguracja -> Urządzenia, urządzenie o nazwie Air Quality.


Teraz wystarczy już tylko kliknąć w zieloną strzałkę i wpisać nazwę urządzenia.
Urządzenie będzie widoczne w zakładce Użytkowe.


Jak już napisałem na początku czujnik MQ-2 wykrywa gaz LPG, czyli wykryje gaz z zapalniczki, co widać na poniższym filmie.


Czujnik wykrywa również alkohol, ja użyłem zwykłego perfumu.


Wykrywa również dym papierosowy.

środa, 28 września 2016

Instalacja Domoticz z obsługą ImperiHome na Raspberry Pi 3

Dzisiaj opiszę jak zainstalować Domoticz na Rasberry Pi 3 na nowym Raspbianie Jessie With Pixel - wersja z 23 września 2016 roku.

Najpierw musimy pobrać obraz systemu z oficjalnej strony Raspberry Pi -> Link

Po pobraniu obrazu należy go zainstalować na karcie micro sd za pomocą programu Win32 Disk Imager, do pobrania stąd -> Link

Po zainstalowaniu programu Win32 Disk Imager na Windows wkładamy kartę sd do czytnika kart sd w komputerze i uruchamiamy go jako administrator, czyli klikamy prawym klawiszem na ikonie programu i wybieramy -> Uruchom jako adminstrator.


Wybieramy wcześniej rozpakowany obraz 2016-09-23-raspbian-jessie.img, odpowiedni dysk i klikamy zapisz.


Zależnie od prędkości zapisu karty sd wgrywanie potrwa parę minut.
Po wgraniu obrazu powinien pokazać się komunikat Zapis pomyślny, klikamy OK, wyjmujemy kartę sd i wkładamy do Rasberry Pi z podłączonym przewodem HDMI do telewizora lub monitora oraz klawiaturą i myszką USB oraz podłączonym przewodem sieci lan do routera, jeżeli nie będziemy używać wifi.

Włączamy zasilanie Raspberry Pi i czekamy chwilę, aż uruchomi się Raspbian.

Klikamy w ikonkę malinki u góry po lewej stronie i wybieramy: Prefrences -> Raspberry Pi Configuration i klikamy Expand Filesystem, aby rozszerzyć rozmiar pamięci na karcie sd do maksymalnego rozmiaru jaki ma karta sd.

Następnie zmieniamy sobie hasło w Change Password i ewentualnie Hostname - ja zmieniłem sobie je na Pi.

Teraz ustawiamy jeżyk polski w zakładce Localisation -> Set Locale -> Lanaguage -> pl Polish, Country: Poland i UTF-8, następnie ustawiamy strefę czasową w Set Timezone -> Area: Europe, Location: Warsaw, Set Keyboard: Poland -> Polish i jeżeli będziemy używać Wifi, to ustawiamy Wifi Country: PL Poland, kikamy Ok i Yes i po restarcie będziemy mieli wszystko ustawione.

Teraz sprawdzimy sobie przydzielony adres IP wpisując w konsoli: ifconfig. Konsola znajduje się u góry w menu pod nazwą LXTerminal.

Inet addr to będzie nasze ip.

Teraz już nie będzie potrzeby robienia niczego bezpośrednio na samym Raspberry Pi i będziemy sobie wszystko robić z poziomu komputera.

W tym celu ściągamy i instalujemy program Bitvise -> Link

Po uruchomieniu programu w Host wpisujemy nasze ip, Port: 22, Username - takie jak ustawiliśmy Hostname, ja ustawiłem sobie pi i wpisujemy hasło, czyli Password i klikamy Login oraz Accept and Save.


Teraz będziemy mieli dostęp do terminala - czarne okienko.

Aby zainstalować Domoticz wpisujemy kolejno:

mkdir ~/domoticz
cd ~/domoticz
wget http://releases.domoticz.com/releases/beta/domoticz_linux_armv7l.tgz
tar xvfz domoticz_linux_armv7l.tgz
rm domoticz_linux_armv7l.tgz

Zalecam zainstalować wersję beta jak wyżej, ponieważ ma wiele poprawek.

Teraz jeszcze ustawiamy Domoticz, aby uruchamiał się przy restarcie raspberry Pi, wpisując kolejno:

sudo cp domoticz.sh /etc/init.d
sudo chmod +x /etc/init.d/domoticz.sh
sudo update-rc.d domoticz.sh defaults

Przeprowadzamy test Domoticz poleceniem:

sudo ./domoticz

Wciskamy CTrl+C i uruchamiamy Domoticz poleceniem:

sudo service domoticz.sh start

Domyślnym portem Domoticz jest port 8080.

Wpisujemy więc w przeglądarkę ip raspberry pi i po dwukropku port 8080, czyli w moim przypadku:

192.168.3.13:8080

Po wpisaniu powinien pokazać się panel Domoticz.

Klikamy Setup -> Settings i zmieniamy sobie język na polski w Language na Polish i w Location wybieramy naszą lokalizację i klikamy Apply Settings, teraz będziemy mieli wszystko w języku polskim.

Teraz jeszcze musimy dopisać sieci w ustawieniach, więc klikamy Konfiguracja -> Ustawienia i wpisujemy adresy ip z zakresu naszej sieci, czyli w moim przypadku będzie to: 192.168.3.*;127.0.0.*



Zmieniamy jeszcze kanał aktualizacji na Beta i klikamy Zastosuj Ustawienia.


Teraz już możemy dodawać Urządzenia i Sprzęt w zakładkach: Urządzenia i Sprzęt.

Teraz zainstalujemy program do obsługi ImperiHome na tablecie lub telefonie.

Na stronie Domoticz jest opis jak, to zainstalować, ale pojawia się problem z instalacją Node JS -> Link

Instalujemy więc najpierw nowszą wersję Node Js poleceniem:

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -

A następnie:

sudo apt install -y nodejs

Teraz sprawdzamy wersję node js poleceniem:

node -v

Powinna się wyświetlić wersja:

v6.6.0

Teraz jeszcze sprawdzamy wersję npm poleceniem:

sudo npm —version

Powinna być wersja:

npm@3.10.3

Teraz instalujemy pakiet Debian:

wget -qO - http://www.e-nef.com/domoticz/mdah/gpg.key | sudo apt-key add -

Edytujemy plik sources.list poleceniem:

sudo nano /etc/apt/sources.list

Dodajemy na końcu linijkę:

deb http://www.e-nef.com/domoticz/mdah/ /

Wciskamy Ctrl+X i T aby zapisać zmiany.

Instalujemy aktualizację poleceniem:

sudo apt-get update

Teraz instalujemy MyDomoAtHome poleceniem:

sudo apt-get install MyDomoAtHome

Restartujemy MyDomoAtHome poleceniem:

sudo service mydomoathome restart

Domyślnym portem do ImperiHome jest port 3002

Wpisujemy więc w przeglądarkę internetową adres ip Raspberry Pi i po dwukropku port 3002, czyli w moim przypadku:

192.168.3.13:3002

Powinien pokazać się ekran z informacją o MyDomotAtHome

Teraz najlepiej wykonać restart Raspbbery Pi poleceniem:

sudo reboot

Teraz aby sprawdzić poprawne działanie ImperiHome, a nie mamy dodanych żadnych urządzeń w Domoticz, możemy dodać jakies wirtualne urządzenie.

Wchodzimy w Konfiguracja -> Sprzęt i szukamy Dummy, wpisujemy nazwę i klikamy Dodaj


Teraz klikamy Utwórz wirtualne czujniki, wpisujemy nazwę i OK.

Sprawdzamy czy urządzenie pojawi się wpisując w przegladarkę ip_raspberry_pi:3002/devices, czyli w moim przypadku:

192.168.3.13:3002/devices

Jeżeli pojawią się urządzenia to będą przesyłane do ImperiHome.

Teraz już wystarczy ściągnąć ImperiHome ze sklepu Play -> Link zainstalować i dodać ImperiHome Standard System usuwając wcześniej wersję demo, tak jak to opisałem we wcześniejszym wpisie na blogu -> Link pamietając, że teraz portem jest port 3002, czyli w Local Api Basic Url w moim przypadku będzie: 192.168.3.13:3002.

Jeżeli mamy wpisany login hasło w Domoticz, wpisujemy je również w ImperiHome.