Nubison IoT Developers πŸ‡°πŸ‡·
NUBISON Homeμ‚¬μš©μž κ°€μ΄λ“œREST APIsπŸ‡ΊπŸ‡Έ English
  • μ‹œμž‘ν•˜κΈ°
  • MQTT
  • TCP/IP
  • HTTP
Powered by GitBook
On this page
  • μ„œλ²„ μ—°κ²°
  • ν† ν”½ ꡬ독
  • ν† ν”½ λͺ©λ‘
  • μš©μ–΄
  • λ””λ°”μ΄μŠ€ β†’ NUBISON IoT ν”Œλž«νΌ
  • Nubison IoT ν”Œλž«νΌ β†’ λ””λ°”μ΄μŠ€
  • μžλ™ λ“œλΌμ΄λ²„ 이용 μ‹œ κΈ°λ³Έ 데이터 규격
  • μ‚¬μš©μž μ‹œλ‚˜λ¦¬μ˜€
  • λ””λ°”μ΄μŠ€ μ—°κ²° (νƒ€μž„λΌμΈ 기둝)
  • λ””λ°”μ΄μŠ€ μ—°κ²° ν•΄μ œ (νƒ€μž„λΌμΈ 기둝)
  • 데이터 전솑
  • μ œμ–΄ 처리
  • λ””λ°”μ΄μŠ€μ— μ—°κ²° 확인

Was this helpful?

MQTT

Nubison IoT MQTT ν‘œμ€€κ·œμ•½μž…λ‹ˆλ‹€.

Previousμ‹œμž‘ν•˜κΈ°NextTCP/IP

Last updated 4 months ago

Was this helpful?

Nubison IoT ν”Œλž«νΌμ— MQTT ν”„λ‘œν† μ½œμ„ μ΄μš©ν•˜λŠ” λ””λ°”μ΄μŠ€λ₯Ό μ—°κ²°ν•˜κΈ° μœ„ν•œ κ°€μ΄λ“œμž…λ‹ˆλ‹€.

μ•„λž˜ 과정을 μ§„ν–‰ν•˜κΈ° 전에, 에 적힌 과정듀이 λ°˜λ“œμ‹œ μ„ ν–‰λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

μ„œλ²„ μ—°κ²°

Nubison IoT ν”Œλž«νΌμ˜ MQTT λ©”μ„Έμ§€ λΈŒλ‘œμ»€μ— μ—°κ²°ν•˜κΈ° μœ„ν•œ μ •λ³΄μž…λ‹ˆλ‹€.

  • μ„œλ²„ URL: 연동 μ§„ν–‰μ‹œ μ•ˆλ‚΄

  • Username: μ‹œ λ§Œλ“  인증 ν‚€μ˜ ν΄λΌμ΄μ–ΈνŠΈ ID

  • Password: μ‹œ λ§Œλ“  인증 ν‚€μ˜ ν΄λΌμ΄μ–ΈνŠΈ μ‹œν¬λ¦Ώ

ν† ν”½ ꡬ독

λ””λ°”μ΄μŠ€κ°€ MQTT/S 연결에 μ„±κ³΅ν•˜λ©΄, λ‹€μŒ 토픽을 κ΅¬λ…ν•˜μ—¬ Nubison IoT ν”Œλž«νΌ μ„œλ²„μ™€ 톡신을 주고받을 수 있게 ν•©λ‹ˆλ‹€.

{deivceKey}/#

ν† ν”½ λͺ©λ‘

μš©μ–΄

ν† ν”½ λͺ©λ‘μ—μ„œ μ΄μš©λ˜λŠ” μš©μ–΄λ“€μ— λŒ€ν•œ μ„€λͺ…μž…λ‹ˆλ‹€.

deviceKey (λ””λ°”μ΄μŠ€ ν‚€)

sessionId (μ„Έμ…˜ID)

Nubison IoT ν”Œλž«νΌ μ„œλ²„μ—μ„œ λ””λ°”μ΄μŠ€μ™€μ˜ νŠΈλžœμž­μ…˜λ“€μ„ μ‹λ³„ν•˜κΈ° μœ„ν•΄ λ°œκΈ‰λ˜λŠ” μž„μ‹œ κ°’μž…λ‹ˆλ‹€.

λ””λ°”μ΄μŠ€μ™€ Nubison IoT μ„œλ²„ κ°„ μš”μ²­κ³Ό 응닡이 μ˜€κ°€λŠ” κ²½μš°μ— μ΄μš©ν•©λ‹ˆλ‹€.

