์์ผ๋ก ๋ฅ๋ฌ๋์ ํ์ฉํ ๊ณผ์ ๋ฅผ ์ํํ ๋, ์ง์ ๋ฐ์ดํฐ๋ฅผ ์ผ์๋ ์นด๋ฉ๋ผ ๋ฑ์ ํ์ฉํด์ ์์งํ๊ณ ๋ชจ๋ํฐ๋งํ๋ ๊ธฐ๋ฅ๊น์ง ๊ตฌํํ ์ผ์ด ๊ฝค ์์ผ๋ฆฌ๋ผ๋ ์ด์ผ๊ธฐ์ ํจ๊ป ๊ฐ๋จํ ๋ชจ๋ํฐ๋ง ์์คํ ์ ๋ก์ปฌ์์ ๊ตฌ์ถํด๋ณด๋ ์์ (?)๋ฅผ ๋ฐ์๋ค.
์ด์ ์ ํ ๋ฒ๋ ๋ฐฑ์๋๋ฅผ ํด๋ณธ ์ ์ด ์์ด์ ์กฐ๊ธ ๋ง๋งํ์ง๋ง, ์ญ์ ํ์ด์ฌ... FastAPI๋ฅผ ํ์ฉํด์ 5์ผ ์ ๋๋ง์ ์์ฃผ ๊ธฐ๋ณธ์ ์ธ ํ์ ์ง๋๋ฐ ์ฑ๊ณตํ๋ค. ์ด ์ฑํฐ์์ ์ง์์ ์ธ ์์คํ ์ ๋ฐ์ดํธ์ ๊ฐ๋ฐ ๊ณผ์ ์ ๊ธฐ๋กํด๋ณด๋ ค๊ณ ํ๋ค. ๊ณต๊ฐํ ์ ์๋ ์ฝ๋๋ ์๋ ๊นํ repository์ ์ฌ๋ ค๋์๋ค.
https://github.com/melli0505/monitoring_system
[GitHub - melli0505/monitoring_system: FastAPI/PostgreSQL/MQTT ๊ธฐ๋ฐ ์ผ์ ๋ชจ๋ํฐ๋ง ์์คํ
FastAPI/PostgreSQL/MQTT ๊ธฐ๋ฐ ์ผ์ ๋ชจ๋ํฐ๋ง ์์คํ . Contribute to melli0505/monitoring_system development by creating an account on GitHub.
github.com](https://github.com/melli0505/monitoring_system)
์ฌ์ฉํ(ํ ) ๊ธฐ์ ์คํ
- Frontend : jQuery, Bootstrap
- Backend : FastAPI
- Database : PostgreSQL
- ์ผ์ ํต์ : MQTT(Message Queuing Telemetry Transport)
ํ๋ก ํธ์๋๋ ๋ง์ ๊ธฐ๋ฅ์ ํ์๋ก ํ์ง๋ ์๊ณ ์์ฒญ ์๋ฆ๋ค์์ผํ ํ์๋ ์์ผ๋ฏ๋ก ๋ณ๋์ ํ๋ ์์ํฌ ์์ด JavaScript์ ํ์ฅ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฐ๋ ์ธ jQuery๋ฅผ ์ฌ์ฉํ๊ณ , Bootstrap ๋ฌด๋ฃ ํ ํ๋ฆฟ์ ์ ๊ทน ํ์ฉํ๊ธฐ๋ก ํ๋ค.
๋ฐฑ์๋๋ ์ด์ฐจํผ ๋ฅ๋ฌ๋๋ ํ์ด์ฌ์ผ๋ก ํ๊ณ ์๊ฒ ๋ค, ๋น๊ต์ ์ต์ ๊ธฐ์ ์ธ FastAPI๋ฅผ ํ์ฉํ์๋ ๋ง์์ ๋ฐ๋ผ์ ์ ํํ๋ค. ์๋๊ฐ ๋น ๋ฅด๊ณ ๊ฐ๋ฐ์ด ์ฝ๋ค๋ ์ฅ์ ์ด ์๋ค. (๋ญ๋ ์์๋ถํฐ ์ด๋ ต๊ฒ ๋๋ง๋) ๋ฐฑ์๋ ์์ฒด๋ฅผ ์ฒ์ ํด๋ณธ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ FastAPI์ sqlalchemy๋ฅผ ํ์ฉํ ๊ฒ์ด๋ผ RDBMS๋ฉด ์๊ด์์ ๊ฒ ๊ฐ์์ PostgreSQL์ ๊ณจ๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ์ฒ์ ์จ๋ณธ๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ๋ง์ง๋ง ๊ฒฝํ์ ์ ์๋ ํ๋ถ์ ๊ณผ์ (...)๊ฐ ์ ๋ถ์๋ค.
์ผ์ ํต์ ์ ํ์ฌ ๋๋ค ๋ฐ์ดํฐ๋ฅผ ์์ฑํด์ IP ๊ธฐ๋ฐ์ผ๋ก ํต์ ํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋๋ฐ, ์ด๋ฏธ์ง ๋ฐ์ดํฐ๊ฐ ์๋๋ค ๋ณด๋ MQTT๋ก ํต์ ์ ํด๋ณด๊ธฐ๋ฅผ ์ถ์ฒํด์ฃผ์ จ๋ค. ๊ทธ๋ฆฌํ์ฌ ์์คํ ๊ตฌ์ฑ์ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ๋ค.
์ฝ์ด์จ ๋ฐ์ดํฐ๋ฅผ ์ค์๊ฐ์ผ๋ก DB์ ๋ฃ๊ณ , ๊ทธ ๋ฐ์ดํฐ๋ฅผ ์ค์๊ฐ์ผ๋ก ์ฝ์ด์ ์๋ฒ์์ ๊ทธ๋ํ๋ฅผ ๋์์ฃผ๋ ์์คํ ์ ๋ง๋๋ ๊ฒ์ด ๋ชฉํ์ด๋ค. ์ด ๊ณผ์ ์์ ๋ฐ์ํ๋ ์ฌ๋ฌ ์ด์๋ค๊ณผ ๊ตฌํ ๊ณผ์ , ๊ณต๋ถํ ๋ด์ฉ์ ํจ๊ป ํฌ์คํ ํด๋ณด๊ฒ ๋ค. ํ์ดํ ~