반려 식물을 키우는 ‘식집사'들이 늘어나는 요즈음, 식물을 간편하게 기를 수 있는 어플을 제작하고자 하였습니다.
Mqtt 프로토콜을 활용해 아두이노와의 통신을 기반으로 한 IoT 연계 어플입니다.
GrowingPetPlant를 통해 식집사들이 부담을 덜고, 식물 가꾸기를 더욱 즐길 수 있기를 기대합니다.
Category | Technologies |
---|---|
Backend | |
Database | |
Cloud | |
Tool |

- 식물 온실 온도, 대기 습도, 토양 습도 실시간 모니터링
- 아두이노를 통해 원격 물 주기, 조명 on/off, 팬 on/off
- 식물 온실 자동화
- 식물 온실 환경에 대한 데이터를 그래프로 시각화
- 수분 공급 일자 캘린더에 표시







Server는 유저가 독 바의 버튼을 눌러 기능을 실행하면 해당 기능에 맞는 Topic의 message를 발행합니다.
예를 들어, 유저가 조명 버튼을 누르면 "TOPIC_LIGHT" 토픽에 message를 발행합니다.
발행하는 message는 현재 아두이노의 조명의 작동 여부를 확인하고, 이와 반대 동작을 수행하도록 합니다.

Server는 아두이노가 10초마다 특정 Topic에 발행하는 message를 수신해 해당 유저-식물 번호의 데이터를 저장하고, 실시간 정보를 업데이트합니다.
이때, 여러 식물의 실시간 정보를 받기 위해 아두이노가 발행하는 토픽을 "userPlant/+/temperature"와 같이 지정합니다.
와일드카드 처리를 통해 유저-식물 번호를 구분해 정보를 업데이트할 수 있습니다.
@Scheduled 어노테이션을 통해 매일 자정 온실 자동화 함수를 실행합니다.
유저의 자동화 설정 여부를 확인해 설정한 유저의 유저-식물의 상태를 모니터링합니다.
만약, 유저-식물의 상태가 식물DB에 저장되어있는 최적 상태를 벗어나있다면 수분 공급, 조명 작동, 팬 작동을 통해 식물 온실을 최적 상태로 유도합니다.