ś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.











niedziela, 18 września 2016

Bramka RFLink do Domoticz

Ponieważ moduł radiowy 433 MHz podłączony bezpośrednio do Raspberry Pi, który opisałem w tym wpisie na blogu -> Link zakłócał działanie bramy garażowej postanowiłem zamówić bramkę RFLink.

Bramkę RFLink możemy zamówić na tej stronie -> Link w cenie około 20 euro, do działania będzie jeszcze potrzebna antena -> Link

Po zamówieniu i zapłaceniu przez PayPal przesyłka dosyć szybko, bo w ciągu paru dni dotarła z Holandi.

Moduł jest przysyłany w częściach i musimy sobie go samodzielnie polutować, ewentualnie na stronie można zapłacić za usługę lutowania.

Jak polutować elementy można zobaczyć na poniższym filmie.


Po zlutowaniu moduł montujemy na Arduino Mega, koszt Arduino Mega, to około 46 zł.



Do Arduino Mega należy wgrać oprogramowanie, które należy pobrać ze strony -> Link

Po ściągnięciu oprogramowania, rozpakowujemy archiwum i podłączamy Arduino Mega przewodem USB do komputera.

Instalację oprogramowania uruchamiamy plikiem RFLinkLoader.exe.

W programie w Select file wybieramy plik RFLink.cpp.hex w Serial port, port com, na którym podłączone jest Arduino Mega i klikamy Upload.

Jeżeli wszystko przebiegnie poprawnie program poinformuje o tym.


Moduł jest obecnie oferowany w nowej wersji, w której możemy zamontować moduł NRF24L01 2,4 Ghz.

Jeżeli mamy zamiar zamontować taki moduł, to po zaprogramowaniu klikamy Serial Port Logging i klikamy NodoNRF na ON i MiLightNRF na ON, program poinformuje o włączeniu obsługi tego modułu.


Po zaprogramowaniu odłączamy Arduino Mega z RFLink i podłączamy do Raspberry Pi.

Uruchamiamy Domoticz i wchodzimy w Konfiguracja -> Sprzęt i dodajemy RFLink, jak pokazano niżej.


U mnie RFlink działa jako dev/tty/ACM0

Teraz wchodzimy w Konfiguracja -> Sprzęt i powinniśmy zobaczyć wykryte urządzenia.


Wystarczy już kliknąć w zieloną strzałkę wybranego urządzenia i je dodać.


RFLink wykrywa gniazdka, którymi sterowałem wcześniej przez moduł 433 MHz i moje dwie stacjonarne stacje pogodowe oraz stacje pogodowe i gniazdka sąsiadów, moduł ma więc dosyć dobry zasięg.


RFLink ma wsparcie dla wielu urządzeń i jest cały czas rozwijany, pełną listę obsługiwanych urządzeń możemy zobaczyć tu -> Link

sobota, 17 września 2016

Sterowanie napędem CD-ROM na L293D

Na sterowniku L293D możemy sterować dowolnym silnikiem krokowym czteroprzewodowym.

Sterownik kosztuje około 1,5 zł i możemy sterować silnikiem krokowym z starego napędu CD-ROM i wykorzystać do sterowania niewielkimi urządzeniami, np. wysuwanie i wsuwanie małej szuflady.

Układ L293D, posiada następujące wyprowadzenia:


Vs - zasilanie silników (maksymalnie 36V)
Vss - zasilanie układu - 5V
Enable1 i Enable2 - należy podać stan wysoki aby sterować silnikami
WEJ1 do WEJ4 - wejścia do podłączenia pinów Arduino
WYJ1 do WYJ4 - wyjścia do podłączenia silnika krokowego
GND - masa - wspólna dla zasilania silnika i układu L293D

Schemat podłączenia silnika napędu CD-ROM


Vs, Vss, Enable1, Enable2 podłączamy do wyjścia 5V Arduino
WEJ1 do WEJ4 podłączamy kolejno do pinów D3 do D6 Arduino
GND do masy Arduino
WYJ1, WYJ2 do jednej cewki silnika
WYJ3, WYJ4 do drugiej cewki silnika, kolejno tak jak na schemacie

Trzeba sobie zobaczyć jak cewki są podłączone w silniku CD-ROM, bo to jest różnie dla różnych silników CD-ROM.

Ogólna zasada jest taka, że podłączamy najpierw jedną cewkę, później drugą cewkę kolejno zgodnie ze wskazówkami zegara.

Kod programu wykorzystujący bibliotekę Stepper testujący działanie silnika jest do pobrania tu -> Link

