Raspberry Pi에서 OpenHAB 홈 자동화 시작하기

Raspberry Pi에서 OpenHAB 홈 자동화 시작하기
이 가이드는 무료 PDF로 다운로드할 수 있습니다. 지금 이 파일을 다운로드하십시오 . 이것을 복사하여 친구 및 가족과 자유롭게 공유하십시오.

OpenHAB은 다양한 하드웨어에서 실행되고 프로토콜에 구애받지 않는 성숙한 오픈 소스 홈 오토메이션 플랫폼입니다. 즉, 오늘날 시장에 나와 있는 거의 모든 홈 오토메이션 하드웨어에 연결할 수 있습니다. 조명을 제어하기 위해 실행해야 하는 제조업체별 앱의 수에 불만이 있었다면 좋은 소식이 있습니다. OpenHAB은 여러분이 찾던 솔루션입니다. 가장 유연한 스마트 홈입니다. 허브를 찾을 수 있습니다.





불행히도 이것은 소비자 친화적인 것에서 얻을 수 있는 것입니다. 그러나 언제나 그렇듯이 MakeUseOf가 필요한 곳입니다. 돈으로 살 필요가 없는 궁극적인 스마트 홈 시스템을 시작하고 실행하는 방법을 보여 드리겠습니다(OpenHAB은 100% 무료 – 하드웨어만 제공).





이 가이드의 첫 번째 부분은 OpenHAB 설정을 라즈베리 파이 2 , 그러나 더 나아가 튜토리얼과 조언은 OpenHAB가 설치된 모든 곳에 적용될 수 있습니다.





이 가이드는 세 가지 소개 주제와 약간 더 고급 주제 하나를 다룹니다.

  • Pi에서 OpenHAB을 시작하고 실행하고 데모 하우스 구성을 설치하여 코어 시스템이 작동하는지 확인합니다.
  • 장치에 대한 바인딩 및 프로필을 추가하는 방법입니다. Philips Hue로 작업하겠습니다.
  • 원격 액세스를 활성화하고 IFTTT에 연결합니다.
  • Bluetooth를 사용하여 DIY 존재 센서 추가 및 REST 인터페이스 소개.
  • OpenHAB 모바일 앱 구성.

필요한 것

최소한 Raspberry Pi(v2, 가급적이면)와 이더넷 또는 무선 어댑터(이더넷 선호, 이 가이드에는 Wi-Fi 어댑터 작동에 대한 지침이 포함되지 않음)가 필요합니다. 다른 모든 것은 선택 사항입니다. OpenHAB은 원래 Raspberry Pi에서도 실행되지만 느린 처리 ​​및 Z-Wave 장치와 관련된 알려진 문제가 있습니다. Z-Wave가 필요하지 않은 경우 이 경고를 무시하고 Raspberry Pi 모델 B 또는 B+로 진행할 수 있습니다. 다른 모든 것이 잘 작동하는 것 같기 때문입니다. Z-Wave를 추가하면 언제든지 최신 Pi로 업그레이드할 수 있습니다.



이 작은 것이 당신이 가진 최고의 스마트 홈 허브가 될 수 있습니다!

이 글을 쓰는 시점에서 OpenHAB의 최신 안정 버전은 버전 1.71입니다. 버전 1.8이 곧 출시될 예정이며 특정 바인딩에는 더 많은 기능이 있을 수 있지만 이 가이드의 모든 내용은 여전히 ​​관련이 있습니다. 버전 2는 현재 초기 알파 프리뷰로도 사용할 수 있지만 OpenHAB 1 시리즈와 크게 다른 아키텍처를 채택합니다. 이 가이드는 버전 2와 호환되지 않습니다.





이 가이드를 천천히 그리고 체계적으로 따르기를 강력히 제안합니다. – 깊은 곳에서 뛰어들어 모든 것을 한 번에 추가하려고 하지 마십시오. 예, 긴 가이드입니다. OpenHAB는 종종 필요에 따라 조정해야 하는 어려운 시스템이며 성공을 보장하는 가장 좋은 방법은 천천히 작업하고 한 번에 하나씩 완료하는 것입니다.

좋은 소식은 일단 작동하면 확고한 경험과 믿을 수 없을 정도로 보람이 있다는 것입니다.





OpenHAB 설치