λ””λ°”μ΄μŠ€ β†’ NUBISON IoT ν”Œλž«νΌ

λ””λ°”μ΄μŠ€κ°€ λ°œν–‰(Publish), Nubison IoT ν”Œλž«νΌ μ„œλ²„κ°€ ꡬ독(Subscribe)ν•˜λŠ” ν† ν”½λ“€μž…λ‹ˆλ‹€.

(1) connect/{deviceKey}

λ””λ°”μ΄μŠ€λ₯Ό Nubison IoT ν”Œλž«νΌ μ„œλ²„μ— μ—°κ²°ν•©λ‹ˆλ‹€.

(2) data/{deviceKey}

λ””λ°”μ΄μŠ€μ˜ 데이터λ₯Ό Nubison IoT ν”Œλž«νΌ μ„œλ²„μ— μ „μ†‘ν•©λ‹ˆλ‹€.

(3) heartbeat/{deviceKey}

λ””λ°”μ΄μŠ€μ˜ μ—°κ²° μƒνƒœλ₯Ό 주기적으둜 μ—…λ°μ΄νŠΈ ν•  λ•Œ λ°œν–‰ν•©λ‹ˆλ‹€.

(4) res/{deviceKey} λ˜λŠ” res/{sessionId}/{deviceKey}

μ„œλ²„λ‘œλΆ€ν„° μš”μ²­μ„ λ°›μ•˜μ„ 경우 응닡을 전솑할 λ•Œ λ°œν–‰ν•©λ‹ˆλ‹€.

μ œμ–΄μ— λŒ€ν•œ 응닡 처리 μ‹œμ—λŠ” 전달받은 sessionIdλ₯Ό 토픽에 같이 보내주셔야 ν•©λ‹ˆλ‹€.

(5) disconnect/{deviceKey}

λ””λ°”μ΄μŠ€κ°€ Nubison IoT ν”Œλž«νΌμœΌλ‘œλΆ€ν„° μ—°κ²° ν•΄μ œν•  λ•Œ λ°œν–‰ν•©λ‹ˆλ‹€.

Nubison IoT ν”Œλž«νΌ β†’ λ””λ°”μ΄μŠ€

Nubison IoT ν”Œλž«νΌ μ„œλ²„κ°€ λ°œν–‰(Publish), λ””λ°”μ΄μŠ€κ°€ ꡬ독(Subscribe)ν•˜λŠ” ν† ν”½λ“€μž…λ‹ˆλ‹€.

(1) {deviceKey}/{sessionId}/command

Nubison IoT ν”Œλž«νΌ μ„œλ²„κ°€ λ””λ°”μ΄μŠ€μ—κ²Œ λͺ…λ Ήμ–΄λ₯Ό μ „μ†‘ν•˜λŠ” 경우 λ°œν–‰λ©λ‹ˆλ‹€.

μΌ€μ΄μŠ€
κΈ°λŠ₯
νŽ˜μ΄λ‘œλ“œ

μ—°κ²° 확인

Nubison IoT ν”Œλž«νΌ μ„œλ²„κ°€ λ””λ°”μ΄μŠ€μ—κ²Œ μ—°κ²° μƒνƒœλ₯Ό 직접 λ¬Όμ–΄λ³΄λŠ” 경우 λ°œν–‰λ©λ‹ˆλ‹€.

μ œμ–΄ 전솑

Nubison IoT ν”Œλž«νΌ μ„œλ²„κ°€ λ””λ°”μ΄μŠ€μ— μ œμ–΄ λͺ…령을 보낼 λ•Œ λ°œν–‰λ©λ‹ˆλ‹€.

control|${μœ λ‹›λ²ˆν˜Έ}|${μ œμ–΄κ°’}

μ΅œμ‹  데이터 μš”μ²­

(2) {deviceKey}/res

λ””λ°”μ΄μŠ€λ‘œλΆ€ν„° μš”μ²­μ„ λ°›μ•„ 응닡을 μ „μ†‘ν•˜λŠ” 경우 λ°œν–‰λ©λ‹ˆλ‹€.

