์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ๋ฐฑ์ค1874
- ์ฟ ํกERD
- ๋ฐฑ์ค11053 #ํ์ด์ฌ #python
- ์คํ์์ด
- stream
- ์ฐ์ฐ์
- ๋ฌธ์์ด
- StringBuffer
- ๋ฐฑ์ค9093
- ๋ฐฑ์ค9012
- ๋ฐฐ์ด
- ํ๋ฐฉ์ฟผ๋ฆฌ
- ์ฟ ํกDB
- ๋ฐ์ดํฐํ์
- StringBuilder
- ์
- ์คํธ๋ฆผ
- ๋
- java
- ์ฐ
- ์คํ
- ์๋ฐ
- Today
- Total
Tech Log ๐ ๏ธ
MQTT ํ๋กํ ์ฝ์ด๋? ๋ณธ๋ฌธ
MQTT ๋?
MQTT ํ๋กํ ์ฝ์ ๊ธฐ๊ณ ๊ฐ ํต์ ์ ์ํด ์ค๊ณ๋ ํต์ ๋ฐฉ์์ ๋๋ค.
REST ํต์ ๋ฐฉ์๊ณผ๋ ๋ค๋ฅด๊ฒ ์๋ฒ ๊ฐ ์ง์ ํต์ ์ด ์๋ ์ค๊ฐ์ ์ค๊ณ ์๋ฒ๋ฅผ ๋๊ณ ๊ฒ์-๊ตฌ๋ ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํฉ๋๋ค.
์ ํ๋ ๋ฆฌ์์ค๋ก ํต์ ์ ํด์ผํ๋ IOT์ ํน์ฑ์ผ๋ก ์ธํด, ๊ตฌํ์ด ์ฝ๊ณ ํจ์จ์ ์ธ ํต์ ์ด ๊ฐ๋ฅํ MQTT ํ๋กํ ์ฝ์ ์ฌ์ฉํฉ๋๋ค.
MQTT์ ํน์ง
ํ์ฅ์ฑ
MQTT๋ ์ ์ ์ ๋ ฅ๊ณผ ์ต์ํ์ ์ฝ๋๋ก ์ฌ๋ฌ ๋๋ฐ์ด์ค์ ํต์ ํ ์ ์์ต๋๋ค.
๋ํ ๋ชจ๋ ๋๋ฐ์ด์ค๋ ์ ํ์์ด ์ ๋ณด(ํ ํฝ)๋ฅผ ๊ตฌ๋ ํ๊ฑฐ๋ ๊ฒ์ํ ์ ์์ต๋๋ค.
๋ง์ฝ ํต์ ๊ฐ๋ฅํ ๋๋ฐ์ด์ค๋ฅผ ๋๋ฆฌ๊ณ ์ถ๋ค๋ฉด ๋จ์ํ ๋๋ฐ์ด์ค๊ฐ ํด๋น ํ ํฝ์ ๊ตฌ๋ ํ๋ฉด ๋ฉ๋๋ค.
์ ๋ขฐ์ฑ
๊ธฐ์กด ๋ฌด์ ํต์ ์ ์ ๋ณด์ ์์ค์ด ์์์ง๋ง MQTT๋ ๋ธ๋ก์ปค๊ฐ ๋ฉ์ธ์ง๋ฅผ ๋ณด๊ด , ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ ๋ฉ์์ง๋ฅผ ๋ฐ๋ ๋๋ฐ์ด์ค๊ฐ ์ค๋น๊ฐ ๋ ๋๊น์ง ๋ฉ์์ง ์ ์ก์ ๋๊ธฐํ ์ ์์ต๋๋ค.
MQTT์ ๊ตฌ์ฑ ์์
ํด๋ผ์ด์ธํธ
MQTT๋ฅผ ์ฌ์ฉํ์ฌ ํต์ ํ๋ ๋๋ฐ์ด์ค๋ฅผ ํด๋ผ์ด์ธํธ๋ผ๊ณ ํฉ๋๋ค.
ํด๋ผ์ด์ธํธ๋ ๊ตฌ๋ ์ ํ์ฌ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ์ ์๊ณ ๊ฒ์๋ฅผ ํ์ฌ์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์์ต๋๋ค.
๋ธ๋ก์ปค
๋ธ๋ก์ปค๋ ํด๋ผ์ด์ธํธ ๊ฐ ๋ฉ์์ง๋ฅผ ์ค๊ฐํ๋ ๋ผ์ฐํ ์๋ฒ์ ๋๋ค.
ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋ธ ๋ฉ์ธ์ง๋ ๋ธ๋ก์ปค๋ฅผ ๊ฑฐ์ณ๊ฐ๋ฉฐ ๋ธ๋ก์ปค๋ ์ด ๋ฉ์ธ์ง๋ฅผ ๊ด๋ฆฌํ๊ณ , ํด๋น ํ ํฝ์ ๊ตฌ๋ ํ๋ ํด๋ผ์ด์ธํธ์๊ฒ ๋ฉ์ธ์ง๋ฅผ ์ ์กํฉ๋๋ค.
MQTT์ ๋์ ๋ฐฉ์
์ฃผ์ (Topic)
์ฃผ์ ๋ฅผ ์ด์ฉํ์ฌ ๋ธ๋ก์ปค๊ฐ ๋ฉ์์ง๋ฅผ ์์ ๋ฐ์ ํด๋ผ์ด์ธํธ๋ฅผ ํํฐ๋ง ํ ์ ์์ต๋๋ค.
ํด๋น ์ฃผ์ ๋ฅผ ๊ตฌ๋ ํ ํด๋ผ์ด์ธํธ๋ง ๋ฉ์์ง๋ฅผ ๋ฐ๊ณ , ์ฃผ์ ๋ ๊ณ์ธต ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
๊ฒ์
ํด๋ผ์ด์ธํธ๋ ์ฃผ์ ๋ฐ ๋ฐ์ดํฐ๋ฅผ ๋ค์ํ ํ์์ผ๋ก ๋ธ๋ก์ปค์ ์ ์กํฉ๋๋ค.(XML,JSON etc...)
๊ตฌ๋
ํด๋ผ์ด์ธํธ๋ ๊ตฌ๋ ํ ์ฃผ์ ์ ๋ฉ์์ง๋ง ๋ธ๋ก์ปค๋ก๋ถํฐ ์์ ๋ฐ์ต๋๋ค.
QOS
๋ธ๋ก์ปค๋ ๋ฉ์์ง๋ฅผ ๋ฐ๊ณ ์ง์ ๋ QOS ๋ ๋ฒจ์ ๋ฐ๋ผ์ ๋ฉ์์ง๋ฅผ ์ ์กํฉ๋๋ค.
MQTT QOS 0
๋ฉ์ธ์ง๋ฅผ ํ๋ฒ๋ง ๋ณด๋ด๊ณ ํ์ธ ๋ฉ์ธ์ง(PUBACK) ์ ๋ฐ์ง ์์ต๋๋ค.
๋ฐ์ดํฐ์ ์ ์ค์ด ํฌ๊ฒ ๋ฌธ์ ๋์ง ์์ ๋ ์ฌ์ฉํฉ๋๋ค.
์ ์ค ๊ฐ๋ฅ์ฑ์ด ์์ง๋ง ์ ์ ๋น์ฉ์ผ๋ก ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ผ ์ ์์ต๋๋ค.
MQTT QOS 1
๋ฉ์ธ์ง๋ฅผ ์ ์ด๋ ํ๋ฒ ์ด์ ๋ณด๋ ๋๋ค.
PUBACK์ ๋ฐ์ผ๋ฉฐ ๋ง์ฝ ํ์ธ ๋ฉ์ธ์ง๊ฐ ์ค์ง ์๋ ๋ค๋ฉด ๋ฉ์ธ์ง๋ฅผ ์ฌ๋ฌ๋ฒ ๋ค์ ๋ณด๋ผ ์ ์์ต๋๋ค.
๋ชจ๋ ๋ฉ์ธ์ง๋ฅผ ๋ฐ์ ์ ์์ผ๋ฉฐ , ํด๋ผ์ด์ธํธ๊ฐ ์คํ๋ผ์ธ์ผ ๋ ๋ฉ์ธ์ง๋ฅผ ์ ์ฅ(ํ)ํ ์ ์์ต๋๋ค.
MQTT QOS 2
๋ฑ ํ๋ฒ์ ์ ์ก์ผ๋ก ๋ฉ์ธ์ง ์ ์ก์ ์๋ฃํ ์ ์์ต๋๋ค.
ํธ๋ ์์ดํฌ ๊ณผ์ ์ ํตํด์ ๋ฉ์ธ์ง ์ ์ก์ ํ์ธํ๋ฉฐ ๊ฐ์ฅ ๋๋ฆฌ์ง๋ง ๊ฐ์ฅ ํ์คํฉ๋๋ค.
*QOS ๋ ๋ฒจ์ ๊ฒ์์์ ๊ตฌ๋ ์๊ฐ ์ ํ ๋ ๋ฒจ ์ค์์ ๊ฐ์ฅ ๋ฎ์ ๊ฐ์ด ์ฌ์ฉ๋ฉ๋๋ค.