Skip to content

taek2222/Embedded_IoT_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ  ์ž‘์€ ์ง‘์œผ๋กœ IoT ์ฒดํ—˜ โœจ

์‚ฌ๋ฌผ์ธํ„ฐ๋„ท(IoT)์˜ ๊ธฐ์ˆ ์„ ๊ฐ„์ ‘์ ์œผ๋กœ ์ฒดํ—˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œ์ž‘ํ•œ ์ž‘์€ IoT ๐Ÿ”ฅ

applogo

Static Badge Static Badge Static Badge


๐Ÿ“– ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

๊ฐœ๋ฐœ ๊ธฐ๊ฐ„ : 2023.10. - 2023.12.

RoT ํ”„๋กœ์ ํŠธ๋Š” ๋ฌด์„  ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ํ•˜๋“œ์›จ์–ด๋ฅผ ์ œ์–ดํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์›๊ฒฉ์œผ๋กœ ์ œ์–ดํ•˜๊ณ  ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ„๋‹จํ•œ ์ฒดํ—˜์„ ํ†ตํ•ด ์‹ค์ƒํ™œ์—์„œ ์‚ฌ์šฉ๋˜๋Š” IoT ์‹œ์Šคํ…œ์„ ๊ฐ„์ ‘์ ์œผ๋กœ ๊ฒฝํ—˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.


๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ ํŒ€์› ์†Œ๊ฐœ

@taek2222 @reinwook
โœ”๏ธ PM - Back - Front โœ”๏ธ Hardware - Model

๐Ÿ“บ ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ

Application ๐Ÿ“ฑ

Main ํ™”๋ฉด ํ‰๊ท  ๋ฆฌํฌํŠธ ํ™”๋ฉด CCTV ํ™”๋ฉด Record ํ™”๋ฉด
Main Application application_cctv CCTV Application Record Application

Model โš™๏ธ

3D ๋ชจ๋ธ๋ง 3D ๋ชจ๋ธ๋ง 3D ๋ชจ๋ธ
3D_1 3D_2 model

๐Ÿ”จ ํ”„๋กœ์ ํŠธ ๊ธฐ๋Šฅ

LED ON / OFF ์ œ์–ด ๐Ÿšจ

  • 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์— ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„์„ ๊ธฐ๋กํ•ด ํƒ์ง€ ์‹œ๊ฐ„์„ ๊ธฐ๋ก.

๐Ÿ”— ์‹œ์Šคํ…œ ๊ตฌ์กฐ๋„

์•„ํ‚คํ…์ฒ˜


โš’๏ธ ๊ธฐ์ˆ  ์Šคํƒ

Backend Front-Hardware

About

๐Ÿ  ๋ฏธ๋‹ˆ ๊ฐ€์ • ์ง‘ IoT ํ”„๋กœ์ ํŠธ

Topics

Resources

Stars

Watchers

Forks