Lorawan-stack: ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋“ฑ๋ก ๋ฐ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋‹ค์šด๋งํฌ

์— ๋งŒ๋“  2020๋…„ 10์›” 30์ผ  ยท  7์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: TheThingsNetwork/lorawan-stack

์—ฌ๋Ÿฌ๋ถ„, ์•ˆ๋…•ํ•˜์„ธ์š”,

์š”์•ฝ

์ฝ˜์†” ๋ฐ CLI๋ฅผ ํ†ตํ•œ _MULTICAST DEVICES REGISTRATION_ ๋ฐ _MULTICAST DOWNLINK_ ๊ด€๋ จ ๋ฌธ์ œ

์ฝ˜์†”์„ ํ†ตํ•ด ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋“ฑ๋ก์„ ์žฌํ˜„ํ•˜๋Š” ๋‹จ๊ณ„

  • ๋‹ค์Œ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ตœ์ข… ์žฅ์น˜๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

    • ํ™œ์„ฑํ™” ๋ชจ๋“œ: ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ
    • LoRaWAN ๋ฒ„์ „: MAC V1.0.3
    • DevEUI: ์•„๋ฌด๊ฒƒ๋„
    • ์ฃผํŒŒ์ˆ˜ ๊ณ„ํš: RX2์šฉ SF12
    • ํ”„๋ ˆ์ž„ ์นด์šดํ„ฐ: 32๋น„ํŠธ
    • ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ์ฃผ์†Œ: 00 00 00 01
    • ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ NwkSKey: B1-D1-03-3E-FD-AA-C8-D9-1B-C0-D0-F0-F9-C0-07-98
    • ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ์•ฑ ํ‚ค: 0D-81-06-99-B2-B5-4A-42-18-53-B1-B0-66-1B-27-24
  • ์ฝ˜์†”์„ ํ†ตํ•ด ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋‹ค์šด๋งํฌ๋ฅผ ์˜ˆ์•ฝํ–ˆ์Šต๋‹ˆ๋‹ค.

  • _๊ด€์ฐฐ:_ Multicast Address, Multicast NwkSKey ๋ฐ Multicast AppSKey๋Š” Lora Alliance " _LoRaWANยฎ Remote Multicast Setup Specification v1.0.0_(https:/ /lora-alliance.org/resource-hub/lorawanr-remote-multicast-setup-specification-v100)".

๋‚˜๋Š” ์ง€๊ธˆ ๋ฌด์—‡์„ ๋ด…๋‹ˆ๊นŒ?

๋“ฑ๋ก์ด ์ž˜ ๋˜๊ณ  ๋‹ค์šด๋งํฌ๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์˜ˆ์•ฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ๊ฐ€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋“ฑ๋ก ํ›„ ๋“ฑ๋ก๋œ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ์žฅ์น˜๊ฐ€ _ํ™œ์„ฑํ™” ๋ชจ๋“œ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ_๊ฐ€ ์•„๋‹ˆ๋ผ _ํ™œ์„ฑํ™” ๋ชจ๋“œ ABP_๋ผ๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค. ์™œ ๊ทธ๋Ÿฐ๊ฐ€์š”? ์žฅ์น˜๊ฐ€ _ํ™œ์„ฑํ™” ๋ชจ๋“œ ABP_์— ์žˆ๋Š” ๊ฒฝ์šฐ์—๋„ ์ฝ˜์†”์„ ํ†ตํ•ด ์œ ํšจํ•œ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋‹ค์šด๋งํฌ๋ฅผ ์˜ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

CLI๋ฅผ ํ†ตํ•ด ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋“ฑ๋ก์„ ์žฌํ˜„ํ•˜๋Š” ๋‹จ๊ณ„

์‚ฌ๋ฌผ ์Šคํƒ ์ง€์นจ(https://thethingsstack.io/devices/class-c-multicast/)์— ๋”ฐ๋ผ:

  • ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ์žฅ์น˜ ์ถ”๊ฐ€:
    $ ttn-lw-cli end-devices app1 mc1 ์ƒ์„ฑ
    --์ฃผํŒŒ์ˆ˜ ๊ณ„ํš-ID EU_863_870
    --lorawan-๋ฒ„์ „ 1.0.3
    --lorawan-phy-๋ฒ„์ „ 1.0.3-a
    --์„ธ์…˜.dev-addr 00000001
    --session.keys.app-s-key.key 0D810699B2B54A421853B1B0661B2724
    --session.keys.nwk-s-key.key B1D1033EFDAAC8D91BC0D0F0F9C00798
    --๋ฉ€ํ‹ฐ์บ์ŠคํŠธ
    --support-class-c

  • MQTT(๋ชจ์Šคํ‚คํ† ) ๋ฅผ ํ†ตํ•œ ์˜ˆ์•ฝ๋œ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋‹ค์šด๋งํฌ

_๋ชจ๊ธฐ ๋ช…๋ น:_ C:ํ”„๋กœ๊ทธ๋žจ๋ฏธ๋ชจ์Šคํ‚คํ† >๋ชจ๊ธฐ_ํŽ -h movexxxx.xxx.xxxx.xxxx.xxxx.com -t "v3/ app1@movexxxx/devices/ mc1 /down/push" -u " app1@movexxxx " -P "NNSXS .YNQ5LIW5SExxxx" -m '{"๋‹ค์šด๋งํฌ":[{"frm_payload":"ciao","f_port":42,"์šฐ์„ ์ˆœ์œ„":"NORMAL","class_b_c":{"๊ฒŒ์ดํŠธ์›จ์ด":[{"๊ฒŒ์ดํŠธ์›จ์ด_ids": {"gateway_id":" gtwid "}}],"absolute_time":"2020-10-28T20:20:00Z"}}]}' -d

  • _๊ด€์ฐฐ:_ Multicast Address, Multicast NwkSKey ๋ฐ Multicast AppSKey๋Š” Lora Alliance " _LoRaWANยฎ Remote Multicast Setup Specification v1.0.0_(https:/ /lora-alliance.org/resource-hub/lorawanr-remote-multicast-setup-specification-v100)".

๋‚˜๋Š” ์ง€๊ธˆ ๋ฌด์—‡์„ ๋ด…๋‹ˆ๊นŒ?
์ถ”๊ฐ€๋œ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ์žฅ์น˜๋Š” _ํ™œ์„ฑํ™” ๋ชจ๋“œ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ_๊ฐ€ ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋ชจ์Šคํ‚คํ†  ๋‹ค์šด๋งํฌ์˜ ๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

_Mosquitto ๋‹ต๋ณ€:_ ํด๋ผ์ด์–ธํŠธ mosqpub|23216-LAPTOP-OE๊ฐ€ CONNECT๋ฅผ ๋ณด๋‚ด๋Š” ์ค‘์ž…๋‹ˆ๋‹ค.
ํด๋ผ์ด์–ธํŠธ mosqpub|23216-LAPTOP-OE๊ฐ€ CONNACK์„ ์ˆ˜์‹ ํ–ˆ์Šต๋‹ˆ๋‹ค.
ํด๋ผ์ด์–ธํŠธ mosqpub|23216-LAPTOP-OE๊ฐ€ PUBLISH(d0, q0, r0, m1, 'v3/ app1@movexxxxx/devices/ mc1 /down/push', ...(154๋ฐ”์ดํŠธ))๋ฅผ ๋ณด๋‚ด๋Š” ์ค‘
ํด๋ผ์ด์–ธํŠธ mosqpub|23216-LAPTOP-OE๊ฐ€ DISCONNECT๋ฅผ ๋ณด๋‚ด๋Š” ์ค‘์ž…๋‹ˆ๋‹ค.

๋ฌธ์ œ๊ฐ€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

ํ”Œ๋žซํผ์—์„œ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋‹ค์šด๋งํฌ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋ ค๊ณ  ํ•˜๋ฉด "์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋‹ค์šด๋งํฌ ๊ฒฝ๋กœ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค" ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

๋Œ€์‹  mosquitto_pub ๋‹ค์šด๋งํฌ ๋‹ต๋ณ€์ด ๋งž์Šต๋‹ˆ๊นŒ? ๋ฌผ๋ฆฌ์  OTAA ์ตœ์ข… ์žฅ์น˜์— ์•„๋ฌด๊ฒƒ๋„ ๋„์ฐฉํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์—†์–ด์ง„ ๋ฌผ๊ฑด ์žˆ์–ด์š”?

์ฝ˜์†”์„ ํ†ตํ•ด OTAA ์žฅ์น˜๋ฅผ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๊ทธ๋ฃน๊ณผ ์ƒํ˜ธ ์—ฐ๊ด€์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋‹ค์šด๋งํฌ๊ฐ€ ๋‚ด OTAA ์žฅ์น˜์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ๋ช…ํ™•ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— OTAA ์žฅ์น˜๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๊ทธ๋ฃน(๊ทธ์˜ McAddress ๋ฐ Mckeys ํฌํ•จ)์„ ๋ณด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

needdetails

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์•„๋‹ˆ์š” ๋‚ด ๊ฒŒ์ดํŠธ์›จ์ด "๋ผ์ด๋ธŒ ๋ฐ์ดํ„ฐ"์— ๋„์ฐฉํ•˜๋Š” ๋‹ค์šด๋งํฌ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์ง€๋งŒ ๋Œ€์‹  ๋‚ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ "foo"์˜ "๋ผ์ด๋ธŒ ๋ฐ์ดํ„ฐ" ์„น์…˜์— ๋„์ฐฉํ•˜๋Š” ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒŒ์ดํŠธ์›จ์ด ์ด๋ฒคํŠธ ๋กœ๊ทธ๋ฅผ ๊ตฌ๋…ํ•˜์‹ญ์‹œ์˜ค.

$ ttn-lw-cli events --gateway-id gtw-test

๋˜ํ•œ ๋””๋ฒ„๊ทธ ๋กœ๊ทธ( log.level: debug )๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋‹ค์šด๋งํฌ ๋ฉ”์‹œ์ง€๋ฅผ ์˜ˆ์•ฝํ•˜๊ณ  ๋กœ๊ทธ ๋ฐ ๊ฒŒ์ดํŠธ์›จ์ด ์ด๋ฒคํŠธ๋ฅผ ๊ด€์ฐฐํ•ฉ๋‹ˆ๋‹ค.


๊ทธ๋ ‡๋‹ค๋ฉด ๋‹ค์šด๋งํฌ ๋ฉ”์‹œ์ง€๊ฐ€ ํŠน์ • OTAA ์žฅ์น˜ ๊ทธ๋ฃน์ด ์•„๋‹Œ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ๋ฉ”์‹œ์ง€์ฒ˜๋Ÿผ ๊ฒŒ์ดํŠธ์›จ์ด์— ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  OTAA ์žฅ์น˜์— ๋„์ฐฉํ•œ๋‹ค๋Š” ๋ง์”€์ด์‹ ๊ฐ€์š”?

์˜ˆ, LoRaWAN์ด ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ํŠน์ • ๋ฐ์ดํ„ฐ ์†๋„๋กœ ํ•ด๋‹น ์ฃผํŒŒ์ˆ˜์—์„œ ์ˆ˜์‹  ๋Œ€๊ธฐํ•˜๋Š” ๋ชจ๋“  ํด๋ž˜์Šค C ์žฅ์น˜๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์‹ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ๋ฉ”์‹œ์ง€์˜ DevAddr์„ ๋ณด๊ณ  ์„ธ์…˜ ํ‚ค๊ฐ€ ์žˆ๋Š” (๋ฉ€ํ‹ฐ์บ์ŠคํŠธ) ์„ธ์…˜๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋ฉ”์‹œ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  NwkSKey๊ฐ€ MIC ๋“ฑ๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

๋งํ•˜์ž๋ฉด; ์ฃผํŒŒ์ˆ˜์™€ ๋ฐ์ดํ„ฐ ์†๋„๊ฐ€ ์ •ํ™•ํ•ฉ๋‹ˆ๊นŒ? ํด๋ž˜์Šค C๋Š” ์ด๋ฅผ ์œ„ํ•ด RX2 ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ตœ์ข… ์žฅ์น˜๋Š” ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋‹ค์šด๋งํฌ ํ”„๋ ˆ์ž„์— ๋Œ€ํ•œ ํ•ด๋‹น ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ˆ˜์‹ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  7 ๋Œ“๊ธ€

@MatteMoveSRL ๋ฌธ์ œ์— ๋Œ€ํ•ด ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ง€์› ๊ณ„ํš์ด ์žˆ๋Š” TTI ๊ณ ๊ฐ์ธ ๊ฒฝ์šฐ ์ง€์› ์ฑ„๋„์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—์„œ ๋ฌธ์ œ ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์กฐํ™”๋œ ๋ฐฉ์‹์œผ๋กœ ์ •๋ณด๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค.


๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ์žฅ์น˜ ๋“ฑ๋ก์ด _Activation mode multicast_๊ฐ€ ์•„๋‹ˆ๋ผ _Activation mode ABP_๋ผ๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค. ์™œ ๊ทธ๋Ÿฐ๊ฐ€์š”?

์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” ์žฌ์ƒ์‚ฐ ๋‹จ๊ณ„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ ํ…œํ”Œ๋ฆฟ์„ ๋”ฐ๋ฅด๋„๋ก ๊ฒŒ์‹œ๋ฌผ์„ ์ˆ˜์ •ํ•˜์„ธ์š”.


"์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋‹ค์šด๋งํฌ ๊ฒฝ๋กœ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค" ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ”Œ๋žซํผ์—์„œ ๋‹ค์šด๋งํฌ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด Windows์—์„œ MQTT ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์šด๋งํฌ๋ฅผ ๋ณด๋‚ด๋ ค๊ณ  ์‹œ๋„ํ–ˆ์ง€๋งŒ ๋‚ด ์ตœ์ข… ์žฅ์น˜์— ์•„๋ฌด ๊ฒƒ๋„ ๋„์ฐฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

https://thethingsstack.io/devices/class-c-multicast/ ๋ฅผ ์ฐธ์กฐํ•œ ๋‹ค์Œ Multicast Group ์•„๋ž˜์˜ ๋‘ ๋ฒˆ์งธ ๋ฉ”๋ชจ๋ฅผ ์ฐธ์กฐํ•˜๊ณ  ์•„๋ž˜์˜ ์˜ˆ์—์„œ ๋‹ค์šด๋งํฌ๋ฅผ ์˜ˆ์•ฝํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐธ์กฐํ•˜์„ธ์š”.

@johanstokking ๋‹ต๋ณ€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

๋‚˜๋Š” ๋‹น์‹ ์ด ์ œ์•ˆํ•œ ๋Œ€๋กœ ๊ตฌ์กฐํ™”๋œ ๋ฐฉ์‹์œผ๋กœ ์ •๋ณด๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด ๋‚ด ๋ฌธ์ œ ๋ชฉ๋ก์„ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋‚˜๋Š” ์—ฌ์ „ํžˆ ์ด ๋‘ ๊ฐ€์ง€ ์ ์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•œ๋‹ค.

๋Œ€์‹  mosquitto_pub ๋‹ค์šด๋งํฌ ๋‹ต๋ณ€์ด ๋งž์Šต๋‹ˆ๊นŒ? ๋ฌผ๋ฆฌ์  OTAA ์ตœ์ข… ์žฅ์น˜์— ์•„๋ฌด๊ฒƒ๋„ ๋„์ฐฉํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์—

์ฝ˜์†”์„ ํ†ตํ•ด OTAA ์žฅ์น˜๋ฅผ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๊ทธ๋ฃน๊ณผ ์ƒํ˜ธ ์—ฐ๊ด€์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋‹ค์šด๋งํฌ๊ฐ€ ๋‚ด OTAA ์žฅ์น˜์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ๋ช…ํ™•ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด OTAA ์žฅ์น˜๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๊ทธ๋ฃน(๊ทธ์˜ McAddress ๋ฐ Mckeys ํฌํ•จ)์„ ๋ณด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๊ท€ํ•˜์˜ ์‹œ๊ฐ„๊ณผ ๋‹ต๋ณ€์— ๋ฏธ๋ฆฌ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

@MatteMoveSRL ๋Œ€์‹  mosquitto_pub ๋‹ค์šด๋งํฌ ๋‹ต๋ณ€์ด ๋งž์Šต๋‹ˆ๊นŒ? ๋ฌผ๋ฆฌ์  OTAA ์ตœ์ข… ์žฅ์น˜์— ์•„๋ฌด๊ฒƒ๋„ ๋„์ฐฉํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์—

๊ณผ๊ฑฐ์˜ ์ ˆ๋Œ€ ์‹œ๊ฐ„์„ ์ œ์™ธํ•˜๊ณ ๋Š” ์ž˜๋ชป๋œ ๊ฒƒ ๊ฐ™์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ gtwid ๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Šต๋‹ˆ๊นŒ? ๊ฒŒ์ดํŠธ์›จ์ด ํŠธ๋ž˜ํ”ฝ์„ ๋ณผ ๋•Œ ์ฝ˜์†”์— ์˜ˆ์•ฝ๋œ ๋‹ค์šด๋งํฌ๊ฐ€ ๋ณด์ž…๋‹ˆ๊นŒ?

@MatteMoveSRL ์ฝ˜์†”์„ ํ†ตํ•ด OTAA ์žฅ์น˜๋ฅผ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๊ทธ๋ฃน๊ณผ ์—ฐ๊ด€์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋‹ค์šด๋งํฌ๊ฐ€ ๋‚ด OTAA ์žฅ์น˜์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ๋ช…ํ™•ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด OTAA ์žฅ์น˜๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๊ทธ๋ฃน(๊ทธ์˜ McAddress ๋ฐ Mckeys ํฌํ•จ)์„ ๋ณด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์•„์ง Application Server์—์„œ ์›๊ฒฉ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ์„ค์ • ํ”„๋กœํ† ์ฝœ์„ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์„ ์ƒ๊ด€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ์žฅ์น˜๋Š” ๊ฐ€์ƒ ์žฅ์น˜์ž…๋‹ˆ๋‹ค. ์ตœ์ข… ์žฅ์น˜๊ฐ€ ์œ ๋‹ˆ์บ์ŠคํŠธ์™€ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ์ฑ„๋„ ๋ชจ๋‘์—์„œ ๋‹ค์šด๋งํฌ๋ฅผ ์ดํ•ดํ•œ๋‹ค๋ฉด ๋ฌธ์ œ๊ฐ€ ์—†์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@johanstokking ๋น ๋ฅธ ๋‹ต๋ณ€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

ํ•˜์ง€๋งŒ gtwid๋Š” ์—ฐ๊ฒฐ๋œ ๊ฒŒ์ดํŠธ์›จ์ด์ธ๊ฐ€์š”?

์˜ˆ, ๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ณ  mosquitto ๋ช…๋ น์—์„œ "gtwid" ๋Œ€์‹  "gw-test"๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

gateway1

๊ฒŒ์ดํŠธ์›จ์ด ํŠธ๋ž˜ํ”ฝ์„ ๋ณผ ๋•Œ ์ฝ˜์†”์— ์˜ˆ์•ฝ๋œ ๋‹ค์šด๋งํฌ๊ฐ€ ๋ณด์ž…๋‹ˆ๊นŒ?

์•„๋‹ˆ์š” ๋‚ด ๊ฒŒ์ดํŠธ์›จ์ด "๋ผ์ด๋ธŒ ๋ฐ์ดํ„ฐ"์— ๋„์ฐฉํ•˜๋Š” ๋‹ค์šด๋งํฌ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์ง€๋งŒ ๋Œ€์‹  ๋‚ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ "foo"์˜ "๋ผ์ด๋ธŒ ๋ฐ์ดํ„ฐ" ์„น์…˜์— ๋„์ฐฉํ•˜๋Š” ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

downlink2
downlink1

์ตœ์ข… ์žฅ์น˜๊ฐ€ ์œ ๋‹ˆ์บ์ŠคํŠธ์™€ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ์ฑ„๋„ ๋ชจ๋‘์—์„œ ๋‹ค์šด๋งํฌ๋ฅผ ์ดํ•ดํ•œ๋‹ค๋ฉด ๋ฌธ์ œ๊ฐ€ ์—†์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ๋‹ค์šด๋งํฌ ๋ฉ”์‹œ์ง€๊ฐ€ ํŠน์ • OTAA ์žฅ์น˜ ๊ทธ๋ฃน์ด ์•„๋‹Œ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ๋ฉ”์‹œ์ง€์ฒ˜๋Ÿผ ๊ฒŒ์ดํŠธ์›จ์ด์— ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  OTAA ์žฅ์น˜์— ๋„์ฐฉํ•œ๋‹ค๋Š” ๋ง์”€์ด์‹ ๊ฐ€์š”?

์•„๋‹ˆ์š” ๋‚ด ๊ฒŒ์ดํŠธ์›จ์ด "๋ผ์ด๋ธŒ ๋ฐ์ดํ„ฐ"์— ๋„์ฐฉํ•˜๋Š” ๋‹ค์šด๋งํฌ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์ง€๋งŒ ๋Œ€์‹  ๋‚ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ "foo"์˜ "๋ผ์ด๋ธŒ ๋ฐ์ดํ„ฐ" ์„น์…˜์— ๋„์ฐฉํ•˜๋Š” ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒŒ์ดํŠธ์›จ์ด ์ด๋ฒคํŠธ ๋กœ๊ทธ๋ฅผ ๊ตฌ๋…ํ•˜์‹ญ์‹œ์˜ค.

$ ttn-lw-cli events --gateway-id gtw-test

๋˜ํ•œ ๋””๋ฒ„๊ทธ ๋กœ๊ทธ( log.level: debug )๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋‹ค์šด๋งํฌ ๋ฉ”์‹œ์ง€๋ฅผ ์˜ˆ์•ฝํ•˜๊ณ  ๋กœ๊ทธ ๋ฐ ๊ฒŒ์ดํŠธ์›จ์ด ์ด๋ฒคํŠธ๋ฅผ ๊ด€์ฐฐํ•ฉ๋‹ˆ๋‹ค.


๊ทธ๋ ‡๋‹ค๋ฉด ๋‹ค์šด๋งํฌ ๋ฉ”์‹œ์ง€๊ฐ€ ํŠน์ • OTAA ์žฅ์น˜ ๊ทธ๋ฃน์ด ์•„๋‹Œ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ๋ฉ”์‹œ์ง€์ฒ˜๋Ÿผ ๊ฒŒ์ดํŠธ์›จ์ด์— ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  OTAA ์žฅ์น˜์— ๋„์ฐฉํ•œ๋‹ค๋Š” ๋ง์”€์ด์‹ ๊ฐ€์š”?

์˜ˆ, LoRaWAN์ด ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ํŠน์ • ๋ฐ์ดํ„ฐ ์†๋„๋กœ ํ•ด๋‹น ์ฃผํŒŒ์ˆ˜์—์„œ ์ˆ˜์‹  ๋Œ€๊ธฐํ•˜๋Š” ๋ชจ๋“  ํด๋ž˜์Šค C ์žฅ์น˜๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์‹ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ๋ฉ”์‹œ์ง€์˜ DevAddr์„ ๋ณด๊ณ  ์„ธ์…˜ ํ‚ค๊ฐ€ ์žˆ๋Š” (๋ฉ€ํ‹ฐ์บ์ŠคํŠธ) ์„ธ์…˜๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋ฉ”์‹œ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  NwkSKey๊ฐ€ MIC ๋“ฑ๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

๋งํ•˜์ž๋ฉด; ์ฃผํŒŒ์ˆ˜์™€ ๋ฐ์ดํ„ฐ ์†๋„๊ฐ€ ์ •ํ™•ํ•ฉ๋‹ˆ๊นŒ? ํด๋ž˜์Šค C๋Š” ์ด๋ฅผ ์œ„ํ•ด RX2 ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ตœ์ข… ์žฅ์น˜๋Š” ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋‹ค์šด๋งํฌ ํ”„๋ ˆ์ž„์— ๋Œ€ํ•œ ํ•ด๋‹น ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ˆ˜์‹ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

@johanstokking ๋‹ต๋ณ€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ, LoRaWAN์ด ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ํŠน์ • ๋ฐ์ดํ„ฐ ์†๋„๋กœ ํ•ด๋‹น ์ฃผํŒŒ์ˆ˜์—์„œ ์ˆ˜์‹  ๋Œ€๊ธฐํ•˜๋Š” ๋ชจ๋“  ํด๋ž˜์Šค C ์žฅ์น˜๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์‹ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ๋ฉ”์‹œ์ง€์˜ DevAddr์„ ๋ณด๊ณ  ์„ธ์…˜ ํ‚ค๊ฐ€ ์žˆ๋Š” (๋ฉ€ํ‹ฐ์บ์ŠคํŠธ) ์„ธ์…˜๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋ฉ”์‹œ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  NwkSKey๊ฐ€ MIC ๋“ฑ๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

๋•๋ถ„์— ์•Œ์•˜์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ์ •๋ง ๋ช…ํ™•ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋งํ•˜์ž๋ฉด; ์ฃผํŒŒ์ˆ˜์™€ ๋ฐ์ดํ„ฐ ์†๋„๊ฐ€ ์ •ํ™•ํ•ฉ๋‹ˆ๊นŒ? ํด๋ž˜์Šค C๋Š” ์ด๋ฅผ ์œ„ํ•ด RX2 ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ตœ์ข… ์žฅ์น˜๋Š” ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋‹ค์šด๋งํฌ ํ”„๋ ˆ์ž„์— ๋Œ€ํ•œ ํ•ด๋‹น ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ˆ˜์‹ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์˜ฌ๋ฐ”๋ฅธ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ–ˆ๋‹ค๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด ์ƒ๊ฐ์— ๋ฌธ์ œ๋Š” MQTT ๋˜๋Š” ๊ฒŒ์ดํŠธ์›จ์ด์™€ ๊ด€๋ จ๋œ ๋‹ค์šด๋งํฌ๋ฅผ ์˜ˆ์•ฝํ•˜๋Š” ๋ฐฉ๋ฒ•์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ์ฃผ์— ๊ท€ํ•˜์˜ ์ข‹์€ ํŒ์— ๋”ฐ๋ผ ์‹œ๋„ํ•˜๊ณ  ๋‹ค์‹œ ์—ฐ๋ฝ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ์งˆ๋ฌธ์€ ํฌ๋Ÿผ์„ ์ด์šฉํ•˜์‹ญ์‹œ์˜ค. GitHub ๋ฌธ์ œ์— ๋Œ€ํ•œ ์งˆ๋ฌธ์—๋Š” ๋‹ต๋ณ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ๋ฌธ์ œ ํ…œํ”Œ๋ฆฟ๋„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰

๊ด€๋ จ ๋ฌธ์ œ

kschiffer picture kschiffer  ยท  7์ฝ”๋ฉ˜ํŠธ

bafonins picture bafonins  ยท  5์ฝ”๋ฉ˜ํŠธ

johanstokking picture johanstokking  ยท  5์ฝ”๋ฉ˜ํŠธ

johanstokking picture johanstokking  ยท  8์ฝ”๋ฉ˜ํŠธ

kschiffer picture kschiffer  ยท  4์ฝ”๋ฉ˜ํŠธ