※ 우리 부부가 직접 구매하고 사용한 후기입니다. 

 

현재 SmartThings에서는 조건으로 특정요일만 지정할뿐 공휴일이나 연차때에 대한 조건을 쓸수 없었다

 

그래서 Google calendar를 연동해서 오늘이 휴일인지 아닌지 구분할수있는 센서를 만들었다.

 

 

정리하자면 3가지중에 하나라도 걸리면 휴일이라고 판단하고있다

 

1. 요일 - 사람마다 쉬는 요일이 다르기때문에 자기가 쉬는날을 체크하면된다

2. 공휴일 - Google Calendar에서는 빨간날을 모른다 그리고 사람또는 회사마다 조금씩 편차가있으니 자기가 쉬는 날 체크하면된다.

3. TAG - 본인 연차라던가? 근로자의날(구글에서 제공안함), 회사 창립기념일, 학교 개교기념일, 그리고 격주로 생성된 일정 생성시에 memo에 #dayoff만 넣어두면 알아서 휴일로 인지된다.

 

이제 이 센서를 조건으로 사용하면 좀더 스마트하게 자동화 룰을 생성할수있다.

 

하나 예를 들면 이런거?

예전 : 매일 일출시 커튼 열어를 했던것을 

이제 : 매일 일출시 && 휴일이 아닌날에 커튼을 열어로

 

New SmartThings 앱에서도 룰로 사용할수있습니다~

 

 

 

 

첫시작 Google Calendar API Client ID 받기

 

우선 일루 이동

https://console.developers.google.com

 

Google Cloud Platform

하나의 계정으로 모든 Google 서비스를 Google Cloud Platform을 사용하려면 로그인하세요.

accounts.google.com

 

이동하면 프로젝트가 없을것이다 프로젝트부터 만들자

 

 

프로젝트를 만든다음에 이제 Google Calendar API를 Enable하자 아래 따라~~

 

 

이제 Enable은 됬고 OAuth client ID를 발급받자

아래따라~~~

 

 

 

위에 보이는 client ID와 client secret 아이디를 복사해두자

이때 복사 못했어도 다시가서 볼수있다

 

복사는 끝났고 이제 github의 코드를 가져와야한다

방법은 오날두님 Youtube로 대체 

 

github 정보는 위와같으니

 

SmartApp 설치시에 필요작업은

위에 복사해둔 client ID, client secret 넣고 oauth enable만 하면 끝

 

그리고 DTH도 같이 꼭 publish하고

 

그리고 Classic SmartThings 앱으로 가서 아래와 같이 설치 ㄱㄱ

 

 

Save를 하게되면  이제 설정은 끝

아래처럼 Device가 생성이 될것이고 

구글 캘린더에가서 일정을 만들때

메모에 #dayoff 를 작성해두면 그날을 휴일로 인식하게끔 되어있다.

 

 

 

 

궁금한점은 댓글주세요

 

※ 공감 및 댓글 한마디는 포스팅하는데 큰 힘이 됩니다.


  1. Favicon of http://breadzini.kr BlogIcon Breadzini 2019.04.27 17:16

    와.. 이 부분 정말 제가 필요했던 기능..! 하지만 저는 홈브릿지 기반 홈킷 만 사용하고 있어서 찾아보니 이런게 있더라구요. > https://www.npmjs.com/package/homebridge-calendar 아직 테스트 해보진 않았지만 홈브릿지 사용자는 이 쪽을 활용해봐도 괜찮을 것 같네요.

  2. 겨울이다 2019.06.03 09:16

    제가 적용해보니 하루에 한번 리프레쉬가 안되는데.
    혹시 따로 설정해줘야 하는게 있나요?

    버튼을 눌러 리프레쉬를 하고 있긴한데.

    지금도 6/1일을 찍고 있습니다.

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2019.06.03 23:27 신고

      안녕하세요 아닙니다 기본적으로 3시간마자 리프레쉬를 하고있습니다 테스트로 생성된 디바이스의 컨피귤레이션에서 인터벌을 1시간마다로 변경하신 다음에도 안되는지 확인 부탁드려도될까요? 그리고 앱이랑 dth 최신인지 확인부탁드릴게요 0.0.4

  3. 럽2유3 2019.09.05 14:14

    안녕하세요. 이 좋은 기능을 최근에서야 알게 됐습니다.
    감사히 잘 사용하겠습니다.

    한가지 개인적인 바램이 있다면, #dayoff태그 반대기능(#workday)이 있었으면 좋겠습니다.
    공휴일 출근이라면 해당 휴일 체크를 해제하는 걸로 가능하지만.
    저처럼 분기 결산회의 참석을 가끔 주말에 하는 경우는 공휴일이 아닌 평소 쉬는 요일에 해당되기 때문에
    설정이 애매합니다.


    혹시 가능하시다면 검토 부탁드립니다.
    다시 한번 좋은 기능 만들어 주셔서 감사드립니다.

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2019.09.06 01:22 신고

      카페에도 답을 드렸지만 좋은 의견 감사해요^^ 요즘 회사일이 너무 바빠 한가해지면 꼭 말씀하신 내용 넣겠습니다 ㅎ 감사합니다

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2019.10.05 00:45 신고

      방금 업데이트했는데 한번 써보시겠어요 잘될지모르겠메요 안되면 말씀해주세요 0.0.6으로 smartapp이랑 dth둘다 업데이트 하시고 폰smartapp가셔서 save만 다시 눌러주신담에 해보세요 테그는 #workday로 추가하셔서 테스트하시면되구 workday가있으면 홀리데이나 dayoff tag 무시하게했어요


※ 우리 부부가 열심히 일하고 야근해서 받은 머니로 구입한 후기입니다

 

붱이 Story

 

[붱이 Story/IoT] - 구글홈 한국어 지원 - 조명, 커튼, 가전 기기 제어 하기


지난번 정식 국내 출시전에는 컨트롤만 가능해서


SmartThings연동된 조명과 스위치 에어컨 선풍기 가습기 공청기 등등

제어하기만 가능했었다.


근데 18일 정식 출시후에 구글홈 앱에 들어가니

컨트롤기기가 아닌 상태값만 있는 센서들도 업데이트가 되어있더라


이런식으로 도어센서들도 추가가되었다.

근데 아무리해봐도 답을 안해주던데...

근데 단순히 무슨센서 상태 어때? 물어보는건 안되고

꼭찝어서

지금 에어컨 켜져있어?

문 열려있어?

파워 꺼져있어?로 물으면

커튼은 열려있어로는 안되고

제어할대도 커튼 켜줘 꺼줘로 했던것처럼

커튼 켜져있어로 질문해야

답을 해준다


영상하나로 설명 끝


점점 좋아지는 구글홈 어디까지 갈지~


아 그리고 구글홈은 미국 구글홈 미니는 독일서 샀는데


오늘 들어가보니 유투브 프리미엄 6개월을 마찬가지로 주더라

옥션에서만 주는건 줄 알았는데 

다주는건가벼?

난 국내서 산것도아닌데....




※ 공감 및 댓글 한마디는 포스팅하는데 큰 힘이 됩니다.



  1. Favicon of https://blog.weekendproject.net BlogIcon 은쟈은쟈 2018.09.20 08:14 신고

    오잉 나도 유튜브 프리미엄!!


※ 우리 부부가 열심히 일하고 야근해서 받은 머니로 구입한 후기입니다

 

붱이 Story

 

 

[붱이 Story/IoT] - IoT 입문기 1탄 - 로지텍 하모니 구입

[붱이 Story/IoT] - IoT 입문기 2탄 - 로지텍 하모니 세팅

[붱이 Story/IoT] - IoT 입문기 3탄 - DYSON 날개없는 선풍기(AM-07) 하모니 연결 및 제어

[붱이 Story/IoT] - IoT 입문기 4탄 - 10년된 에어컨 하모니에 연결 및 제어

[붱이 Story/IoT] - IoT 입문기 5탄 - 샤오미 센서 SmartThings에 연동 및 삽질기

[붱이 Story/IoT] - IoT 입문기 6탄 - SmartThings hub A/S 및 샤오미 정상 동작

[붱이 Story/IoT] - IoT 입문기 7탄 - SmartThings와 로지텍 하모니 연동하기

[붱이 Story/IoT] - IoT 입문기 8탄 - SmartThings에 Rule Engine CoRE 설치하기

[붱이 Story/IoT] - IoT 입문기 9탄 - 28도가 넘으면 10년된 에어컨을 자동으로 On 하자

 

이제 어느정도 단순 기기 동작까진

얼추 되었고 최초 목표였던

특정온도에 의한 에어컨 제어까지는 잘된다

지금도 잘쓰고있다.

 

 


음성으로 제어해보자 - 구글홈

 

 

이제좀 업그레이드 버젼을 해보자

 

지금까진 스마트띵 앱

또는

하모니 앱

또는

해당기기 리모컨

으로 On / Off 를 했다

 

이걸 음성으로 자고있는 도중이나

리모컨이 멀리있을때 등등

 

당장 끄거나 키고싶을때

음성으로 제어를 해보기에 대한 포스팅이다

(이글을 제일 먼저 보았다면 사전세팅은

1탄부터 4탄까지의 과정이 수반된 뒤에 아래 과정을 할수있다.

절대 1에서 4탄이 없이 아래 과정을 할수 없다)

 

그럴려면 음성을 인식해서 컨트롤 할수 있는 기기가 있어야한다.

 

가장 대표적인건 아마존 알렉사(Amazon Alexa)

그래서 알렉사를 사려고 중고나라에 알림을 걸어두었었다.

가장 보편화되어있으니까???

 

근데 구글 홈으로 급 변경하였다.

 

가장 큰이유는

 

1. makelism님의 조언

내가 안드로이드를 쓰고있으니

구글홈이 더 좋을것같다라는 의견

 

2. 12월이면 공식으로 한국어를 지원한다고 한다.

아마존 알렉사는 한국어 지원에

대한 언급이 아직까진 없다.

 

https://www.google.co.kr/amp/s/9to5google.com/2017/05/17/google-assistant-expands-to-more-new-languages-as-home-goes-up-for-sale-in-new-countries/amp/



- Update -

한국어 지원 관련 포스팅은 여기로

[붱이 Story/IoT] - 구글홈 한국어 지원 - 조명, 커튼, 가전 기기 제어 하기

[붱이 Story/IoT] - 구글홈 정식 출시 한국어로 SmartThings 연동된 기기 상태값 물어보기

[붱이 Story/IoT] - 구글홈 x 필립스 휴 사용자들을 위한 연동 및 사용방법 소개

[붱이 Story/IoT] - 구글홈 & 크롬케스트를 통한 Netflix YouTube 재생 - UC40 미니빔



 

구글홈 구입 및 개봉기

 

 

그래서 구글홈은 급하게 살이유도 없고 해서

 

새거사서 해외배송 10일 20일 기다리느니

그사이 국내 중고를 사기로 마음먹고

중고나라 카페 알림을 걸어두었다.

(전구 on off도 해보려고 6월11일에 아마존에서 구입한게 아직도 안오고있다 ㅠㅠ)

 

좀 사용감있거나 수개월 지난거 11만원

미개봉 14정도에 거래되고 있었다

 

난 11만원뜨는거 겟하려는데

나같은사람이 여럿있나보다

 

알림을 걸어두었는데도 불구하고 두건을 놓쳤다.

 

그리고 뜬

3개월쓴 제품 거의 사용안한 제품

 택배비포함 12에 올라왔다.

 

바로 연락해서 송금

토요일 오후에 받을수있었다

 

상태는 새거나 다름없을정도

 

 

 

위사진에서 아래부분만 다시보면

 

아래와 같은 앱? 회사? 들이 구글홈과 연동된다.

 

나에게 중요한부분은 마지막 회사인 "SmartThings"

 

 

 

그리고 몇가지 예시들이 나열되어있는데

 

4번째 항목

"What's 'nice to meet you' in Korean?"

 

Korean이 예시로 사용된게 눈에 띈다.

 

 

 

 

중고지만 쌔거같다^^

꺼내보니 귀엽다 디자인은 맘에듬

 

 

플러그는 당연 미국에서 왔으니 110v

돼지코 껴서 사용하면된다

 

 

설명서가 심플하다?

진짜 이게 다인지 다른게 있는데 안보낸건진 알수없지만

이거 하나로 설명은 충분하다

 

 

구글홈의 위부분 평소 상태

 

 

Ok Google 또는 hey~ Google 외치거나

 위에 설명서에도 있지만

윗부분 가운데를 꾸욱누르면

아래와 같은 상태가 된다.

주인님 저 들을 준비됬어요??라는 말이다.

 

처음 사용이라 또박또박

발음 신경쓰고

가까이가서 말하고

크게 말했는데

 

 크게

또박또박

가까이서

모두 안해도 된다

 

멀리서도 잘되고

발음이 좋지 않아도

소리가 그리 크지 않아도

 

잘 반응한다.

 

 

 

둥그렇게 돌리면

아래와 같이 음량을 조절할수있다.

 

 


 

 

 


구글홈 설치 및 설정하기

 

 

Play Store를 이동하여 구글홈을 검색해서 설치한다.

 

 

 

설치후 앱을 실행시키고 아래 스샷들처럼 진행하면 된다.

 

어떤 블로그는 꼭 언어를 영어로 해야지 셋업이 된다고 되어있는데

 

예전버젼에선 안 되었던 것 같고

한글 상태에서 잘 진행되었다.

 

 

 

 

아래 기기 검색 중에 실패 하는 경우가 있는데

 

설정하려고 하는폰의 wifi와 구글홈이 붙은 wifi가 다를경우이다

 

우리집의 경우 2.4g와 5g wiif 가 있는데 난 5g로 맞추었다.

 

하나로 맞추면 다시 연결이된다.

 

 

 

 

 

"테스트 소리 재생"

 다음 단계 스샷은 안찍었더라 우선 말로 설명하면

구글홈에서 소리내보냈는데 나느냐?

 

난다 안난다 확인하는 단계이다

 

소리보냈느냐 할때 구글홈에서 "띠링" 하고 짧게 소리가 나온다.

 

TV보면서 설정했는데 저소리를 못들었었는데 보니

구글홈 볼륨이 작아서 못들었던것이다.

구글홈 볼륨을 키워놓던지 주위조용할때 들어보면

 

명확히 "띠링" 하고 울릴것이다

 

울렸다고 확인을 하고 나면 아래로 이동된다.

 

 

 

요기부분이 중요하다

 

여기서 한국어로 설정했다가 삽질을 한 30분했다.

한국어로 벌써 지원 되는줄알고 오예하고 설정했다.

한국어로 구글홈이 대답을 하는것이다???

근데 거의안되고 반응도 거의 없다.

 

"내이름이 뭐야?" 라는 것에만 반응했고

 

그외엔 무슨말인지 모르겠다는 말만 계속 계속...

영어는 아예 반응도 안한다....

뭔가 한국어도 진행중이긴한것같다.

 

여튼 되는게 없어서

다시 기기 삭제하고 영어로 하니 잘된다.

 

공식 발표 전엔 꼭 꼭 영어 미국으로 설정하길 바란다.

공식지원땐 다시 포스팅하겠다.

 

 

구글홈의 위치를 묻는이유???

 

오늘의 날씨라던가 뉴스라던가 등등 반응할때

이위치값을 기반으로 오늘의 소식 및 날씨를 알려준다

지금 사는곳이 알아서 gps에서 잡아서 뜬다.

 

 

 

위치 설정을 하고 나면 아래와 같은 설정이 있다.

 

음악을 켜줘라던가 누구 음악 틀어줘 등등을

Google play 뮤직으로서비스 하는데 난 안쓴다.

 

 

 

패스하려고 햇더니 아래와 같은 문구가 뜬다

여튼 난 사용할 예정이 없으니 무시

그리곤 드뎌 설정 완료 메세지가 출력되었다.

 

 

 

 

설정이 완료 되자 튜토리얼이 진행된다

(한국어로 처음 했을시에 이과정에서 구글홈이 반응이없었다)

 

적힌대로 말하면 구글홈이 반응한다~~ 신기신기

 

 

 

 

 

구글홈에 SmartThings 연결하기

 

 

위에 설치한 구글홈 앱을 실행하고

메뉴에서 "Home 기기제어" 선택

그리고 "+" 버튼 선택

 

 

어떤 기기를 추가할수 있는지 확인해볼수있다.

화살표로 표시한 "SmartThings / Samsung Connect"를 볼수있다.

선택하자

 

 

 

SmartThings ID로 로그인하여 연동하자

 

로그인을하면 아래와 같이 서로 연동하겠느냐라는 메세지인데

 

"Select one..."을 클릭하면

 

드롭박스로 SmartThings의 Location이 뜬다.

 

난 Home밖에 없으므로 Home 선택

 

선택을 하면 위와 같이 구글홈으로 제어 가능한(switchges/lights)

기기 리스트가 자동으로 보여진다.

 

물론 IoT 입문기 1탄 부터 4탄에서 설정한것이 있기때문에 보이는것이다

그냥보이는게 아니니 1탄부터 4탄 꼭 읽고 오자

 

[붱이 Story/IoT] - IoT 입문기 1탄 - 로지텍 하모니 구입

[붱이 Story/IoT] - IoT 입문기 2탄 - 로지텍 하모니 세팅

[붱이 Story/IoT] - IoT 입문기 3탄 - DYSON 날개없는 선풍기(AM-07) 하모니 연결 및 제어

[붱이 Story/IoT] - IoT 입문기 4탄 - 10년된 에어컨 하모니에 연결 및 제어

지금 오고 있는 Osram RGBW A19 전구도 추가하면

아래에 추가되서 보일것이다.

 

우선 난 셋다 선택

 

 

 

추가하고나면 방을 설정해야 쓸수있다는 메세지가 나온다.

방을 하나 만들고 지정해주자

난 "my room"이라고 하나 만들었다.

지정해주고 "완료" 누르자

 

 

 

완료를 누루면 할당중이란 팝업이 뜨고

아래 오른쪽 처럼 위에서 지정된 방 없으미 아니라

my room이라고 되어있는것을 볼수있다.

 

지금 보이는 이름으로 제어를 할예정인데

Dyson의 경우 말하기 불편할듯 하다.

 

 

 

Dyson AM-07을 선택해보면 기기 세부 정보에서 닉네임을 지정할수있다.

 

한글로 쓰면 인식못하니 영어로 꼭쓰자

난 간단히 Dyson으로 바꿨다 (아래)

 

 

 

이제 설정은 완료되었다.

 

SmartThings App에 가보면

자동으로 The Google Assistant가 추가 되어 있는것을 볼수있다.

 

 

 


OK Google / Hey Google

 

 

Dyson 날개 없는 선풍기를 구글홈으로 이제 제어해보자

 

잘 되는걸 확인할 수 있다.

 

 

이젠 10년된 에어컨 삼성 하우젠을 제어해보자

 

 

요건 좀 이상현상이 있긴한데 보면 켜기고 꺼질때

 

띠리리링 하는걸 들을수있다

 

신호를 여러번 보내서 발생한것이다.

 

이건 Dyson 선풍기 하모니로 제어할때와 동일한 현상으로

하모니에서 Repeat Command로 조절해서 해결했었는데

[붱이 Story/IoT] - IoT 입문기 3탄 - DYSON 날개없는 선풍기(AM-07) 하모니 연결 및 제어

 

이상하게 하우젠에는 repeat command를 1로해도 잘 안된다

 

이유는 잘모르겠다

 

잘되니 걍 쓸란다

 

 


 

귀요미 구글홈


 

 

붱이 : "내 와이프 알아?"

구글홈 : "아뇨 당신이 말해준적 없어요 말해주세요"

붱이 : "내 와이프 이름은 은쟈야"

구글홈 : "네 알겠어요 기억할게요"

붱이 : "내 와이프 이름 뭐라고?"

구글홈 : "당신의 와이프 이름은 은지에요"

 

ㄷㄷㄷㄷㄷ 정보를 말해주면 저장해둔다

기특한놈



한국어 지원 관련 포스팅은 여기로

[붱이 Story/IoT] - 구글홈 한국어 지원 - 조명, 커튼, 가전 기기 제어 하기

[붱이 Story/IoT] - 구글홈 정식 출시 한국어로 SmartThings 연동된 기기 상태값 물어보기

[붱이 Story/IoT] - 구글홈 x 필립스 휴 사용자들을 위한 연동 및 사용방법 소개

[붱이 Story/IoT] - 구글홈 & 크롬케스트를 통한 Netflix YouTube 재생 - UC40 미니빔



 

※ 공감 및 댓글 한마디는 포스팅하는데 큰 힘이 됩니다.

 


  1. Favicon of https://www.makelism.net BlogIcon Makelism 2017.07.02 22:23 신고

    자세한 구글홈 후기 잘 읽었습니다.
    매번 장치 추가할 때 마다 설정하는 것이 불편해서.
    홈팟 출시까지 기다린 후 에코, 구글홈, 홈팟 중 하나로 밀어야겠네요.

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2017.07.02 22:31 신고

      메이크 리즘님은 대부분 기기가 iOS라서 홈팟이 더좋지 않을까요?
      뭔가 애플이 UX측면에선 아마존 구글 보단 더 뛰어나니 홈팟이 잘나올것 같긴해요

      전 iOS와는 잘 안맞더라구요 ㅎ
      처음 구입할때 A/S 때문에 물건을 실제로 받기까지 두달이 걸리는둥...
      아이패드 1년넘게 써본게 다인데
      파일들에 대한 폐쇄성과 Itunes 통해야하는것과 공인인증서나 영상볼때 각앱에 위치하고 있어야하는것등등 짜증을 불러일으키더라구요 NAS를 쓰고있어서 Itunes 없이 사용하긴 했지만 그뒤로 애플제품 안쓰게되네요 ㅎ

    • Favicon of https://www.makelism.net BlogIcon Makelism 2017.07.02 22:49 신고

      시리가 바보라서 고민하고 있습니다.
      인공지능이 아닌 음성 인식 수준이라 계속 이 상태라면 홈팟보다는 다른 제품이 더 나을 것 같습니다.

      저는 안드로이드가 좋은데 가족들과 공유된 생태계가 전부 애플 쪽이라 빠져나오려면 돈과 시간이 만만치가 않네요.

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2017.07.02 22:58 신고

      구글홈 지금 하루겨우 사용해봤는데
      구글홈도 뭐 그닥...좋은지 모르겠네요 ㅎ
      구린 발음에도 잘 알아듣긴하지만
      영어로만해야해서 힘드네요 ㅎㅎ
      공식 한국어 지원되길 기대하고있어요
      12월에 된다던데....

  2. 안녕하세요 2017.07.03 15:52

    목소리가 매우 낭랑하시네요~ㅎㅎ
    에코닷 사셨으면 더 도움을 받을 수 있었을 듯한데..
    구글로 가시다니..ㅡㅜ
    전 애들이 영어랑 친해지길 바라며 에코로 열심히 해볼께요~~^^

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2017.07.03 15:58 신고

      메이크리즘님께 여쭤보세요 ㅎㅎ 메이크리즘님으로 인해 제가 IoT 발을 들였어요 블로그보고 저도 따라하고 있어요 ㅎ

  3. 안녕하세요 2017.07.05 16:55

    Makelism님 블로그에도 가봤는데..
    엉청 전문가시네요.
    아예 모르겠어서 질문도 잘 못하겠어요~ㅋㅋ

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2017.07.05 16:59 신고

      네 ㅎ 엄청 전문가셔요 ㅎ 전 아직 유치원생수준 ㅎㅎ 친절히 답해주시니 얼마든지 문의하세요

  4. 환장 2017.07.16 00:49

    하모니 사서 단순 통합리모컨으로 쓸려다가..10탄까지 읽었습니다. 집에도 센서가 몇개 있는데 스마트씽을 사서 저도 해보고 싶습니다. 몇 번더 정독하고 질문 드리겠습니다

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2017.07.16 00:50 신고

      질문 언제든 환영입니다 ㅎㅎ 궁금하신 부분 포스팅에서 댓글 달아주시면 아는 한도내에서 답드리겠습니다 ㅎ

  5. 으라어 2017.10.12 19:09

    아무리봐도 잘 이해가 안가네요 ㅠㅠ 평범한 선풍기나 샤오미 공기청저기 같은거 AI스피커로 껏다 켰다할려면 로지텍 하모니가 필요한건가요??
    리모컨으로 작동되는것 기기만 되는건지? 그리고 smart things를 왜 쓰는지 아무리봐도 모르겠네요 ㅠ

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2017.10.12 19:27 신고

      안녕하세요 우선 저희 카페 오세요 ㅎ
      http://cafe.naver.com/stsmarthome
      상단 베너 클릭해서 오셔도 됩니다.
      입문자게시판에 질문하신내용들에 대한 내용이 있습니다. 한번 읽어보시면 좋을 것 같습니다.
      간단히 로지텍 하모니가 언제필요하냐면 구글홈이나 알렉사를 통해 IR리모컨이 달린 기기를 on off하고 싶을때 사용합니다. 가장 대표적인게 TV 셋탑박스 에어컨 이 세제품은 IR리모컨이 대부분 필수로 있습니다. 이 IR신호를 로지텍 하모니라는 기기가 복사를 해서 제어를 가능하게 해주는데요.

      이 로지텍하모니와 구글 홈또는 알렉사를 스마트띵스 허브가 연동을 하여 서로 연결시켜주는겁니다 이해가실려나요??

      알렉사 티비켜죠(에코닷) -> 하모니야 티비 켜란다(스마트띵 허브)-> Tv의 on 신호 송신(하모니) ->TV 켜짐

      이렇게 쓰입니다
      근데 스마트띵 허브 없이 아마존 스킬이란걸 사용해서 바로 제어도 가능하다고 알고있습니다 요건 제가 잘몰라서 카페에서 질문하시면 선구자분들이 답주실겁니다

  6. 구글홈문의 2018.01.29 14:11

    안녕하세요. 구글홈에 대해 문의 드리려고 하는데요.
    구글홈을 앱과 와이파이까지 모두 연결하였습니다. 그런데 와이파이를 한전 껏다 키면 자동으로 다시 잡지를 못하는데 제것만 이런가요? 5g로 안잡아서 그런건지..
    못잡으면 매번 초기화해서 잡아야 되는거 같은데
    혹시 이런경우가 있으신지요?

  7. 블랙캡 2019.08.04 13:16

    에어컨 온도 설정은 안되나요


 

붱이 Story

안드로이드에서 json 파싱 노가다를

아주 간단히 한 두줄로 끝낼수 있는 강력한 방법

GSON

Gson?

Gson에 대해 알아보자

상세 설명은 링크로 대체 ㅎㅎ

너무 설명을 잘하셔서...

http://emflant.tistory.com/47

 

내가 처음 GSON 을 알고

사용법을 익히기위해

찾아본 blog에는

솔직히 너무 기본적인 내용밖에 없었다

이런느낌?

 

<PPT를 만들기법>

ppt를 띄운다

제목란에 제목을 쓴다

내용에 내용을 쓴다.

 

실전에 활용하기엔 역부족

 

요근래 GSON에 대해서 문의가 많이 들어와서

설명해주기 힘들었었다.

정리해두면 다른 사람들이 또 질문했을때 유용할듯

 

예제설명을 위한 가상 app을 예제로 설명을 해보려한다.

(추후 만들예정)
 

은쟈 요구사항(실제 몇달전 요청했었다)


"화장품 사면 유효기간이 언제까지인지 까먹다가 못쓰는 화장품이 많은데

앱에 유효기간을 저장해두고 시간이되면 알려주는 앱 만들어주면 안되?"

 

생각해보니 나도 쿠폰 같은거 받아두고

그전에 써야지 생각하고 보면 이미 유효기간 아웃..

해서 화장품뿐만 아니라 쿠폰, 가전제품 등의

유효기간 이나 A/S 기간이 있는 것들에 대해서 확장하여 구상을 했다.
   

앱에서 보여줄 필요한 정보들

예시

> Category
  전자제품
  가구
  화장품
  음식
  약제
  쿠폰
  + 사용자 얼마든지

> Item
  분류 : Category중에 하나꼭 선택
  제품명 : 다이슨 선풍기 AM-07
  생성일 : 만든날 또는 구입일
  만료일 : 유효기간 or A/S기간
  제품 img : list형태
  영수증img : list형태
  대표 img : 제품 img중에 하나 선택하게
  알람 : 만료기간 몇일전 알람

 

