※ 삼성전자의 지원으로 작성한 후기입니다

 

SmartThings를 인수하여 본격적인 IOT에 진입한 삼성에서도 드디어 스마트 홈 스피커를 출시합니다.

SmartThings Platform으로 IOT 환경을 구축한 저에게도

삼성의 베타 테스트 프로그램을 통하여 남들보다 미리 Galaxy Home Mini를 써 볼 수 있었습니다.

박스는 심플하며 구성품은 본체와 충전기가 들어 있습니다.

우선 전원을 연결하면 음성으로 연결하는 과정을 안내해줍니다.

먼저. 전원을 연결한 후에 스마트폰에서 SmartThings 어플을 실행해 줍니다.

그러면 자동으로 Galaxy Home Mini 연결 창이 뜹니다.

그다음은 안내하는 대로 따라가다 보면 연결이 됩니다. 

연결이 완료되면 Galaxy Home mini 카드가 추가됩니다.

이 카드를 선택 후에 들어가면 Galaxy Home Mini 기능을 설정할 수 있습니다.

 

모든 캡슐에는 Galaxy Home Mini가 지원하는 여러 서비스를 설정할 수 있는데요

아래와 같이 여러 서비스가 있습니다.

계속 추가도 된다고 하니 갤럭시 홈 미니로 할 수 있는 서비스가 늘어나겠네요. 

 

저는 IR 리모컨 기능을 잘 쓰고 있는데요.

리모컨이 항상 어딨는지 몰라서 그런지...

설정하는 법은 메인 창에서 IR 리모컨 메뉴를 선택해 줍니다.

디바이스 추가를 누르기 전에 

Galaxy Home Mini를 제어하려는 장치와 일직선이 보이기 위해 개방된 장소에 설치를 하셔야 합니다.

TV를 제어하는 것이므로 디바이스에서 TV를 선택합니다.

그다음 TV 브랜드를 고르고 다음을 누르면

TV에 맞는 IR 신호를 전송하는지 테스트하기 위해서 전원 버튼이 나옵니다.

전원 1을 누르면 TV가 켜지는지 테스는 하는 건데. 

제대로 동작한다면 작동함을 눌러서 다음 단계로 가시면 되고요. 작동 안 한다면 전원 2로 테스트하시면 됩니다.

저는 한 번에 작동해서 "작동함"을 눌러서 다음 단계로 진행했습니다.

그다음에 위치와 TV 공급자를 선택해 주시고요. 만약 셋톱이 있다고 하면 셋톱도 골라주시면 돼요.

TV 공급자를 선택하는 이유는 "EBS 틀어줘"라고 했는데 TV 공급자마다 채널번호가 달라서 그렇습니다.

그다음에는 TV 이름을 넣어주시면 되는데요. 거실 TV도 있고 안방 TV도 있다면 이름을 달리해서 적어주시면 좋아요.

IR을 추가하시면 SmarThings에 IR 카드가 추가되어 있습니다.

이 카드를 선택해서 들어가시면 TV 리모컨 같은 메뉴가 보이는데 이걸 이용하셔도 TV 채널을 바꾸실 수 있고

"하이 빅스비 EBS 틀어줘" 이렇게 하셔도 됩니다.

 

다음 글에서는 스마트 홈 스피커를 활용한 다른 기능을 소개해 드릴게요.

 

총평

.. 음향이 진짜 좋은데 어떻게 보여주지.. AKG 최고.. 

반응형

※ 직접 구매하여 작성한 후기 입니다

[IOT] - HA(Home Assistant) Synology Docker 설치기

[IOT] - HA(Home Assistant) HTTPS 외부 접속 설정

 

Home Assistant 구성을 시작하게된 계기는 

SmartThings로 연결된 여러장치를 Home Assistant에 바로 옮길 수 있다는 장점이었다.

 

SmartThings에 연결해서 잘 사용하는데 왜 HA를 설치를 필요하냐고 물으신다면.

단적으로 HA는 Samsung만이 아닌 LG가전도 연결할 수도 있고 UI도 꾸밀 수 있고.

할 수 있는 일이 많아진다.

 

SmartThings-HA 연결은 Mqtt로 비공식적으로 연동은 되었지만.

19년 2월에 릴리즈된 HA 0.87 버전에서는 공식 연동이 지원된다.

https://www.home-assistant.io/components/#version/0.87

연결을 설정하기 전에 위의 글을 이용하여 

