삼성 SmarThings Cloud를 이용한 IoT 기기 관리 홈페이지
- Dawon smart plug: http://dawondns.com/new/ai%EC%8A%A4%EB%A7%88%ED%8A%B8%ED%94%8C%EB%9F%AC%EA%B7%B816a/
- SmarThings Cloud에 등록된 IoT 디바이스 원격 조작 가능 (on/off)
- IoT 디바이스들의 전기 사용량을 일, 시간 단위로 저장함
- 디바이스 상세 페이지에서 일일 전기 사용량 그래프를 제공함
- 디바이스 상세 페이지에서 기간을 설정하여 시간 단위 데이터가 기록된 Excel 파일을 다운로드할 수 있음
- Docker image를 제공하기 때문에 Docker 환경 어디에서나 이용 가능
- IoT device remote operation registered in SmartTHings Cloud (on/off)
- Measure and store the power usage of IoT devices on a daily, hourly basis
- Provides a daily units of electricity consumption graph on the device detail page
- By setting the period on the device detail page, you can download the Excel file recorded with time unit data
- Because it provides Docker Image, you can host the homepage anywhere in the Docker environment
- Spring Boot
- Spring Security with Session cookie
- Apache POI
- JPA, JPQL
- MySQL
- Thymeleaf
Create a Docker network: To support communication between containers
- COMMAND: docker network create smartapp-net
Create Docker Volume: To prevent DB data loss
- COMMAND: docker volume create smartapp-vol
Run mysql container using Docker network and volume
MYSQL_ROOT_PASSWORD 수정 가능(Can be modified)
- COMMAND: docker run -d --rm --name smartapp-mysql --network smartapp-net -v smartapp-vol:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=0000 mysql:latest
For the first run of mysql, create SmartApp_db Database
- docker exec -it smartapp-mysql bash
- mysql -u root -p
- Enter password:
- create database smartapp_db;
- quit
- exit
When the above process is completed, run the Smart App container.
DB_PASS must be the same as MYSQL_ROOT_PASSWORD
- COMMAND: docker run -d --rm --name smartapp --network smartapp-net -p 8080:8080 -e "SPRING_PROFILES_ACTIVE=prod" -e "DB_URL=jdbc:mysql://smartapp-mysql:3306" -e "DB_NAME=smartapp_db" -e "DB_USER=root" -e "DB_PASS=0000" seaworld0125/smart-app:latest