OpenHAB에 대해 미리 구성된 이미지가 없으므로 설치는 명령줄을 통해 구식 방식으로 수행됩니다. RPi에서 헤드리스 작업을 제안합니다. 거의 사용하지 않을 GUI를 관리하는 오버헤드는 그만한 가치가 없습니다.

시작 최신(전체) Raspbian SD 이미지 ('라이트' 버전이 아니라 여기에는 Java 가상 머신이 포함되지 않음). 네트워크 케이블을 연결한 다음 부팅하고 SSH를 통해 탐색합니다. 운영:

sudo raspi-config

파일 시스템을 확장합니다. 고급 메뉴에서 메모리 분할을 16으로 변경합니다. 완료되면 다시 시작하고 모범 사례로 전체 업데이트를 실행합니다.

sudo apt-get update
sudo apt-get upgrade

OpenHAB 런타임을 설치하는 더 쉬운 방법은 apt-get 하지만 먼저 보안 키와 새 저장소를 추가해야 합니다.

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

흥미롭게도 모든 것이 '루트' 소유로 설치되었습니다. 다음 명령으로 이를 수정해야 합니다.

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

다음으로 Samba를 설치하고 구성 및 사용자 폴더를 공유합니다. 이렇게 하면 추가 기능을 설치하고 사이트맵을 원격으로 쉽게 변경할 수 있습니다.

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

필요한 경우 작업 그룹 이름을 변경하고 그렇지 않으면 WINS 지원을 활성화합니다.

wins support = yes

(줄의 주석을 제거하고 no를 yes로 변경해야 합니다.)

그런 다음 공유 정의 섹션에 다음을 추가합니다(긴 파일의 맨 아래까지 스크롤).