Nubison IoT ν”Œλž«νΌ μ„œλ²„κ°€ λ””λ°”μ΄μŠ€μ—κ²Œ Ackλ₯Ό λ³΄λ‚΄λŠ” 경우 성곡 μ‹œ "ν”Œλž«νΌμœΌλ‘œ λ³΄λƒˆλ˜ ν† ν”½ νƒ€μž…" + "|1", μ‹€νŒ¨ μ‹œ "ν”Œλž«νΌμœΌλ‘œ λ³΄λƒˆλ˜ ν† ν”½ νƒ€μž…" + "|0"을 μ „μ†‘ν•©λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, data/{deviceKey} 토픽에 λŒ€ν•œ 응닡은 "data|1" λ˜λŠ” "data|0"으둜 λ¦¬ν„΄λ©λ‹ˆλ‹€.

μžλ™ λ“œλΌμ΄λ²„ 이용 μ‹œ κΈ°λ³Έ 데이터 규격

μžλ™λ“œλΌμ΄λ²„λ₯Ό μ΄μš©ν•˜μ‹œλŠ” 경우 λ‹€μŒκ³Ό 같이 데이터λ₯Ό κ΅¬μ„±ν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€.

  • "|" 둜 κ΅¬λΆ„ν•˜μ—¬ 일련의 λ¬Έμžμ—΄λ‘œ μ „μ†‘ν•©λ‹ˆλ‹€. (μžλ™ μƒμ„±λœ λ“œλΌμ΄λ²„λ₯Ό μ΄μš©ν•˜λŠ” 경우, λ””λ°”μ΄μŠ€κ°€ 보낸 데이터λ₯Ό Nubison IoT ν”Œλž«νΌ μ„œλ²„μ—μ„œ "|" 둜 데이터λ₯Ό 자λ₯Έ ν›„ μœ λ‹› 번호 μˆœμ„œλŒ€λ‘œ 데이터λ₯Ό λ„£μ–΄ μ €μž₯ν•˜κ²Œ λ©λ‹ˆλ‹€.)

  • 숫자, μœ„μΉ˜ λ°μ΄ν„°λŠ” 숫자 포맷으둜,

  • 문자 λ°μ΄ν„°λŠ” 문자 포맷으둜,

  • 숫자 λ°°μ—΄ λ°μ΄ν„°λŠ” ","둜 μ—°μ ‘ν•œ 숫자

  • 문자 λ°°μ—΄ λ°μ΄ν„°λŠ” ","둜 μ—°μ ‘ν•œ 문자

  • μ΄λ―Έμ§€λŠ” base64둜 μΈμ½”λ”©ν•œ 슀트링

예λ₯Ό λ“€μ–΄, μ œν’ˆλͺ¨λΈμ˜ μœ λ‹›μ„ λ‹€μŒκ³Ό 같이 μ„€μ •ν•˜κ³ 

0번: μ˜¨λ„ (숫자)
1번: μŠ΅λ„ (숫자)
2번: λͺ¨λ“œ (문자)
3번: μœ„λ„ (μœ„μΉ˜)
4번: 경도 (μœ„μΉ˜)
5번: μ˜¨λ„ 데이터 λ°°μ—΄ (숫자 λ°°μ—΄)
6번: λͺ¨λ“œ 데이터 λ°°μ—΄ (문자 λ°°μ—΄)
7번: 촬영 이미지 (이미지)

데이터λ₯Ό λ‹€μŒκ³Ό 같이 보낸닀면

0번 μœ λ‹› "μ˜¨λ„" 데이터 κ°’: 32
1번 μœ λ‹› "μŠ΅λ„" 데이터 κ°’: 46
2번 μœ λ‹› "λͺ¨λ“œ" 데이터 κ°’: "default"
3번 μœ λ‹› "μœ„λ„" 데이터 κ°’: 38.23
4번 μœ λ‹› "경도" 데이터 κ°’: 128.34
5번 μœ λ‹› "μ˜¨λ„ 데이터 λ°°μ—΄" 데이터 κ°’: [27,28,24,23,25]
6번 μœ λ‹› "λͺ¨λ“œ 데이터 λ°°μ—΄" 데이터 κ°’: ["default", "sleep", "mood"]
7번 μœ λ‹› "이미지" 데이터 κ°’: /9j/4AAQSkZJRgABAQAAAQABAAD/2w...

νŽ˜μ΄λ‘œλ“œλŠ” λ‹€μŒκ³Ό 같이 보내면 λ©λ‹ˆλ‹€.

payload =  "32|46|default|38.23|128.34|27,28,24,23,25|default,sleep,mood|/9j/4AAQSkZJRgABAQAAAQABAAD/2w..."

μ‚¬μš©μž μ‹œλ‚˜λ¦¬μ˜€

