목표 : 원격으로 전등을 on/off를 하고 그 상태 값을 확인
기본 작동 방법
1. 안드로이드(스마트폰 등) 환경에서 원격 제어
2. 제어 신호를 받은 스위치(컨트롤러)는 작동 후 그 결괏값을 서버로 전송
3. 결과값을 받은 서버는 그 결과에 따른 코드 실행(에러 값 송출, 정상 작동 결과 송출, DB 업데이트 등)
4. 서버로부터 결괏값을 받은 안드로이드는 이후 사용자에게 그 값을 표시
반드시 들어가야할 기능(환경)
1. 집 안에서 뿐만 아니라 외부에서도 가능해야 함
2. 스마트 스위치는 완성품으로 많이 판매 중. 다만 통합된 컨트롤 환경을 위해 내부 펌웨어도 싹 다 변경
예상 시나리오
1. 스위치를 작동하려 해당 액티비티에 접근 시, 스위치 상태(on/off) 표시.
2. 원하는 스위치 작동 버튼 클릭 시, 위의 기본 작동 방법 실행
3. 작동 후 결괏값은 실시간으로 바로 받아서 표시할 것.
※ 타 인원이 동일 스위치를 동시에 컨트롤할 경우는 무시. 고로 스위치 상태 변경을 모두에게 실시간 표시는 안 함
필요한 기능
1. 실시간 통신 : MQTT(사물인터넷에 최적화된 통신기술)
2. 집안에 모든 스위치의 상태 값 저장 : DB (MariaDB)
필요한 하드웨어
1. 스위치 : Wi-Fi 기능을 통한 원격 통신 및 제어가 가능한 스위치
2. 안드로이드 : 인터넷 연결이 가능한 안드로이드 기기
3. 서버 : DB 저장 및 안드로이드↔스위치 간 통신 허브
※실제 사용 제품들은 하단에 링크 참조
대략적인 데이터 흐름도
구매 및 사용 제품
2. 안드로이드 : PIXEL 3
3. 서버(Ubuntu 18.04.2 LTS ) : www.lenovo.com/us/en/desktops/thinkcentre/m-series-tiny/m73/
※ 스위치랑 서버는 반드시 저 모델과 동일할 필요는 없음. 스위치는 Wi-Fi 칩셋이 esp8266이면 상관없으며, 서버는 통신 잘되고 리눅스 돌아갈 정도면 상관없음(라즈베리파이도 가능)
※ 스위치는 추후 뜯어서 납땜은 좀 해야할수도..?
'홈 IoT' 카테고리의 다른 글
공지사항 파트 (0) | 2021.03.15 |
---|---|
클라우드 파트 (0) | 2021.03.10 |
기능별 파트 분배 (0) | 2021.03.04 |
하나부터 열까지 직접 스마트홈 만들기 (0) | 2021.03.04 |