[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

나는 또한 프린터 섹션에 주석을 달았습니다. 구성 파일이 실제로 추가 기능에 별도로 저장되기 때문에 두 개의 공유를 만들었습니다.

저장 및 종료. 마지막으로 openhab 사용자의 Samba 비밀번호를 설정해야 합니다.

sudo smbpasswd -a openhab

사용 편의성을 위해 암호로 'openhab'을 제안하지만 실제로는 중요하지 않습니다.

독자 David L 덕분에 최신 Raspian에서 Samba를 다시 시작하는 방법이 변경된 것으로 보입니다. 업데이트된 지침은 다음과 같습니다.

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

Samba를 다시 시작한 후(이전 설치는 sudo 서비스 삼바 재시작 ), 공유 드라이브에 액세스할 수 있는지 테스트합니다. Mac에서는 자동 검색되지 않을 수 있습니다. 하지만 당신은 사용할 수 있습니다 파인더 -> 가다 -> 서버에 연결 그리고 주소

smb://openhab@raspberrypi.local

사용자 이름 openhab과 선택한 비밀번호로 인증한 다음 두 공유를 모두 열어 둘러보세요. 웹 브라우저에서 http://raspberrypi.local:8080/을 열 수도 있지만 아직 사이트맵을 생성하지 않았기 때문에 오류가 발생합니다. 정상입니다.

이제 오류를 주시할 수 있도록 OpenHAB 로그를 추적하는 명령을 배울 좋은 시간입니다.

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

가이드를 계속 진행하는 동안 항상 별도의 SSH 창에서 실행하고 엽니다.

데모 하우스 설치

구성 파일, 장치 및 바인딩 추가 등의 복잡성을 살펴보기 전에 데모 콘텐츠를 추가하여 모든 것이 제대로 작동하는지 확인해 보겠습니다. OpenHAB.org의 다운로드 섹션에서 '데모 설정'을 찾을 수 있습니다.

압축을 풀면 두 개의 폴더가 있습니다. 애드온 그리고 구성 .

네트워크 공유를 사용하여 복사 구성 ~로 OpenHAB 구성 기존 폴더를 공유하고 덮어씁니다. 복사 애드온 다른 사람에게 오픈HAB 홈 다시 공유하여 기존 폴더를 덮어씁니다. 덮어쓸 것인지 묻는 메시지가 표시되지 않으면 잘못하고 있는 것입니다. 디버그 로그 파일을 본 적이 있다면 새 바인딩을 알아차리고 작동하는 윙윙거리는 활동을 볼 수 있을 것입니다. 데모를 보려면 raspberrypi.local:8080/openhab.app?sitemap=demo를 엽니다.

현재로서는 약간 기본적이지만 OpenHAB의 개방형 특성은 나중에 멋진 새 테마를 설치하거나 대체 인터페이스를 완전히 설치할 수 있음을 의미합니다. 지금으로서는 모든 것이 작동한다는 사실만 알면 됩니다. 우리가 보고 있는 것은 사이트맵 (웹 사이트 사이트 맵과 관련이 없습니다). 사이트맵은 네트워크의 실제 장치나 센서가 아닌 사용자 인터페이스를 설명하기 위한 인터페이스일 뿐입니다. 그것의 모든 부분은 완전히 사용자 정의할 수 있습니다. 이것이 어떻게 만들어졌는지 보려면 사이트맵/demo.sitemap OpenHAB 구성 공유에 있는 파일입니다.

꽤 벅차지만 대부분의 경우 다른 곳의 예제에서 코드 조각을 복사하여 고유한 사용자 정의 인터페이스를 생성하게 될 것입니다. 여기 기술 개요 모든 가능한 사이트맵 요소를 포함하지만 지금은 구축하려는 인터페이스의 종류와 표시하려는 정보에 대해 생각하기 시작하는 것으로 충분합니다.

거기 있는 동안 열어봐 아이템/데모 아이템 도. 다시 말하지만 무서운 것처럼 보이지만 여기에서 추적할 센서를 제어하고 정의할 항목을 만듭니다.

OpenHAB은 어떻게 작동합니까?

이제 사이트맵 및 항목 폴더를 빠르게 정독했으므로 이러한 파일이 무엇인지 정확히 분석하고 완전한 스마트 홈을 만들기 위해 결합하는 OpenHAB의 다른 주요 구성 요소를 살펴보겠습니다. OpenHAB Config 공유 폴더에서 이들 각각에 대한 하위 디렉토리를 찾을 수 있습니다.

아이템 시스템에서 원하는 모든 제어 장치, 센서 또는 정보 요소의 인벤토리입니다. 물리적 장치일 필요도 없습니다. 날씨나 주가와 같은 웹 소스를 정의할 수 있습니다. 각 항목에 이름을 지정하고 여러 그룹을 할당(또는 없음)하고 특정 바인딩에 연결할 수 있습니다. (초보자 팁: 바인딩에서는 대문자가 중요합니다. 저는 'Hue' 전구가 작동하지 않는 이유를 알아내려고 오랜 시간을 보냈습니다. 대신 'hue'여야 했기 때문입니다.)

사이트맵 OpenHAB 모바일 또는 웹 앱을 열 때 표시되는 인터페이스에만 관심이 있습니다. 버튼 배치 및 정보 표시 방식을 정확하게 제어할 수 있습니다. 집의 각 방에 대해 최상위 그룹을 정의할 수 있습니다. 각각을 클릭하면 해당 방의 모든 장치 목록이 표시됩니다. 또는 조명용 버튼, 전기 콘센트용 버튼과 같이 각 장치 유형에 대한 그룹을 표시하는 것을 선호할 수 있습니다. 너무 자주 사용하여 홈 화면에서 바로 스위치를 켜고 싶은 일부 장치가 있을 수 있습니다.

규칙 홈 오토메이션 측면이 작동하는 곳에서 작업이 발생할 일정이나 조건을 정의할 수 있습니다. 밤 10시에 침실 조명을 따뜻한 붉은 색으로 켜는 것과 같은 간단한 이벤트; 또는 온도가 0보다 낮고 누군가가 그 방에 있는 경우 공간 히터를 켜는 것과 같은 더 복잡한 논리입니다. 당신은 또한 찾을 것입니다 스크립트 규칙과 유사한 기능을 제공하지만 더 복잡한 수준의 프로그래밍 가능한 논리를 제공하는 폴더입니다.

고집 이 가이드에서 다루지 않을 고급 주제이지만 지속성은 기록을 유지하려는 데이터를 정의합니다. 기본적으로 OpenHAB은 현재 상태만 표시합니다. 시간 경과에 따라 해당 값을 추적하려면 해당 데이터 소스에 대한 지속성 정의를 설정해야 합니다. 여기에서 데이터 포인트를 측정해야 하는 빈도 또는 오래된 데이터 포인트를 폐기할 시기와 같은 항목을 지정합니다. MySQL 또는 파일에 대한 단순 로깅과 같이 사용할 지속성 엔진의 종류도 알려야 합니다. .

변환 레이블에 대한 데이터 값의 매핑을 포함합니다. 예를 들어, 휴 덱스.스케일 파일은 습도 지수 값의 범위와 영어로 표시되는 방법을 정의합니다. 29-38은 '약간의 불편함'입니다.

NS 사이트맵 그리고 아이템 파일은 OpenHAB를 실행하는 데 필수적입니다. 나머지는 선택 사항입니다. 여러 사이트맵과 항목을 가질 수 있으므로 데모 콘텐츠를 유지하고 언제든지 다시 참조하거나 홈 컨트롤 인터페이스에 대한 새로운 레이아웃을 시도할 수 있습니다. 지금 당장은 이 모든 것이 너무 복잡해 보이더라도 걱정하지 마십시오. 관리 가능한 부분으로 분해할 것이며 이 가이드가 끝날 때쯤에는 자신만의 OpenHAB 설정을 만들 수 있다는 자신감을 갖게 될 것이라고 약속합니다.

다음으로 새 사이트맵에서 처음부터 시작하여 몇 가지 일반적인 스마트 홈 키트를 추가하는 방법을 안내해 드리겠습니다. 각각은 바인딩 및 항목 정의를 설치하는 방법과 같은 몇 가지 핵심 개념을 소개하므로 이 지침을 자세히 읽어보시기 바랍니다. 특정 기기를 소유하지 않더라도 .

새로 만들기(공백)로 시작 home.items 파일 및 새 홈.사이트맵 관련 디렉토리에 있는 파일. 열어 홈.사이트맵 다음 코드를 붙여넣습니다. 이것은 나중에 비트를 추가할 기본 골격 역할을 합니다.

sitemap home label='My Home'
{

}

OpenHAB에서 새 사이트맵 및 항목 파일을 식별했음을 보고하는 알림이 표시되어야 합니다.

aligncenter size-large wp-image-496593

디버그 모드 활성화

여전히 OpenHAB가 올바르게 작동하도록 하는 동안 중요한 항목뿐만 아니라 모든 항목을 나열하는 보다 자세한 디버그 로그를 활성화하는 것이 유용할 수 있습니다. 이 모드를 활성화하려면 OpenHAB Config 공유 폴더를 열고 편집하십시오. logback.xml . 40행에서 INFO 대신 DEBUG를 읽도록 다음 행을 변경합니다. 이것을 변경한 후에는 다시 시작해야 합니다.

이것은 전역 변경 사항이므로 로그 파일을 추적하면 더 많은 정보를 얻을 수 있습니다.

필립스 색조 추가

Philips Hue로 시작하겠습니다. OpenHAB에서 상호 작용하려는 대부분의 것과 마찬가지로 Hue 전구를 설치하려면 제본 – 바인딩을 장치 드라이버와 같이 생각하십시오. 이 글을 쓰는 시점에서 OpenHAB 1에 사용할 수 있는 바인딩은 약 160개입니다. 이것이 OpenHAB가 강력한 시스템인 이유입니다. 모든 이종 제어 시스템을 단일 통합 인터페이스로 결합하여 무엇과도 인터페이스할 수 있습니다. 다음은 관련된 단계에 대한 데모 및 간략한 개요입니다.

바인딩을 먼저 다운로드해야 하며 Pi에서 이를 수행하는 가장 쉬운 방법은 다음을 사용하는 것입니다. apt-get , 다음 openhab 사용자에게 소유권을 강제합니다.

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

다음으로 OpenHAB에 해당 바인딩을 로드하고 필요한 변수를 구성하도록 지시해야 합니다. 구성 폴더를 찾아 복사본을 만듭니다. openhab-default.cfg , 명명 openhab.cfg . 열어서 검색해봐 색조 전체 섹션을 다음 코드로 바꿉니다. 변경해야 하는 유일한 것은 브리지의 IP 값입니다. 아직 모르는 경우 온라인 검색 도구를 사용해 보십시오. 비밀 값은 별로 중요하지 않습니다. OpenHAB이 브리지에서 자신을 식별하는 데 사용할 일종의 사용자 이름일 뿐입니다.

빠른 팁 : 라인을 활성화하려면 시작 부분에서 #을 제거하기만 하면 됩니다. 기본적으로 브리지의 IP 주소를 지정하는 행은 비활성화되어 있습니다(기술적으로 '주석 처리됨'). 또한 대체 구성을 시도하는 경우 기존 줄을 복사하고 시작 부분에 #을 넣어 주석으로 표시하면 문제가 발생할 경우 쉽게 되돌릴 수 있어 유용할 수 있습니다.

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

저장 및 종료. 타사 Hue 애플리케이션과 마찬가지로 전면에 있는 버튼을 눌러 Hue Bridge에서 OpenHAB를 승인해야 합니다. 이 작업은 한 번만 수행하면 됩니다. 에 대한 메시지가 표시됩니다. 페어링 대기 중 로그 파일을 추적하고 있지만 카운트다운을 잊어버렸거나 놓친 경우 Pi를 재설정하면 됩니다. Hue 바인딩이 시작될 때부터 100초 타이머를 받게 됩니다. 계속하기 전에 성공적으로 페어링되었는지 확인하십시오.

다음으로, 열어 home.items 파일에 Hue 전구를 추가합니다. 다음은 항목 정의의 예입니다.

Color Bedroom_Hue 'Bedroom Hue' (Bedroom) {hue='1'}
  • NS 색상 word는 이 항목에 대해 어떤 종류의 제어 권한이 있는지 지정합니다. RGB Hue 전구는 '색상'입니다. 왜냐하면 우리는 그것들을 완전히 색으로 제어할 수 있기 때문입니다. 다른 조명은 스위치일 수 있습니다.
  • 다음은 항목의 코드명입니다. 내가 선택했습니다. 침실_색조 , 하지만 말 그대로 모든 것이 좋습니다. 나중에 사이트맵을 만들 때 기억해야 하기 때문에 자연스럽게 느껴지는 설명적인 것입니다. 코드명에는 공백이 없어야 합니다.
  • 따옴표 사이에 레이블이 있습니다. 이 경우 우리는 간단하지만 온도 또는 값을 보고하는 항목과 같은 일부 항목의 경우 해당 값을 표시하는 방법 또는 변환. 레이블은 인터페이스용이며 공백이 있을 수 있습니다.
  • 꺾쇠 괄호 사이에는 아이콘의 이름이 있습니다. OpenHAB 공유에서 사용 가능한 모든 아이콘을 찾을 수 있습니다. 웹앱/이미지 예배 규칙서. 실제로 다양한 밝기 또는 켜기/끄기를 나타내는 전체 범위의 색조 아이콘이 있습니다. 기본 아이콘 이름을 지정하기만 하면 OpenHAB는 전환된 항목인 경우 다른 켜기/끄기 아이콘을 자동으로 찾습니다. 이것은 선택 사항입니다.
  • 대괄호 안에는 어떤 그룹이 속할지 알려줍니다. 이 경우에는 침실 그룹.
  • 마지막으로 그리고 결정적으로 필요한 모든 변수를 사용하여 항목을 적절한 바인딩에 연결합니다. 이 경우, 색조 바인딩이고 전구의 번호는 1입니다. 공식 Hue 애플리케이션을 열고 조명 탭을 보면 번호를 찾을 수 있습니다. 전구마다 고유 번호가 있습니다.

총 4개의 전구를 추가했으며 나중에 확장할 그룹에 대한 간단한 선언도 추가했습니다. 여기 내 완전한 home.items 이 지점에서:

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'}

NS /* 빛 */ 텍스트는 단지 주석일 뿐이며 나중에 파일이 커질 때 파일을 스캔하는 데 도움이 되는 것 외에 다른 기능은 없습니다. 이제 장치가 추가되었지만 http://raspberrypi.local:8080/?sitemap=home을 열면 빈 인터페이스가 생성됩니다. 물론 아직 사이트맵에서 실제로 인터페이스 요소를 생성하지 않았기 때문입니다. 지금은 정말 간단하게 시작해 보겠습니다. 열어 홈.사이트맵 .

인터페이스를 설명하는 데 사용되는 코드는 항목과 다르지만 지금은 새 '프레임'을 만들고 일부 아이콘과 함께 몇 가지 그룹 컨트롤을 추가합니다.

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'
}
}