HA를 설치하고 HTTPS 연결이 전제되어야 한다

HA-SmartThings 설치(HA)

이제 SmartThings와 Home Assistant를 연결해보자.

Home Assistant의 https 접속설정이 되었으면 이제 SmartThings component 설정이 가능하다.

 

HA 공식 홈페이지에서도 연결방법을 제공한다.

1. HA에 접속해서 설정-> 통합 구성요소로 들어가자.

Reverse Proxy로 연결했으면 http://내부NAS IP:8123으로 접속.

왼쪽 상단을 클릭하고 설정으로 들어가면 된다.

설정에서 통합 구성 요소를 클릭하다.   

2. 통합 구성요소를 살펴보면 SmartThings가 있는데 거기서 설정하기를 클릭하자.

3. Enter Personal Access Token 화면이 나오면 SmartThings의 개인 토큰을 입력해야 하는데 

Personal Access Token을 클릭하면 개인 토큰을 받는 페이지가 나온다.

4. 로그인을 해주자.

5. 새 토큰 만들기를 클릭하자.

6. 새 권한 토큰을 발급 받기 위해서는

토큰 이름을 입력하고 관련 권한을 설정해주면 되는데 권한 범위는 

왠만하면 다 클릭해주자.(아래 그림에서는 누락된 장치 / 설치된 앱도 다 클릭해주자)

그 다음 토큰 만들기를 클릭

7. 토큰이 만들어 졌으면 "토큰 복사"를 클릭해서 HA로 붙여 넣는다.

8. 토큰을 붙여넣고 summit을 클릭하면 HA에서 설정을 끝났다.

 

HA-SmartThings 설치(SmartThings App)

Home Assistant 설정을 끝낸 이후에는 SmartThings App에서 access를 허가해줘야 한다.

9. SmarThings Classic으로 접속해서 My Apps -> Home Assistant를 선택

10. Home Assistant로 입력해주고 "Done"를 클릭

11. "Allow"로 Home Assistant가 SmartThings에 접속하는 권한을 승인해준다.

12. Home Assistant로 가보면 아래와 같은 Success!가 떠 있다.

13. 연결 완료!!

연결이 완료되어 SmarThings의 센서/ TV /선풍기들이 모두다 HA로 들어와 있다.

물론 on off도 가능하다.

결론

가족들에게 SmartThings 어플 대신 HA를 써도 된다고 설명해주려 했으나.

구글홈에만 말하는 가족들에게는.. 그냥 똑같다..

나중에 LG 가전 붙이면 좀 티가 나겠지?

 

 

 

반응형

※ 직접 구매하여 작성한 후기 입니다


[IOT] - HA(Home Assistant) Synology Docker 설치기


Home Assistant를 설치한 이후 

집 밖에서 외부망(휴대폰)을 이용해 서비스를 이용하려면 외부에서 접속이 가능하게 해줘야 한다.


그래서 우리는 포트포워딩으로 외부에서 우리 집 공유기를 통해 들어오는 길을 열어주는 일을 해보고자 한다.

하지만 그냥 활짝 열어두면 보안 문제가 생기니 패킷이 암호화 되어 있는 HTTPS로 접속을 설정하자.

HTTPS 접속 설정

HTTP와 HTTPS의 차이점은 암호화의 차이인데.

HTTPS SSL은 기존의 HTTP 프로토콜이 단순 평문 텍스트 전송으로 인한 보안문제가 있어서 이를 해결하고자 OSI 7 Layer 중 세션 계층에서 응용계층 프로토콜을 암호화하여 보안프로토콜화 시킨것이다. 

SSL(Secure Socket Layer)의 동작과정은 아래 그림으로 잘 이해 할 수 있다.


출처 : http://wiki.gurubee.net/display/SWDEV/SSL+%28TLS%29

그럼 우리는 여기 나오는 인증서를 어떻게 발급 받을 것인지에 대해 고민에 빠질텐데.

다행히 Synology NAS에서는 무료 인증서는 Let's Encrypt 인증서를 발급 받을 수 있다.


근데 몇몇분은 왜 어렵게 이렇게 접속을 해야하냐고 물으신다고

보안 뿐 아니라. SmartThings를 Home Assistant의 Component로 연결할려면 HTTPS 연결이 필수이다.

Let's Encrypt 인증서 발급

그래서 우리는 인증서를 발급 받아보도록 하자

1. Synology NAS의 제어판에서 "보안"의 "인증서"텝을 들어간다.

