Lorawan-stack: ๋ฌธ์„œ ์žฅ์น˜ ์œ ํ˜• OTAA, ABP ๋ฐ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ

์— ๋งŒ๋“  2019๋…„ 07์›” 08์ผ  ยท  14์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: TheThingsNetwork/lorawan-stack

์š”์•ฝ


์˜๋ฌธ

์›นํ›…์œผ๋กœ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
์šฐ๋ฆฌ๋Š” LoRaWAN ๋ถ€ํŠธ๋กœ๋”(ํ˜„์žฌ ํด๋ž˜์Šค A์—์„œ ์ž‘์—… ์ค‘)๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ๋งค์šฐ ๋น„ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค.
์ „์ฒด ํŽŒ์›จ์–ด ์ „์†ก(ํ•˜๋‚˜์˜ ๋…ธ๋“œ์— ๋Œ€ํ•ด)์€ DR4(~64kB)์˜ ๊ฒฝ์šฐ @80dBm ์—์„œ ์•ฝ 1์‹œ๊ฐ„์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.

์›นํ›…์„ ์‚ฌ์šฉํ•˜์—ฌ ๋งŽ์€ ๋…ธ๋“œ(์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์šฉ)์— ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋ฉ”์‹œ์ง€๋กœ ํŽŒ์›จ์–ด ๋‹ค์šด๋งํฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๊นŒ?
๊ฐ ๋…ธ๋“œ๋Š” ๋ˆ„๋ฝ๋œ ํŒจํ‚ค์ง€๋ฅผ ๊ฐœ๋ณ„์ ์œผ๋กœ ์ฟผ๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
"OTA Time"์˜ ํ™œ์šฉ์„ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ์„ ๊ฑฐ๋ผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.
์ด์— ๋Œ€ํ•œ ๋ฌธ์„œ/์ •๋ณด๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

์ตœ์ข… ์žฅ์น˜๋Š” Telit LoRaWAN 1.0.2์ž…๋‹ˆ๋‹ค.

documentation in progress

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

lorawan-stack multicast ์žฅ์น˜๋Š” ์ž„์˜์˜ ์ˆ˜์˜ ๋ฌผ๋ฆฌ์  ์žฅ์น˜๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋ชจ๋“œ์—์„œ ์ž‘๋™ํ•˜๋ ค๋Š” 5๊ฐœ์˜ ์žฅ์น˜๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ 5๊ฐœ์˜ ๋ฌผ๋ฆฌ์  ์žฅ์น˜๋ฅผ ๋ชจ๋‘ ํ”„๋กœ๋น„์ €๋‹ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋™์ผํ•œ DevAddr(์˜ˆ: 00E4304D )
  • ๋™์ผํ•œ ์„ธ์…˜ ํ‚ค(์˜ˆ: AppSKey ๋ฐ NwkSKey์— ๋Œ€ํ•ด ๊ฐ๊ฐ A0CAD5A30036DBE03096EB67CA975BAA ๋ฐ A0CAD5A30036DBE03096EB67CA975BAA ).

๊ทธ๋Ÿฐ ๋‹ค์Œ ์„ ํƒํ•œ DevAddr ๋ฐ ์„ธ์…˜ ํ‚ค์™€ multicast ํ”Œ๋ž˜๊ทธ๊ฐ€ ์„ค์ •๋œ lorawan-stack ์— ๋‹จ์ผ ์žฅ์น˜๋ฅผ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค .
๋ฐฉ๊ธˆ ๋งŒ๋“  ์žฅ์น˜๋ฅผ dev1 ๋ผ๊ณ  ํ•˜๊ณ  ์•ฑ ์ด๋ฆ„์ด app1 ๋ผ๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฐ ๋‹ค์Œ app1 ์•ฑ์—์„œ dev1 ์— ๋Œ€ํ•œ ๋‹ค์šด๋งํฌ๋ฅผ ํ‘ธ์‹œํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค(์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์„ค๋ช…์„œ ์ฐธ์กฐ). ๊ทธ๋Ÿฌ๋ฉด lorawan-stack ๋Š” ๋‹จ์ผ ๋‹ค์šด๋งํฌ๋ฅผ ์˜ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค. DevAddr 00E4304D ๊ฐ€ ์žˆ๋Š” ์žฅ์น˜์˜ ๊ฒฝ์šฐ .
๋‹จ์ผ ๋‹ค์šด๋งํฌ๋Š” DevAddr 00E4304D , ์ฆ‰ ์œ„์—์„œ ํ”„๋กœ๋น„์ €๋‹ํ•œ ๋ชจ๋“  5๊ฐœ(์ด์ƒ์ ์œผ๋กœ) ์žฅ์น˜์™€ ์ผ์น˜ํ•˜๋Š” ๋ชจ๋“  ์žฅ์น˜์—์„œ ์ˆ˜์‹ ๋ฉ๋‹ˆ๋‹ค.

