๐ผ Project/๐ง Monitoring System
[Monitoring System] 1~4 ๊น์ง์ ๋ด์ฉ์ผ๋ก ํ์ ๋ํ์ ๋ ผ๋ฌธ์ ๋์ต๋๋ค.
๋ณ ๊ฑด ์๋๊ณ ๊ธฐํ๊ฐ ๋์ด์ ํ๊ตญํต์ ํํ ํ๊ณ์ข ํฉํ์ ๋ํ์ ํด๋น ๋ด์ฉ์ผ๋ก ๋ ผ๋ฌธ์ ์ค์ ์ ์๊ฒ ๋์์ต๋๋ค. ํ์ ๋ ผ๋ฌธ์ผ๋ก ์ด์ํ์ง ๊ด๋ จ ๋ด์ฉ์ ์ ๋ฆฌํด๋๊ณ ์๋๋ฐ ์ธ ์ ์์๋ฐ์ง๊น์ง๋ ์ ๋ชจ๋ฅด๊ฒ ๋ค์ใ ใ ์คํ์ฅ์น์ ๊ดํ ๋ด์ฉ์ด๋ ์์ธํ ์ธํ ๋ฑ์ ๋ด์ฉ์ด ํฌํจ๋์ด ์์ต๋๋ค. ํ์ํ๋ฉด ์ฝ์ด๋ณด์ ๋ ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ ํ์ด์ง ์ง๋ฆฌ๊ณ ๋ฌด๋ ค ์ฒ์(!)์ ๋๋ค. ๊ฐ์ฌํฉ๋๋ค :) ๊ณ ์ ๋ฌด์ ํต์ ๊ธฐ๋ฐ์ ์ค์๊ฐ ์ง๋ ์ธก์ ๋ฐ ๋ถ์ ์์คํ | DBpia ๊ฐ๋ค์ธ, ์กฐ์ํ, ๊น๋ํ | ํ๊ตญํต์ ํํ ํ์ ๋ํ๋ ผ๋ฌธ์ง | 2023.06 www.dbpia.co.kr
[Monitoring System] 7. Fast API ๋ก ์ดํ๋ง์ ๋ฐฑ์๋ ๊ตฌ์ถํ๊ธฐ(feat. Google Chart) (3) - ๋ง์นจ๋ด ๊ทธ๋ํ ๊ทธ๋ฆฌ๊ธฐ ๅฎ
[Monitoring System] 5. Fast API ๋ก ์ดํ๋ง์ ๋ฐฑ์๋ ๊ตฌ์ถํ๊ธฐ(feat. SQLAlchemy, PostgreSQL) (1) from sqlalchemy import Boolean, Column, ForeignKey, Integer, String, TIMESTAMP, Float from .base import Base ์ ๋ชฉ์ ๊ฑฐ์ฐฝํ๊ฒ ์จ๋จ์ง๋ง ์์ฃผ ๊ฐ๋จํ ๋ฐฑ์๋๋ฅผ ๊ตฌ์ถํด์ ๊ทธ๋ฆฌ ์ค๋๊ฑธ๋ฆฌ์ง ์์์ ๋ฟ์ด๋ค^^. ์ฐ์ ๋ฐฑ์๋๋ฅผ dnai-deny.tistory.com [Monitoring System] 6. Fast API ๋ก ์ดํ๋ง์ ๋ฐฑ์๋ ๊ตฌ์ถํ๊ธฐ(feat. SQLAlchemy, PostgreSQL) (2) - MQTT ๋ฐ์ดํฐ ์ 2023.06.13 - [Project/Monitorin..
[Monitoring System] 6. Fast API ๋ก ์ดํ๋ง์ ๋ฐฑ์๋ ๊ตฌ์ถํ๊ธฐ(feat. SQLAlchemy, PostgreSQL) (2) - MQTT ๋ฐ์ดํฐ ์ ์ฌ / ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ
2023.06.13 - [Project/Monitoring System] - [Monitoring System] 5. Fast API ๋ก ์ดํ๋ง์ ๋ฐฑ์๋ ๊ตฌ์ถํ๊ธฐ(feat. SQLAlchemy, PostgreSQL) (1) [Monitoring System] 5. Fast API ๋ก ์ดํ๋ง์ ๋ฐฑ์๋ ๊ตฌ์ถํ๊ธฐ(feat. SQLAlchemy, PostgreSQL) (1) from sqlalchemy import Boolean, Column, ForeignKey, Integer, String, TIMESTAMP, Float from .base import Base ์ ๋ชฉ์ ๊ฑฐ์ฐฝํ๊ฒ ์จ๋จ์ง๋ง ์์ฃผ ๊ฐ๋จํ ๋ฐฑ์๋๋ฅผ ๊ตฌ์ถํด์ ๊ทธ๋ฆฌ ์ค๋๊ฑธ๋ฆฌ์ง ์์์ ๋ฟ์ด๋ค^^. ์ฐ์ ๋ฐฑ์๋๋ฅผ dnai-deny.tistory.com ์ ..
[Monitoring System] 5. Fast API ๋ก ์ดํ๋ง์ ๋ฐฑ์๋ ๊ตฌ์ถํ๊ธฐ(feat. SQLAlchemy, PostgreSQL) (1)
from sqlalchemy import Boolean, Column, ForeignKey, Integer, String, TIMESTAMP, Float from .base import Base ์ ๋ชฉ์ ๊ฑฐ์ฐฝํ๊ฒ ์จ๋จ์ง๋ง ์์ฃผ ๊ฐ๋จํ ๋ฐฑ์๋๋ฅผ ๊ตฌ์ถํด์ ๊ทธ๋ฆฌ ์ค๋๊ฑธ๋ฆฌ์ง ์์์ ๋ฟ์ด๋ค^^. ์ฐ์ ๋ฐฑ์๋๋ฅผ ํด๋ณด๋ ๊ฒ ์์ฒด๊ฐ ์ด๋ฒ์ด ์ฒ์์ด๊ณ , ํ์์ ์ํด์ ํ์ํ ๋ถ๋ถ๋ง ๊ณต๋ถํด์ ํ๋ฅ๋ฅ ๋ง๋ค์ด์ ๋ค์ ์กฐ์กํ ์ ์์ผ๋ ์ด์จ๋ ๋ชจ๋ํฐ๋ง ์์คํ ์์ฒด๋ ์ ๋์ํ๊ณ ์์ผ๋ ํธ์คํ ๋ง ๋ฐ๋ก ํด์ฃผ๋ฉด ๋น์ฅ ์ธ ์ ์๋ค. Python์ผ๋ก ์์ฑ๋์ด ์์ด์ Python์ ๋ ธ์์ธ ๋์๊ฒ๋ ์์ฃผ ํธํ ํ๋ก๊ทธ๋๋ฐ์ด์๋ ๊ฒ๋ ํ ๋ชซํ๋ค. 0. Fast API ์์ต์ Fast API ๊ณต์๋ฌธ์๋ก ๊ณต๋ถํ๋ ์๊ฐ์ ํ๋ฃจ ๊ฐ์ง๊ณ ์ดํ๋์ ๊ฐ๋ฐ์ ..
[Monitoring System] 4.1 ์ธ์์ ๋ ๋น ๋ฅธ ๋ฐฉ๋ฒ์ด - pyqtgraph
[Monitoring System] 3. UDP ํต์ ์ผ๋ก ์ค์๊ฐ ์ง๋ ๋ฐ์ดํฐ Plotting(feat. matplotlib) ์ด๋ฒ ํฌ์คํ ์์๋ ์ด์ mqtt์์ ์ฌ์ฉํ ์์ ๋ฐ์ดํฐ๋ณด๋ค 2๋ง ๋ฐฐ ์ ๋ ๋ง์ ๋ฐ์ดํฐ๋ฅผ DAQ์์ ๋ฐ์์ค๋ UDP ์์ ๋ฅผ ๋ง๋ค ๊ฒ์ด๋ค. ๊ตฌํํ๋ ค๋ ์น ์๋น์ค์ ์จ๋ ๋ฐ์ดํฐ ๋ง๊ณ ์ง๋ ๋ฐ์ดํฐ๋ ๋ฃ์ด๋ณด dnai-deny.tistory.com [Monitoring System] 4. UDP ํต์ ์ผ๋ก ์ค์๊ฐ ์ง๋ ๋ฐ์ดํฐ FFT / STFT์๊ฐํ(numpy, tensorflow, pytorch) ๊ฒฐ๋ก ๋ถํฐ ๋งํ๋ฉด stft๋ ๋ถํ๊ฐ ๋๋ฌด ์ฌํด์ ์ค์๊ฐ์ผ๋ก ์๊ฐํํ๋ ๊ฒ์ ๋ฌด๋ฆฌ๋ฌด๋ฆฌ๋ฌด๋ฆฌ์ด๋ค. ์ผ๋จ matplotlib ์์ฒด์์ ๋จ์ ์๊ฐํ๋ฅผ ํ๊ธฐ์๋ ๋ฐ์ดํฐ ์์ด ๋๋ฌด ๋ง๊ธฐ ๋๋ฌธ์ ์ผ์ข ์ ๋ นํ๊ธฐ๋ฅ์ ..
[Monitoring System] 4. UDP ํต์ ์ผ๋ก ์ค์๊ฐ ์ง๋ ๋ฐ์ดํฐ FFT / STFT์๊ฐํ(numpy, tensorflow, pytorch)
๊ฒฐ๋ก ๋ถํฐ ๋งํ๋ฉด stft๋ ๋ถํ๊ฐ ๋๋ฌด ์ฌํด์ ์ค์๊ฐ์ผ๋ก ์๊ฐํํ๋ ๊ฒ์ ๋ฌด๋ฆฌ๋ฌด๋ฆฌ๋ฌด๋ฆฌ์ด๋ค. ์ผ๋จ matplotlib ์์ฒด์์ ๋จ์ ์๊ฐํ๋ฅผ ํ๊ธฐ์๋ ๋ฐ์ดํฐ ์์ด ๋๋ฌด ๋ง๊ธฐ ๋๋ฌธ์ ์ผ์ข ์ ๋ นํ๊ธฐ๋ฅ์ ๋ฃ์ด์ ์ํ๋ ๋งํผ์ ๋ฐ์ดํฐ๋ฅผ fft / stft ์ฒ๋ฆฌํด์ ๋ฐ๋ก ์๊ฐํํ๊ธฐ๋ก ๊ฒฐ์ ํ์๋ค. ๊ทธ๋๋ FFT ์ ๋๋ ์ค์๊ฐ์ผ๋ก ๊ฐ๋ฅํ ๊ฒ ๊ฐ์์ gpu accelerator๋ฅผ ์ฌ์ฉํด์ ๊ตฌํํ์๋ค. ๊ทธ๋ฌ๋ CUDA ํ๊ฒฝ์ด ์๋ ๊ณณ์์๋ ์ธ ์ ์๋๋ก numpy๋ก๋ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ค. ์ด์ ๊น์ง ์ฝ๋๋ ์๊ธฐ์ ์๋ค. https://dnai-deny.tistory.com/65 [Monitoring System] 3. UDP ํต์ ์ผ๋ก ์ค์๊ฐ ์ง๋ ๋ฐ์ดํฐ Plotting(feat. matplotlib) ์ด๋ฒ ํฌ์คํ ์์๋ ์ด์ m..
[Monitoring System] 3. UDP ํต์ ์ผ๋ก ์ค์๊ฐ ์ง๋ ๋ฐ์ดํฐ Plotting(feat. matplotlib)
์ด๋ฒ ํฌ์คํ ์์๋ ์ด์ mqtt์์ ์ฌ์ฉํ ์์ ๋ฐ์ดํฐ๋ณด๋ค 2๋ง ๋ฐฐ ์ ๋ ๋ง์ ๋ฐ์ดํฐ๋ฅผ DAQ์์ ๋ฐ์์ค๋ UDP ์์ ๋ฅผ ๋ง๋ค ๊ฒ์ด๋ค. ๊ตฌํํ๋ ค๋ ์น ์๋น์ค์ ์จ๋ ๋ฐ์ดํฐ ๋ง๊ณ ์ง๋ ๋ฐ์ดํฐ๋ ๋ฃ์ด๋ณด๊ณ ์ถ์๋ฐ, ๊ทธ๊ฒ์ ์ํด์ ์ฐ์ ๋์ฉ๋ ๋ฐ์ดํฐ์ด๊ธฐ ๋๋ฌธ์ ๋ณต์กํด์ง๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์๋ฒ๋ฅผ ์ ์ธํ๊ณ ์์ผ ํต์ ํ ๊ฒฐ๊ณผ๋ฅผ matplotlib๋ก ๋ก์ปฌ์ ๊ฐ๋จํ๊ฒ ๋์๋ณด๋๋ก ํ๊ฒ ๋ค. 1. UDP ํต์ UDP๋ ์์ผ ํต์ ์ ์ผ์ข ์ผ๋ก, ๋ค๋ฅธ ์์ผ ํต์ ๋ฐฉ๋ฒ์ธ TCP์๋ ๋ค๋ฅด๊ฒ ์ฐ๊ฒฐ์ ๋ณด์ฅํด์ฃผ์ง ์๋๋ค. ๋์๊ฒ ๋ค๋ฆด ์๋ ์๊ฒ ์ผ๋ client์ server์ ์ฐ๊ฒฐ์ ์์ฒญํ๊ณ , ์น์ธํ๊ณ ์ฐ๊ฒฐํ ํ ํต์ ์ ์์ํ๋ TCP์ ๋ฌ๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ๋งค๋ฒ ๋ณด๋ผ ๋๋ง๋ค ๋ฐ์ดํฐ์ ๋ชฉ์ ์ง(ip, port๋ฒํธ)๋ฅผ ํจ๊ป ์ค์ด์ ์ผ๋จ ๋ ๋ค ๋ณด๋ด๋ ๋ฐฉ์..
[Monitoring System] 2. MQTT ํต์
: Message Queuing Telemetry Transport ๊ฐ์ฅ ๋จผ์ ๋ฐ์ดํฐ ์์ง์ ์ํด MQTT ํต์ ์ด ๋ฌด์์ธ์ง๋ถํฐ ์์๋ณด๋๋ก ํ๊ฒ ๋ค. ์๋ฆฌ Publish - Subscribe ๋ชจ๋ธ ๋ฉ์ธ์ง ๋ฐ์ ์์ ์์ ์๋ฅผ ๊ตฌ๋ถํจ ๋ธ๋ก์ปค ๋ผ๋ ์ 3์ ๊ตฌ์ฑ์์๊ฐ ๋ ์ฌ์ด์ ํต์ ์ฒ๋ฆฌ ๋ธ๋ก์ปค์ publisher - subcriber ๋ถ๋ฆฌ ๊ณต๊ฐ ๋ถ๋ฆฌ ๋ฐ์ ์ / ์์ ์๊ฐ ์๋ก์ IP / ํฌํธ๋ฒํธ / ๋คํธ์ํฌ ์์น ๋ชจ๋ฆ ์๊ฐ ๋ถ๋ฆฌ ๋์์ ์ผ์๋๊ฑฐ๋ ๋คํธ์ํฌ ํตํด ์ฐ๊ฒฐ๋์ง ์์ ๋๊ธฐํ ๋ถ๋ฆฌ ์๋ก๋ฅผ ์ค๋จ์ํค์ง ์๊ณ ๋ฉ์ธ์ง ์ก์์ ๊ฐ๋ฅ. ๊ตฌ๋ ์๊ฐ ๋ฐ์ดํฐ ์ฌ ๋๊น์ง ๊ธฐ๋ค๋ฆด ํ์ ์๋ค. ์์ฝํ๋ฉด, ๋ฉ์ธ์ง ๋ฐ์ ์๊ฐ ์ฃผ์ + ๋ฐ์ดํฐ๋ฅผ ๋ธ๋ก์ปค์๊ฒ ๋ณด๋ด๋ฉด, ๋ธ๋ก์ปค๋ ๊ทธ ์ฃผ์ ๋ฅผ ๊ตฌ๋ ํ๊ณ ์๋ ์์ ์๋ฅผ ์ฐพ์์ ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํด์ค๋ค...
[Monitoring System] 1. ์์คํ ๊ตฌ์ฑ ๋ฐ ๋ชฉํ
์์ผ๋ก ๋ฅ๋ฌ๋์ ํ์ฉํ ๊ณผ์ ๋ฅผ ์ํํ ๋, ์ง์ ๋ฐ์ดํฐ๋ฅผ ์ผ์๋ ์นด๋ฉ๋ผ ๋ฑ์ ํ์ฉํด์ ์์งํ๊ณ ๋ชจ๋ํฐ๋งํ๋ ๊ธฐ๋ฅ๊น์ง ๊ตฌํํ ์ผ์ด ๊ฝค ์์ผ๋ฆฌ๋ผ๋ ์ด์ผ๊ธฐ์ ํจ๊ป ๊ฐ๋จํ ๋ชจ๋ํฐ๋ง ์์คํ ์ ๋ก์ปฌ์์ ๊ตฌ์ถํด๋ณด๋ ์์ (?)๋ฅผ ๋ฐ์๋ค. ์ด์ ์ ํ ๋ฒ๋ ๋ฐฑ์๋๋ฅผ ํด๋ณธ ์ ์ด ์์ด์ ์กฐ๊ธ ๋ง๋งํ์ง๋ง, ์ญ์ ํ์ด์ฌ... FastAPI๋ฅผ ํ์ฉํด์ 5์ผ ์ ๋๋ง์ ์์ฃผ ๊ธฐ๋ณธ์ ์ธ ํ์ ์ง๋๋ฐ ์ฑ๊ณตํ๋ค. ์ด ์ฑํฐ์์ ์ง์์ ์ธ ์์คํ ์ ๋ฐ์ดํธ์ ๊ฐ๋ฐ ๊ณผ์ ์ ๊ธฐ๋กํด๋ณด๋ ค๊ณ ํ๋ค. ๊ณต๊ฐํ ์ ์๋ ์ฝ๋๋ ์๋ ๊นํ repository์ ์ฌ๋ ค๋์๋ค. https://github.com/melli0505/monitoring_system [GitHub - melli0505/monitoring_system: FastAPI/PostgreSQL/MQT..