그룹은 빠른 테스트를 위한 유용한 도구이지만 실제로는 항목이 표시되는 방식에 대해 더 많은 제어가 필요합니다. 지금은 이것으로 충분합니다. 브라우저에서 홈 사이트맵을 저장하고 다시 로드합니다. 이 항목(또는 추가한 그룹)이 표시되어야 합니다.

클릭 모든 조명 모든 Hue 조명을 보려면 전체 조명 그룹에 속하는 것으로 정의했기 때문입니다.

Office Hue 항목은 다른 아이콘으로 표시됩니다. 이는 내 사무실 조명이 이미 켜져 있고 OpenHAB가 Hue 브리지와 대화할 때 이를 알고 파일의 'on' 버전 아이콘을 조정할 만큼 충분히 똑똑했기 때문입니다. 안타깝게도 색상은 반영되지 않지만 모바일 앱이 설치된 경우 현재 색상이 반영됩니다.

정의한 것보다 더 많은 항목이 표시되거나 여러 정의에 대한 오류가 수신되는 경우 페이지에 한 번에 하나의 사이트맵만 로드할 수 있지만 모든 사이트맵은 모든 .item 파일에서 항목을 가져옵니다. , 따라서 데모 항목 파일을 그대로 둔 경우 그룹에 일부 추가 항목도 표시될 수 있습니다. 이 시점에서 데모 항목 콘텐츠를 백업하고 폴더 밖으로 이동하여 중복 오류를 방지하는 것이 좋습니다.