์ผ๋ถ€ ๋ฌผ๋ฆฌ์  ์žฅ์น˜๋Š” ์‹ค์ œ๋กœ ๋™์‹œ์— ์—ฌ๋Ÿฌ ์„ธ์…˜์— ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋Ÿฌํ•œ ์žฅ์น˜๊ฐ€ 5๊ฐœ ์žˆ๊ณ  ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๊ทธ๋ฃน์˜ ์ผ๋ถ€์ธ ๋™์‹œ์— OTAA๋กœ ์ž‘๋™ํ•˜๊ธฐ๋ฅผ ์›ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  1. ๊ฐ ์žฅ์น˜๋ฅผ ๊ณ ์œ ํ•œ ์žฅ์น˜ ID๊ฐ€ ์žˆ๋Š” ๋ณ„๋„์˜ OTAA ์žฅ์น˜๋กœ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค. (๋”ฐ๋ผ์„œ 5๊ฐœ์˜ ์žฅ์น˜๋ฅผ ๋“ฑ๋กํ•˜์‹ญ์‹œ์˜ค - ๊ฐ ๋ฌผ๋ฆฌ์  ์žฅ์น˜๋‹น 1๊ฐœ)
  2. ๋‹จ์ผ ์žฅ์น˜๋ฅผ ๊ณ ์œ ํ•œ ์žฅ์น˜ ID๋ฅผ ๊ฐ€์ง„ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ์žฅ์น˜๋กœ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค.(๋”ฐ๋ผ์„œ ์žฅ์น˜ 1๊ฐœ ๋“ฑ๋ก - ๊ฐ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๊ทธ๋ฃน๋‹น 1๊ฐœ)

์—ฌ๊ธฐ์„œ ์ดํ•ดํ•ด์•ผ ํ•  ํ•ต์‹ฌ์€ ๋“ฑ๋ก๋œ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ์žฅ์น˜๊ฐ€ ์—ฌ๋Ÿฌ ๋ฌผ๋ฆฌ์  ์žฅ์น˜๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์ง€๋งŒ ์ด๋Ÿฌํ•œ ๋ชจ๋“  ๋ฌผ๋ฆฌ์  ์žฅ์น˜๋Š” DevAddr ๋ฐ ์„ธ์…˜ ํ‚ค๋ฅผ ๊ณต์œ ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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

"์งˆ๋ฌธ" ์œ ํ˜• ๋ฌธ์ œ์™€ ๊ด€๋ จ ์—†๋Š” ์„น์…˜์„ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฐธ์กฐ #890

Q: ์›นํ›…์œผ๋กœ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

A: ์˜ˆ, ์Šคํƒ์€ --multicast ํ”Œ๋ž˜๊ทธ๊ฐ€ ์žˆ๋Š” ๋‹ค๋ฅธ ์ตœ์ข… ์žฅ์น˜๋กœ ํด๋ž˜์Šค C ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ์„ธ์…˜์„ ๋“ฑ๋กํ•˜๋Š” ๊ฒƒ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์‹œ์ž‘ํ•˜๊ธฐ: https://github.com/TheThingsNetwork/lorawan-stack/blob/master/doc/gettingstarted.md#creating -a-device์— ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

Q: ์›นํ›…์„ ์‚ฌ์šฉํ•˜์—ฌ ๋งŽ์€ ๋…ธ๋“œ(์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์šฉ)์— ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋ฉ”์‹œ์ง€๋กœ ํŽŒ์›จ์–ด ๋‹ค์šด๋งํฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

A: ์˜ˆ, ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ์„ธ์…˜์€ ๋‹ค๋ฅธ ์žฅ์น˜๋กœ ๋“ฑ๋ก๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ์ผ๋ฐ˜ ์žฅ์น˜์—์„œ์™€ ๋˜‘๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ํ•ด๋‹น ์„ธ์…˜์— ๋Œ€ํ•œ ๋‹ค์šด๋งํฌ๋ฅผ ์˜ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Q: ์ด์— ๋Œ€ํ•œ ๋ฌธ์„œ/์ •๋ณด๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