Po wgraniu do Arduino silnik będzie się obracał raz w lewo i raz w prawo, tak jak na poniższym filmie.


Napisałem program wykorzystujący bibliotekę Stepper do odbiornika MySensors, dzięki czemu możemy go wykorzystać do sterowania jakimś urządzeniem w Domoticz.

Kod programu jest do pobrania tu -> Link

Po wgraniu program zgłosi się w Domoticz, co możemy zobaczyć w logach.
Wystarczy dodać urządzenie w urządzeniach i zmienić rodzaj przycisku na Blinds.


Jak działa sterowanie z Domoticz pokazano na poniższym filmie.


W programie nie działa funkcja stop, ale jeżeli chcemy zatrzymywać napęd w określonym miejscu, można wykorzystać kod programu na bibliotece AccelSteper, który znajduje się w tym wpisie -> Link

wtorek, 13 września 2016

MySensors - sterowanie silnikiem krokowym

Na odbiornikach MySensors, których konfigurację opisałem w tym wpisie na blogu -> Link możemy sterować dowolnym silnikiem krokowym.

Aby silnik krokowy działał wymagany jest specjalny sterownik silników krokowych.

Ja wykorzystałem popularny moduł L298N.


Koszt zakupu takiego modułu sterownika, to około 12 zł.

Moduł posiada 4 wejścia sygnałów sterujących oznaczonych IN1, IN2, IN3, IN4 oraz wejście zasilania do 12V, wyjście zasilania 5V, a także wyjścia służące do podłączenia silnika krokowego oznaczone OUT1, OUT2, OUT3, OUT4.

Na płytce modułu znajdują się jeszcze zworki, jedna obok zasilania, którą zdejmujemy w przypadku użycia zasilacza większego niż 12V, jednak maksymalnie 46V oraz dwie zworki obok wejść IN, które dla silnika krokowego powinny być założone. Maksymalny prąd kanał takiego modułu wynosi 2A i taki silnik krokowy powinniśmy dobrać do sterownika.

Ja wykorzystałem silnik krokowy JK42HS34-0404, który można zakupić w sklepie Botland za 49 zł Link

Silnik krokowy JK42HS34-0404 posiada następujące parametry:

Rozdzielczość: 200 kroków/obr (1,8 °)
Napięcie znamionowe: 12,0 V
Pobór prądu na cewkę: 0,4 A
Moment trzymający 2,6 kg*cm (0,25 Nm)

Moment trzymający nada się więc do sterowania np. wewnętrznymi roletami.

Do zasilania będzie wymagany zasilacz 12V.

Schemat podłączenia do odbiornika MySensors wygląda tak


Aby silnik działał prawidłowo sterownik musi posiadać wspólną masę z masą Arduino.

Możemy wykorzystać mechanizm rolet wewnętrznych, do kupienia w marketach lub na Allegro montując go na wale silnika zębatkę, do sterowania roletami wewnętrznymi.


Zębatka rolet zamontowana na wale silnika.


Kod programu do wgrania do odbiornika MySensors jest do pobrania tu -> Link

Do poprawnego działania potrzebna jest jeszcze biblioteka AccelStepper, do pobrania tu -> Link

środa, 7 września 2016

Odbiornik MySensors i sterowanie oświetleniem łącznikiem dzwonkowym

Dzisiaj opiszę jak wygląda sterowanie oświetleniem za pomocą przekaźnika z odbiornika MySensors łącznikiem dzwonkowym.

Do sterowania przekaźnikiem wykorzystywany jest 4 pin Arduino, a pin 3 łączymy do masy GND poprzez łącznik dzwonkowy, tak jak na schemacie niżej.


Wtedy wgrywamy do Arduino program z tej strony -> Link

Program jest tak napisany, że do Domoticz jest przesyłana informacja o wciśnięciu łącznika schodowego i po jednokrotnym wciśnięciu łącznika dzwonkowego włączane jest lub wyłączane światło za pomocą przekaźnika i stan ten widoczny jest w Domoticz.

W celu demonstracji działania nagrałem krótki filmik. Wykorzystałem diodę led i włącznik.

niedziela, 4 września 2016

Domoticz i plan pomieszczeń.

W programie Domoticz możemy nanosić rozmieszczenie czujników, włączników i innych urządzeń na planie pomieszczeń.

Będzie potrzebny do tego celu jakiś program typu AutoCad lub inny, ja stworzyłem sobie plan pomieszczeń w programie Floorplanner -> Link

