스마트 호텔 & 홈 모니터링 시스템: 클라우드 기반 자동 제어
호텔이나 스마트 홈의 모든 중요 구성 요소를 모니터링하고 자동화하는 안전하고 클라우드 연결된 솔루션을 경험하세요. 안드로이드 기기에서 어디서든 기기를 제어하고, 실시간 알림을 받으며, 구성 가능한 규칙에 기반해 작업을 자동화하세요.
개요
이 시스템은 아두이노와 라즈베리파이를 통해 센서와 액추에이터를 클라우드에 연결하고, 네이티브 안드로이드 앱을 통해 접근 가능한 통합 대시보드를 제공합니다. 주요 기능:
- 주차, 온도, 수위 실시간 모니터링
- 모터 및 게이트 자동 제어
- 중요 이벤트 발생 시 구성 가능한 이메일 알림
- 크로스 플랫폼 호환성 및 안전한 데이터 저장
데모 하이라이트
- 주차 – LDR 센서가 차량 존재 감지 후 UI 즉시 업데이트.
- 온도 – LM35 센서가 실시간 온도 읽기 제공.
- 수위 – 초음파 센서가 저수조 레벨 모니터링.
- 모터 & 게이트 제어 – 소형 브러시리스 DC 모터가 클라우드 명령으로 토글.
프로토타입 설정 방법
설정은 클라우드 구성, 아두이노 프로그래밍, 라즈베리파이 배포, 안드로이드 앱 통합의 네 단계로 나뉩니다.
1. ARTIK Cloud 계정 구성
- ARTIK Cloud에서 가입.
- Device Types → New Device Type 이동. 표시 이름(예: "hotel-testing")과 고유 식별자 입력.
- Manifest 섹션에서 필드 추가:
- water_value (String)
- parking_value (String)
- temperature_value (String)
- state_motor (Boolean)
- state_gate (Boolean)
- 액션 정의:
motor_on, motor_off, gate_on, gate_off.
- 매니페스트 활성화 후 새 애플리케이션 생성. 인증을 Client Credentials, Auth Code, Implicit로 설정하고 리다이렉트 URL로
https://localhost:8000/acdemo/index.php 사용.
- Read 권한 부여 후 Client ID와 Client Secret 기록.
- Devices 섹션에서 앞서 만든 이름으로 새 디바이스 연결. Device Token 생성 후 Device ID와 Device Token 기록.
- 선택 사항: 규칙 추가 (예:
motor_on 트리거 시 이메일 알림).
2. 아두이노 설정
다음 센서와 액추에이터 연결:
- 주차 감지용 LDR
- 온도용 LM35
- 수위용 초음파 센서
- 게이트 및 모터 제어용 브러시리스 DC 모터 (필요시 드라이버 회로 사용)
제공된 아두이노 스케치 업로드 (핀 할당 조정). 스케치는 센서 값을 발행하고 클라우드 명령을 수신 대기합니다.
3. 라즈베리파이 배포
Node.js 설치 후 클라우드 브리지 서버 실행:
sudo apt-get update
sudo apt-get install node
mkdir ~/cloudlive
cd ~/cloudlive
wget https://raw.githubusercontent.com/Anas-siddiqui/cloudlive/master/server.js
nano server.js # device_id와 device_token을 본인 자격 증명으로 교체
sudo node server.js
서버는 아두이노에서 시리얼 데이터를 읽어 ARTIK Cloud로 전달하고 들어오는 명령을 처리합니다.
4. 안드로이드 애플리케이션 구성
안드로이드 저장소 클론 후 다음 파일을 자격 증명으로 편집:
MainActivity.java – Client ID 입력
ArtikCloudSession.java – Client ID와 Device ID 입력
my_activity.java – KEY_ACCESS_TOKEN 입력
APK 빌드 및 설치. 최초 실행 시 동일한 ARTIK Cloud 계정으로 로그인. 앱이 실시간 센서 데이터를 표시하고 수동 제어 허용.
향후 개선 사항
HVAC 제어, 스마트 조명, 보안 카메라 등 추가 모듈 통합 가능. 클라우드 아키텍처로 크로스 플랫폼 확장성 보장.
소스
GitHub 저장소