Pierwsze kroki z automatyką domową OpenHAB na Raspberry Pi

Pierwsze kroki z automatyką domową OpenHAB na Raspberry Pi
Ten przewodnik jest dostępny do pobrania jako bezpłatny plik PDF. Pobierz ten plik teraz . Zachęcamy do kopiowania i udostępniania tego znajomym i rodzinie.

OpenHAB to dojrzała platforma automatyki domowej typu open source, która działa na różnych urządzeniach i jest niezależna od protokołu, co oznacza, że ​​może łączyć się z prawie każdym sprzętem automatyki domowej na rynku. Jeśli frustruje Cię liczba aplikacji specyficznych dla producenta, które musisz uruchomić, aby sterować oświetleniem, mam dla Ciebie świetną wiadomość: OpenHAB to rozwiązanie, którego szukałeś - to najbardziej elastyczny inteligentny dom hub, jaki kiedykolwiek znajdziesz.





Niestety jest to tak daleko, jak tylko można uzyskać od przyjaznego dla konsumenta – ale jak zawsze, tutaj wkracza MakeUseOf: pokażemy Ci, jak rozpocząć pracę z najlepszym systemem inteligentnego domu, którego nie trzeba kupować (ponieważ OpenHAB jest 100% za darmo – wystarczy dostarczyć sprzęt).





Pierwsza część tego przewodnika skupia się w szczególności na tym, jak uzyskać konfigurację OpenHAB za pomocą Raspberry Pi 2 , ale dalej samouczki i porady można zastosować w dowolnym miejscu, w którym jest zainstalowany OpenHAB.





Ten przewodnik obejmuje trzy tematy wprowadzające i jeden nieco bardziej zaawansowany.

  • Uruchomienie i uruchomienie OpenHAB na Pi oraz zainstalowanie konfiguracji domu demonstracyjnego w celu sprawdzenia działania podstawowych systemów.
  • Jak dodać powiązania i profile dla urządzeń. Będę pracował z Philips Hue.
  • Włączanie zdalnego dostępu i łączenie się z IFTTT.
  • Dodanie czujnika obecności DIY za pomocą Bluetooth oraz wprowadzenie do interfejsu REST.
  • Konfiguracja aplikacji mobilnej OpenHAB.

Co będziesz potrzebował

Przynajmniej będziesz potrzebować Raspberry Pi (najlepiej v2) i karty Ethernet lub bezprzewodowej (najlepiej Ethernet, ten przewodnik nie zawiera instrukcji dotyczących działania karty Wi-Fi). Wszystko inne jest opcjonalne. Zauważ, że OpenHAB będzie działał również na oryginalnym Raspberry Pi, ale istnieje znany problem z wolniejszym przetwarzaniem i urządzeniami Z-Wave. Jeśli nie potrzebujesz Z-Wave, możesz bezpiecznie zignorować to ostrzeżenie i wybrać Raspberry Pi model B lub B+, ponieważ wszystko inne wydaje się działać dobrze. Zawsze możesz uaktualnić do najnowszego Pi, jeśli i kiedy dodasz Z-Wave.



Ta mała rzecz może być najlepszym inteligentnym centrum domowym, jakie kiedykolwiek miałeś!

W chwili pisania tego tekstu najnowsza stabilna wersja OpenHAB to 1.71; wersja 1.8 jest oczekiwana wkrótce, a wszystko w tym przewodniku powinno być nadal aktualne, chociaż niektóre powiązania mogą mieć więcej funkcji. Wersja 2 jest również obecnie dostępna jako bardzo wczesna wersja alfa, ale przyjmuje radykalnie inną architekturę niż seria OpenHAB 1: ten przewodnik nie jest zgodny z wersją 2.





Zdecydowanie sugeruję, abyś powoli i metodycznie podążał za tym przewodnikiem – nie próbuj wskakiwać na głęboką wodę i dodawać wszystko na raz. Tak, to długi przewodnik – OpenHAB to trudny system, który często wymaga dostosowania do Twoich potrzeb, a najlepszym sposobem na zapewnienie sukcesu jest powolna praca i uzupełnianie jednego elementu na raz.

Dobrą wiadomością jest to, że gdy już działa, jest to solidne doświadczenie i niesamowicie satysfakcjonujące.





Instalowanie OpenHAB

Nie ma wstępnie skonfigurowanego obrazu dla OpenHAB, więc instalacja odbywa się w staromodny sposób za pomocą wiersza poleceń. Sugeruję, abyś pracował bez głowy na RPi - narzuty związane z zarządzaniem GUI, którego rzadko używasz, nie są tego warte.

Zacznij od najnowszy (pełny) obraz Raspbian SD (nie wersja „lite”, nie zawierają one wirtualnej maszyny Javy). Podłącz kabel sieciowy, uruchom komputer i poruszaj się po SSH. Biegać:

sudo raspi-config

Rozwiń system plików; i z menu zaawansowanego zmień podział pamięci na 16. Po zakończeniu uruchom ponownie i jako dobrą praktykę uruchom pełną aktualizację

sudo apt-get update
sudo apt-get upgrade

Łatwiejszy sposób na zainstalowanie środowiska wykonawczego OpenHAB to: apt-get , ale najpierw musimy dodać bezpieczny klucz i nowe repozytorium:

wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' |sudo apt-key add -
echo 'deb http://dl.bintray.com/openhab/apt-repo stable main' | sudo tee /etc/apt/sources.list.d/openhab.list
sudo apt-get update
sudo apt-get install openhab-runtime
sudo update-rc.d openhab defaults

Co ciekawe, wszystko zostało zainstalowane jako własność „root”. Musimy to naprawić za pomocą następujących poleceń.

sudo chown -hR openhab:openhab /etc/openhab
sudo chown -hR openhab:openhab /usr/share/openhab

Następnie zainstalujemy Sambę i udostępnimy foldery konfiguracji i użytkownika – ułatwi to instalację dodatków i zdalną zmianę mapy witryny.

sudo apt-get install samba samba-common-bin
sudo nano /etc/samba/smb.conf

W razie potrzeby zmień nazwę grupy roboczej, ale poza tym włącz obsługę WINS:

wins support = yes

(musisz odkomentować linię i zmienić nie na tak)

następnie dodaj następujące elementy do sekcji definicji udziałów (przewiń do samego końca długiego pliku):

[OpenHAB Home]
comment= OpenHAB Home
path=/usr/share/openhab
browseable=Yes
writeable=Yes
only guest=no
create mask=0777
directory mask=0777
public=no
[OpenHAB Config]
comment= OpenHAB Site Config
path=/etc/openhab
browseable=Yes
writeable=Yes
only guest=no
create mask=0777
directory mask=0777
public=no

Skomentowałem również sekcję Drukarki. Utworzyłem dwa udziały, ponieważ pliki konfiguracyjne są w rzeczywistości przechowywane oddzielnie od dodatków.

Zapisz i wyjdź. W końcu musimy ustawić hasło Samby dla użytkownika openhab:

sudo smbpasswd -a openhab

Sugerowałbym 'openhab' jako hasło tylko ze względu na łatwość użycia, ale to naprawdę nie ma znaczenia.

Dzięki czytelnikowi Davidowi L - wygląda na to, że w najnowszym Raspianie zmienił się sposób restartowania Samby. Oto zaktualizowane instrukcje:

sudo update-rc.d smbd enable
sudo update-rc.d nmbd enable
sudo service smbd restart

Po ponownym uruchomieniu Samby (starsze instalacje używają restart samby usługi sudo ), przetestuj, czy możesz uzyskać dostęp do dysku współdzielonego. Może nie zostać automatycznie wykryty na komputerze Mac; ale możesz użyć Znalazca -> Udać się -> Połączyć się z serwerem i adres

smb://openhab@raspberrypi.local

Uwierzytelnij się przy użyciu nazwy użytkownika openhab i wybranego hasła, a następnie otwórz oba swoje udziały, aby się rozejrzeć. Powinieneś nawet móc otworzyć http://raspberrypi.local:8080/ w swojej przeglądarce internetowej, ale napotkasz błąd, ponieważ nie utworzyliśmy jeszcze mapy witryny. To normalne.

Teraz byłby dobry moment, aby nauczyć się polecenia śledzenia dziennika OpenHAB, abyś mógł mieć oko na błędy.

tail -f /var/log/openhab/openhab.log

Kontynuuj korzystanie z przewodnika przez cały czas i otwieraj w osobnym oknie SSH.

Zainstaluj dom demonstracyjny

Zanim zagłębimy się w zawiłości plików konfiguracyjnych, dodawanie urządzeń i powiązań itp.; sprawdźmy, czy wszystko działa, dodając zawartość demo. „Demo Setup” znajdziesz w sekcji pobierania na OpenHAB.org.

Po rozpakowaniu dostępne są dwa foldery: dodatki oraz konfiguracje .

