😎 κ³΅λΆ€ν•˜λŠ” μ§•μ§•μ•ŒνŒŒμΉ΄λŠ” μ²˜μŒμ΄μ§€?

[아두이노] MQTT μ—°λ™ν•˜κΈ° λ³Έλ¬Έ

πŸ‘©‍πŸ’» IoT (Embedded)/Arduino

[아두이노] MQTT μ—°λ™ν•˜κΈ°

μ§•μ§•μ•ŒνŒŒμΉ΄ 2023. 4. 17. 14:27
728x90
λ°˜μ‘ν˜•

<λ³Έ λΈ”λ‘œκ·ΈλŠ” μ—˜λ¦¬μŠ€ IoT 1λ₯Ό μ°Έκ³ ν•΄μ„œ κ³΅λΆ€ν•˜λ©° μž‘μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€ :-)>

(μ½”λ“œλŠ” μ €μž‘κΆŒμƒ 곡유 μ•ˆλ©λ‹ˆλ‹Ή!!)

 

πŸ₯‘ MQTT ν”„λ‘œν† μ½œ μ—°κ²° μ‹œν€€μŠ€

         ν΄λΌμ΄μ–ΈνŠΈ ---- CONNCET ----> MQTT 브둜컀
(ꡬ독/λ°œν–‰μž) <---- CANNCAK ---- (Mosquitto)

- μ—°κ²° μ„€μ • 및 확인

: MQTT ν΄λΌμ΄μ–ΈνŠΈμ™€ λΈŒλ‘œμ»€λŠ” TCP μ—°κ²°

: ν΄λΌμ΄μ–ΈνŠΈλŠ” CONNECT λ©”μ‹œμ§€ 보내고, 이λ₯Ό μˆ˜μ‹ ν•œ λΈŒλ‘œμ»€λŠ” CONNACK 보냄

: CONNCET λ©”μ‹œμ§€μ—λŠ” ν΄λΌμ΄μ–ΈνŠΈ 정보 포함

 

πŸ₯‘ MQTT ν”„λ‘œν† μ½œ ꡬ독 μ‹œν€€μŠ€

   ν΄λΌμ΄μ–ΈνŠΈ ----  SUBSCRIBE ----> MQTT 브둜컀
  (κ΅¬λ…μž) <------ SUBACK ------ (Mosquitto)

- ꡬ독 μ„€μ • 및 확인

: ν΄λΌμ΄μ–ΈνŠΈλŠ” ν† ν”½λͺ…κ³Ό QoS μˆ˜μ€€μ„ ν¬ν•¨ν•œ SUBSCRIBE λ©”μ‹œμ§€λ₯Ό λΈŒλ‘œμ»€μ— 보냄

: λΈŒλ‘œμ»€λŠ” SUBACKλ₯Ό ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ 보내 ꡬ독 확인, SUBACK 에도 QoS μˆ˜μ€€ 포함됨

 

πŸ₯‘ MQTT ν”„λ‘œν† μ½œ λ°œν–‰ μ‹œν€€μŠ€

   ν΄λΌμ΄μ–ΈνŠΈ ----  PUBLISH  ----> MQTT 브둜컀
  (κ΅¬λ…μž) <------ PUBACK  ------ (Mosquitto)

- λ°œν–‰ 및 확인

: ν΄λΌμ΄μ–ΈνŠΈλŠ” ν† ν”½λͺ…κ³Ό νŽ˜μ΄λ‘œλ“œ(λ©”μ‹œμ§€)λ₯Ό ν¬ν•¨ν•œ PUBLISH λ©”μ‹œμ§€ 보냄

: ν΄λΌμ΄μ–ΈνŠΈμ˜ λ©”μ‹œμ§€ 전달을 보μž₯ν•΄μ•Ό ν•˜λŠ” 경우 λΈŒλ‘œμ»€κ°€ PUBACK ν˜Ήμ€ PUBREC λ©”μ‹œμ§€ 보내도둝 QoS μ„€μ • κ°€λŠ₯

 

πŸ₯‘ MQTT.js

: javascript 둜 μž‘μ„±λœ Node.js 및 λΈŒλΌμš°μ € MQTT ν”„λ‘œν† μ½œ ν΄λΌμ΄μ–ΈνŠΈ 라이브러리

: MQTT λΈŒλ‘œμ»€μ™€ ν†΅μ‹ ν•˜κΈ° μœ„ν•œ API 제곡

// 주어진 ULR κ³Ό μ˜΅μ…˜μ— 따라 λΈŒλ‘œμ»€μ— μ—°κ²° ν•˜κ³  Client 객체 리턴 
mqtt.connect([url], options)

// 주기적인 μ„œλ²„ ν•‘, QoS λ™μž‘, μž¬μ—°κ²°, μ—°κ²° μ „ λ©”μ‹œμ§€ λ°œν–‰ λ“± μžλ™ μˆ˜ν–‰
mqtt.Client(streamBuilder, options)

// ν•΄λ‹Ή 토픽에 λ©”μ‹œμ§€ λ°œν–‰
mqtt.publish(topic, message, [options], [callback])

// ν† ν”½ ꡬ독
mqtt.subscribe(topic/topic array/topic object, [options], [callback])

 

πŸ” MQTT json λ©”μ‹œμ§€ λ°œν–‰ 및 κ΅¬λ…ν•˜κΈ°

: MQTT λΈŒλ‘œμ»€μ— μ—°κ²° 및 λ©”μ‹œμ§€ λ°œν–‰ λͺ©ν‘œ

: λ””λ°”μ΄μŠ€ λŒ€μ‹  ν…ŒμŠ€νŠΈ ν•  μ½”λ“œ μž‘μ„±

728x90
λ°˜μ‘ν˜•
Comments