Spisu treści:

Automatyka domowa RaspberryPi przy użyciu OpenHAB: 9 kroków
Automatyka domowa RaspberryPi przy użyciu OpenHAB: 9 kroków

Wideo: Automatyka domowa RaspberryPi przy użyciu OpenHAB: 9 kroków

Wideo: Automatyka domowa RaspberryPi przy użyciu OpenHAB: 9 kroków
Wideo: DLACZEGO WYBRAŁEM RASPBERRY PI | Inteligentny Dom DIY #3 2024, Listopad
Anonim
Automatyka domowa RaspberryPi przy użyciu OpenHAB
Automatyka domowa RaspberryPi przy użyciu OpenHAB

Automatyka domowa z wykorzystaniem Raspberry Pi 3B i OpenHAB. [Opcjonalnie] Będziemy używać Google Home (lub Asystenta Google), aby włączyć sterowanie głosowe.

Krok 1: Wymagane części

Do tego projektu będziemy wymagali-

SPRZĘT KOMPUTEROWY

  1. Raspberry Pi (użyłem płytki 3B)
  2. Google Home Mini [opcjonalnie] (możesz też użyć asystenta!)
  3. Przewody połączeniowe
  4. Moduł przekaźnikowy

OPROGRAMOWANIE

  1. OpenHABian Pi [Możesz też używać Raspbian OS]
  2. IFTTT

Krok 2: Rozpoczęcie pracy z oprogramowaniem

Masz dwie z następujących możliwości:

  1. Flash Raspbian, a następnie zainstaluj na nim OpenHAB. (Trudne i niedobre)
  2. Bezpośrednio sflashuj OpenHABian na kartę SD i uruchom go bezpośrednio (Damn Easy)

Użyłem drugiej opcji i sflashowałem OpenHABiana na kartę SD i włożyłem do RPi. Więc zamierzam omówić tę metodę. Jeśli chcesz postępować zgodnie z pierwszym, postępuj zgodnie z tym przewodnikiem Instalacja ręczna.

W przeciwnym razie wykonaj poniższe czynności:

  • Pobierz najnowszy obraz systemu OpenHABian.
  • Wgraj go na kartę SD za pomocą Etcher.io
  • Po pomyślnym flashowaniu włóż kartę SD do Rpi i podłącz Ethernet do Rpi. (Możesz również korzystać z WiFi).
  • Uruchom Rpi. Nie potrzebujesz ekranu i/lub myszy i klawiatury, ponieważ SSH i Samba są już włączone!
  • Poczekaj 30-45 minut, aż OpenHAB zakończy początkową konfigurację.
  • Następnie przejdź do https://openhabianpi:8080 Będzie to adres twojego Rpi, z którego możesz uzyskać do niego dostęp.

To wszystko dla początkowej części instalacyjnej.

Konfiguracja OpenHAB

Po zakończeniu początkowej konfiguracji OpenHAB przejdź do

  • Tam przejdź do interfejsu Paper.
  • Tam przejdź do Dodatki> Wiązania. Wyszukaj GPIO w pasku wyszukiwania. Zainstaluj powiązanie GPIO. Następnie przejdź do zakładki MISC i zainstaluj openHAB Cloud Connector.

Krok 3: Konfiguracja OpenHAB - tworzenie elementów

Teraz musimy uzyskać dostęp do naszego Rpi przez SSH. Zamierzam użyć PuTTY. Jeśli korzystasz z systemu MacOS lub Linux, możesz użyć terminala.

SSH przez PuTTY-

  • Otwórz PuTTY.
  • Przejdź do strony administratora routera i znajdź adres IP. Będzie się nazywać OpenHABian.
  • Skopiuj adres IP i wklej go w PuTTY i kliknij Otwórz.
  • Teraz musisz się zalogować -
  • zaloguj się jako: openhabianhasło: openhabian
  • Po zalogowaniu wpisz następujące polecenia:
  • $ cd /etc/openhab2$ ls
  • Teraz pokaże Ci wszystkie dostępne katalogi. Będziemy używać - elementów (do tworzenia różnych elementów), reguł (do włączania poleceń głosowych) i map witryn (do tworzenia mapy witryny do nawigacji). Stworzymy mapę witryny jako -home.sitemap. Plik przedmiotów miałby postać - home.items. A plik reguł to - home.rules.
  • $ sudo nano items/home.items$ hasło: openhabian
  • Otworzyłoby to pusty dokument. Stworzymy tutaj nasze przedmioty, które będziemy kontrolować przez Rpi. W moim przypadku użyłem 4 sztuk. Możesz użyć tyle, ile chcesz.
  • //Pozycje Plik Przełącz wentylator "Wentylator" { gpio="pin:17 activelow:yes InitialValue:low" } Przełącz night_light "Lampa nocna" { gpio="pin:27 activelow:yes InitialValue:high" } Przełącz wywiew "Wentylator wyciągowy" " { gpio="pin:23 activelow:yes InitialValue:high" } Włącz lampkę "Light" { gpio="pin:5 activelow:yes InitialValue:low" }

    Polecenie głosowe ciąg