μ•„λž˜ μ˜ˆμ‹œμ—μ„œ deviceKeyλŠ”

ABCDEF_123:AB:123

둜 놓고 μ„€λͺ…ν•˜κ² μŠ΅λ‹ˆλ‹€.

λ””λ°”μ΄μŠ€ μ—°κ²° (νƒ€μž„λΌμΈ 기둝)

  1. connect/ABCDEF_123:AB:123 토픽을 λ””λ°”μ΄μŠ€μ—μ„œ λ°œν–‰ν•©λ‹ˆλ‹€.

  2. μ„œλ²„λ‘œλΆ€ν„° λ‹€μŒκ³Ό 같이 μ „μ†‘λ°›μœΌλ©΄ λ””λ°”μ΄μŠ€ μ—°κ²° ν† ν”½ μ²˜λ¦¬κ°€ μ„±κ³΅μ μœΌλ‘œ μ™„λ£Œλœ κ²ƒμž…λ‹ˆλ‹€. - ν† ν”½: ABCDEF_123:AB:123/res - νŽ˜μ΄λ‘œλ“œ: 1

λ””λ°”μ΄μŠ€ μ—°κ²° ν•΄μ œ (νƒ€μž„λΌμΈ 기둝)

  1. disconnect/ABCDEF_123:AB:123 토픽을 λ””λ°”μ΄μŠ€μ—μ„œ λ°œν–‰ν•©λ‹ˆλ‹€.

  2. μ„œλ²„λ‘œλΆ€ν„° λ‹€μŒκ³Ό 같이 μ „μ†‘λ°›μœΌλ©΄ λ””λ°”μ΄μŠ€ μ—°κ²° ν•΄μ œ ν† ν”½ μ²˜λ¦¬κ°€ μ„±κ³΅μ μœΌλ‘œ μ™„λ£Œλœ κ²ƒμž…λ‹ˆλ‹€. - ν† ν”½: ABCDEF_123:AB:123/res - νŽ˜μ΄λ‘œλ“œ: 1

데이터 전솑

  1. data/ABCDEF_123:AB:123 토픽을 λ°œν–‰ν•˜κ³  payload에 데이터λ₯Ό κ·œκ²©μ— 맞게 μ „μ†‘ν•©λ‹ˆλ‹€.

MQTT ν”„λ‘œν† μ½œμ„ μ΄μš©ν•˜λŠ” λ””λ°”μ΄μŠ€μ˜ 경우 λ””λ°”μ΄μŠ€ μ—°κ²°, λ””λ°”μ΄μŠ€ μ—°κ²° ν•΄μ œ μƒνƒœ 관리λ₯Ό ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ 데이터 전솑 μ „ν›„λ‘œ λ””λ°”μ΄μŠ€ μ—°κ²° / μ—°κ²° ν•΄μ œ ν† ν”½ λ°œν–‰μ„ λ°˜λ“œμ‹œ ν•˜μ‹€ ν•„μš”λŠ” μ—†μŠ΅λ‹ˆλ‹€.

λ””λ°”μ΄μŠ€ μ—°κ²° / μ—°κ²° ν•΄μ œ ν† ν”½μ˜ 경우 Nubison IoT ν”Œλž«νΌμ—μ„œ νƒ€μž„λΌμΈ 기둝을 남겨 μΆ”μ ν•˜κ³  μ‹ΆμœΌμ‹  κ²½μš°μ— λ°œν–‰ν•΄μ£Όμ„Έμš”.