원격 액세스 및 My.OpenHAB를 통한 IFTTT

지금은 동일한 로컬 네트워크에 있어야 OpenHAB 시스템에 액세스할 수 있지만 Wi-Fi 범위를 벗어날 때 장치를 제어하고 센서를 확인하려면 어떻게 해야 할까요? 이를 위해 원격 액세스를 설정해야 합니다. My.OpenHAB 웹 서비스 [Broken URL Removed]를 사용하여 포트 전달 및 라우터 구성을 엉망으로 만들 필요가 없습니다. 보너스로 My.OpenHAB 서비스에는 IFTTT 채널도 있어 원격 제어 및 자동화에 대한 무한한 가능성을 제공합니다.

먼저 바인딩을 설치합니다. 빠른 팁: 특정 설치 패키지의 정확한 이름을 모르는 경우 apt-cache로 검색해 보십시오.

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

My.OpenHAB 사이트에 등록하기 전에 비밀 키를 만들고 설치를 고유하게 식별하는 UUID를 찾아야 합니다. 아래에서 확인 OpenHAB 홈 공유 -> 웹앱 -> 공전 고유 식별자가 포함된 UUID 파일을 찾아야 합니다. 이 시점에서 내 Pi가 비밀 키를 올바르게 생성하지 않는 이전 버전의 Java를 사용하고 있음을 발견했습니다. 유형