Tutaj wyjaśniłbym powyższe na przykładzie- Przełącz wentylator "Wentylator" { gpio="pin:17 activelow:yes InitialValue:low" } To, co dzieje się tutaj jest następujące-

  • Switch - to słowo kluczowe, które określa, że dany element jest przełącznikiem.
  • fan (ogólny - nazwij go, jak chcesz) - jest to zdefiniowany przez użytkownika identyfikator do nazywania różnych elementów, którymi chcesz sterować.
  • „Fan” (ogólny – nazwij go, jak chcesz) – jest to wyświetlana nazwa, która będzie wyświetlana w interfejsie użytkownika.
  • (nazwa ikony)- Jest to nazwa ikony, która będzie wyświetlana wraz z nazwą.
  • { gpio="pin:17 activelow:yes initialValue:low" } - tutaj gpio jest tym, co mówi OpenHABowi, że element jest połączony przez gpio. pin:17 to pin, do którego podłączasz przekaźnik. activelow:yes(or no) - Active low oznacza, że gdy przełącznik jest wyłączony, na pin gpio nie będzie podawane napięcie, a gdy przełącznik jest włączony, napięcie będzie podawane. InitialValue:high (lub low) - Potem jest InitialValue, a to, co robi, to mówi openhabowi, jak ustawić początkową wartość elementu podczas inicjalizacji. Ten jest ustawiony na wysoki, ponieważ chcę, aby przełącznik był wyłączony podczas inicjalizacji.

  • String VoiceCommand - jest to element, który będzie służył do sterowania innymi elementami za pomocą poleceń głosowych.
  • Możesz utworzyć tyle elementów, ile chcesz, używając tej składni-
  • wpisz nazwę elementu "nazwa wyświetlana_elementu" { gpio="pin:pin-no activelow: (tak lub niska) wartość początkowa: (wysoka lub niska)
  • Po wykonaniu tej czynności naciśnij Ctrl + X, a następnie Y i Enter.
  • $ cd..

Krok 4: Tworzenie mapy witryny

Mapa strony byłaby wykorzystywana do nawigacji i sterowania przełącznikami przekaźników.

  • Biorąc pod uwagę, że kontynuujesz po wykonaniu powyższych kroków, wpisz terminal
  • $ sudo nano sitemaps/home.sitemap
  • Ten plik byłby domyślną mapą witryny do nawigacji. Powyższe polecenie otworzy pusty plik. Musisz utworzyć mapę witryny w następujący sposób:

sitemap home label="Inteligentny dom"

{

Frame label="Mój pokój" {

Przełącz element = wentylator

Przełącz element = światło

Przełącz element = wydech

Przełącz element = światło nocne

}

}

  • sitemap home label="Inteligentny dom (ogólne użyj wszystkiego, co chcesz)" - to jest tytuł strony głównej. Możesz użyć wszystkiego, co chcesz.
  • Frame label="Mój pokój (ogólne użycie czegokolwiek chcesz)" - to będzie podsekcja. Jego nagłówek może być dowolny.
  • Przełącz item=fan - wraz z innymi określi elementy, które chcesz zobaczyć i kontrolować ze strony głównej. Musisz wprowadzić utworzone przez nas nazwy przedmiotów. NIE WPROWADZAJ WYŚWIETLANEJ NAZWY ELEMENTU.
  • Następnie naciśnij CTRL+X, Y i Enter.

Krok 5: Tworzenie reguły dla VoiceCommand-

W tym celu musisz stworzyć prostą regułę. Użyłem odniesienia z tego przewodnika. Więc dla poleceń głosowych, stwórzmy podstawowy plik reguł-

$ zasady sudo nano/home.rules

Spowoduje to utworzenie pustego pliku.rules.

Możesz uzyskać dostęp do pliku reguł tutaj

Cóż, to jest długi kod z wieloma plikami i poleceniami. Ale wystarczy wziąć pod uwagę poniższe, aby utworzyć własny zestaw poleceń.

  • if (command.contains("włącz wentylator") || (command.contains("włącz wentylator"))) - tutaj wymieniłem dwie opcje, które mogę powiedzieć, aby polecenie zadziałało. W rzeczywistości, kiedy wymawiam zarezerwowaną linię, OpenHAB rozpoznaje ją i sprawdza, czy konkretna reguła zrobi to, co nastąpi później.
  • fan.sendCommand(ON) - Gdy powyższy warunek jest spełniony, ta funkcja wysyła komendę ON do wentylatora elementu. Można to modyfikować według własnego wyboru.

Cóż, jeśli dotarłeś tutaj bez żadnych problemów, Gratulacje, ponieważ większość pracy została wykonana. Teraz musimy skonfigurować interfejs użytkownika i włączyć zdalny dostęp do naszego OpenHAB.

Krok 6: Konfiguracja BasicUI

Teraz musimy powiedzieć OpenHAB, aby używał utworzonej przez nas mapy witryny, aby używał jej jako domyślnej.

Oto jak to zrobić-

  • Przejdź do
  • Otwórz papierowy interfejs użytkownika
  • Konfiguracje > Usługi > Interfejs użytkownika > Konfiguruj podstawowy interfejs użytkownika
  • Tutaj możesz wybrać format motywu i ikon itp. Najważniejszą rzeczą, którą musisz zrobić, to zmienić domyślną mapę witryny na home
  • Kliknij Zapisz
  • Możesz go zobaczyć, przechodząc do
  • Kliknij Basic UI i voila zobaczysz tam własną mapę witryny

Krok 7: Włączanie zdalnego dostępu

Aby włączyć zdalny dostęp, wykonaj następujące kroki:

  • Przejdź do
  • Otwórz papierowy interfejs użytkownika
  • Konfiguracje > Usługi > IO > Konfiguruj chmurę OpenHAB
  • Zmień tryb na Powiadomienia i zdalny dostęp, Podstawowy adres URL ->https://myopenhab.org/ i elementy do wyeksponowania -> Zaznacz wszystkie
  • Kliknij Zapisz
  • Przejdź do
  • Zarejestruj się za pomocą adresu e-mail i hasła.
  • Dla openHAB UUID ->
  • $ sudo nano /var/lib/openhab2/uuid
  • Skopiuj i wklej ten UUID do kolumny UUID.
  • Dla sekretu OpenHAB->
  • $ sudo nano /var/lib/openhab2/openhabcloud/sekret
  • Skopiuj i wklej go do kolumny Tajne i naciśnij Zarejestruj się.
  • Teraz po pomyślnym ponownym uruchomieniu Rpi zobaczysz status online na
  • Przejdź do zakładki przedmiotów
  • Tutaj możesz zobaczyć wszystkie utworzone przez siebie przedmioty. Jeśli nic nie widzisz, musisz co najmniej raz przełączyć wszystkie te elementy.

Krok 8: SPRZĘT!!

SPRZĘT KOMPUTEROWY!!!!
SPRZĘT KOMPUTEROWY!!!!

Bądź bardzo ostrożny, ponieważ mielibyśmy do czynienia z 220V i innymi urządzeniami elektrycznymi.

BYĆ OSTROŻNYM

ZROBISZ TO NA WŁASNE RYZYKO

Podłączanie przekaźnika do Raspberry Pi-

Aby podłączyć przekaźnik do Raspberry Pi, podłącz VCC do 5V na Rpi.

  • Podłącz GND na przekaźniku do GND Raspberry Pi
  • Następnie podłącz IN1, IN2, … do GPIO przypisanego w home.items

Aby sprawdzić, czy wszystko działa, przejdź do BasicUI i spróbuj wyłączyć i włączyć różne elementy. Powinieneś usłyszeć dźwięk kliknięcia na każdym przełączniku.

Możesz również pobrać aplikację OpenHAB ze Sklepu Play, aby łatwiej kontrolować swój system automatyzacji.

ZACHOWAJ OSTROŻNOŚĆ i DZIAŁAJ NA WŁASNE RYZYKO

Teraz musimy podłączyć przewody urządzeń, które chcesz zautomatyzować, do przełączników przekaźnikowych. Wyłącz Rpi i główne zasilanie, zanim to zrobisz, aby być po bezpieczniejszej stronie.

Po podłączeniu przewodów upewnij się, że nie ma odsłoniętego przewodu pod napięciem, który może okazać się śmiertelny.

Teraz włącz ponownie Rpi i daj mu czas na uruchomienie. Po uruchomieniu będziesz mógł sterować urządzeniami z poziomu Basic UI lub z aplikacji mobilnej. Jeśli nie chcesz automatyzacji głosu, nie musisz postępować zgodnie z instrukcjami sieci.

Krok 9: Łączenie z Asystentem Google

W tym celu użyjemy

  • Przejdź do IFTTT.com
  • Utwórz konto, jeśli go nie masz
  • Kliknij Nowy aplet
  • Wybierz To i wybierz Asystenta Google i wybierz Powiedz frazę ze składnikiem tekstowym
  • W co chcesz powiedzieć, wpisz - Turn $ item-name Ex- Turn $ fan
  • Kliknij, aby utworzyć wyzwalacz
  • Wybierz to i wybierz OpenHAB. Połącz swoje konto
  • Wybierz wyślij polecenieWybierz element jako VoiceCommand
  • Polecenie do wysłania jako - Turn {{TextField}} nazwa elementu. Ex- Turn {{TextField}} fan
  • Utwórz akcję

Daj około 10 sekund na inicjalizację, a następnie Voila, użyj asystenta Google, aby wysłać polecenie.

Otóż to. Jeśli masz jakiekolwiek wątpliwości lub jakiś błąd, śmiało możesz skomentować. Na pewno ci pomogę.

Jeśli masz jakiekolwiek problemy lub pytania, skontaktuj się ze mną pod adresem [email protected]

Zalecana: