๐Ÿ  ๋ฐฉ์„ฑ๋ฒ” ๋ธ”๋กœ๊ทธ > ๐Ÿ›œ IoT

MQTT ์†Œ๊ฐœ

MQTT์˜ ํ•„์š”์„ฑ๊ณผ ํŠน์ง•์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

MQTT์˜ ํ•„์š”์„ฑ

IoT๋Š” ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์•˜๋˜ ์‚ฌ๋ฌผ์„ ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์ „๋“ฑ, ์‹œ๊ณ„, TV, ๋ƒ‰์žฅ๊ณ , ๊ฑฐ์šธ์— ์ด๋ฅด๊ธฐ๊นŒ์ง€, ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์ˆ˜๋งŽ์€ ์‚ฌ๋ฌผ์„ ์ œ์–ดํ•˜๊ณ  ์‚ฌ๋ฌผ๋กœ๋ถ€ํ„ฐ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ •๋ณด๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ์ธํ„ฐ๋„ท ์ต์Šคํ”Œ๋กœ๋Ÿฌ๋‚˜ ํฌ๋กฌ๊ณผ ๊ฐ™์€ ์›น ๋ธŒ๋ผ์šฐ์ €๋กœ ์ธํ„ฐ๋„ท์„ ์‚ฌ์šฉํ•˜๋“ฏ, IoT ์‚ฌ๋ฌผ ์—ญ์‹œ ์ธํ„ฐ๋„ท์„ ์‚ฌ์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ IoT์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ธํ„ฐ๋„ท์€ ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์ธํ„ฐ๋„ท๊ณผ ๋‹ฌ๋ฆฌ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ํ•„์š”๋กœ ํ•ฉ๋‹ˆ๋‹ค:

๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ์œ„ํ•ด ๋ฐ˜๋“œ์‹œ ์œ„์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•œ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ €๋Ÿฐ ๊ธฐ๋Šฅ์ด ์กด์žฌํ•œ๋‹ค๋ฉด ์‚ฌ๋ฌผ ๊ฐ„์— ๋” ํšจ๊ณผ์ ์œผ๋กœ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


MQTT๋Š” IoT ์‚ฌ๋ฌผ์„ ์ œ์–ดํ•˜๋Š” ๋ฐ ์ ๊ฒฉ์ธ ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. ํ”„๋กœํ† ์ฝœ์€ ์šฐ๋ฆฌ๋ง๋กœ ํ†ต์‹  ๊ทœ์•ฝ์ด๋ผ ํ•ฉ๋‹ˆ๋‹ค. ํ†ต์‹  ๊ทœ์•ฝ์ด๋ž€ ์ƒํ˜ธ๊ฐ„์— 'ํ†ต์‹  ์ค‘ ์ด๋Ÿฐ ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ณ  ์ด๋Ÿฐ ์‹์œผ๋กœ ๋ฐ›์ž'๊ฐ™์€ ๊ฒƒ์„ ์ •ํ•ด๋†“์€ ์ผ์ข…์˜ ๊ทœ์น™์ž…๋‹ˆ๋‹ค.

MQTT ํ”„๋กœํ† ์ฝœ์— ๋”ฐ๋ผ ํ†ต์‹ ํ•  ๊ฒฝ์šฐ ๋‹ค ๋Œ€ ๋‹ค ํ†ต์‹ , ์ „๋ ฅ ์†Œ๋ชจ ๊ฐ์†Œ, ์—ฐ๊ฒฐ ์ค‘๋‹จ ์‹œ ๋ถ€๋“œ๋Ÿฌ์šด ๋Œ€์ฒ˜ ๋“ฑ ๋‹ค์–‘ํ•œ ์ด์ ์„ ๋ˆ„๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜๋Œ€๋กœ ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์ธํ„ฐ๋„ท์€ HTTP๋ผ๋Š” ํ”„๋กœํ† ์ฝœ์„ ๋”ฐ๋ฅด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด์„œ๋„ IoT ์‚ฌ๋ฌผ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ํšจ์œจ์ ์œผ๋กœ ํ†ต์‹ ํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

(MQTT๋Š” ๊ทœ์น™์ผ ๋ฟ ํ”„๋กœ๊ทธ๋žจ์ด ์•„๋‹™๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ MQTT๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ด ๊ทœ์น™์— ๋”ฐ๋ผ ๊ตฌํ˜„ํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ Mosquitto, PubSubClient๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.)

ํŠน์ง•

์ตœ์†Œํ™”๋œ ๋ถ€๊ฐ€ ์ •๋ณด

ํ†ต์‹  ์‹œ ์‹ค์ œ๋กœ ์ฃผ๊ณ ๋ฐ›์•„์•ผ ํ•  ๋ฐ์ดํ„ฐ๋งŒ ๊ตํ™˜ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋Š” ์‹œ๊ฐ„์ด๋ผ๋“ ๊ฐ€, ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ์‚ฌ๋žŒ์˜ ์ •๋ณด ๋“ฑ ๋ˆˆ์— ๋ณด์ด์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ๋„ ๋ฉ”์‹œ์ง€์™€ ํ•จ๊ป˜ ์ „์†ก๋ฉ๋‹ˆ๋‹ค.

MQTT๋Š” ์ด๋Ÿฌํ•œ ๋ถ€๊ฐ€ ์ •๋ณด์˜ ์–‘์„ ์ตœ๋Œ€ํ•œ ์ค„์ž„์œผ๋กœ์„œ ํ†ต์‹  ์‹œ๊ฐ„ ๋ฐ ๋ถ€๊ฐ€ ์ •๋ณด๋ฅผ ํ•ด์„ํ•˜๋Š” ์‹œ๊ฐ„์„ ์ค„์—ฌ, ์ตœ์ข…์ ์œผ๋กœ ์ „๋ ฅ์„ ๋œ ์†Œ๋ชจํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

๊ด€๋ จ ๊ธ€:

๋ฐœํ–‰, ๊ตฌ๋… ์ฒด๊ณ„

์‚ฌ๋ฌผ์˜ ์ข…๋ฅ˜๊ฐ€ ๋‹ค์–‘ํ•œ ๋งŒํผ, ์ธํ„ฐ๋„ท์— ์ ‘์†ํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์ˆ˜๋„ ๊ทธ๋งŒํผ ๋งŽ์Šต๋‹ˆ๋‹ค. ๋•Œ๋ฌธ์— ์‚ฌ๋ฌผ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ์ผ ๋Œ€ ์ผ๋กœ ํ†ต์‹ ํ•˜๋Š” ๊ฒƒ์€ ๋น„ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค. MQTT์—์„œ๋Š” ์ž์‹ ์ด ๋งŒ๋“ค์–ด๋‚ผ ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”์‹œ์ง€์— ๋‹ด์•„ ๋ฐœํ–‰ํ•˜๊ณ , ํ•„์š”ํ•œ ์‚ฌ๋ฌผ์€ ์ด๋ฅผ ๊ตฌ๋…ํ•˜๋Š” ๋ฐฉ์‹์„ ์ทจํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” ๋จผ์ € ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•œ ์ค‘์•™ ์ปดํ“จํ„ฐ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ปดํ“จํ„ฐ๋ฅผ ๊ฐ€๋ฆฌ์ผœ ๋ธŒ๋กœ์ปค๋ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ธŒ๋กœ์ปค์—๋Š” ๊ฐ ์‚ฌ๋ฌผ๋กœ๋ถ€ํ„ฐ ๋“ค์–ด์˜จ ์ˆ˜๋งŽ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ธŒ๋กœ์ปค์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐœํ–‰ํ•˜๊ฑฐ๋‚˜ ๊ตฌ๋…ํ•˜๋Š” ๊ฐ๊ฐ์˜ ์‚ฌ๋ฌผ์„ ํด๋ผ์ด์–ธํŠธ๋ผ ์นญํ•ฉ๋‹ˆ๋‹ค.

QoS(์„œ๋น„์Šค ํ’ˆ์งˆ)

MQTT์—์„œ๋Š” ๋ฐ์ดํ„ฐ์˜ ์ค‘์š”๋„์— ๋”ฐ๋ผ ๋ฉ”์‹œ์ง€๋ฅผ ๋‹ฌ๋ฆฌ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๊ฐ€๋ฆฌ์ผœ QoS(์„œ๋น„์Šค ํ’ˆ์งˆ)๋ผ ํ•ฉ๋‹ˆ๋‹ค.

์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ์˜ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๊ฐ€ ์ž˜ ๋ณด๋‚ด์กŒ๋‚˜ ํ™•์ธํ•˜๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ๋‚ด๋ถ€์ ์œผ๋กœ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ํ™•์ธํ•˜๋Š” ์‹œ๊ฐ„์ด ๋Š˜์–ด๋‚˜์ง€๋งŒ, ๊ทธ๋งŒํผ ๋ฐ์ดํ„ฐ์˜ ์ „์†ก์„ ํ™•์‹คํžˆ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

๋ฐ˜๋Œ€๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ„๋กœ ์ค‘์š”ํ•˜์ง€ ์•Š๋‹ค๋ฉด ๋ณ„๋„์˜ ํ™•์ธ ์ ˆ์ฐจ ์—†์ด ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ์†Œ์‹ค๋  ์œ„ํ—˜์ด ์žˆ์ง€๋งŒ, ํ™•์ธํ•˜๋Š” ์‹œ๊ฐ„์„ ์ค„์ธ ๋งŒํผ ๋” ๋น ๋ฅด๊ฒŒ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์œ ์–ธ ๋ฉ”์‹œ์ง€

๋ชจ๋“  ์‚ฌ๋ฌผ์ด ํ•ญ์ƒ ์ •์ƒ ์ž‘๋™ํ•œ๋‹ค๊ณ  ๋ณด์žฅํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์ „์› ์ฐจ๋‹จ, ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ์žฅ์• , ํ•ฉ์„  ๋“ฑ์œผ๋กœ ์ธํ•ด ์–ธ์ œ๋“  ์—ฐ๊ฒฐ์ด ํ•ด์ œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ ์‚ฌ๋ฌผ์€ ์ž์‹ ์ด ์ฃฝ์—ˆ์„ ๋•Œ(์—ฐ๊ฒฐ์ด ๋Š๊ธธ ๋•Œ)๋ฅผ ๋Œ€๋น„ํ•ด ๋ธŒ๋กœ์ปค์—๊ฒŒ ๋ฏธ๋ฆฌ ์œ ์–ธ์„ ๋‚จ๊ฒจ๋‘˜ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ์ • ์‹œ๊ฐ„ ๋™์•ˆ ์‘๋‹ต์ด ์—†์„ ๊ฒฝ์šฐ, ๋ธŒ๋กœ์ปค๋Š” ์œ ์–ธ ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.