2. 들어가면 기본 인증서가 있는데 "추가"를 클릭하고 "기존 인증서 교체"를 클릭한다.

3. "Let's Encrypt에서 인증서 얻기"를 선택하고 다음을 선택한다.

4. 도메인 이름에는 : DDNS를 입력

   이메일을 입력한 후에 적용을 클릭한다.

5. 그러면 인증서를 얻어 오는데 30초 정도 걸린다.

인증서를 얻는 과정은 끝이 났다.

Port Forwarding 설정

이제는 포트 포워딩을 설정하자.

포트 포워딩이 생소하다면 아래 글을 들어서 한번 읽어보자

원리가 잘 설명 되어 있고 iptime 공유기로 설정하는 법도 설명해 놓았다.

https://iamakira.tistory.com/45


HTTPS - SSL 위의 HTTP (암호화 전송)은 443 포트를 쓴다.

아래는 주요 TCP 포트

https://ko.wikipedia.org/wiki/TCP/UDP%EC%9D%98_%ED%8F%AC%ED%8A%B8_%EB%AA%A9%EB%A1%9D


asus 공유기 기준으로 설명을 드리면

6. 공유기 관리 페이지에 로그인 후에 "WAN -> 가상 서버/ 포트 포워딩"로 들어간다.

그 다음 위의 그림과 같이 입력해준다.

서비스 이름 : HA_HTTPS

포트범위 : 443

로컬IP : NAS IP를 적어준다.

로컬포트 : 443 

프로토콜 : TCP


그 다음 적용이 아닌 "+"를 먼저 눌러주고 적용을 눌러줘야 한다.


위의 포트포워딩의 의미는 외부에서 HTTPS로 들어오면 내부의 HTTPS로 포트를 포워딩 해주라는 것이다.

근데.. 좀 이상하다.. 분명 HA는 8123 포트라고 했는데..


외부에서 들어오는 HTTPS 포트를 8123 포트로 바로 포워딩 하면 SmartThings 연결에 어려움이 있다는 글을 보고 

Reverse Proxy를 사용하여 443포트를 8123으로 연결하기로 했다.

Reverse Proxy 설정

Reverse Proxy 외부에서 내부 서버가 제공하는 서비스 접 시, Proxy 서버를 먼저 거쳐서 내부 서버로 들어오는 방식이다. 외부 사용자는 실제 내부망에 있는 서버의 존재를 모른다. 모든 접속은 Reverse Proxy 서버에게 들어오며, Reverse Proxy는 요청에 맵핑되는 내부 서버의 정보를 알고 요청을 넘겨준다. 따라서 내부 서버의 정보를 외부로부터 숨길 수 있다.


7. 역방향 프록시를 사용하기 위해 NAS의 "응용 프로그램 포털 -> 역방향 프록시"로 들어간 후 생성을 눌러준다

8. 역방향 프록시 규칙을 설정해주자.

"설명"에는 "HA_HTTPS" 

소스에는 "프로토콜"은 HTTPS / "호스트 이름"은 "시놀로지 나스의 DDNS" / "포트"는 "443"

아래 "HSTS 활성화"와 "HTTP/2 활성화"를 클릭해주고

대상에서 "프로토콜"은 "HTTPS" / "호스트 이름"은 "localhost" / "포트"는 "8123"을 기입한다.

9. "사용자 지정 머리글" Tab으로 이동하여 "생성"을 클릭한 후에 "websocket"을 눌러주고 "확인"을 클릭한다.


HA configuration.yaml 수정

10. Synology file로 config 폴더에 있는 confuguration.yaml을 열자

     http: 아래 부분을 추가하면 되는데 나머지는 아래와 동일하게 넣고

     base_url에 NAS의 DDNS 해당하는 주소를 넣어주면 된다. (아래 예시는 xxxxxx로 표시되어 있는 부분) 



11. 재구동

Docker로 돌아가서 HA를 재구동 하자.


12. 자 이제 https로 접속해보자

   주소는 https://DDNS로 들어가면 되는데 https://xxxxxx.synology.me로 들어가면 된다.

접속 성공!

휴대폰 어플 home-assistant에서도 동일하게 세팅하여 접속 가능하다.

결론

안전한 접속을 세팅하느라 공부한것도 많았고 시간도 걸렸지만.

가족들은 뭐가 달라졌는지 모른다. 자기만족...


반응형