Korzystając z udziałów sieciowych, skopiuj konfiguracje do Konfiguracja OpenHAB udostępnij i nadpisz istniejący folder. Kopiuj dodatki do drugiego Strona główna OpenHAB udostępnij ponownie, nadpisując istniejące foldery. Jeśli nie zostaniesz poproszony o zastąpienie czegoś, robisz to źle. Jeśli masz oko na plik dziennika debugowania, powinieneś zauważyć falę aktywności, ponieważ zauważa on nowe wiązania i zaczyna działać. Otwórz raspberrypi.local:8080/openhab.app?sitemap=demo, aby zobaczyć demo.

W tej chwili wygląda to trochę prosto, ale otwarta natura OpenHAB oznacza, że ​​możemy później zainstalować piękny nowy motyw lub całkowicie alternatywny interfejs. Na razie musieliśmy tylko wiedzieć, że wszystko działa. Zauważ, że to, na co patrzymy, nazywa się a mapa strony (nie ma nic wspólnego z mapą witryny). Mapa witryny opisuje interfejs użytkownika – a nie rzeczywiste urządzenia w sieci lub czujniki – tylko interfejs do ich przeglądania. Każda jego część jest w pełni konfigurowalna. Aby zobaczyć, jak ten został stworzony, otwórz sitemaps/demo.sitemap w udziale OpenHAB Config.

To dość zniechęcające, ale w większości będziesz kopiować i wklejać fragmenty kodu z przykładów gdzie indziej, aby stworzyć własny niestandardowy interfejs. Tutaj jest Przegląd techniczny wszystkich możliwych elementów mapy witryny, ale na razie wystarczy tylko zacząć myśleć o tym, jaki interfejs chcesz zbudować i jakie informacje chcesz wyświetlić.

Kiedy tam jesteś, otwórz się itemy/demo.items także. Ponownie wygląda to przerażająco, ale tutaj tworzysz elementy do kontrolowania i definiujesz czujniki do śledzenia.

Jak więc działa OpenHAB?

Teraz, gdy już szybko przejrzałeś mapę witryny i folder elementów, podzielmy się dokładnie tym, czym są te pliki i innymi głównymi składnikami OpenHAB, które łączą się, aby stworzyć kompletny inteligentny dom. Znajdziesz podkatalogi dla każdego z nich we współdzielonym folderze OpenHAB Config.

Rzeczy to spis każdego urządzenia sterującego, czujnika lub elementu informacyjnego, który chcesz umieścić w swoim systemie. Nie musi to być również urządzenie fizyczne — możesz zdefiniować źródło internetowe, takie jak pogoda lub ceny akcji. Każdemu elementowi można nadać nazwę, przypisać wiele grup (lub brak) i połączyć z określonym wiązaniem. (Wskazówka dla początkujących: wielkość liter jest ważna, jeśli chodzi o wiązania. Spędziłem dużo czasu próbując dowiedzieć się, dlaczego moje żarówki „odcień” nie działają; to dlatego, że powinny być zamiast tego „odcień”).

Mapy witryn dotyczy tylko interfejsu, który zobaczysz po otwarciu aplikacji mobilnej lub internetowej OpenHAB. Możesz dokładnie kontrolować układ przycisków i prezentowanych informacji. Możesz zdefiniować grupy najwyższego poziomu dla każdego pokoju w domu; kliknięcie każdego spowoduje wyświetlenie listy wszystkich urządzeń w tym pokoju. Lub możesz chcieć pokazać grupy dla każdego typu urządzenia: przycisk dla świateł, inny dla gniazdek elektrycznych. Niektóre urządzenia mogą być używane tak często, że po prostu chcesz je przełączyć bezpośrednio na ekranie głównym.

Zasady to miejsce, w którym w grę wchodzi automatyka domowa, w której możesz zdefiniować harmonogramy lub warunki do wykonania akcji. Proste wydarzenia, takie jak włączenie światła w sypialni o 22:00 na ciepły czerwony kolor; lub bardziej złożona logika, taka jak włączenie grzejnika, jeśli temperatura jest niższa niż 0, a ktoś jest obecny w tym pomieszczeniu. Znajdziesz również skrypty folder, który oferuje podobną funkcjonalność do reguł, ale na bardziej złożonym poziomie programowalnej logiki.

Trwałość to zaawansowany temat, którego nie będziemy omawiać w tym przewodniku, ale trwałość definiuje dane, które chcesz przechowywać. Domyślnie OpenHAB pokazuje tylko aktualny stan czegoś; jeśli chcesz śledzić tę wartość w czasie, musisz skonfigurować definicję trwałości dla tego źródła danych. W tym miejscu określisz takie rzeczy, jak częstotliwość pomiaru punktu danych lub kiedy odrzucić stare punkty danych – musisz również powiedzieć, jakiego rodzaju silnika trwałości użyć, takiego jak MySQL lub proste logowanie do pliku .

Przekształcać zawiera mapowania wartości danych do etykiet. Na przykład humidex.skala file określa zakres wartości indeksu wilgotności i sposób ich wyświetlania w języku angielskim: 29-38 to 'pewny dyskomfort'.

ten mapa strony oraz rzeczy pliki są niezbędne do uruchomienia OpenHAB; reszta jest opcjonalna. Możesz mieć wiele map witryn i elementów, dzięki czemu możesz zachować zawartość demonstracyjną i odwoływać się do niej w dowolnym momencie lub wypróbować nowy układ interfejsu sterowania domem. Nie martw się, jeśli to wszystko wydaje się teraz nieco przytłaczające, podzielimy to na łatwe do opanowania części i obiecuję, że pod koniec tego przewodnika będziesz mieć pewność, że stworzysz własną konfigurację OpenHAB.

Następnie przeprowadzimy Cię przez proces dodawania popularnego zestawu do inteligentnego domu, zaczynając od zera w nowej mapie witryny. Każdy z nich wprowadzi kilka podstawowych pojęć, takich jak sposób instalowania powiązań i definicji przedmiotów, dlatego gorąco zachęcam do przeczytania tych instrukcji nawet jeśli nie jesteś właścicielem tych konkretnych urządzeń .

Zacznij od utworzenia nowego (pustego) home.items plik i nowy home.mapa strony plik w odpowiednich katalogach. Otworzyć home.mapa strony i wklej poniższy kod. Działa to po prostu jak podstawowy szkielet, do którego dodamy nieco później.

sitemap home label='My Home'
{

}

Powinieneś zobaczyć powiadomienie, aby zgłosić, że OpenHAB zidentyfikował nową mapę witryny i plik elementów.

aligncenter size-large wp-image-496593

Włącz tryb debugowania

Chociaż nadal próbujesz, aby OpenHAB działał poprawnie, przydatne może być włączenie bardziej szczegółowego dziennika debugowania, który zawiera wszystko, a nie tylko ważne rzeczy. Aby włączyć ten tryb, otwórz folder współdzielony OpenHAB Config i edytuj logback.xml . W wierszu 40 zmień następujący wiersz na DEBUG zamiast INFO. Po zmianie konieczne będzie ponowne uruchomienie.

Jest to zmiana globalna, więc po przejrzeniu pliku dziennika otrzymasz o wiele więcej informacji.

Dodawanie Philips Hue

Zacznę od Philips Hue. Podobnie jak większość rzeczy, z którymi będziesz chciał wchodzić w interakcje w OpenHAB, żarówki Hue wymagają zainstalowania wiążący – myśl o wiązaniach jak o sterowniku urządzenia. W chwili pisania tego tekstu dostępnych jest około 160 powiązań dla OpenHAB 1, dlatego OpenHAB jest tak potężnym systemem – może łączyć się ze wszystkim, łącząc wszystkie te różne systemy sterowania w jeden zunifikowany interfejs. Oto demonstracja i szybki przegląd odpowiednich kroków.

Wiązania należy najpierw pobrać, a najprostszym sposobem na zrobienie tego na Pi jest użycie apt-get , a następnie wymuś prawo własności użytkownikowi openhab.

sudo apt-get install openhab-addon-binding-hue
sudo chown -hR openhab:openhab /usr/share/openhab

Następnie musisz powiedzieć OpenHAB, aby załadował to powiązanie i skonfigurować wszystkie potrzebne zmienne. Przejdź do folderu konfiguracji i zrób kopię openhab-default.cfg , nazywając to openhab.cfg . Otwórz to, szukaj ODCIEŃ i zastąp całą sekcję następującym kodem. Jedyną rzeczą, którą musisz zmienić, jest wartość adresu IP twojego mostu – jeśli jeszcze go nie znasz, wypróbuj narzędzie do wykrywania online. Wartość tajna tak naprawdę nie ma znaczenia, to tylko rodzaj nazwy użytkownika, której OpenHAB użyje do zidentyfikowania się na mostku.

Szybka wskazówka : aby włączyć linię, po prostu usuń # od początku. Domyślnie wiersz określający adres IP mostu jest wyłączony (lub technicznie „zakomentowany”). Ponadto, jeśli próbujesz wypróbować alternatywną konfigurację, przydatne może być po prostu skopiowanie istniejącej linii i umieszczenie # na początku, aby oznaczyć ją jako komentarz, dzięki czemu można łatwo cofnąć, jeśli coś pójdzie nie tak.