java -version

확인하다. 1.7 이상이라고 표시되지 않으면 잘못된 버전입니다. 이상하게도 최신 버전의 Raspbian에는 Oracle Java 8이 설치되어 있지만 기본값으로 설정되어 있지는 않습니다.

sudo 업데이트 대안 --config 자바

자동으로 문자 메시지를 이메일로 전달

나타내는 옵션을 선택하십시오. jdk-8-oracle , OpenHAB을 다시 시작합니다. 보너스: Oracle Java 8은 기본 OpenJDK보다 빠릅니다!

이제 당신은 또한 비밀 파일을 찾아야합니다 웹앱/정적 폴더. 둘 다 열어 비밀 그리고 uuid , 복사 붙여넣기를 준비합니다.

이제 해당 세부 정보를 사용하여 My.OpenHAB 계정을 만든 다음 다시 돌아와서 작동하기 전에 이메일을 확인해야 합니다. 여기에 몇 가지 단계가 더 있습니다. 먼저 기본 지속성 엔진을 myopenhab으로 설정해야 합니다(지속성은 이후 가이드를 위한 것이지만 관계없이 데이터를 온라인 서비스로 '내보내기'하고 IFTTT에서 볼 수 있도록 하려면 기본적인 것을 설정해야 함) . 이렇게 하려면 openhab.cfg를 열고 다음과 같은 변수를 찾으십시오. 지속성:기본값= 그리고 그것을 변경 지속성:기본값=myopenhab . 구하다.

마지막으로 새 파일을 생성합니다. 구성/지속성 폴더 myopenhab.persist , 다음 규칙에 붙여넣습니다.

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