※ 직접 구매하여 작성한 후기 입니다

[IOT] - Synology 718+ NAS 개봉기

NAS를 사서 해보고 싶었던docker 위에 여러 플러그인을 올려서 돌리는 것인데

때마침 Home Assistant가 SmartThings를 공식 Component로 지원을 하기 시작했다는 기사를 보고 

Home Assistant를 설치하기로 했다.


Home Assistant 설치

Home Assistant에 Synology NAS 설치법은 자세히 나와 있다

https://www.home-assistant.io/docs/installation/docker#synology-nas

다만 다른 설치법도 가득 가득해서 관련된 부분만 따로 캡처해서 가져왔다.


Docker는 이미 Synology에 깔려 있다는 가정하에 Docker를 실행한다


1. 레지스트리에서 home-assistant를 검색하고 "homeassistant/home-assistant"를 클릭한후 "다운로드"를 클릭한다.

2. 다운이 완료되기에는 시간이 좀 걸리는데 용량이 좀 크긴 하다. 다운로드가 완료되면 "이미지" Tab으로 가면 다운로드된 파일이 있는데 선택 후에 "실행"을 누르면 컨테이너가 뜬다.

3. 고급 설정을 클릭한다

4. 고급 설정에서는 "자동 재시작 활성화"를 선택한다

5. 볼륨에서는 설정파일이 저장된 경로를 선택하는데 "폴더 추가"를 클릭하여 폴더를 선택한다.

6. 미리 공유폴더에 Homeassistant를 만들고 그 안에 config 폴더를 추가 해 놓았다.

   config 폴더를 선택해준다. (대소문자를 구분하니 폴더를 왠만하면 소문자로 만드는게 좋다)

7. 마운트 경로는 "/config"를 입력해준다. 소문자이며 공백없이 입력해주면 된다.

8. 네트워크 Tab에서는 "Docker 호스트와 동일한 네트워크 사용"을 선택해준다.

9. 환경 Tab에서 는 Home Assistant가 정확한 시간을 표기해 주도록 "+"를 클릭하고 변수에는 TZ, 값에서는 Asia/Seoul를 입력해준다. 

 해당하는 timezone은 아래 주소에서 찾을 수 있다,

https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

10. "적용"을 클릭할 경우 사용자가 설정한 화면을 볼 수 있는데. 이상 없으니 "적용"을 한번 더 클릭하자

11. 컨테이터 설정은 끝났고 사용자가 지정한 폴더를 들어가면 Home-assistant 설정 파일이 있는데 그 중에서 

    configuration.yaml 파일과 secrets.yaml파일을 수정하도록 하자.

   수정하는 방법은 File Station에서 직접 수정해도 되지만 해당 경로를 Samba로 접속해서 Notepad++로 수정을 하자.

Notepad++ 사용하여 HA yaml파일 수정

Home-assistant의 yaml 파일은 띄어쓰기가 가장 중요한데. 한 칸의 띄어쓰기 때문에 접속이 안될 수도 있으니

아래 프로그램(Notepad++)을 다운 받고 설정해서 쓰도록 하자.

https://notepad-plus-plus.org/download/v7.6.3.html 


설정은 아래를 보고 하자

https://community.home-assistant.io/t/tips-for-editing-yaml-with-notepad/4295


Notepad++ 프로그램에서 설정 -> 스타일 설정에서 YAML을 선택하고 사용자 확장자에 "yaml"을 적어주고 적용

Notepad++ 프로그램에서 설정-> 기본 설정의 언어 메뉴서 yaml 선택하고 Tab Size를 2로 바꿔주자


HA configuration 파일 수정

12. 이제 준비가 되었으니 아래 경로에 있는 두개의 파일을 열자

13. 그 다음 Configuration에서는 빨간색 네모를 쳐진 2가지를 추가한다.

tab을 누르면 2칸씩 띄워지는데 위치를 잘 보고 추가하자. 

homeassisstant: 밑에 auth_providers: 밑에 - type: legacy_api_password  (띄우기 정말 중요)

   위에 세팅하는건 '사용자 비밀번호만으로 로그인을 제한한다'는 뜻이다

http: 밑에 api_password: !secret api_password 추가

  위의 명령어는 'secrets.yaml의 파일안의 비밀번호를 http로 접속하는 비번으로 쓰겠다'는 뜻이다.

14. Secrets.yami에서는 로그인 비밀번호로 쓸 비밀번호를 입력한다.

    xxxxx에 쓸 비밀번호를 입력하다.

