-
portainer로 GH-connector 설치하기(업뎃,2021.02.26)IOT나도 한번 해보자 2020. 2. 19. 13:43
이제 나의 IOT목적도 거의 80% 이상 도달한듯 하다.
이글을 적는건..나중에 라즈베리 맛탱이 갔을때를 대비해서 나의 기억력이 좋지 못하기 때문에
적는것도 한몫한다.
GH-CONNECTOR를 왜 설치할까?
왜 해야하는가?
일단 여기서부터시작인데...나도 한참 고민을 했다.
이게 왜 필요하지? 왜 필요할까? 네이버 카페에 설치기의 최신 버전도 없고
라즈베리 명령어로는 설치도 안되고..짜증나는데..
이러면서 3일을 보낸거 같다.
사용예는 일단 앱에서 단순한 문구를 구글홈미니로 송출시킬수가 있다.
이부분은 집에 카메라를 설치한 이유와 겹친다.
간혹 집에 애기랑 있는 와이프가 전화를 무음으로 해놓았을때...이때 유용하다.
이전에는 카메라에 양방향 송출(전화기 기능 비슷한거)로 불렀었는데 이게 통신이다 보니
음성이 막 끊어지기도 하고 선명하게 들리지도 않고 그래서..그냥 카메라가 뭐라뭐라 그러면
와이프가 제일 먼저 핸드폰을 찾는 그런 액션으로 이어지곤 했다.
그런데 이제는 이걸로 호출을 할수도 있고..다른분들은 MP3를 튼다고도 하는데..글쎄...
SK FLO라는 어플을 무료로 이용하고 있기도 하고 굳이 MP3를 스피커로 들을 여유도 없고 해서
MP3는 재끼라우!!!
그리고 아들램이 자는 시간에 스피커에서 흘러나오는 남자 목소리를 무서워하는 경향이 있어
"아들 이제 코 잘시간이야"~~라고 송출을 시키면 잽싸게 방으로 뛰어들어간다..
(내말은 귓등으로도 안 들으면서ㅠㅠ)
자이제 설치를 시작해보자.
1단계 : 포테이너(도커)에 gh-connector 설치하기
2단계 : ide st 사이트에 git 허브 등록하기
3단계 : st 클래식앱에 설치하기
4단계 : gh-connector 설정하기
5단계 : gh assistant 설정하기
나는 포테이너에서 바로 설치를 했다..다들 라즈베리에서 하시던데..여튼...
이상하게 라즈베리파이에 바로 입력을 하니 설치가 안되더라..그리고 beta 버전, 0.0.1, 0.0.2 버전 등등
이것저것 해보느라 꼬인거 같은 느낌도 있어서 폴더를 싹다 지워버렸다.
1. 컨테이너 항목 클릭
2.컨테이너 창에서 add container 클릭
3. name에 gh-connector 입력
아래 image 칸에 fison67/gh-connector-rasp:0.0.2 입력
4. scroll 아래로 내리면 volumes 선택
5. volumes mapping 우측에 +map additional volume 클릭하면 아래 기입란 생성됨
container란에 /config 입력후 우측 bind 클릭하면 아래 volume 칸이 입력 활성화가 됨
volume 칸에 /docker/gh-connector 입력
6.network 클릭
network에 bridge로 되어있는걸 host로 입력
hostname은 raspberrypi로 입력
7.env 클릭
8. add environment varlable 클릭 - 아래에 입력창 생성이 되고
name 칸에 TZ 입력 vaule 칸에 Asia/Seoul 입력
9. Restart polley 클릭
10. 하단 never.always.On fallure.unless stopped 중에 always 를 선택
11. 그리고 나서 depoly the container 클릭
그러면 라즈베리파이가 스스로 재부팅을 함(시간이 쫌 걸림)
설치중이라 생각하고 이제는
============================================================================
라즈베리파이로 설치하는법
sudo mkdir /docker
=>도커폴더가 있으면 무시
sudo mkdir /docker/gh-connector
=>gh-connector 폴더 생성
sudo chown -R pi:pi /docker
=>설치 권한 부여
sudo docker pull fison67/gh-connector-rasp:0.0.4(2021.02.26 최신버전)
=>이미지 다운로드
sudo docker run -d --restart=always -v /docker/gh-connector:/config -v /yourMp3Folder:/music1 --name=gh-connector-rasp --net=host fison67/gh-connector-rasp:0.0.4
=>설치
============================================================================
2단계로 gogo
https://graph-ap02-apnortheast2.api.smartthings.com/
상단 메뉴바에서 My device Handlers 선택
우측 setting 선택
아래의 유저를 입력
fison67 / gh-connector / master 를 저장하고
다시 3번의 update from repo에서 다시 fison67 / gh-connector 을 선택한다음 모든 github를 선택하고 publish 체크,
execute update를 누른다.
위의 그림처럼 goolle assistant / home / home playlist 3가지가 설치된걸 볼수있다.
(가운데 calendar은 day-off라는 앱을 설치한것이니 저건 선택할 필요가 없다.)
그런다음 상단 메뉴바에서 my smart apps 에서 방금했던것처럼 동일하게
update from repo에서 다시 클릭해서 동일하게 fison67 / gh-connector 선택해서
github를 선택하고 publish 체크, execute update를 누른다.
그다음에 중요한것이 gh-connector 옆에 돋보기 모양 또는 네모 박스에 연필그림이 있는것을 누른 다음
oauth 를 해줘야 한다. oauth를 누르면
Enable OAuth in Smart App 라는 문구가 나타나는데
이걸 클릭해주면 핸드폰의 앱에서 토큰과 앱의 아이디가 생성이 된다.
그런다음 꼭 update를 누르자...나도 이걸 깜박해서 몇번 고생을 했던 기억이 있다.
만약 Enable OAuth in Smart App 을 클릭하지 않았거나. 클릭은 했으나. update를 하지 않았을경우
gh-connector 의 셋팅란에 들어가면 아래 캡쳐처럼 smartthings api가 빈칸인걸 확인할수 있다.
이제는 핸드폰으로 들어와서 st 구앱을 로그인하고..
1. 하단 automation 클릭-add a smartapp 클릭
2. 화면 아래로 내린면 '스마트 앱 나의' 클릭
3. gh connector를 클릭
4. server address 클릭-라즈베리파이 ip 주소:30010 입력
5. port forwarding server address 클릭(메인 포트포워딩한 주소 입력) =>나는 빈칸으로 했음(외부에서 입력시 필요함)
6. 하단 config 클릭 - smartthings api 생성 여부 확인(id, token등)
7. Save 클릭
Config에 정상적으로 보이면 다시 ide 사이트에 들어가서 my smart apps 에 gh-connect의
네모연필 박스 클릭후
위 빨간색 네모에 내용이 있는것이 확인되면 앱설정도 1단계 끝
여기까지 했으면 이제 클래식 앱에서 구글 미니 와 어시스턴트가 설치된걸 확인할수 있다.
이제 거실에 있는 구글 디바이스로 tts 보내기 방법은 구글미니(구글홈) 앱으로 들어간후
1. 상단 smartapps클릭-상단 톱니바퀴 클릭-
아래 사진처럼 화면이 보일것이다.
빈칸없이 다 입력을 해야 save 가 되니 이점 유의하시고
give your device a name 란에 이름을 입력
type a tts contents란에 보내고 싶은 문구를 입력
Select a TTS Type란에 'google'로 설정
[ODDCAST]select a person 아무거나 설정
[GOOGLE]select a tts language 'ko-KR'로 설정
[NAVER]select a person 아무거나 설정
[GOOGLE cloud]select a person 아무거나 설정
이제 gh-connect 웹페이지에 들어가서 설정을 해야한다.
라즈베리주소:30010 입력 하면은
id와 password 칸이 뜨는데
id는 admin
password는 12345 이다.
세팅란에 들어가서 바꿔주면 된다.
gh-connector 화면이다.
다행히 구글홈 미니를 자동으로 찾아 냈다.(라즈베리파이랑 동일한 넷상에 있어야 자동으로 찾음)
아래 settings으로 들어가서
system address 란에 라즈베리파이 주소를 입력하고
아래 port 는 30010으로 되어있을것이다.
smartthings API란에 정보가 입력되어있으면 정상적으로 설치가 된것이다.
이 정보는 핸드폰의 gh connector 앱 config에 있던 정보가 그대로 반영된것이니 행여 오류가 발생을 했으면
이것부터 확인해보자.
assistant 설정하기
좌측 셋팅란중에 assistant 클릭- 아래 그림처럼 보이는데
하단부에 go를 클릭
2. 프로젝트명 입력, 언어 설정, 지역설정
3.하단 device registration 클릭
4.register model 클릭
5. product name 입력
manufacturer name 입력
device type - speaker 선택
6.oauth 클릭->저장경로 확인후 next 클릭
7.register model all 7 traits 네모박스 체크
8.아래 사진처럼 프로젝트 생성된거를 확인할수 있음
9. 구글 플랫폼 api 로 이동(아래 링크)
10. 사용자 인증정보 클릭-상단 사용자 인증정보 만들기 - OAuth 클라이언트 ID
11.기타 체크
12. 이름칸에 gh assistant 입력 - 생성
13. Oauth 동의 화면 클릭 - 외부 체크 - 만들기
14.지원 이메일 칸에 본인 gmail 계정 메일주소 입력(셀렉트로 되어있으면 선택) - 저장
15. 사용자 인증정보 배너 - OAuth 2.0 클라이언트 ID - gh assistantxxxxxx(프로젝트명) 있는 json 다운로드(별표시)
16. 좌측배너에서 라이브러리 클릭
17. 검색 창에 google assistant 입력
18.api 활성화
19. 활동제어 - 앱 및 앱 활동 활성화
https://myaccount.google.com/activitycontrols
20.다시 gh connector 페이지로 와서 상단 register 를 클릭
21. upload a file 창이 뜨는데 빈여백을 클릭
경로에서 다운받아놓았던 json 파일을 업로드
22. [Click Me]를 클릭(행여 GH CONNECTOR 재실행으로 로그아웃을 했으면 다시 10번항목으로 가서
json 파일 업로드후[click Me]를 클릭 - 구글 로그인 창에 본인 계정 으로 로그인 자동으로 뜸
23. 아래 권한부여 창이 보임- 허용
24.허용
25.코드가 생성됨-ctrl+c 또는 우측 복사 아이콘 클릭
26. auth 창이 생성되고 result URL 칸에 복사한걸 붙인후 click me를 클릭-확인
27. 도커 재시작
gh assistant 설치 끝은 아니고 다시 클래식 앱으로 가서 설정을 하나 해야한다.
아무리 webcore를 만들어도 음성이 안 나와서 고생고생하다가 얼떨결에 알게 되었다.
28. 클래식 앱 - assistant 앱 - 우측 상단 설정 클릭 - Select a Voice 에서 아무거나 선택
이제 진짜 끝!!
webcore에서 간단히 만든후 test
근데 인식하는 자동문구에 한계가 있는거 같다. 가령 내 목소리로 '좋은아침'이라고 하면은
날씨와 뉴스를 들려주는데 webcore로 '좋은아침'이라고 하면 아무 대꾸를 안한다.
그냥 간단한 명령어만 받아들이는거 같다.
ps 포테이너 설치는 스마트씽스 카페 회원 로도로도님 글을 참조하였습니다.
728x90'IOT나도 한번 해보자' 카테고리의 다른 글
orbi rbk20 라우터 설치(개고생) (3) 2020.03.05 샤오미 토큰 추출방법 (0) 2020.02.21 라즈베리파이4 에 mi-connector 설치(업뎃2020.06.25) (12) 2020.02.13 라즈베리파이 4 OMV 설치 (0) 2020.01.08 smart 조명과 smart 스위치를 함께 적용하면 안됨 (0) 2020.01.07