################################ HUE Binding ######################################### # IP of the Hue bridge
hue:ip=192.168.1.216
hue:secret=makeuseofdotcom
hue:refresh=10000

Zapisz i wyjdź. Podobnie jak w przypadku każdej aplikacji Hue innej firmy, musisz zatwierdzić OpenHAB na mostku Hue, naciskając przycisk z przodu — wystarczy to zrobić tylko raz. Zobaczysz komunikat o czekam na sparowanie jeśli śledzisz plik dziennika, ale jeśli zapomniałeś lub przegapiłeś odliczanie, po prostu zresetuj Pi – otrzymasz 100-sekundowy licznik od momentu zainicjowania wiązania Hue. Upewnij się, że udało Ci się sparować, zanim przejdziesz dalej.

Następnie otwórz home.items plik, do którego dodamy kilka żarówek Hue. Oto przykładowa definicja przedmiotu:

Color Bedroom_Hue 'Bedroom Hue' (Bedroom) {hue='1'}
  • ten Kolor słowo określa jaki rodzaj kontroli mamy nad tym przedmiotem. Żarówki RGB Hue są „kolorowe”, ponieważ mamy nad nimi pełną kontrolę nad kolorami. Inne światła mogą być po prostu Switchem.
  • Dalej jest kryptonim przedmiotu: wybrałem Sypialnia_Odcień , ale dosłownie wszystko jest w porządku – po prostu coś opisowego, co wydaje Ci się naturalne, ponieważ musisz to zapamiętać później podczas tworzenia mapy witryny. W kryptonimie nie powinno być spacji.
  • Pomiędzy cudzysłowami znajduje się etykieta. Nasz jest prosty w tym przypadku, ale w przypadku niektórych elementów, takich jak temperatura lub coś, co raportuje wartość, dodasz specjalny kod, który mówi mu, jak wyświetlić tę wartość lub użyć czego przekształcać. Etykieta dotyczy interfejsu i może zawierać spacje.
  • Pomiędzy nawiasami kątowymi znajduje się nazwa ikony. Wszystkie dostępne ikony w udziale OpenHAB znajdziesz pod aplikacje internetowe/obrazy informator. W rzeczywistości istnieje cała gama ikon odcieni, które reprezentują różne jasności lub włączanie/wyłączanie. Wystarczy podać nazwę podstawowej ikony – OpenHAB będzie wiedział, że automatycznie szuka różnych ikon włączania/wyłączania, jeśli jest to element przełączany. Jest to opcjonalne.
  • W nawiasach okrągłych podajemy, do których grup należy należeć – w tym przypadku tylko Sypialnia Grupa.
  • Wreszcie, co najważniejsze, łączymy przedmiot z odpowiednią oprawą z wszelkimi potrzebnymi zmiennymi. W tym przypadku odcień wiązania, a numer żarówki to 1. Numer znajdziesz otwierając oficjalną aplikację Hue i patrząc na zakładkę świateł. Każda żarówka posiada unikalny numer.

Dodałem w sumie cztery żarówki, a także prostą deklarację grup, które omówimy później. Oto moja kompletna home.items w tym momencie:

Group Bedroom
Group Office
Group Kai
Group Living_Room
Group Cinema
Group Secret
Group Lights /* Lights */
Color Bedroom_Hue 'Bedroom Hue' (Bedroom,Lights) {hue='1'}
Color Office_Hue 'Office Hue' (Office, Lights) {hue='2'}
Color Secret_Hue 'Secret Hue' (Secret, Lights) {hue='3'}
Color Kai_Hue 'Kai's Hue' (Kai, Lights) {hue='4'}

ten /* Światła */ tekst jest tylko komentarzem, nie ma żadnej innej funkcji, jak pomóc nam zeskanować plik później, gdy się powiększy. Teraz mamy dodane urządzenia, ale otwarcie http://raspberrypi.local:8080/?sitemap=home skutkuje pustym interfejsem – oczywiście, ponieważ tak naprawdę nie stworzyliśmy jeszcze elementów interfejsu w mapie witryny. Zacznijmy na razie bardzo prosto. Otworzyć home.mapa strony .

Kod użyty do opisania interfejsu różni się od elementów, ale na razie utworzymy nową „ramkę” i dodamy kilka kontrolek grupowych wraz z kilkoma ikonami.

sitemap home label='My Home'
{
Frame {
Group item=Lights label='All lighting' icon='hue'
Group item=Bedroom label='Bedroom' icon='bedroom'
Group item=Office label='Office' icon='desk'
}
}

Grupy to przydatne narzędzie do szybkiego testowania, ale w rzeczywistości potrzebujesz większej kontroli nad sposobem wyświetlania elementów. Na razie to wystarczy. Zapisz i ponownie załaduj swoją główną mapę witryny w przeglądarce. Powinieneś to zobaczyć (lub dowolne dodane grupy).

Kliknij Wszystkie oświetlenie aby zobaczyć każde światło Hue, ponieważ zdefiniowaliśmy je wszystkie jako należące do tej nadrzędnej grupy świateł.

Zauważ, że element Office Hue jest wyświetlany z inną ikoną – to dlatego, że moje światło biurowe jest już włączone, a OpenHAB wie o tym, gdy rozmawiał z mostkiem Hue i był wystarczająco sprytny, aby dostosować ikonę do „włączonej” wersji pliku. Niestety nie odzwierciedla koloru, ale jeśli masz zainstalowaną aplikację mobilną, będzie odzwierciedlał bieżący kolor.

Jeśli widzisz więcej elementów, niż przypuszczałeś, lub otrzymujesz błędy dotyczące wielu definicji, pamiętaj, że chociaż możesz wczytać na stronę tylko jedną mapę witryny na raz wszystkie mapy witryn będą pobierać elementy ze wszystkich plików .item , więc jeśli zostawiłeś tam plik z elementami demonstracyjnymi, w Twoich grupach mogą pojawić się również dodatkowe elementy. W tym momencie sugeruję utworzenie kopii zapasowej zawartości elementów demonstracyjnych i przeniesienie jej z folderu, aby uniknąć błędów duplikacji.

Zdalny dostęp i IFTTT z My.OpenHAB

W tej chwili musisz być w tej samej sieci lokalnej, aby uzyskać dostęp do systemu OpenHAB, ale co, jeśli chcesz kontrolować swoje urządzenia i sprawdzać czujniki, gdy jesteś poza zasięgiem Wi-Fi? W tym celu musimy skonfigurować zdalny dostęp - i zrobimy to w prosty sposób, z usługą sieciową My.OpenHAB [Usunięto uszkodzony adres URL], która omija potrzebę grzebania w przekierowaniach portów i konfiguracjach routerów. Jako bonus usługa My.OpenHAB ma również kanał IFTTT, dając nieskończone możliwości zdalnego sterowania i automatyzacji.

Po pierwsze: zainstaluj wiązanie. Szybka wskazówka: jeśli nie znasz dokładnej nazwy konkretnego pakietu instalacyjnego, spróbuj wyszukać go za pomocą apt-cache.

sudo apt-get install openhab-addon-io-myopenhab
sudo chown -hR openhab:openhab /usr/share/openhab

Zanim będziesz mógł zarejestrować się na stronie My.OpenHAB, musisz utworzyć tajny klucz i znaleźć swój UUID, który jednoznacznie identyfikuje twoją instalację. Sprawdź pod OpenHAB Home udostępnij -> internetowe aplikacje -> statyczny i powinieneś znaleźć plik UUID zawierający twój unikalny identyfikator. W tym momencie odkryłem, że moje Pi używa starszej wersji Javy, która nie tworzy poprawnie tajnego klucza. Rodzaj

java -version

sprawdzić. Jeśli nie ma wersji 1.7 lub wyższej, masz niewłaściwą wersję. Co dziwne, najnowsza wersja Raspbian jest dostarczana z zainstalowaną Oracle Java 8, ale nie jest ustawiona jako domyślna.

sudo update-alternatives --config java

jak uzyskać więcej pasm na snapchacie

Wybierz opcję, która wskazuje jdk-8-wyrocznia , a następnie uruchom ponownie OpenHAB. Bonus: Oracle Java 8 jest szybszy niż domyślny OpenJDK!

Teraz powinieneś również znaleźć tajny plik w aplikacje internetowe/statyczne teczka. Otwórz oba sekret oraz uuid i przygotuj się do kopiowania i wklejania.

Teraz utwórz konto My.OpenHAB, korzystając z tych danych, a następnie wróć – musisz również potwierdzić swój adres e-mail, zanim cokolwiek zadziała. Do tego jest jeszcze kilka kroków. Najpierw musimy ustawić domyślny silnik trwałości na myopenhab (utrwalanie jest czymś na późniejszy przewodnik, ale niezależnie od tego, musimy ustawić coś podstawowego, aby „wyeksportować” nasze dane do usługi online i uczynić je widocznymi dla IFTTT) . Aby to zrobić, otwórz openhab.cfg i znajdź zmienną, która mówi trwałość:domyślnie= i zmień to na trwałość:domyślnie=myopenhab . Zapisać.

Na koniec utwórz nowy plik w konfiguracje/trwałość folder o nazwie myopenhab.persist i wklej następującą regułę.

Strategies {
default = everyChange
}
Items {
* : strategy = everyChange
}

Na razie nie musisz tego rozumieć, ale wiedz, że mówi „zapisz stan każdego elementu, gdy się zmieni”.

Aby połączyć się z IFTTT, przejdź do Kanał OpenHAB – będziesz musiał uwierzytelnić się i dać mu dostęp do swojego konta MyOpenHAB. Pamiętaj też, że dopóki twoje przedmioty nie zmienią się przynajmniej raz, nie będą widoczne na liście przedmiotów na IFTTT, więc jeśli nie jest to widoczne, włącz i wyłącz coś, a następnie załaduj ponownie. Gratulacje, masz teraz pełny dostęp IFTTT do wszystkiego w swoim systemie OpenHAB!

Czujnik obecności Bluetooth za pomocą REST

Niedawno pokazałem, jak zrobić automatyczny zamek do drzwi biurowych za pomocą skanowania Bluetooth w celu wykrycia obecności użytkownika – chciałem coś takiego wnieść do OpenHAB.

Na każdej platformie innej niż Raspberry Pi byłoby to proste dzięki gotowemu powiązaniu Bluetooth; niestety nie działa na Pi z powodu kluczowego pliku Java, który musiałby zostać ponownie skompilowany dla architektury ARM, dodany do powiązania, a następnie odbudować powiązanie. Wystarczy powiedzieć, że próbowałem tego, ale było to okropnie skomplikowane i nie działało. Istnieje jednak znacznie prostsze rozwiązanie, które służy również jako dobre wprowadzenie do samej rozszerzalności OpenHAB: po prostu dostosujemy nasz poprzedni skrypt Pythona, aby raportował bezpośrednio do interfejsu OpenHAB RESTful.

Poza tym: interfejs RESTful oznacza, że ​​możesz wchodzić w interakcję z systemem za pomocą wbudowanego serwera WWW, po prostu wywołując adresy URL i przekazując lub pobierając dane. Możesz odwiedzić ten adres URL, aby zobaczyć prosty przykład na własnym serwerze: http://raspberrypi.local:8080/rest/items – który wyświetla zakodowaną listę wszystkich zdefiniowanych elementów. Jest to niesamowicie potężne, ponieważ ujawnia pełny potencjał OpenHAB i pozwala na pisanie niestandardowych interfejsów; lub w używanym odwrocie, aby zgłaszać stan czujników bez określonego powiązania. Użyjemy tej możliwości, aby zgłosić obecność określonego urządzenia Bluetooth bez uciekania się do powiązania Bluetooth.

Zacznij od dodania nowego Przełącznik przedmiot do twojego home.items plik. Nazwałem swój „JamesInOffice” i uczyniłem go przełącznikiem, a nie prostym kontaktem włączania/wyłączania, dzięki czemu mogę ręcznie kontrolować swoją obecność na wypadek śmierci telefonu.

Switch JamesInOffice 'James in Office' (Office)

Zauważ, że nie zdefiniowałem ikony ani nie skojarzyłem określonego powiązania. To tylko ogólny przełącznik.

Następnie włóż kompatybilny klucz USB Bluetooth i zainstaluj podstawowe narzędzia do interakcji z nim.

sudo apt-get install bluez python-bluez python-pip
sudo pip install requests
hcitool dev

Ostatnie polecenie powinno pokazać twój adapter Bluetooth. Jeśli nic nie jest wymienione, wypróbuj inny adapter, który nie jest zgodny z systemem Linux. Następnym krokiem jest znalezienie adresu sprzętowego Bluetooth urządzenia.

wget https://pybluez.googlecode.com/svn/trunk/examples/simple/inquiry.py
python inquiry.py

Upewnij się, że Twój telefon jest otwarty na stronie ustawień Bluetooth (która przełącza go w tryb parowania / publiczny) i oczywiście, że Bluetooth jest włączony. Powinieneś znaleźć na liście szesnastkowy adres sprzętowy.

Z katalogu domowego użytkownika Pi utwórz nowy skrypt Pythona i wklej ten kod .

Jest kilka rzeczy, które musisz edytować, zaczynając od adresu konkretnego urządzenia:

result = bluetooth.lookup_name('78:7F:70:38:51:1B', timeout=5)