μ œμ–΄ 처리

  1. λˆ„λΉ„μ¦Œ μ›Ή ν™”λ©΄μ—μ„œ μ œμ–΄ μœ λ‹›μ„ λ§Œλ“€κ³  λͺ…λ Ήμ–΄λ₯Ό 보내면, λ‹€μŒκ³Ό 같이 데이터가 μ „μ†‘λ©λ‹ˆλ‹€. - ν† ν”½: deviceKey/μ„Έμ…˜ID/command - νŽ˜μ΄λ‘œλ“œ: control|μœ λ‹›λ²ˆν˜Έ|μ œμ–΄λͺ…λ Ήκ°’ μ•žμ„œ μ˜ˆμ‹œλ‘œ λ“  ABCDEF_123:12:123 λ””λ°”μ΄μŠ€μ—

    0번 μœ λ‹›μ΄ 있고, β€œμ „μ›β€ 값을 μ œμ–΄ν•œλ‹€κ³  κ°€μ •ν•΄λ΄…μ‹œλ‹€.

    OFF을 보내면 전원 OFF, ON을 보내면 전원 ON이 λœλ‹€κ³  μƒκ°ν•˜κ³ ,

    전원 ONλ₯Ό ν•˜κΈ° μœ„ν•΄ ON을 보낸닀고 ν•˜λ©΄ λ‹€μŒκ³Ό 같이 κ°‘λ‹ˆλ‹€. (μ„Έμ…˜IDλŠ” 00eeffaa라고 κ°€μ •) - ν† ν”½: ABCDEF_123:AB:123/00eeffaa/command - νŽ˜μ΄λ‘œλ“œ: control|0|ON

  2. λ””λ°”μ΄μŠ€μ—μ„œλŠ” ν•΄λ‹Ή λ‚΄μš©μœΌλ‘œ μ›ν•˜λŠ” λ™μž‘μ„ ν•˜κ²Œλ” μ²˜λ¦¬ν•΄μ£Όμ‹œκ³ , μ„œλ²„μ—λŠ” λ‹€μŒκ³Ό 같이 λ¦¬ν„΄ν•©λ‹ˆλ‹€. - ν† ν”½: res/00eeffaa/ABCDEF_123:AB:123 - νŽ˜μ΄λ‘œλ“œ: 1

λ””λ°”μ΄μŠ€μ— μ—°κ²° 확인

λ””λ°”μ΄μŠ€κ°€ λΈŒλ‘œμ»€μ— μ—°κ²°λ˜μ–΄ λ©”μ„Έμ§€λ₯Ό μ†‘μˆ˜μ‹ ν•  수 μžˆλŠ” μƒνƒœμΈμ§€ ν™•μΈν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€.

μ„œλΉ„μŠ€ ν™”λ©΄ > λ””λ°”μ΄μŠ€ 관리 > λ””λ°”μ΄μŠ€λ₯Ό ν΄λ¦­ν•΄μ„œ λ‚˜μ˜€λŠ” λ‹€μŒ μ•„μ΄μ½˜μ„ ν΄λ¦­ν•˜λ©΄

Nubison IoT ν”Œλž«νΌ μ„œλ²„κ°€ λ””λ°”μ΄μŠ€μ— λ‹€μŒκ³Ό 같이 μ—°κ²° 확인 토픽을 λ³΄λƒ…λ‹ˆλ‹€. (μ„Έμ…˜IDλŠ” 00eeffaa라고 κ°€μ •)

  • ν† ν”½: ABCDEF_123:AB:123/00eeffaa/connect

  • νŒ¨μ΄λ‘œλ“œ: μ—†μŒ

λ””λ°”μ΄μŠ€μ—μ„œλŠ” μœ„ 토픽을 λ°›μœΌλ©΄ λ‹€μŒκ³Ό 같이 μ‘λ‹΅ν•˜λ„λ‘ μž‘μ—…ν•΄μ£Όμ‹œλ©΄ λ©λ‹ˆλ‹€.

(μ„Έμ…˜IDλŠ” 00eeffaa라고 κ°€μ •)

  • ν† ν”½: res/00eeffaa/ABCDEF_123:AB:123

  • νŽ˜μ΄λ‘œλ“œ: μ—†μŒ

μ„Ήμ…˜μ—μ„œ μ„€λͺ…λœ λ””λ°”μ΄μŠ€ ν‚€λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.

λ””λ°”μ΄μŠ€μ—μ„œλŠ” ν† ν”½μœΌλ‘œ ackλ₯Ό νšŒμ‹ ν•΄μ•Ό ν•©λ‹ˆλ‹€.

Nubison IoT ν”Œλž«νΌ μ„œλ²„κ°€ λ””λ°”μ΄μŠ€μ˜ μ΅œμ‹  데이터λ₯Ό μ „μ†‘ν•˜λ„λ‘ μš”μ²­ν•  λ•Œ λ°œν–‰λ©λ‹ˆλ‹€. λ””λ°”μ΄μŠ€μ—μ„œλŠ” ν† ν”½μœΌλ‘œ 데이터λ₯Ό νšŒμ‹ ν•΄μ•Ό ν•©λ‹ˆλ‹€.

μ‹œμž‘ν•˜κΈ°
인증 ν‚€ λ°œκΈ‰
인증 ν‚€ λ°œκΈ‰
μ‹œμž‘ν•˜κΈ° > λ””λ°”μ΄μŠ€ ν‚€ ꡬ성
res/{deviceKey}
res/{deviceKey}