지금은 이것을 이해할 필요가 없지만 '변경될 때 모든 항목 상태를 저장하십시오'라는 것을 알고 있습니다.

IFTTT와 연결하려면 OpenHAB 채널 – MyOpenHAB 계정을 인증하고 액세스 권한을 부여해야 합니다. 또한 항목이 한 번 이상 변경될 때까지는 IFTTT의 항목 목록에 표시되지 않으므로 표시되지 않는 경우 항목을 켜고 껐다가 다시 로드합니다. 축하합니다. 이제 OpenHAB 시스템의 모든 것에 IFTTT에 완전히 액세스할 수 있습니다!

REST를 사용한 블루투스 존재감지 센서

얼마 전에 Bluetooth 스캐닝을 사용하여 사용자의 존재를 감지하는 자동 사무실 도어록을 만드는 방법을 보여 드린 적이 있습니다. 저는 OpenHAB에 이와 같은 것을 가져오고 싶었습니다.

Raspberry Pi 이외의 플랫폼에서는 기성품 Bluetooth 바인딩 덕분에 간단합니다. 불행히도 ARM 아키텍처용으로 다시 컴파일하고 바인딩에 추가한 다음 바인딩을 다시 빌드해야 하는 중요한 Java 파일로 인해 Pi에서는 작동하지 않습니다. 말하자면, 나는 그것을 시도했지만 끔찍하게 복잡하고 작동하지 않았습니다. 그러나 OpenHAB의 완전한 확장성에 대한 좋은 소개 역할을 하는 훨씬 더 쉬운 솔루션이 있습니다. OpenHAB RESTful 인터페이스에 직접 보고하도록 이전 Python 스크립트를 간단히 적용할 것입니다.

제쳐두고: RESTful 인터페이스는 단순히 URL을 호출하고 데이터를 전달하거나 가져오기만 하면 내장된 웹 서버를 사용하여 시스템과 상호 작용할 수 있음을 의미합니다. 이 URL을 방문하여 자체 서버에서 이에 대한 간단한 예를 볼 수 있습니다. http://raspberrypi.local:8080/rest/items – 정의된 모든 항목의 코드화된 목록을 출력합니다. 이것은 OpenHAB의 모든 잠재력을 드러내고 사용자 정의 인터페이스를 작성할 수 있게 해주기 때문에 매우 강력합니다. 또는 역으로 사용하여 특정 바인딩 없이 센서의 상태를 보고합니다. 이 기능을 사용하여 Bluetooth 바인딩에 의존하지 않고 특정 Bluetooth 장치의 존재를 보고합니다.

새로 추가하여 시작 스위치 당신의 아이템 home.items 파일. 나는 내 전화를 'JamesInOffice'라고 불렀고 내 전화가 죽을 경우 내 존재를 수동으로 제어할 수 있도록 단순한 켜기/끄기 연락처가 아닌 스위치로 만들었습니다.

Switch JamesInOffice 'James in Office' (Office)

아이콘을 정의하지 않았거나 특정 바인딩을 연결하지 않았습니다. 그냥 일반적인 스위치입니다.

그런 다음 호환되는 USB Bluetooth 동글을 삽입하고 동글과 상호 작용하기 위한 몇 가지 기본 도구를 설치합니다.

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

마지막 명령은 Bluetooth 어댑터를 표시해야 합니다. 아무 것도 나열되지 않으면 다른 어댑터를 사용해 보십시오. 귀하의 어댑터는 Linux와 호환되지 않습니다. 다음 단계는 장치의 Bluetooth 하드웨어 주소를 찾는 것입니다.

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

휴대폰이 Bluetooth 설정 페이지(페어링/공개 모드로 전환됨)에서 열려 있고 Bluetooth가 활성화되어 있는지 확인하십시오. 나열된 16진수 하드웨어 주소를 찾아야 합니다.

Pi 사용자 홈 디렉토리에서 새 Python 스크립트를 만들고 이 코드에 붙여넣기 .

특정 기기 주소부터 수정해야 할 사항이 몇 가지 있습니다.

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

뿐만 아니라 이 라인은 두 곳에 있습니다(예, 이것은 아마도 더 잘 구성될 수 있습니다). JamesInOffice를 정의한 스위치의 코드명으로 변경하십시오.

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

