목표 : 원격으로 전등을 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 저장 및 안드로이드↔스위치 간 통신 허브
※실제 사용 제품들은 하단에 링크 참조
대략적인 데이터 흐름도
구매 및 사용 제품
12.02US $ 31% OFF|WIFI smart touch switch No neutral wire 110V220V tuya APP RF433 remote control Alexa voice control Wall interr
Smarter Shopping, Better Living! Aliexpress.com
www.aliexpress.com
2. 안드로이드 : PIXEL 3
3. 서버(Ubuntu 18.04.2 LTS ) : www.lenovo.com/us/en/desktops/thinkcentre/m-series-tiny/m73/
Lenovo ThinkCentre M73 Tiny Desktop | Lenovo US
Our Tiny desktops are the first 1L desktop in the industry. Complete with flexible mounting solutions including support for standard VESA mounts, Tiny desktops fit just about anywhere, yet they provide a reliable, enterprise-level performance that you can
www.lenovo.com
※ 스위치랑 서버는 반드시 저 모델과 동일할 필요는 없음. 스위치는 Wi-Fi 칩셋이 esp8266이면 상관없으며, 서버는 통신 잘되고 리눅스 돌아갈 정도면 상관없음(라즈베리파이도 가능)
※ 스위치는 추후 뜯어서 납땜은 좀 해야할수도..?
'홈 IoT' 카테고리의 다른 글
공지사항 파트 (0) | 2021.03.15 |
---|---|
클라우드 파트 (0) | 2021.03.10 |
기능별 파트 분배 (0) | 2021.03.04 |
하나부터 열까지 직접 스마트홈 만들기 (0) | 2021.03.04 |