A: ํ˜„์žฌ ์‹œ์ž‘ํ•˜๊ธฐ์— ์žˆ๋Š” ๊ฒƒ๋ณด๋‹ค ๋งŽ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@rvolosatovs @adriansmares IIRC ํด๋ž˜์Šค C์™€ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ๋กœ ํ…Œ์ŠคํŠธ ํ•˜์…จ์ฃ ? ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ๋ฉ‹์ง„ ๋ฌธ์„œ ํŽ˜์ด์ง€๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

๊ทธ๋ ‡๋‹ค๋ฉด #401์„ ๊ธฐ๋‹ค๋ฆฌ๊ธฐ ์ „์— ํ•ฉ์‹œ๋‹ค.

@htdivsser - ๋‹ต๋ณ€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์‹œ์ž‘ํ•˜๋ฉด์„œ ๋ดค์Šต๋‹ˆ๋‹ค.

์›นํ›…(url)์˜ ๊ตฌ๋ฌธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์ปฌ http://localhost :1885/api/v3/as/applications/ap2/webhooks/fwup/devices/dv1/down/push -X POST -H '์Šน์ธ: ๋ฒ ์–ด๋Ÿฌ NNSXS.CLCIYOYYEDPLJSSWRNMYS5KCDI45HOE6M3WZIDY.E6VDXAAZ4HS' "๋‹ค์šด๋งํฌ":[{"frm_payload":"vu8=","f_port":15,"์šฐ์„ ์ˆœ์œ„":"์ •์ƒ"}]}'

๋‹ค์šด๋งํฌ ๋Œ€์ƒ์— ๋Œ€ํ•ด ์ง€์ •๋œ ๋‹จ์ผ ์žฅ์น˜ ์ด๋ฆ„์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ๋‹ค์ค‘ ์žฅ์น˜์— ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋ฉ”์‹œ์ง€๋ฅผ ์ ์šฉํ•˜๋Š” ์›นํ›…์˜ ๊ตฌ๋ฌธ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์•„์ด๋””์–ด๋Š” ์—ฌ๋Ÿฌ ๋ฌผ๋ฆฌ์  ์žฅ์น˜๋ฅผ ํฌํ•จํ•˜๋Š” ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๊ทธ๋ฃน์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋‹จ์ผ "์˜์‚ฌ ์žฅ์น˜"๋ฅผ ๋“ฑ๋กํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์›นํ›…์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๊ทธ๋ฃน์— ๋Œ€ํ•œ ๋‹ค์šด๋งํฌ๋ฅผ ์˜ˆ์•ฝํ•  ๋•Œ ์ด ์œ ์‚ฌ ์žฅ์น˜๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๊ธฐ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด ์ด๋Ÿฌํ•œ ์˜์‚ฌ ์žฅ์น˜์˜ ๋“ฑ๋ก์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ABP ์žฅ์น˜์˜ ๋“ฑ๋ก๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. DevAddr์€ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ์ฃผ์†Œ, NwkSKey๋Š” McNwkSKey, AppSKey๋Š” McAppSKey์ž…๋‹ˆ๋‹ค.

์•„์ง ์›๊ฒฉ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ์„ค์ •์„ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์žฅ์น˜ ์ธก์˜ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ์„ธ์…˜์€ ์—ฌ์ „ํžˆ โ€‹โ€‹์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต์—์„œ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

@htdvisser ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ์˜์‚ฌ ์žฅ์น˜๋Š” ABP์—ฌ์•ผ ํ•ฉ๋‹ˆ๊นŒ?
์‹ค์ œ ์ตœ์ข… ์žฅ์น˜์— ์ง์ ‘ ์•ก์„ธ์Šคํ•˜๋Š” ๊ฒƒ๊ณผ ์ถฉ๋Œํ•˜์ง€ ์•Š๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ƒ์„ฑ ์˜์‚ฌ ์žฅ์น˜์— ๋Œ€ํ•ด ์•„๋ฌด๊ฒƒ๋„ ์ฐพ์„ ์ˆ˜ ์—†์œผ๋ฉฐ ์–ธ๊ธ‰ํ•œ ์‹œ์ž‘ํ•˜๊ธฐ์—์„œ ์ด "๊ทธ๋ฃน"์— ์žฅ์น˜๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค .

๋‚˜๋Š” ๋˜ํ•œ ํ™•์ธํ–ˆ๋‹ค :
ttn-lw-cli --help
ttn-lw-cli end-devs --help
ttn-lw-cli dev --help
์˜์‚ฌ ์žฅ์น˜ ๋ฐ ๊ทธ๋ฃน์— ๋Œ€ํ•œ "์ง๊ด€์ ์ธ" ์„ค๋ช…์„ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ด๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋ช…๋ น์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@ecities ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ์žฅ์น˜๋Š” ์—…๋งํฌ๋ฅผ ๋ณด๋‚ด์ง€ ์•Š์œผ๋ฏ€๋กœ ์ •์˜์— ๋”ฐ๋ผ OTAA ํ๋ฆ„์„ ์ง€์›ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ABP์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
ABP ์žฅ์น˜์™€ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ์žฅ์น˜๋ฅผ ๋“ฑ๋กํ•˜๋˜ multicast ํ”Œ๋ž˜๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

@rvolosatov ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค
Multicast devices have to be ABP, since they do not send uplinks and hence do not support OTAA flow by definition
๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ?? ์ค‘ ํ•˜๋‚˜๋งŒ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
-otta๊ฐ€ ์žˆ๋Š” ํ‘œ์ค€ ๊ฐœ๋ฐœ(ํด๋ž˜์Šค A ๋˜๋Š” C)
- abp๊ฐ€ ์žˆ๋Š” ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๊ฐœ๋ฐœ(ํด๋ž˜์Šค C) - ์žฅ์น˜ ์ƒ์„ฑ ์‹œ ์ƒ์„ฑ๋˜๋ฉฐ ์ œ๊ฑฐํ•  ์ˆ˜ ์—†๋Š” ํ”Œ๋ž˜๊ทธ์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์ „ํ˜€ ์—…๋งํฌํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋˜๋Š” ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ: 2๊ฐœ์˜ ๋‹ค๋ฅธ ์•ฑ์— ์žฅ์น˜๋ฅผ ์ถ”๊ฐ€ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?
1) ์ผ๋ฐ˜(์—…๋งํฌ/๋‹ค์šด๋งํฌ) ์ž‘์—…์˜ ๊ฒฝ์šฐ(ap1)
2) ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋‹ค์šด๋งํฌ ์ „์šฉ(ap2)
_ํ•˜์ง€๋งŒ ์•ก์„ธ์Šค ๊ถŒํ•œ์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค_

Register the device same way you would an ABP device, but add the multicast flag.

์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
2๊ฐœ์˜ ์žฅ์น˜๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค(๋™์ผํ•œ McNwkSKey, McAppSKey ๋ฐ dev-addr๊ฐ€ ์žˆ๋Š” dev1, dev2).
ttn-lw-cli end-devices create app1 dev1 \
--์ฃผํŒŒ์ˆ˜ ๊ณ„ํš ID EU_863_870 \
--lorawan-๋ฒ„์ „ 1.0.2 \
--lorawan-phy-๋ฒ„์ „ 1.0.2-b \
--abp \
--์„ธ์…˜.dev-addr 00E4304D \
--session.keys.app-s-key.key A0CAD5A30036DBE03096EB67CA975BAA \
--session.keys.nwk-s-key.key B7F3E161BC9D4388E6C788A0C547F255 \
--๋ฉ€ํ‹ฐ์บ์ŠคํŠธ

ttn-lw-cli end-devices ์ƒ์„ฑ app1 dev2 \
--์ฃผํŒŒ์ˆ˜ ๊ณ„ํš ID EU_863_870 \
--lorawan-๋ฒ„์ „ 1.0.2 \
--lorawan-phy-๋ฒ„์ „ 1.0.2-b \
--abp \
--์„ธ์…˜.dev-addr 00E4304D \
--session.keys.app-s-key.key A0CAD5A30036DBE03096EB67CA975BAA \
--session.keys.nwk-s-key.key B7F3E161BC9D4388E6C788A0C547F255 \
--๋ฉ€ํ‹ฐ์บ์ŠคํŠธ

๋งž์•„?

์›นํ›…์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‘˜ ๋‹ค์—๊ฒŒ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
์›นํ›…์˜ URL์ด ๋ฌด์—‡์ธ์ง€ ์•„์ง ๋ช…ํ™•ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
http://localhost :1885/api/v3/as/applications/ap2/webhooks/fwup/devices/00E4304D/down/push

์ด ์˜ฌ๋ฐ”๋ฅธ์ง€?

๋˜๋Š” ์•„๋งˆ๋„:

http://localhost :1885/api/v3/as/applications/ap2/webhooks/fwup/devices/dev1/down/push

๋™์ผํ•œ ๋ณด์•ˆ ์„ค์ •์„ ๊ฐ€์ง„ ๋‹ค๋ฅธ ์žฅ์น˜์—์„œ ์ˆ˜์‹ ๋ฉ๋‹ˆ๋‹ค.
--session.keys.app-s-key.key A0CAD5A30036DBE03096EB67CA975BAA
--session.keys.nwk-s-key.key B7F3E161BC9D4388E6C788A0C547F255

??

lorawan-stack multicast ์žฅ์น˜๋Š” ์ž„์˜์˜ ์ˆ˜์˜ ๋ฌผ๋ฆฌ์  ์žฅ์น˜๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋ชจ๋“œ์—์„œ ์ž‘๋™ํ•˜๋ ค๋Š” 5๊ฐœ์˜ ์žฅ์น˜๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ 5๊ฐœ์˜ ๋ฌผ๋ฆฌ์  ์žฅ์น˜๋ฅผ ๋ชจ๋‘ ํ”„๋กœ๋น„์ €๋‹ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋™์ผํ•œ DevAddr(์˜ˆ: 00E4304D )
  • ๋™์ผํ•œ ์„ธ์…˜ ํ‚ค(์˜ˆ: AppSKey ๋ฐ NwkSKey์— ๋Œ€ํ•ด ๊ฐ๊ฐ A0CAD5A30036DBE03096EB67CA975BAA ๋ฐ A0CAD5A30036DBE03096EB67CA975BAA ).

๊ทธ๋Ÿฐ ๋‹ค์Œ ์„ ํƒํ•œ DevAddr ๋ฐ ์„ธ์…˜ ํ‚ค์™€ multicast ํ”Œ๋ž˜๊ทธ๊ฐ€ ์„ค์ •๋œ lorawan-stack ์— ๋‹จ์ผ ์žฅ์น˜๋ฅผ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค .
๋ฐฉ๊ธˆ ๋งŒ๋“  ์žฅ์น˜๋ฅผ dev1 ๋ผ๊ณ  ํ•˜๊ณ  ์•ฑ ์ด๋ฆ„์ด app1 ๋ผ๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฐ ๋‹ค์Œ app1 ์•ฑ์—์„œ dev1 ์— ๋Œ€ํ•œ ๋‹ค์šด๋งํฌ๋ฅผ ํ‘ธ์‹œํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค(์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์„ค๋ช…์„œ ์ฐธ์กฐ). ๊ทธ๋Ÿฌ๋ฉด lorawan-stack ๋Š” ๋‹จ์ผ ๋‹ค์šด๋งํฌ๋ฅผ ์˜ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค. DevAddr 00E4304D ๊ฐ€ ์žˆ๋Š” ์žฅ์น˜์˜ ๊ฒฝ์šฐ .
๋‹จ์ผ ๋‹ค์šด๋งํฌ๋Š” DevAddr 00E4304D , ์ฆ‰ ์œ„์—์„œ ํ”„๋กœ๋น„์ €๋‹ํ•œ ๋ชจ๋“  5๊ฐœ(์ด์ƒ์ ์œผ๋กœ) ์žฅ์น˜์™€ ์ผ์น˜ํ•˜๋Š” ๋ชจ๋“  ์žฅ์น˜์—์„œ ์ˆ˜์‹ ๋ฉ๋‹ˆ๋‹ค.

์ผ๋ถ€ ๋ฌผ๋ฆฌ์  ์žฅ์น˜๋Š” ์‹ค์ œ๋กœ ๋™์‹œ์— ์—ฌ๋Ÿฌ ์„ธ์…˜์— ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋Ÿฌํ•œ ์žฅ์น˜๊ฐ€ 5๊ฐœ ์žˆ๊ณ  ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๊ทธ๋ฃน์˜ ์ผ๋ถ€์ธ ๋™์‹œ์— OTAA๋กœ ์ž‘๋™ํ•˜๊ธฐ๋ฅผ ์›ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  1. ๊ฐ ์žฅ์น˜๋ฅผ ๊ณ ์œ ํ•œ ์žฅ์น˜ ID๊ฐ€ ์žˆ๋Š” ๋ณ„๋„์˜ OTAA ์žฅ์น˜๋กœ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค. (๋”ฐ๋ผ์„œ 5๊ฐœ์˜ ์žฅ์น˜๋ฅผ ๋“ฑ๋กํ•˜์‹ญ์‹œ์˜ค - ๊ฐ ๋ฌผ๋ฆฌ์  ์žฅ์น˜๋‹น 1๊ฐœ)
  2. ๋‹จ์ผ ์žฅ์น˜๋ฅผ ๊ณ ์œ ํ•œ ์žฅ์น˜ ID๋ฅผ ๊ฐ€์ง„ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ์žฅ์น˜๋กœ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค.(๋”ฐ๋ผ์„œ ์žฅ์น˜ 1๊ฐœ ๋“ฑ๋ก - ๊ฐ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๊ทธ๋ฃน๋‹น 1๊ฐœ)