Json Sample에 대응되는 class

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
    // 여기서 final은 상속불가를 위해 선언
    public final class ExpireData {
        // @SerializedName의 값은 json에서 Object로 파싱 되어질 때 key의 name이다.
        // 변수명은 달라도 된다. 이왕이면 같게
        // Catetory 리스트 Type이 Category로 되어있다
        public @SerializedName("categories") ArrayList<Category> categories; 
        // Item 리스트 Type이 Item으로 되어있다
        public @SerializedName("items") ArrayList<Item> items;
 
        // inner class는static으로 
        // 위 categories에 들어갈 Category Class
        public static final class Category {
            public @SerializedName("name"String name;
            public @SerializedName("icon"String icon;
 
            public Category(String name, String icon) {
                this.name = name;
                this.icon = icon;
            }
        }
 
        // 위 items에 들어갈 Item Class
        public static final class Item {
            public @SerializedName("name"String name;
            public @SerializedName("category"String category;
            public @SerializedName("createDate"String createDate;
            public @SerializedName("expireDate"String expireDate;
            // 제품 이미지는 여러장이 될수 있기 때문에 ArrayList
            public @SerializedName("productImgs") ArrayList<String> productImgs; 
            public @SerializedName("receiptImg"String receiptImg;
            public @SerializedName("alarm"String alarm;
 
            public Item(String name, String category, String createDate, String expireDate,
                    ArrayList<String> productImgs, String receiptImg, String alarm) {
                this.name = name;
               this.category = category;
                this.createDate = createDate;
                this.expireDate = expireDate;
                this.productImgs = productImgs;
                this.receiptImg = receiptImg;
                this.alarm = alarm;
           }
        }
   }
cs

 

test용도이니 getter setter 및 생성자는

개발자 입맛에 맞게 변경~~

 

Json Sample

 

json 이쁘게 node로 볼수 있는 사이트
http://jsonviewer.stack.hu/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
{
  "categories": [
    {
      "name""Electronic",
      "icon""electronicIcon.png"
    },
    {
      "name""Cosmetic",
      "icon""cosmeticIcon.png"
    },
    {
      "name""Food",
      "icon""foodIcon.png"
    }
  ],
  "items": [
    {
      "name""TV",
      "category""Electronic",
      "createDate""2017-06-01",
      "expireDate""2018-06-01",
      "productImgs": [
        "productimg01.png",
        "productimg02.png"
      ],
      "receiptImg""receipt.png",
      "alarm""2018-05-15 09:00"
    },
    {
      "name""Founder",
      "category""Cosmetic",
      "createDate""2017-06-01",
      "expireDate""2018-06-01",
      "productImgs": [
        "productimg01.png"
      ],
      "receiptImg""receipt.png",
      "alarm""2018-05-15 AM 9:00"
    },
    {
      "name""Water melon",
      "category""Food",
      "createDate""2017-06-01",
      "expireDate""2018-06-01",
      "productImgs": [
        "productimg01.png",
        "productimg02.png",
        "productimg03.png"
      ],
      "receiptImg""receipt.png",
      "alarm""2018-05-15AM9: 00"
    }
  ]
}
cs

 

 

 

ExpireData 생성

 

 

1
2
3
4
5
6
7
//사용자가 입력한 값들을expireData에 담는다
ExpireData expireData = new ExpireData();
expireData.categories.add(new ExpireData.Category("Electronic""electronicIcon.png"));
ArrayList<String> productsImgs = new ArrayList<>();
productsImgs.add("productimg01.png");
productsImgs.add("productimg02.png");
expireData.items.add(new ExpireData.Item("TV""Electronic""2017-06-01""2018-06-01", productsImgs
cs


 

Gson을 이용한 ExpireData to json

 

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Gson gson = new Gson();
String json = gson.toJson(expireData);
 
//결과 
{
  "categories": [
    {
      "icon""electronicIcon.png",
      "name""Electronic"
    }
  ],
  "items": [
    {
      "alarm""2018-05-15 09:00",
     "category""Electronic",
      "createDate""2017-06-01",
      "expireDate""2018-06-01",
      "name""TV",
     "productImgs": [
        "productimg01.png",
        "productimg02.png"
      ],
     "receiptImg""receipt.png"
    }
  ]
}
cs

 

이경우는 사용자가 입력한 data를

json파일로 저장할때 쓰인다.

저장한 json은 app이 로딩될때

아래와 같은 방법으로 파싱되어

app에서 보여질수 있다~

 

 

Gson을이용한 json to ExpireData

 

1
2
3
// 단 두줄로... json을 parsing 하여 Object에 바로 담아준다
Gson gson = new Gson();
ExpireData getExpireData = gson.fromJson(json, ExpireData.class);
cs

 

app에서 기존 저장된 json data를

불러올때 쓰거나

 server에서 받아온 json을

정해진 class타입에 맞게 파싱할때 쓰인다.

위에 설명해준 @SerializedName 의 값에 의해

 파싱이 되니 꼭 이름이 같아야한다!!

 

문의사항은 댓글남겨주세요

 

※ 공감 및 댓글 한마디는 포스팅하는데 큰 힘이 됩니다.


  1. Favicon of https://www.makelism.net BlogIcon Makelism 2017.06.09 22:48 신고

    저는 찾는 것이 없으면 나올 때까지 찾는데 만드는 능력이 참 부럽습니다.
    포스트 잘 읽고 갑니다.

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2017.06.09 22:56 신고

      말만하고 언제 실천할지 모르는게 함정입니다 ㅎ 데탑이 아직 없는데 구입후 본격적으로 만들 예정입니다 ㅎ 덕분에 iot 입문도 곧 하게되서 바쁠것 같네요 자주 질문드리러 놀러 가겠습니다 ㅎ

+ Recent posts