마지막 단계는 이 스크립트가 부팅 시 시작되도록 지시하는 것입니다.

sudo nano /etc/rc.local

아래로 스크롤하여 0번 출구 바로 앞에 다음 줄을 추가합니다.

python /home/pi/detect.py &

& 기호는 '이 작업을 백그라운드에서 수행'을 의미합니다. 스크립트를 아직 실행하지 않은 경우 실행하고 OpenHAB 인터페이스를 엽니다. 그룹에 추가한 경우 해당 그룹으로 클릭합니다. 업데이트하는 데 약 10초가 걸리지만 휴대전화가 감지되는지 여부에 따라 기본 전구 아이콘이 켜지거나 꺼지는 것을 볼 수 있습니다. 아무 일도 일어나지 않으면 로그 파일을 확인하십시오. 잘못된 항목 이름을 사용했을 수 있습니다.

OpenHAB 모바일 앱

물론 모바일 장치에서 웹 인터페이스를 사용할 수 있지만 OpenHAB에는 두 가지 모두를 위한 기본 앱이 있습니다. iOS 그리고 기계적 인조 인간 - 그리고 그들은 보인다 많은 기본 브라우저 인터페이스보다 좋습니다. 설정 화면에서 포트 번호를 포함하여 지금까지 사용하고 있는 내부 IP로 로컬 URL을 입력합니다. 원격 URL의 경우 다음을 입력하십시오. https://my.openhab.org , 그리고 가입할 때 입력한 사용자 이름(이메일)과 비밀번호. 아직 MyOpenHAB에 가입하지 않았다면 인증 및 원격 URL을 비워두세요. 하지만 로컬 Wi-Fi에서만 시스템에 액세스할 수 있습니다.

앞으로 나아가고 도움 받기

OpenHAB 컨트롤러에 추가할 수 있는 사용자 정의 및 깔끔한 기능의 양은 정말 대단합니다. 바인딩이 있는 지원되는 장치의 방대한 목록뿐 아니라 RESTful 인터페이스, HTTP 확장 및 IFTTT를 사용하여 말 그대로 모든 종류의 IoT 장치를 읽거나 제어할 수 있습니다. 예, 설치하는 것은 절대적인 고통이지만 단일 상용 시스템은 맞춤형 OpenHAB 시스템의 성능에 근접할 수 없습니다.

즉, 타는 것이 나에게는 전혀 쉬운 일이 아니었습니다. 이것이 바로 내가 이 가이드를 작성한 이유입니다. OpenHAB 시스템이 압도적이라고 생각한다면 Raspberry Pi를 사용하여 차고 문을 자동화하는 것과 같은 Raspberry 홈 자동화와 관련하여 다른 옵션이 있습니다.

Z-Wave 및 설정할 수 있는 기타 멋진 트릭을 다루는 고급 가이드를 보려면 MakeUseOf를 계속 지켜봐 주십시오.

이 가이드의 특정 부분에 대한 도움이 필요하면 댓글로 요청하세요. 다른 바인딩이나 아직 다루지 않은 고급 주제에 대한 도움이 필요하면 공식 OpenHAB 포럼 환영하는 곳입니다.

공유하다 공유하다 트위터 이메일 VirtualBox Linux 시스템을 강화하는 5가지 팁

가상 머신이 제공하는 열악한 성능에 지쳤습니까? VirtualBox 성능을 높이려면 다음을 수행해야 합니다.

다음 읽기
관련 항목
  • DIY
  • 똑똑한 집
  • 홈 오토메이션
  • 장형
  • 롱폼 가이드
  • 스마트 허브
저자 소개 제임스 브루스(707건의 기사 게재)

James는 인공 지능 학사 학위를 보유하고 있으며 CompTIA A+ 및 Network+ 인증을 받았습니다. 하드웨어 리뷰 편집자로 바쁘지 않을 때는 LEGO, VR 및 보드 게임을 즐깁니다. MakeUseOf에 합류하기 전에 그는 조명 기술자, 영어 교사 및 데이터 센터 엔지니어였습니다.

제임스 브루스가 참여한 작품 더보기

뉴스레터 구독

뉴스레터에 가입하여 기술 팁, 리뷰, 무료 전자책 및 독점 거래를 확인하십시오!

구독하려면 여기를 클릭하세요.