IoT ์ฅ์น, ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ์๋น์ค ๊ฐ ์ํธ ์ด์ฉ์ฑ์ ์ง์ํ๋ ๊ฐ๋ฐฉํ ๋ชจ๋์ ํ๋ซํผ์ธ EdgeX 2.0 ์ถ์๋ฅผ ๋ฐํํ์ต๋๋ค. ์ด ํ๋ซํผ์ ํน์ ๊ณต๊ธ์ ์ฒด์ ํ๋์จ์ด ๋ฐ ์ด์ ์ฒด์ ์ ๋ฌถ์ฌ ์์ง ์์ผ๋ฉฐ Linux Foundation์ ํ์์ ๋ฐ๋ ๋ ๋ฆฝ์ ์ธ ์์ ๊ทธ๋ฃน์ ์ํด ๊ฐ๋ฐ๋์์ต๋๋ค. ํ๋ซํผ ๊ตฌ์ฑ ์์๋ Go๋ก ์์ฑ๋์์ผ๋ฉฐ Apache 2.0 ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
EdgeX๋ฅผ ์ฌ์ฉํ๋ฉด ๊ธฐ์กด IoT ์ฅ์น๋ฅผ ์ฐ๊ฒฐํ๊ณ ๋ค์ํ ์ผ์์์ ๋ฐ์ดํฐ๋ฅผ ์์งํ๋ ๊ฒ์ดํธ์จ์ด๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ๊ฒ์ดํธ์จ์ด๋ ์ฅ์น์์ ์ํธ ์์ฉ์ ๊ตฌ์ฑํ๊ณ ์ ๋ณด์ ๊ธฐ๋ณธ ์ฒ๋ฆฌ, ์ง๊ณ ๋ฐ ๋ถ์์ ์ํํ์ฌ IoT ์ฅ์น ๋คํธ์ํฌ์ ๋ก์ปฌ ์ ์ด ์ผํฐ ๋๋ ํด๋ผ์ฐ๋ ๊ด๋ฆฌ ์ธํ๋ผ ๊ฐ์ ์ค๊ฐ ๋งํฌ ์ญํ ์ ํฉ๋๋ค. ๊ฒ์ดํธ์จ์ด๋ ๋ง์ดํฌ๋ก์๋น์ค๋ก ํจํค์ง๋ ํธ๋ค๋ฌ๋ฅผ ์คํํ ์๋ ์์ต๋๋ค. IoT ์ฅ์น์์ ์ํธ ์์ฉ์ TCP/IP ๋คํธ์ํฌ ๋ฐ ํน์ (๋นIP) ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ์ ์ ๋๋ ๋ฌด์ ๋คํธ์ํฌ๋ฅผ ํตํด ๊ตฌ์ฑ๋ ์ ์์ต๋๋ค.
๋ค์ํ ๋ชฉ์ ์ ๊ฒ์ดํธ์จ์ด๋ฅผ ์ฒด์ธ์ผ๋ก ๊ฒฐํฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ฒซ ๋ฒ์งธ ๋งํฌ์ ๊ฒ์ดํธ์จ์ด๋ ์ฅ์น ๊ด๋ฆฌ(์์คํ ๊ด๋ฆฌ) ๋ฐ ๋ณด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๊ณ , ๋ ๋ฒ์งธ ๋งํฌ(ํฌ๊ทธ ์๋ฒ)์ ๊ฒ์ดํธ์จ์ด๋ ๋ค์ด์ค๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๋ถ์์ ์ํํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ์์คํ ์ ๋ชจ๋์์ด๋ฏ๋ก ๋ถํ์ ๋ฐ๋ผ ๊ธฐ๋ฅ์ด ๊ฐ๋ณ ๋ ธ๋๋ก ๋๋ฉ๋๋ค. ๊ฐ๋จํ ๊ฒฝ์ฐ ํ๋์ ๊ฒ์ดํธ์จ์ด๋ก ์ถฉ๋ถํ์ง๋ง ๋๊ท๋ชจ IoT ๋คํธ์ํฌ์ ๊ฒฝ์ฐ ์ ์ฒด ํด๋ฌ์คํฐ๋ฅผ ๋ฐฐํฌํ ์ ์์ต๋๋ค.
EdgeX๋ IoT ์ฅ์น์ฉ Dell Edge Gateway์ ์ฌ์ฉ๋๋ ๊ฐ๋ฐฉํ Fuse IoT ์คํ์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. ์ด ํ๋ซํผ์ Linux, Windows ๋๋ macOS๋ฅผ ์คํํ๋ x86 ๋ฐ ARM CPU ๊ธฐ๋ฐ ์๋ฒ๋ฅผ ํฌํจํ ๋ชจ๋ ํ๋์จ์ด์ ์ค์นํ ์ ์์ต๋๋ค. ์ด ํ๋ก์ ํธ์๋ ๋ฐ์ดํฐ ๋ถ์, ๋ณด์, ๊ด๋ฆฌ ๋ฐ ๋ค์ํ ๋ฌธ์ ํด๊ฒฐ์ ์ํด ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ง ๋ง์ดํฌ๋ก์๋น์ค๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. Java, Javascript, Python, Go ๋ฐ C/C++ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์์ ๋ง์ ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ๊ฐ๋ฐํ ์ ์์ต๋๋ค. IoT ์ฅ์น ๋ฐ ์ผ์์ฉ ๋๋ผ์ด๋ฒ ๊ฐ๋ฐ์ ์ํ SDK๊ฐ ์ ๊ณต๋ฉ๋๋ค.
์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ :
- Angular JS ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ์ฌ ์์ฑ๋ ์๋ก์ด ์น ์ธํฐํ์ด์ค๊ฐ ๊ตฌํ๋์์ต๋๋ค. ์๋ก์ด GUI์ ์ฅ์ ์ค์๋ ์์ฌ์ด ์ ์ง ๊ด๋ฆฌ ๋ฐ ๊ธฐ๋ฅ ํ์ฅ, ์ ์ฅ์น ์ฐ๊ฒฐ์ ์ํ ๋ง๋ฒ์ฌ, ๋ฐ์ดํฐ ์๊ฐํ ๋๊ตฌ, ํฌ๊ฒ ํฅ์๋ ๋ฉํ๋ฐ์ดํฐ ๊ด๋ฆฌ ์ธํฐํ์ด์ค, ์๋น์ค ์ํ ๋ชจ๋ํฐ๋ง ๊ธฐ๋ฅ(๋ฉ๋ชจ๋ฆฌ ์๋น, CPU ๋ก๋ ๋ฑ).
- ์ด์ ํต์ ํ๋กํ ์ฝ๊ณผ ๋ ๋ฆฝ์ ์ด๊ณ ๋ ์์ ํ๊ณ ์ฒด๊ณ์ ์ด๋ฉฐ(JSON ์ฌ์ฉ) ์๋น์ค์์ ์ฒ๋ฆฌ๋๋ ๋ฐ์ดํฐ๋ฅผ ๋ ์ ์ถ์ ํ๋ ๋ง์ดํฌ๋ก์๋น์ค์ ํจ๊ป ์๋ํ๋๋ก API๋ฅผ ์์ ํ ๋ค์ ์์ฑํ์ต๋๋ค.
- ํจ์จ์ฑ์ด ํฅ์๋๊ณ ๊ฒฝ๋ ๊ตฌ์ฑ์ ์์ฑํ๋ ๊ธฐ๋ฅ์ด ํฅ์๋์์ต๋๋ค. ๋ฐ์ดํฐ ์ ์ฅ์ ๋ด๋นํ๋ Core Data ๊ตฌ์ฑ์์๋ ์ด์ ์ ํ ์ฌํญ์ ๋๋ค. (์๋ฅผ ๋ค์ด, ์ ์ฅํ ํ์ ์์ด ์ผ์์ ๋ฐ์ดํฐ๋ง ์ฒ๋ฆฌํด์ผ ํ๋ ๊ฒฝ์ฐ ์ ์ธํ ์ ์์ต๋๋ค.)
- ์ ๋ขฐ์ฑ์ด ํฅ์๋์์ผ๋ฉฐ ์๋น์ค ํ์ง(QoS)์ ๋ณด์ฅํ๋ ๋๊ตฌ๊ฐ ํ์ฅ๋์์ต๋๋ค. ๋๋ฐ์ด์ค ์๋น์ค(์ผ์ ๋ฐ ๋๋ฐ์ด์ค๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์์งํ๋ ๋๋ฐ์ด์ค ์๋น์ค)์์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฐ ์ถ์ ์๋น์ค(์ ํ๋ฆฌ์ผ์ด์
์๋น์ค)๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋, ์ด์ ๋ฌถ์ด์ง ์๊ณ ๋ฉ์์ง ๋ฒ์ค(Redis Pub/Sub, 0MQ ๋๋ MQTT)๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. HTTP๋ก - REST ํ๋กํ ์ฝ์ด๋ฉฐ ๋ฉ์์ง ๋ธ๋ก์ปค ์์ค์์ QoS ์ฐ์ ์์๋ฅผ ์กฐ์ ํฉ๋๋ค. ํต์ฌ ๋ฐ์ดํฐ ์๋น์ค์ ๋ํ ์ ํ์ ์ธ ๋ณต์ ๋ฅผ ํตํด ์ฅ์น ์๋น์ค์์ ์์ฉ ํ๋ก๊ทธ๋จ ์๋น์ค๋ก ๋ฐ์ดํฐ๋ฅผ ์ง์ ์ ์กํ๋ ๊ฒ์ ํฌํจํฉ๋๋ค. REST ํ๋กํ ์ฝ์ ํตํ ๋ฐ์ดํฐ ์ ์ก ์ง์์ ์ ์ง๋์ง๋ง ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ๋์ง๋ ์์ต๋๋ค.
- Vault์ ๊ฐ์ ๋ณด์ ์ ์ฅ์์์ ๋น๋ฐ ๋ฐ์ดํฐ(๋น๋ฐ๋ฒํธ, ํค ๋ฑ)๋ฅผ ๊ฒ์ํ๊ธฐ ์ํด ๋ฒ์ฉ ๋ชจ๋(๋น๋ฐ ๊ณต๊ธ์)์ด ๊ตฌํ๋์์ต๋๋ค.
- Consul ๋๊ตฌ๋ ์๋น์ค ๋ฐ ์ค์ ์ ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์ ์ง ๊ด๋ฆฌํ๊ณ ์ก์ธ์ค ๋ฐ ์ธ์ฆ์ ๊ด๋ฆฌํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. API Gateway๋ Consul API ํธ์ถ์ ์ง์ํฉ๋๋ค.
- Docker ์ปจํ ์ด๋์์ ๋ฃจํธ ๊ถํ์ด ํ์ํ ํ๋ก์ธ์ค ๋ฐ ์๋น์ค ์๋ฅผ ์ต์ํํ์ต๋๋ค. ์์ ํ์ง ์์ ๋ชจ๋์์ Redis๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋ํ ๋ณดํธ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- API ๊ฒ์ดํธ์จ์ด(Kong) ๊ตฌ์ฑ์ด ๋จ์ํ๋์์ต๋๋ค.
- ์ผ์ ๋ฐ ์ฅ์น ๋งค๊ฐ๋ณ์์ ์์ง๋ ๋ฐ์ดํฐ์ ๋ํ ์ ๋ณด๋ฅผ ์ ์ํ๋ ๋จ์ํ๋ ์ฅ์น ํ๋กํ์
๋๋ค. ํ๋กํ์ YAML ๋ฐ JSON ํ์์ผ๋ก ์ ์ํ ์ ์์ต๋๋ค.
- ์๋ก์ด ์ฅ์น ์๋น์ค๊ฐ ์ถ๊ฐ๋์์ต๋๋ค:
- ์ ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ํ๋กํ ์ฝ์ ๊ตฌํํ CoAP(C๋ก ์์ฑ).
- GPIO(์ผ๋ฐ ํ ์ ๋ ฅ/์ถ๋ ฅ) ํฌํธ๋ฅผ ํตํด Raspberry Pi ๋ณด๋๋ฅผ ํฌํจํ ๋ง์ดํฌ๋ก ์ปจํธ๋กค๋ฌ ๋ฐ ๊ธฐํ ์ฅ์น์ ์ฐ๊ฒฐํ๊ธฐ ์ํ GPIO(Go๋ก ์์ฑ).
- RFID ํ๊ทธ ๋ฆฌ๋์ ์ฐ๊ฒฐํ๊ธฐ ์ํ LLRP(Low Level Reader Protocol) ํ๋กํ ์ฝ์ ๊ตฌํํ LLRP(Go๋ก ์์ฑ).
- UART(Universal Asynchronous Receiver/Transmitter)๋ฅผ ์ง์ํ๋ UART(Go๋ก ์์ฑ).
- ํด๋ผ์ฐ๋ ์์คํ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์์ ํ์ ์ฒ๋ฆฌ๋ฅผ ์ํด ๋ฐ์ดํฐ๋ฅผ ์ค๋นํ๊ณ ๋ด๋ณด๋ด๋ ์ญํ ์ ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์๋น์ค์ ๊ธฐ๋ฅ์ด ํ์ฅ๋์์ต๋๋ค. ์ฅ์น ํ๋กํ ์ด๋ฆ ๋ฐ ๋ฆฌ์์ค ์ ํ๋ณ๋ก ์ผ์์ ๋ฐ์ดํฐ ํํฐ๋ง์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ํ๋์ ์๋น์ค๋ก ์ฌ๋ฌ ์์ ์์๊ฒ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ณ ์ฌ๋ฌ ๋ฉ์์ง ๋ฒ์ค๋ฅผ ๊ตฌ๋ ํ๋ ๊ธฐ๋ฅ์ด ๊ตฌํ๋์์ต๋๋ค. ์์ ๋ง์ ์ ํ๋ฆฌ์ผ์ด์ ์๋น์ค๋ฅผ ๋น ๋ฅด๊ฒ ์์ฑํ๊ธฐ ์ํ ํ ํ๋ฆฟ์ด ์ ์๋ฉ๋๋ค.
- ๋ง์ดํฌ๋ก์๋น์ค์ฉ์ผ๋ก ์ ํ๋ ํฌํธ ๋ฒํธ๋ IANA(Internet Assigned Numbers Authority)์์ ๊ฐ์ธ ์ฉ๋๋ก ๊ถ์ฅํ๋ ๋ฒ์์ ์ ๋ ฌ๋์ด ๊ธฐ์กด ์์คํ ๊ณผ์ ์ถฉ๋์ ๋ฐฉ์งํฉ๋๋ค.
์ถ์ฒ : opennet.ru