15. 저장한 이후에 Docker로 다시 돌아가 homeassistant를 재구동 해주면 되는데 

    재구동 하는 방법은 여러방법이 있으나 비디오 형식 Tab에서 해당 빨간색 박스를 클릭하면 OFF되었다가 다시 클릭하면 ON이 된다.


16. 이제 그럼 접속해보자.

Homeassistant의 port는 8123번이다. 아래 주소를 크롬에서 입력하면 Homeassistant가 뜰것이다.

http://NAS주소:8123


secrets.yaml에 입력한 비번을 입력하면 로그인이 된다.

설치는 이걸로 끝이지만 이제는 외부 접속도 추가하고 UI도 추가하고 SmartThings도 연결하자.

결론

아 끝나긴 했는데 남은게 더 많은...

언제 세팅 다 하려나.





반응형

※ 직접 구매하여 작성한 후기 입니다


Neato 로봇 청소기를 Google Home에 붙여 음성인식으로 활용하고 있다.


[IOT] - Neato Botvac D5 Connected 개봉기 (우리집 로봇 청소기)

[IOT] - Neato D5 로봇청소기 Google Home에 연결하기


자동화를 위해서는 SmartThing에 붙여야 하는데

Neato 로봇 청소기는 공식적으로 SmartThings를 지원하지 않는다.

하지만 Smartthings 커뮤니티에 가보니 Alex Lee라는 분이 Device Handler를 만들어 놓으셨다.

자세한 내용은 아래 URL에서 확인할 수 있다

https://community.smartthings.com/t/release-neato-connect-v1-2-3-botvac-connected-series/60039


물론 요즘은 유튜브가 대세다 보니 영상으로도 후기가 있다.


자 이제 시작해보자.


1. SmartThings의 SmartApps과 Device Handlers 설치를 수행해야 하는데 자세한 방법은 아래 링크를 참조하면 된다.

[IOT] - SmartThings SmartApps/ Device Handlers 설치


Git Hub를 사용해서 SmartApps와 Device Handlers를 설치 할 것이다.

SmartApps의 Setting을 클릭한다.

Add new repository를 클릭하고 아래와 같이 입력하고 Save를 한다.


Update from Repo에서 SmartThingsPublic을 클릭하면 아래 화면이 뜨는데

Ctrl + F로 neato를 검색한다.

빨간색 박스로 된 neato 항목을 클릭하고

아래의 publish를 클릭후 Execute를 클릭하면 아래 화면이 나온다.

그리고 OAuth를 수행해준다.

이 부분을 빠뜨려서 안되는 경우가 많으니 잊지말고 OAuth를 수행하자.

App Settings 클릭

OAuth를 클릭해서 Enable OAuth in Smart App을 클릭해준다.

위와 동일한 방법으로 

My Device Handlers 메뉴를 클릭하여 

Update from Repo에서 SmartThingsPublic을 클릭하면 아래 화면이 뜨는데

Ctrl + F로 neato를 검색한다.

빨간색 박스로 된 neato 항목을 클릭하고

아래의 publish를 클릭후 Execute를 클릭한다.


2. SmartThings 어플에서 Neato를 세팅하자

SmartThings IDE에서 할 일은 끝나고 SmartThings 어플로 가서 세팅 하자.

SmartThings New app이 아닌 Classic app로 들어가야 한다.

제일 하단 메뉴의 Automation 클릭

윗쪽에 SmartApps 클릭


다시 아랫쪽에 + add a SmartApp 클릭하면 아래 화면이 나온다.

그 다음 My Apps을 클릭한다.

Neato가 나오면 클릭한 이후에 

Click to enter Neato Credentials를 클릭하여 Neato 계정으로 로그인한다.

계정 입력을 완료하면 아래 화면이 뜨면서 연결이 되는데 Done을 눌러주면 된다.

 

그 다음 Choose your Neato Botvacs을 클릭해서 해당 Neato를 선택해주면 된다.

그럼 연결이 완료 되었다.

이제 어플로 Classic 어플로 돌아가면 아래 화면이 보인다.


물론 New 어플에서도 확인 가능하나 단순히 On / Off만 되는듯 하다.

연결이 되었으니 이제 자동화에 추가 할 수 있게 되었다.

집에 사람이 없으면 시작하고 중간에 사람이 들어오면 중지하도록~~


편하겠죠?







반응형