Podobnie jak ta linia, która znajduje się w dwóch miejscach (tak, prawdopodobnie mogłaby być lepiej ustrukturyzowana). Zmień JamesInOffice na kryptonim zdefiniowanego przełącznika.

r = requests.put('http://localhost:8080/rest/items/JamesInOffice/state',data=payload)

Ostatnim krokiem jest poinformowanie tego skryptu, aby uruchamiał się podczas rozruchu.

sudo nano /etc/rc.local

Przewiń w dół i tuż przed wyjściem 0 dodaj następujące wiersze:

python /home/pi/detect.py &

Znak & oznacza „zrób to w tle”. Śmiało i uruchom skrypt, jeśli jeszcze tego nie zrobiłeś, i otwórz interfejs OpenHAB. Jeśli dodałeś go do grupy, przejdź do tej grupy. Aktualizacja trwa około 10 sekund, ale ikona domyślnej żarówki włącza się lub wyłącza w zależności od tego, czy telefon został wykryty, czy nie. Sprawdź plik dziennika, jeśli nic się nie dzieje, możliwe, że użyłeś niewłaściwej nazwy elementu.

Aplikacja mobilna OpenHAB

Chociaż możesz oczywiście korzystać z interfejsu internetowego z urządzenia mobilnego, OpenHAB ma natywne aplikacje dla obu ios oraz Android - i wyglądają jak działka ładniejszy niż domyślny interfejs przeglądarki. Na ekranie ustawień wprowadź lokalny adres URL jako wewnętrzny adres IP, którego używasz do tej pory, w tym numer portu. Aby uzyskać zdalny adres URL, wprowadź https://my.openhab.org , a także nazwę użytkownika (adres e-mail) i hasło wprowadzone podczas rejestracji. Jeśli nie zarejestrowałeś się jeszcze w MyOpenHAB, po prostu pozostaw uwierzytelnianie i zdalny adres URL puste, ale będziesz mieć dostęp do swojego systemu tylko z lokalnej sieci Wi-Fi.

Posuwanie się naprzód i uzyskiwanie pomocy

Ilość dostosowań i zgrabnych funkcji, które możesz dodać do swojego kontrolera OpenHAB, jest naprawdę epicka. Oprócz obszernej listy obsługiwanych urządzeń z powiązaniami, możesz użyć interfejsu RESTful, rozszerzeń HTTP i IFTTT, aby odczytywać lub kontrolować dosłownie każdy rodzaj urządzenia IoT, a następnie niektóre (wypróbuj niektóre z naszych kreatywnych pomysłów na oświetlenie ). Tak, instalacja to absolutny ból, ale żaden system komercyjny nie może zbliżyć się do mocy niestandardowego systemu OpenHAB.

To powiedziawszy, jazda wcale nie była dla mnie łatwa, dlatego właśnie napisałem ten przewodnik, aby ułatwić Ci proces. A jeśli uważasz, że system OpenHAB jest przytłaczający, istnieją inne opcje, jeśli chodzi o automatykę domową Raspberry — na przykład użycie Raspberry Pi do automatyzacji bramy garażowej.

Bądź na bieżąco z MakeUseOf, aby uzyskać zaawansowany przewodnik, który obejmuje Z-Wave i inne fajne sztuczki, które możesz skonfigurować.

Jeśli potrzebujesz pomocy z konkretną częścią tego przewodnika, zapytaj w komentarzach. Jeśli potrzebujesz pomocy z innym wiązaniem lub niektórymi zaawansowanymi tematami, których jeszcze nie omówiliśmy, oficjalne fora OpenHAB są przyjaznym miejscem.

Udział Udział Ćwierkać E-mail 5 wskazówek, jak doładować swoje maszyny VirtualBox Linux

Masz dość słabej wydajności oferowanej przez maszyny wirtualne? Oto, co powinieneś zrobić, aby zwiększyć wydajność VirtualBox.

Czytaj dalej
Powiązane tematy
  • majsterkowanie
  • Inteligentny dom
  • Automatyka domowa
  • Długa forma
  • Przewodnik po długim kształcie
  • Inteligentne centra
O autorze James Bruce(707 opublikowanych artykułów)

James ma tytuł licencjata w dziedzinie sztucznej inteligencji i posiada certyfikaty CompTIA A+ i Network+. Kiedy nie pracuje jako redaktor recenzji sprzętu, lubi gry LEGO, VR i gry planszowe. Przed dołączeniem do MakeUseOf był technikiem oświetlenia, nauczycielem języka angielskiego i inżynierem centrum danych.

Więcej od Jamesa Bruce .a

Zapisz się do naszego newslettera

Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Kliknij tutaj, aby zasubskrybować