드디어!! 이번 제작을 위해 여태까지 해왔던 노하우를 한곳에 응용할때가 왔어!
현관문 자동 오픈부터 시작해서 콧코로 홈 컨트롤 시스템까지 하나의 시나리오로 이어지는 홈시스템 컨트롤 콧코로를 제작 할 거야.
대충 어떤 시스템인지 보여주는 움짤이고 실사용 영상은 아래 있으니 참고 부탁해.
꽤 방대한 양이라서(이미지 업로드 갯수 초과로 인하여) 최대한 압축해서 설명 할 예정이라 사진과 설명이 많이 빠질 수 있음을 미리 양해 구할게.
대신 소스코드를 업로드 할 예정이니 거기서 참고하면 될 거야.
목차는 다음과 같아.
1. 계획
2. 현관문 자동 시스템 하드웨어 제작
3. 현관문 자동 시스템 소프트웨어 제작
4. 현관문 콧코로 + 홈시스템 콧코로 하드웨어 제작
5. 현관문 콧코로 + 홈시스템 소프트웨어 제작
6. 결과
1. 계획
이번에 짠 계획은 여태 해왔던 계획에 비하면 초라할거야. 왜냐면 기존에 작업했던 노하우를 보강하면서 작업할 예정이야.
필요한 재료와 기술에 관한 내용만 적어놨어.
사진의 내용을 요약하자면
현관문 자동열림을 위해 블루투스 비콘을 사용.
현관에 설치할 콧코로 음성인식 시스템
침실에 사용할 홈시스템 음성인식 콧코로
총 3개를 제작할거야.
2. 현관문 자동 시스템 하드웨어 제작
세개중 가장 쉬운것부터 제작할거야.
계획표에 비콘이라 적힌걸 구현할건데, 비콘을 간단하게 설명하자면, 자기가 누구인지를 끊임없이 외치고 있는 사람이라고 생각하면 편할거야.
이러면 다른사람은 이 외침을 들을 수 있고 대충 거리가 어느정도인지 파악 할 수도 있어. 이 원리를 이용하여 거리를 계산하여 자동으로 열리게 할거야.
아마 아파트에서 어플 깔고 입구 진입할때 자동으로 열린다면 블루투스 비콘 시스템을 사용하고 있을 가능성이 높아.
비콘을 완성품으로 살 수도 있지만 아두이노를 통해서 쉽게 구현 할 수 있어. 가격도 저렴하게 12000원이면 하나 살 수 있지.
HM10이라는 블루투스 모듈을 간단한 AT커맨드로 비콘 모드로 바꾸고 저전력 세팅을 했어. 이후에 아두이노는 필요 없어질 예정이야.
비콘 구현방법은 사진 갯수 제한 맞춰야 해서 굳이 적지 않을게. 인터넷에 많이 퍼져있으니 쉬울거야.
이후 배터리로 구동하기 위해서 3000mAh 리튬 폴리머 배터리를 사서 충전한 뒤 연결 해주면 못 해도 세달 이상은 동작하는 비콘이 준비가 되었어.
리튬 폴리머의 경우 3.7V로 출력할텐데 HM10의 경우 충분히 구동 가능한 사양이니 참고하자.
와중 배터리 케이블 타입이 2핀이어서 냅땜해서 바꿔놨어. 살때 핀 타입 꼭 확인할것!
케이스는 포맥스를 이용하여 제작 한 뒤 나사로 경첩박는걸로 마무리 할거야.
그리고 마스킹테이프로 마무리 하면 깨끗하게 완성!
케이스에 블루투스를 넣고 내부와 외부에 부착하는걸로 하드웨어 준비는 끝났어.
혹시나 누가 저걸 훔쳐가면 문이 프리패스로 오픈되는거 아닐까 하는 걱정이 된다면 아래 소프트웨어 개발 부분에서 궁금증이 해소 될 듯 싶어.
3. 현관문 자동 시스템 소프트웨어 제작
현관문 자동 시스템을 개발하기전에 하나 짚고 넘어가야 할게 있어.
문앞에 왔을 경우에 스마트폰을 들고 어플을 실행시켜서 열게되면 결국 비밀번호 입력 후 들어가는거랑 별 차이가 없어.
그러므로 이전 개발 작품중에 음성인식 상시 구동을 위해 포그라운드 설정을 했던 경험을 살려서 제작 할 거야.
포그라운드 : 어플이 꺼져도, 폰이 재부팅해도 끝까지 작동하는 서비스
버튼을 구현해서 포그라운드를 동작시키고 끄는 서비스를 제작할거야.
어차피 동작시키면 안볼 예정이니까 버튼 디자인도 예전에 PSD 저장된 샘플로 대충 해놓자.
포그라운드가 시작되는 서비스 클래스로 넘어가서 ble 스캔 기능을 위한 기능 구현을 시작할거야.
이부분에서 setDeviceAddress 부분에 아까 제작한 블루투스 MAC Address 를 넣고 실시간 스캔 콜백을 요청할거야.
내부와 외부 총 2개를 스캔해야하니 스캔 2개를 구현할거야.
이 부분에서 AT 커맨드로 MAC Address 가 안나오는 경우가 있어!
이런 경우에는 스토어에서 블루투스 비콘 스캐너를 설치해서 주소를 얻어오는것도 하나의 방법이야.
스캔 콜백 부분은 단어 그대로 데이터 스캔한 결과가 콜되면 처리하는 부분이야.
단순히 스캔만 하면 rssi 라는 수신 세기만 가지고도 할 수 있는데 이러면 정확도가 매우 떨어지므로
ratio = rssi_data * 1.0 / txpower_data
distance = (0.89976) * Math.pow(ratio, 7.7095) + 0.111
라는 비콘 스캔 거리 공식을 사용 할 거야.
여기서 txpower_data는 블루투스 비콘에서 설정되어 나오는 값이니 가급적 건드리지말자. 아마 -59 값으로 설정되어있을거야.
이대로 거리 값을 사용하면 참 좋겠는데... 사진의 우측을 보면 추가 처리를 해놨어.
무선 송신값은 항상 일정하지 않다는 문제가 있어서 값이 확 튀는 경우가 생각보다 많아.
이 문제로 인하여 아파트 단지내 자동 열림 시스템을 보면 비콘이 최소 3개는 붙어있는 경우가 많아.
정확도를 향상시키기 위해서인데 나는 그럴 자신이 없으니 특정 범위내의 값을 받아서 배열로 저장 한 뒤에 평균값을 내서 안정성을 올릴 예정이야.
사실 이것도 정확하게하려면 10개 정도 데이터를 추합해서 하라는데 이러면 문열리는데 한참걸리니 3개정도로 깔끔하게 처리하자.
아직 필터가 되지 않은 거리값이 잘 나옴을 확인했어.
스캔해서 받은 값을 필터해서 약 1.5m 이내로 들어왔다는 판정을 받으면 네트워크 송신을 보낼거야.
예전에 ifttt를 이용하여 컨트롤 했던 방식을 응용해서 다음과 같은 방식으로 송수신 될거야.
송신 구조는 다음과 같아.
스마트폰 -> ifttt -> 현관문 리모컨(에 붙어있는 IoT) -> 열림
하지만 감지 후 딜레이 안걸면 무한으로 리모컨에 요청가니까 30초동안 딜레이를 거는 핸들러는 꼭 만들자.
이후에는 내부 비콘이 감지되는동안 외부 비콘이 감지되도 동작하지 않도록 락을 걸어놓을거야.
사실 현관문 도어락에 IoT 시스템이 있다는 광고를 본거같은데... 도어락 회사가 전화를 안받고 사이트도 공사중이라 확인 할 방안이 없었어...
인터넷에 설명서도 사이트가 터져서 볼 수가 없어.
딜레이를 응용해서 내부 블루투스가 안잡히면 방을 외출상태로 만들도록 응용 할 수도 있어.
내부 비콘이 30초 이후 잡히지 않는다 -> 내 방의 커튼과 전등을 끈다.
내부 비콘이 다시 잡힌다 -> 내 방의 커튼과 전등을 켠다.
이렇게 현관문 자동 시스템은 준비가 다 됐어.
하지만 이게 전체의 20퍼도 안되는 작업이었어...
4. 현관문 콧코로 + 홈시스템 콧코로 하드웨어 제작
사실 이게 본격적인 작업의 시작이라 볼 수 있어.
먼저 콧코로를 보기 위한 디스플레이가 필요한데... 이 작업을 위해서 모니터를 새로 사기엔 가격이 좀 나가고 다른 방법이 없을까 생각하다가...
모니터가 안켜진다. + 모니터에서 이상한 고주파가 나서 못견디겠다. 라면서 버려지는 모니터를 2개 얻어왔지!
사실 모니터 액정이 깨진거 아닌 이상 대부분 모니터의 AD 보드에 문제가 생기는 경우가 많아. 그래서 이걸로 작업 할 거야.
이 모니터는 내가 이미 수리를 끝낸 모니터야. AD 보드 문제가 확실해서 패널 이름보고 AD 보드만 사서 살려놨지. AD 보드 값은 13000원 정도 들었네.
이 모니터는 이제 수리를 시작 할 모니터야. 1366x768 해상도의 BOE사 패널이라고 적혀있네. 그리고 eDP패널용 AD 보드니까 사는데 주의를 요할 필요가 있어.
그리고 eDP 보드는 가격이 생각보다 세니 (35000원) 세재품대비 가격이 안좋으면 과감하게 패널 갖다 버리자.
그리고 5볼트 1.5암페어 이상의 어댑터가 있으면 끝이야. (권장은 2암페어 이상)
패널이 망가진게 아니라서 잘 작동하는걸 확인 했어. 아주 만족스러워.
이대로 오드로이드 XU4, N2+ 를 준비하도록 하자. 안드로이드 개발자들이 사용하라고 나온 개발보드 제품인데 일반 사용자도 다양하게 사용 하고 있는 제품이야.
전원으로 동작하며 HDMI 를 끼울수 있게 되어있어서 PC 준비하듯이 작업 할 수 있는게 장점이야.
단지 스피커 슬롯이 없거나 있어도 마이크 호환이 안되서 외장 사운드카드가 추천되고 와이파이, 블루투스, GPS 모듈을 따로 사야하는게 단점이긴 해.
하지만 난 다사서 작업할거야. 롬은 리니쥐 OS (XU4 : 안드로이드 파이, N2+ : 안드로이드 11) 를 사용하기로 했어. 여기도 오드로이드 설정 어플이 있더라.
콧코로를 부르면 대답할때 아무말도 못하면 안되니까 스피커도 제작할거야.
현재 집에 가지고있던 스피커모듈은 4옴 5와트, 8옴 5와트, 8옴 10와트 이렇게 3종류의 제품이 있어.
그런데 스피커 모듈을 이미 하나 만들어본게 있어서 그걸 사용 해 볼 생각인데..
꽃아보니 소리가 심각하게 작은거야. 스피커 모듈 불량체크는 다했는데 뭐가 문제인지 파악하다가 다시보니...
증폭기! 를 작업 안해놓고 다이렉트로 꽃은거야. 왠지 작더라.. 결국 처음부터 다시 작업해야해.
스피커모듈을 처음부터 다시 작업해보자. 지금은 3.5파이 모듈에 납땜을 할거야.
돌려서 열어보면 L R G 납땜하라고 구멍이 있어. 그 구멍에 맞춰서 플럭스 칠 해주고 납땜하고 다시 돌려넣으면 끝이야.
다만 내가 뾰족 납땜 기구를 위주로 납땜한 사람이 아니라서 조금 불편하더라.
스피커 모듈을 납땜 할거야. 그런데 증폭기를 싼걸 구한다고 샀는데 (900원) 이게 출력이 너무약해서 스피커 모듈을 다운그레이드할거야.
4옴 5와트 스피커 모듈을 납땜하기로 했어.
그리고 증폭기에 스피커(L, R) + 5V 전원 (usb 와 연결) + 3.5파이 를 각각 납땜해서 준비가 다됐어.
이제 제대로 동작만 하면 스피커는 끝나!
라고 하고싶은데 망했다.....
스피커에 끝도 없이 노이즈가 타고 오는 문제가 생겼어. 심지어 이 노이즈가 팍팍 튀고 지지직지직 하는 노이즈야.
페라이트 코어로 잡을 수 있어 보이는 노이즈라고 판단해서 구매했더니 화이트노이즈가 아니라서 안잡히더라.
문제는 여분으로 산 증폭기 모듈 4개 전부다 노이즈가 타고 올라오는거야. 그라운드 문제인가 싶어서 그라운드 처리 된 USB 충전기에 꽃아도 들리길래 그냥 다 버렸다.
결국 TDA7297 앰프로 교체 하고 해결봤어. 다음부턴 PAM8403 피해야겠다.
이 앰프는 L R 각각 15와트의 출력을 내 줄수 있어서 8옴 10와트 스피커 모듈로 제작했어.
소리가 쭉쭉 뻗어나가는게 아주 맘에 들어.
울림통을 만들 계획이었지만 추후 케이스가 울림통을 해 줄수 있을것으로 예상되어 제작하지 않았어.
이제 모니터와 부착할 케이스를 제작 할 거야.
포맥스를 모니터 액정에 맞게 자르고 아래 스피커 모듈 들어갈 위치까지 잡아 준 뒤 순간접착제로 붙혀버릴거야.
어차피 불량나도 내다 버리기만 하면 되는 제품이니 문제 없다고 생각했어.
동그란 구멍은 드릴로 냈는데 파편이 너무 많이생겨서 뒷청소가 매우 힘들었어...
순간 접착제가 잘 붙었으니 사이드 파츠를 접착제로 붙혀 주고
검은색 질감이 괜찮은 마스킹테이프로 깨끗하게 붙혀 주고 스피커 모듈을 끼워 넣을거야.
마지막으로 스피커 망이랑 스피커 케이스를 조여주면 되는데
아놔 부서졌네...
이렇게 하면 모니터 완성했어. 라고 하기엔 위에 구멍이 2개 뚫렸는데 각각 마이크와 조도센서가 들어갈 위치야.
조도 센서를 넣을 예정이었지만, 조도센서는 동작하는데 오드로이드 운영체제에서 모니터 밝기를 조절하는데 치명적인 버그가 있어서 못쓰게되서 흔적만 남았어...
우측은 현관 벽에 걸 예정이라서 고리를 3개 붙혔어.
그런데 이 고리 괜찮은걸 못찾아서 캠핑용 고리 3개를 붙혀서 제작했어
에폭시 접착제로 붙히니까 매우 단단하게 고정 되더라. 벽에는 3M 코맨드 훅 이라는 제품을 사용해서 붙혀놨는데 나중에 벽지가 안찢어지게 뗄수있다더라.
그리고 콧코로 홈시스템을 구축하기전에 IoT 제품을 점검 하기로 했어.
대부분의 제품이 기존에나온 IoT 제품과 호환이 잘 안되서 제품을 추가로 사서 전부 네트워크와 연결을 시켜놓긴 했는데...
터치 센서가 스위치로 동작 안되서 큰일났네.
혹시나 해서 리튬 원형 배터리를 붙혀서 터치하면 동작 된다고 한걸 들어서 해보니 안되는거야.
그래서 생각한게 배터리가 소모되는 상황에서 터치하면 되지 않을까? 라는 생각에 (터치센서가 전류가 흐르는걸 판단하는걸로 예상됨)
배터리 소켓을 이용하여 전위차를 일으켜 강제로 배터리를 소모시킨 상태를 만들어서 테스트 해보기로 했어.
그런데 이게 왜 동작함?????
일단 동작하니까 엘리베이터 콜 및 거실에 설치는 해놨어.
진짜 전류가 흐르는 상태끼리 접촉해야 센서가 동작하는건가.. 모르겠다.
현관문 콧코로 제작이 아직 덜끝났네. 현관 내부 진입과 외부진입을 체크하기 위하여 벽과 벽사이 거리를 체크하는 초음파 센서를 설치 할 거야.
이것도 역시 아두이노로 준비를 했고 일정 거리를 유지 못하고 값이 바뀌면 감지 되었다는 신호를 블루투스를 통해 보내도록 해놨어.
그런데 초음파센서와 아두이노간의 케이블 길이를 3미터로 해놨는데 신호가 닿아서 다행이네. 닿지 않았다면 코딩이 더 힘들었을거야.
18AWG 케이블로 하길 잘 했다 생각 중 이야.
5. 현관문 콧코로 + 홈시스템 소프트웨어 제작
이렇게 하드웨어는 준비되었으니 소프트웨어를 제작 할 시간이야.
기존에 제작했던 음성인식 시스템은 안정성이 떨어지는 문제와 포그라운드로 빠지도록 구조가 되어 있어서 보수 해야 할 필요성을 느꼈어.
음성인식을 한개만 하는게아니라 한번에 여러번 판단하게 해서 안정성을 올리고 음성 인식 강도를 표시하도록 해놨어.
그런데도 콧코로 인식 못하는거봐라.
onresults 메소드에서 결과값을 바로 처리하도록 해놨어.
lucia_call 에서는 onresults 에서 음성인식한 값을 파악하는 용도로 쓰이는 메소드야.
대기상태에서 콧코로가 불렸을경우, 콧코로가 불린 이후에 무엇을 해야 하는지에 대하여 작업과 영상 처리를 하는 메소드야.
메소드 이름이 루시아로 되어있는 이유는 콧코로 이전에 프로토타입 제작 중 나온 이름이니 신경 쓰지 말자.
다음으로 넘어가기 전에 영상 처리와 음성처리 관련 이야기를 하고 넘어가야 할 듯 싶어.
이번 콧코로 시스템은 뒷배경이 날짜와 날씨에 의해서 변하고 움직이는 시스템으로 구현하기 위해서 크로마키 시스템이 필요하다고 판단했어.
그러나 아이폰은 알파컬러 관련 공식 개발지원이 있어서 작업이 쉬운데 안드로이드는 아직 알파 컬러를 제대로 지원하지 않아.
이 문제로 인해 반쯤 포기한 상태로 외국 사이트를 조사하다가 하나를 찾았어. alpha-movie 라는 라이브러리야.
알파 컬러값을 지정하고 정확도를 지정하면 특정 컬러값을 투명값으로 바꿔주도록 하는듯 싶어. 덕분에 작업이 가능해졌어.
음성의 경우에는 처음에는 내가 콧코로 목소리를 딥러닝으로 구현하려고 약 네 달 작업을 해봤어.
순수 노가다로 게임에서 목소리 추출해서 일본어 발음을 텍스트 처리까지 해봤는데..
콧코로 목소리가 아니라 캬루에게 배신당하고 귀신된 콧코로 목소리가 나오는 문제가 발생했어.
다행히 외국분께서 콧코로 외 천가지가 넘는 캐릭터의 딥러닝을 해준 데이터를 공유해주셨어.
위 영상은 목소리 샘플 영상인데 궁금하면 들어봐도 괜찮아
미식전과 나카요시부 목소리가 있어.
그래도 안타까운건 일본어는 받침음이 거의 없다는 문제점과 한국어와 다른 억양으로 인하여 한국어 하는 외국인같은 이미지는 지워지지 않아.
이전 같으면 switch - case 문으로 하나하나 분류해서 처리하도록 했었는데, 이번에는 좀더 간결하게 처리하는 방식으로 바꿨어.
for문을 보면 어떤 배열을 돌아다니며 일치하는 단어를 찾도록 해놨는데 이 배열값은 strings.xml 에 모아놓기로 했어.
당장 윗부분을보면 배열 선언처리 되는 부분이 있음을 알 수 있어.
저 배열선언은 요리할래, 밥지을래 같이 요청 단어가 여러개일 경우를 대비하여 배열을 여러개 선언하는 과정이야.
예시로 보여주자면 이런 방식이야.
A배열 = {안녕, 밥지을래, 씻을게, 잘래}
B배열 = {하이, 요리할래, 샤워할래, 잘자}
strings.xml 에 들어있는 배열이야.
음성 추적부터 비디오, 오디오, 네트워크에 동작 요청까지 전부 하나하나 같은 위치에 나열되어있어.
for문으로 음성추적된 변수를 바탕으로 비디오, 오디오, 네트워크에 같은 배열위치 값을 사용하도록 해놨어.
대신 배열 위치값을 맞추기 위해 더미데이터 캐르릉을 넣는 행동을 했지만 어쩔수 없지.
기본적인 비디오와 오디오는 setOnCompletionListener 를 통하여 동작후 기본 동작으로 돌아가도록 해놨고 간단한 작업이라 넘기고 타이머와 알람 관련 부분을 보여줄게
setOnCompletionListener : 재생이 완료 된 뒤에 무언가를 처리함.
기본 원리는 음성 데이터에서 띄어쓰기를 제외하고 시, 분을 분리한뒤 for문을 돌려서 배열내 일치값을 신규 배열에 등록하는 방식을 사용 할 거야.
이러면 배열[0] 배열[1] 시 배열[2] 배열[3] 분 으로 나열 할 수 있고 화면에 알람 숫자 표시를 이미지 방식으로 이용할거라 등록하기 쉬워져.
아까 배열 저장했던걸 기억하자. 똑같은 배열 위치에 있는 음성을 하나 하나 읽는 방식이야.
음성재생 한 뒤 setOnCompletionListener를 통해서 다시 메소드로 진입해서 다음 음성을 읽게 하고 마지막 음성을 읽은 뒤 중지하도록 해놨어.
이걸 위해 콧코로의 숫자 읽는 방식을 전부 녹음해서 처리해놨어.
마무리로 핸들러로 진입해서 요청한 알람과 현재 시간이 일치하면 알람 동작을 하도록 하면 끝!
타이머도 제대로 소개 하고 싶은데 사진 제한이 점점 다가온다... 원리는 같아. 대신 알람이 울리는 영상은 추가할게.
날씨는 저번처럼 오픈weatherapi를 사용 할 거야.
조금 다른 점은 HUD 만들때 사용했던 JSON 파싱 방식으로 깔끔하게 작업 했고
저 api 기능에 3시간 단위로 5일동안의 데이터를 제공해주는 기능을 활용해서 오늘 날씨의 최대, 최소 온습도와 내일 날씨 및 내일 최대, 최소 온습도를 구현 했다는 점이야.
대신 3시간 단위의 날씨를 읽는데 새벽 6시에 측정을 해야 00시부터 측정되는 점 때문에 처음 시작하고나서 새벽 6시까진 데이터가 없단점이 안타깝네
화면에 표시하는 방식과 날씨를 읽어주는 방식은 알람 표시와 읽는 방식과 똑같아.
구글 홈 맥스 같은 시스템을 보면 새벽에 기기가 몰래 재부팅 하는 경우를 볼 수 있어.
어플을 켜놓고 너무 오래있으면 예상하지 못한 램누수가 생기기 때문인 듯 싶어서 나도 똑같이 구현해놨어.
기존 설정된 알람, 타이머, 날씨데이터는 필수적이니 SharedPreferences 를 통해서 값을 기록해놓고 재부팅하면 다시 불러오도록 하자.
마지막으로 현관에서 동작할 콧코로 시스템 제작이야.
홈컨트롤 콧코로에서 대부분의 기능은 빠지고 현재날씨, 내일날씨, 날짜, 시간, 음성인식 동작 정도만 남겨놓고 블루투스 자동연결을 넣어놓을거야.
자동연결도 살짝 꼼수를 부렸는데, 현재 오드로이드와 연결된 블루투스가 초음파 센서 판단용 블루투스 하나 라서 페어링된 목록에서 바로 0번을 선택하도록 해놨어.
처음 연결시 비밀번호도 입력해놨으니 자동으로 연결 될거야.
우측을 보면 메세지가 값으로 오는걸 볼 수 있어. 아까 부착해 놓은 센서인데 내부용 감지센서는 평상시에 87cm, 외부 감지센서는 101cm 정도 감지하고 있음을 알 수 있어.
이러다가 내가 지나가면 값이 바뀌는걸 감지해서 현관 콧코로가 동작하도록 하는거야.
내부가 감지되면 엘리베이터 호출여부를 물어보고
외부가 감지되면 집안에서 무엇을 도와줄지 물어보도록 할거야.
아두이노 측에서 초음파 센서 거리를 측정하고 거리 변경에 따른 ON/OFF 를 블루투스로 송신 하도록 할거야.
딜레이는 100밀리 세컨드 정도 줄거야. 1초 하니까 살짝 밀리는 느낌이 들더라.
사실 안드로이드 측에서 모두 처리를 하게 하고픈데 오드로이드XU4 가 힘을 못쓴다...
초음파 센서 감지 움짤을 넣으려고하는데 갯수 초과 되서 더이상 못 넣는데 ㅠㅠ 이건 영상을 참고해줘.
이렇게 현관문 자동 시스템 콧코로 + 현관 안내 콧코로 + 홈시스템 콧코로가 완성되었어.
약 3일동안 실제 구동 테스트를 해봤는데 얘가 말을 못알아 듣는 경우가 발생하긴 한데 이건 내가 조절해 나가면 되는 부분이라고 생각해.
위에서 설명하지 못한 부분을 약간이라도 해소시킬수 있는 실제 구동 영상을 보여줄게.
1) 홈시스템 콧코로 개별 동작
콧코로 기본동작 : 0:00
알람 분류 : 01:31
타이머 분류 : 03:57
시간과 날짜 : 05:34
날씨 : 06:06
침실 내부 동작 : 07:08
거실 내부 동작 : 09:48
주방 동작 : 13:07
화장실 동작 : 13:46
엘리베이터 호출 : 14:17
현관문 오픈 : 15:02
1분뒤 슬립모드 : 15:26
2) 홈시스템 콧코로 모드 동작
TV 시청 모드 : 0:00
요리모드 : 01:13
샤워모드 : 01:46
게임(작업)모드 : 02:21
수면 모드 : 03:26
3) 현관문 자동 시스템 콧코로 + 현관 안내 콧코로 + 홈시스템 콧코로 콜라보 시나리오
외출 (엘리베이터 콜, 자동차 원격 시동) : 00:00
복귀 (현관문 자동열림 및 티비시청) : 01:36
복귀 (요리) : 02:55
복귀 (샤워) : 03:36
복귀 (컴퓨터) : 04:02
아차 적다보니 자동차 원격시동을 안적었는데 이건 저번 원격시동 시스템과 99% 같아.
이제 나는 출퇴근 하고 돌아오면 반겨주는 콧코로가 탄생했어.
어흐흑 미식전 온거같아!(아파트임)
마지막으로 개발해왔던 코드를 올려줄게. 주석으로 조도 감지에 따른 밝기 자동조절 부분도 있으니까 확인 해 보는게 좋아.
API 키는 내가 삭제했어. 직접 발급받아서 사용 하길 바랄게. 그리고 100MB 넘는 파일은 전부 제거했어. 깃허브에 올리지못하게 되어있더라... 필요하면 방명록에 개인 요청 부탁할게.
각각 브런치로 개별 정리되어있으니 파일 없다고 놀라지말고 브런치 한번 눌러봐.
https://github.com/MelissaJSM/Home_System_Kokkro.git
출처: 프린세스커넥트 리다이브 갤러리
[원본 보기]
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.