์—ฌ๊ธฐ์„œ ์ดํ•ดํ•ด์•ผ ํ•  ํ•ต์‹ฌ์€ ๋“ฑ๋ก๋œ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ์žฅ์น˜๊ฐ€ ์—ฌ๋Ÿฌ ๋ฌผ๋ฆฌ์  ์žฅ์น˜๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์ง€๋งŒ ์ด๋Ÿฌํ•œ ๋ชจ๋“  ๋ฌผ๋ฆฌ์  ์žฅ์น˜๋Š” DevAddr ๋ฐ ์„ธ์…˜ ํ‚ค๋ฅผ ๊ณต์œ ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@rvolosatovs ๋Š” ๋Œ€๋ถ€๋ถ„์˜ ๊ฐ€์ •์„ ์ œ๊ฑฐํ•˜๋Š” ์•„์ฃผ ์ข‹์€ "๋‹จ๊ณ„๋ณ„" ์„ค๋ช…์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ๋Š” ๊ทธ๋ ‡๊ฒŒ ๋ช…ํ™•ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์‹œ์ž‘ํ•˜๊ธฐ ๋งค๋‰ด์–ผ์ด๋‚˜ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋ฌธ์„œ์— ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์น˜๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์•ˆ ์ธ์‚ฌ,

๋กœ๋ฒ„ํŠธ

@ecities ์ฒœ๋งŒ ์—์š”, ์ œ๊ฐ€ ๋„์šธ ์ˆ˜ ์žˆ์–ด์„œ ๊ธฐ์ฉ๋‹ˆ๋‹ค!
@adriansmares ์ด๊ฑฐ ์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?

@adriansmares ๋Š” OTAA, ABP ๋ฐ Multicast ์žฅ์น˜๊ฐ€ ๋ฌด์—‡์ธ์ง€, ํŠนํžˆ ํ›„์ž๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์ข€ ๋” ์ž์„ธํžˆ ์„ค๋ช…ํ•  ๊ฒƒ์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.

--multicast ์žฅ์น˜๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค(์‹œ์ž‘ํ•˜๊ธฐ ์˜ˆ์ œ์—์„œ ๋ณต์‚ฌํ•œ ๋ช…๋ น).

ttn-lw-cli ์ตœ์ข… ์žฅ์น˜๋Š” ap3 lldv3์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. \
--์ฃผํŒŒ์ˆ˜ ๊ณ„ํš ID EU_863_870 \
--lorawan-๋ฒ„์ „ 1.0.2 \
--lorawan-phy-๋ฒ„์ „ 1.0.2-b \
--abp \
--์„ธ์…˜.dev-addr 11E4304D \
--session.keys.app-s-key.key A0CAD5A30036DBE03096EB67CA975BAA \
--session.keys.nwk-s-key.key B7F3E161BC9D4388E6C788A0C547F255 \
--๋ฉ€ํ‹ฐ์บ์ŠคํŠธ

๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.
์•Œ ์ˆ˜ ์—†๋Š” ํ”Œ๋ž˜๊ทธ: --๋ฉ€ํ‹ฐ์บ์ŠคํŠธ

ttn-lw-cli ๋ฒ„์ „
์‚ฌ๋ฌผ ๋„คํŠธ์›Œํฌ ๋ช…๋ น์ค„ ์ธํ„ฐํŽ˜์ด์Šค: ttn-lw-cli
๋ฒ„์ „: 3.0.3
์ด๋™ ๋ฒ„์ „: go1.12.5
OS/์•„์น˜: linux/amd64

v3.1.0 ์„ ๊ธฐ๋‹ค๋ฆฌ๊ฑฐ๋‚˜ ์†Œ์Šค์—์„œ master ๋ฅผ ๋นŒ๋“œํ•˜์‹ญ์‹œ์˜ค. DEVELOPMENT.md ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

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