์ฌ๋ฌผ์ธํฐ๋ท(IoT)์ ๊ธฐ์ ์ ๊ฐ์ ์ ์ผ๋ก ์ฒดํํ ์ ์๋๋ก ์ ์ํ ์์ IoT ๐ฅ
๊ฐ๋ฐ ๊ธฐ๊ฐ : 2023.10. - 2023.12.
RoT ํ๋ก์ ํธ๋ ๋ฌด์ ๋คํธ์ํฌ๋ฅผ ํตํด ํ๋์จ์ด๋ฅผ ์ ์ดํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋ ์์คํ ์ ๊ตฌ์ถํ ๊ฒ์ ๋๋ค.
์ด๋ฅผ ํตํด ๋ค์ํ ๊ธฐ๋ฅ์ ์๊ฒฉ์ผ๋ก ์ ์ดํ๊ณ ์ค์๊ฐ์ผ๋ก ๋ชจ๋ํฐ๋งํ ์ ์์ต๋๋ค.
๊ฐ๋จํ ์ฒดํ์ ํตํด ์ค์ํ์์ ์ฌ์ฉ๋๋ IoT ์์คํ ์ ๊ฐ์ ์ ์ผ๋ก ๊ฒฝํํ ์ ์๋๋ก ์ค๊ณ๋์์ต๋๋ค.
@taek2222 | @reinwook |
โ๏ธ PM - Back - Front | โ๏ธ Hardware - Model |
Main ํ๋ฉด | ํ๊ท ๋ฆฌํฌํธ ํ๋ฉด | CCTV ํ๋ฉด | Record ํ๋ฉด |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
3D ๋ชจ๋ธ๋ง | 3D ๋ชจ๋ธ๋ง | 3D ๋ชจ๋ธ |
---|---|---|
![]() |
![]() |
![]() |
- APP ํตํ LED ์กฐ์ : Flask ์น ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํด GPIOํ ์ฐ๊ฒฐ๋ LED ON/OFF ์ ์ด ๊ธฐ๋ฅ.
- ํธ์์ฑ ๊ฐ์ : ์ ์ฒด LED๋ฅผ ํ ๋ฒ์ ON/OFF ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ ์ฌ์ฉ์์ ํธ์์ฑ ํฅ์.
- ์์ธ ์ฒ๋ฆฌ : ์ฑ๊ณต ์ HTTP Status Code ๋ฐํํ๊ธฐ์ ์ค๋ฅ ๋ฐ์ ์ ์ ์ ํ ์์ธ ์ฒ๋ฆฌ.
- ๋ค์ค ์ผ์ ํ์ฉ : Raspberry Pi๋ฅผ ํ์ฉํด ์จ์ต๋ ์ผ์(DHT11)์ ๋ฏธ์ธ๋จผ์ง ์ผ์(PMS7003)๋ฅผ ์ด์ฉํด ์ค์๊ฐ ๋ฐ์ดํฐ ์์ง.
- ๋ฐ์ดํฐ ๊ฒ์ฆ : ๊ต์ก์ฉ ์ผ์๋ก ์์ง๋ ๋ฐ์ดํฐ ์ค ์ด์ ๊ฐ OR NULL ๊ฐ์ด ์์ฃผ ์์ฑ, ์ฌ์ธก์ ๋ก์ง์ผ๋ก ์ ํจ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ ์ก.
- ๋ฐ์ดํฐ ์๊ฐํ : APP์ Spring Boot RESTful API ํต์ ์ผ๋ก ์จ๋, ์ต๋, ๋ฏธ์ธ๋จผ์ง ์์น๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ , ์ผ์ผ ํ๊ท ๋ฐ์ดํฐ ๋ฆฌํฌํธ ์ ๊ณต.
- ๋ฌธ ๊ฐํ : Flask ์น ์๋ฒ๋ฅผ ํ์ฉํด ๋ชจ๋ฐ์ผ ์ฑ์ผ๋ก๋ถํฐ ๋ฐ์ ๋ช ๋ น์ ๋ฐ๋ผ ๋ชจํฐ๋ฅผ ์ด์ฉํ์ฌ ๋ฌธ์ ์ด๊ฑฐ๋ ๋ซ๋ ๊ธฐ๋ฅ.
- ์์ ๊ฒ์ฆ : ๋ง๊ทธ๋คํฑ ๋์ด ์ผ์๋ฅผ ์ด์ฉํ์ฌ ๋ฌธ์ ๊ฐํ ์ํ๋ฅผ 'checkDoorStatus' ํจ์๋ฅผ ํตํด ์ค์๊ฐ ํ์ ํด ์ ํํ๊ฒ ๊ฐ์ง.
- ๋ฌธ ์ํ ๊ธฐ๋ก : ๋ฌธ์ ์ํ๋ Maria DB ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ธฐ๋ก๋ฉ๋๋ค. ๊ทธ ํ Spring Boot์์ ๋ชฉ๋ก์ ์กฐํํด ์๊ฐ ๋ฐ ๋ ์ง ๊ธฐ๋ก ๋ฐํ.
- ์ ํ๊ธฐ ๋ชจํฐ ์ ์ด : Flask๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ถ๋ RESTful API๋ ์ ํ๊ธฐ ๋ชจํ ๋ชจํฐ(PWM)๋ฅผ ์ ์ดํ์ฌ ๋์จํ๊ธฐ๋ฅผ ์กฐ์.
- ์ธ๊ธฐ ์กฐ์ : ์ฌ์ฉ์๋ ๋ชจํฐ์ ๊ฐ๋๋ฅผ ๊ฐ, ์ค, ์ฝ์ผ๋ก ์กฐ์ .
- ์ค์๊ฐ ๊ฐ์ ๋ฐ ๋ นํ : PiCamera2๋ฅผ ์ด์ฉํ์ฌ ์ค์๊ฐ์ผ๋ก ๊ฐ์๋ฅผ ์ํํ๋ฉฐ, ํ๋ ์ ์ฐ์ ๋ถ์์ผ๋ก ์์ง์ ๊ฐ์ง ํ๋จ. ๊ฐ์ง ์ 15์ด ์์ ์ ์ฅ.
- ์คํฌ๋ฆฐ์ท ๊ธฐ๋ฅ : APP์ ์ ์ด๋ก API ํต์ ์ผ๋ก ํ์ฌ ์ํ๋ฅผ ์บก์ฒํ์ฌ ํ์ผ๋ก ์ ์ฅํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณต.
- ๊ฐ์ง ๊ธฐ๋ก : ๊ฐ์ง ์ DB์ ๋ ์ง ๋ฐ ์๊ฐ์ ๊ธฐ๋กํด ํ์ง ์๊ฐ์ ๊ธฐ๋ก.