Mój plan piętra w widoku 2D wygląda w programie Floorplaner jak na zdjęciu poniżej.



W widoku 3D wygląda tak.


Gdy już będziemy mieli gotowy plan pomieszczeń w programie Domoticz musimy go aktywować, aby był widoczny na górnym pasku zadań.

Wchodzimy w Konfiguracja -> Ustawienia -> Plan pomieszczeń i zaznaczymy opcje jak niżej.



Teraz, aby zakładka Plany pomieszczeń była widoczna w górnym menu wchodzimy w Konfiguracja -> Ustawienia -> System i na dole w Aktywne zakładki zaznaczamy Plan pomieszczeń.



Teraz zakładka Plan pomieszczeń będzie widoczna w górnym menu Domoticz.

Gdy już będziemy mieli gotowy plan pomieszczeń wykonany w programie typu AutoCad lub innym kopiujemy go do Raspberry Pi do folderu -> /home/pi/domoticz/www/images/floorplans.

Mój plan zapisałem w pliku jpg i nadałem mu nazwę Piętro.jpg



Teraz wchodzimy w Konfiguracja -> Więcej opcji -> Plany -> Plan pomieszczeń


Klikamy Dodaj, wybieramy nasz skopiowany plan i wpisujemy nazwę, nazwa musi być taka sama, jak nazwa skopiowanego planu do Raspberry Pi i klikamy Add.


Czasem po wpisaniu nazwy i wybraniu planu nie chce go przyjąć, wtedy trzeba zrobić restart Domoticz.

Teraz po wybraniu Plan pomieszczeń w górnym pasku Domoticz, będzie widoczny nasz plan.


Teraz musimy sobie pododawać plany pokojów i przypisać do nich urządzenia i czujniki jakie w nich mamy, wybieramy więc -> Konfiguracja -> Więcej opcji -> Plany -> Plan pokoju


Klikamy Dodaj plan, wpisujemy nazwę pokoju, np. Sypialnia i klikamy Add, robimy tak dla każdego pokoju, gdzie mamy nasz urządzenia i czujniki.


Gdy już pododajemy nasz pokoje, to teraz poprzypisujemy nasze urządzenia do pokoi, wybieramy więc pokój i na dole wybieramy urządzenie i klikamy Dodaj, robimy tak dla każdego pokoju gdzie mamy jakieś urządzenia.


Teraz wchodzimy w Konfiguracja -> Więcej opcji -> Plany -> Plan pomieszczeń, wybieramy nasz plan, powinien być widoczny na dole i w Plany pokojów dodajemy nasze pokoje.


Gdy już pododajemy pokoje, po wybraniu danego pokoju, urządzenia powinny być widoczne na planie, po najechaniu myszką na urządzenie przesuwamy sobie je w odpowiednie miejsce na planie, po umiejscowieniu urządzenia klikamy Aktualizuj.

Teraz po wybraniu w w górnym pasku będziemy mieć widoczny plan i nasze urządzenia.


piątek, 2 września 2016

Oferta gotowych odbiorników MySensors

Mam również na sprzedaż gotowe odbiorniki MySensors, wykonane na profesjonalnej płytce dwustronnej z wyjściami pinów cyfrowych od 3 do 8 i analogowych A1 do A3 oraz 4 wyjściami GND i Vcc 5V, wystarczy podłączyć czujniki na goldpin.

Cena 35 zł za sztukę.


Moduły odbiorników są małych rozmiarów, dla porównania wielkości moneta 5 zł.

Moduły są zasilane napięciem 5V.

W ofercie również zasilacz 5V 2A z goldpinami do podłączenia za 10 zł.

W sprawie zakupu, proszę kontaktować się na email: roman.kubat.rk@gmail.com

Oferta gotowych bramek MySensors w obudowie z zewnętrzną odkręcaną antenką.

Mam na sprzedaż 2 bramki MySensors w obudowie.

Bramki posiadają moduł NRF24L01 z zewnętrzną odkręcaną antenką i 3 diody led informujące o stanie: czerwona - błąd, żółta - odbieranie danych, zielona - wysyłanie danych.

W zestawie bramka, przewód USB i antena.

Bramki zmontowane są na profesjonalnie wykonanej płytce.

Bramki są zaprogramowane i gotowe do działania, wystarczy podłączyć do Raspberry Pi i dodać urządzenie w Domoticz, zgodnie z opisem -> Link

CENA 85 zł za sztukę.

W sprawie zakupu, proszę kontaktować się na email: roman.kubat.rk@gmail.com