uddangmak은 웹을 통해 아두이노 스마트 선풍기를 제어하고 센서 데이터를 모니터링하는 백엔드 서버 프로젝트입니다. 선풍기의 전원, 속도, 회전뿐만 아니라 무드등의 색상과 밝기까지 원격으로 조절할 수 있습니다. 또한, 아두이노에 연결된 센서로부터 온도, 습도, 조도 데이터를 받아 실시간으로 확인할 수 있습니다.
- 선풍기 제어
- 전원 ON/OFF
- 바람 세기 조절
- 회전 기능 ON/OFF
- 무드등 제어
- 밝기 조절
- RGB 색상 변경
- 수면 모드 설정
- 센서 데이터 모니터링
- 아두이노로부터 온도, 습도, 조도 데이터를 주기적으로 수신하여 저장합니다.
- 저장된 최신 센서 데이터를 웨 UI에 제공한다.
- Framework: Spring Boot
- Language: Java
- ORM: Spring Data JPA / Hibernate
- Database: H2
- Build Tool: Gradle
장치 제어 설정을 관리하는 API입니다. 모든 설정은 ID가 1인 단일 엔티티를 통해 관리됩니다.
| Method | Endpoint | Descripion | Request Body | Success Response |
|---|---|---|---|---|
| Get | /api/settings | 현재 장치의 모든 설정 값을 조회 | DeviceSettings object | |
| POST | /api/settings | 장치 설정을 부분적으로 업데이트 | DeviceSettingsUpdateRequest DTO | DeviceSettings object |
POST /api/settings Request Body Example
- 업데이트할 필드만 포함하여 전송하면, 해당 필드만 수정됩니다.
{
"fanSpeed": 2,
"fanRotation": true,
"moodlightColor": "255,0,125"
}아두이노 센서 데이터를 관리하는 API입니다.
| Method | Endpoint | Descripion | Request Body | Success Response |
|---|---|---|---|---|
| POST | /api/sensor | 아두이노로부터 수신한 센서 데이터를 저장/업데이트 | SensorDataDto | 200 OK |
| GET | /api/sensor | SensorDataDto object |
POST /api/sensor Request Body Example
{
"temp": 26.1,
"humid": 55.8,
"brightness": 512
}