์์ฝ:
์ฅ์น ์ถ๊ฐ ์์(#573์ ์ถ๊ฐ๋จ)์ ํ์ฌ ์ ์ฝ ์กฐ๊ฑด์ ๋ฐ๋ผ ํ๋๋ฅผ ๊ตฌ์ฑํ์ง ์์ต๋๋ค(ABP/OTAA ์ ํ ์ ์ธ). ์๋ฅผ ๋ค์ด ํน์ LoRaWAN ๋ฒ์ ์๋ง ๊ด๋ จ๋ ํ๋๋ฅผ ์จ๊ธฐ๊ฑฐ๋ ๊ทธ์ ๋ฐ๋ผ ํ๋ ์ด๋ฆ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค(์: NwkSKey
vs. FNwkSIntKey
).
์ ์ด๊ฒ์ด ํ์ํฉ๋๊น?
๋ ๋์ UX๋ฅผ ์ํด ์๋ชป๋ ์
๋ ฅ์ ํผํ์ญ์์ค
์ด๋ฏธ ๊ฑฐ๊ธฐ์ ๋ฌด์์ด ์์ต๋๊น?
OTAA/ABP๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์กฐ๊ฑด๋ถ ํ๋๊ฐ ์๋ ์ฅ์น ์ถ๊ฐ ์์
์์ด์ง ๋ฌผ๊ฑด ์์ด์?
์์์ ๋ณด๋ค ์ ๊ตํ ๊ฒ์ฌ ๋ฐ ์ ์ฝ์ ์ ์ฉํ์ฌ ์๋ชป๋ ์
๋ ฅ์ ๋ฐฉ์งํฉ๋๋ค.
ํ๊ฒฝ:
๋ธ๋ผ์ฐ์ ์ ์ฝ์
์ด๋ฅผ ๊ตฌํํ๊ธฐ ์ํด ์ด๋ป๊ฒ ์ ์ํฉ๋๊น?
ํ๋ ๋ณ๊ฒฝ ์ด๋ฒคํธ์ ์ฐ๊ฒฐํ๊ณ ๊ทธ์ ๋ฐ๋ผ ํ๋๋ฅผ ๊ตฌ์ฑํ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.
์ด ์์
์ ์ง์ ์ํํ๊ณ Pull Request๋ฅผ ์ ์ถํ ์ ์์ต๋๊น?
๋ค.
์ฅ์น ํํ์ ํ์ฌ ๊ตฌํ์ ์ฃผ์ ๋ฌธ์ ๋ ๋ชจ๋ ๊ฒ์ด ํจ๊ป ๊ฒฐํฉ๋๋ค๋ ๊ฒ์ ๋๋ค. ์ด๋ก ์ธํด
์ฅ์น ํํ๋ฅผ ๋ค๋จ๊ณ ํํ๋ก ๊ตฌํํ ๊ฒ์ ์ ์ํฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ๋ณด์ผ ์ ์์ต๋๋ค.
์ด๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ์์์ ์ธ๊ธํ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
1.0.x
์ ๊ฒฝ์ฐ Join EUI
๋ ์ด๋ธ์ App EUI
๋ก ๋ณ๊ฒฝํฉ๋๋ค.ํธ์ง ์ฅ์น๋ ์์ฝ๋์ธ ์คํ์ผ๋ก ๊ตฌํํ ์ ์์ต๋๋ค.
๊ฐ ์์ฝ๋์ธ์ด ๋
๋ฆฝํ ํํ๋ก ํ์ฅ๋๋ ๊ณณ.
์ฅ์น ์์ ์ธ์๋ ์ ์ฒญ์์ ๋ง๋ฒ์ฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์์ ์ํํ ์ ์์ต๋๋ค.
cc @kschiffer @johanstokking @htdvisser
ํนํ ๊ตฌ์ฑ ์์์ ๋ํ ํ๋๋ฅผ ํ ๋จ๊ณ์์ ํจ๊ป ๊ทธ๋ฃนํํ ์ ์๋ ๊ฒฝ์ฐ์ ์ข์ต๋๋ค. ๊ทธ๋ ๊ฒ ํ๋ฉด ๊ตฌ์ฑ ์์๋ฅผ ์ฌ์ฉํ ์ ์์ ๋ ๋จ๊ณ๋ฅผ ๊ฑด๋๋ฐ๊ฑฐ๋ ๋นํ์ฑํํ ์ ์์ต๋๋ค.
https://github.com/TheThingsNetwork/lorawan-stack/issues/1234 ๋ ์ฐธ์กฐํ์ญ์์ค. JS๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ์๋ ์ฌ์ฉ์๋ JS ํ๋๋ฅผ ๊ฑด๋๋ธ ์ ์์ต๋๋ค.
๋๋ ๊ทธ๋ฌํ ๋ค์ด์ด๊ทธ๋จ์ ์๊ฐํด ๋์ต๋๋ค.
๋ชจ๋ ๋ ธ๋๋ ๋จ๊ณ์ ๋๋ค
๋ณต์กํด ๋ณด์ด์ง๋ง ํ์ฌ ๊ตฌํ์ ์ ํจ์ฑ ๊ฒ์ฌ/์ ์ถ/ํ๋ ๋ง์คํฌ ์์ฑ ๋ฑ๊ณผ ๊ด๋ จํ์ฌ ํจ์ฌ ๋ ํฐ ์ํ ๊ณต๊ฐ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
๋ค์ด์ด๊ทธ๋จ์ ํ ๋ก ์ ์์ํ๊ธฐ ์ํ ์ด๊ธฐ ์ ์์ผ๋ก ๊ณ ๋ คํ์ญ์์ค.
์ข์ ์์์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ช ๊ฐ์ง ์์ ๊ฒ๋ค:
DevEUI
๋ ABP ์ฅ์น์ ๋ํด ๊ธ์ง๋์ง ์์ต๋๋ค(์ ํ์ ์ผ๋ก ์ค์ ํ ์ ์์).NwkKey
๊ฐ ์๊ณ AppKey
์์ต๋๋ค.FNwkSIntKey
๋ฅผ NwkSKey
๋ผ๊ณ ํฉ๋๋ค(์ฌ์ฉ์ ์ชฝ).NwkKey
๋๋ AppKey
๋ฅผ ๋ฐ์ง ๋ชปํฉ๋๋ค.์, ์ข์ ์์์ ๋๋ค.
- Join Server๊ฐ ๋จผ์ ์ค๋ฉด ํ๋ฆ์ด ๋ ์ข์ ๊ฒ์ ๋๋ค.
๋๋ ์ด๊ฒ์ ๋์ํฉ๋๋ค. ํ์ฑํ ๋ชจ๋๊ฐ OTAA์ด๊ณ ํด๋ฌ์คํฐ JS๊ฐ ํ์ฑํ๋ ๊ฒฝ์ฐ JS ํ์ด์ง์์ ์ฌ์ฉ์๋ ๋ฃจํธ ํค๋ฅผ ์ ๋ ฅํ๊ณ ํด๋ฌ์คํฐ JS์ ์ ์ฅํ ์ ์์ต๋๋ค. (ํด๋น ๊ธฐ๋ฅ์ ๋นํ์ฑํํ๋ฉด ํด๋ฌ์คํฐ์ JS๊ฐ ํ์ฑํ๋์ง ์์ ๊ฒฝ์ฐ์ ๋ง์ฐฌ๊ฐ์ง๋ก NS๊ฐ JS ์กฐํ๋ฅผ ์ฌ์ฉํฉ๋๋ค.)
multicast bool
๋ฐ supports_join bool
2๊ฐ์ ํ๋์ ํด๋นํฉ๋๋ค. multicast && supports_join
๊ฐ ์ ํจํ์ง ์๊ธฐ ๋๋ฌธ์ 3๊ฐ์ง ๊ฐ๋ฅํ ์ต์
์ด ์์ต๋๋ค.frequency_plan
-> frequency_plan_id
resets_f_cnt
๋ ์ ํ ์ฌํญ์ด๋ฉฐ ๊ธฐ๋ณธ์ ์ผ๋ก false
์
๋๋ค.
FNwkSIntKey
๋ <1.1์ ๋ํด์๋ง NwkKey
๋ก ํ์๋์ด์ผ ํฉ๋๋ค.
FNwkSIntKey
>= 1.1์ ๋ํ ABP NS ์ค์ ์์ ๋๋ฝ๋จmulticast
์ฅ์น์๋ AppSKey
๋ง ํ์ - NS๋ multicast
์ฅ์น๊ฐ ์๋ํ๋ ๋ฐ ํค๊ฐ ํ์ํ์ง ์์ผ๋ฉฐ AS๋ง ๊ฐ๋ฅ@htdvisser
Join Server๊ฐ ๋จผ์ ์ค๋ฉด ํ๋ฆ์ด ๋ ์ข์ ๊ฒ์ ๋๋ค.
์์?
์์ง ์งํํ์ง ์์ ์ค์ํ ์ฌํญ์ ์ฅ์น ์ ์ฅ์ #263์ ์๋ ์ฅ์น ํ ํ๋ฆฟ์ ํ๋๋ฅผ ๋ฏธ๋ฆฌ ์ฑ์ฐ๋ ๊ฒ์ ๋๋ค. ํ๋ก๋์ ๋ฐฐํฌ ํ๋ก์ธ์ค๋ฅผ ์ ๋ง ๋จ์ํํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋๋ฅผ ์ํด ๊ทธ๊ฒ์์ด ๋ฌธ์ ์ ๋ฒ์๋ฅผ ๋ฒ์ด๋ ๊ฒ ๊ฐ์ต๋๋ค
DevEUI๋ ABP ์ฅ์น์ ๋ํด ๊ธ์ง๋์ง ์์ต๋๋ค(์ ํ์ ์ผ๋ก ์ค์ ํ ์ ์์).
ABP ์ฅ์น์๋ ์ค์ ํ์๊ฒ ์ต๋๊น? ํ๋๊ฐ ์ ์์๋ก ์ข์ต๋๋ค. ๊ทธ๋ฌ๋ ํ์ํ ๊ฒฝ์ฐ ์ถ๊ฐํ ์ ์์ต๋๋ค.
FNwkSIntKey๋ NwkSKey๋ผ๊ณ ํฉ๋๋ค(์ฌ์ฉ์ ์ชฝ).
๋ฐ๋ผ์ ๋ ์ด๋ธ์ 1.0.x ๋ฐ 1.1.x ๋ชจ๋์ ๋ํด NwkSKey
์ฌ์ผ ํฉ๋๊น? ์ฝ์์ atm์ด ์๋ ๊ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- LoRaWAN 1.0.x ์ฅ์น์๋ NwkKey๊ฐ ์๊ณ AppKey๋ง ์์ต๋๋ค.
- ์์ฉ ํ๋ก๊ทธ๋จ ์๋ฒ๊ฐ NwkKey ๋๋ AppKey๋ฅผ ๊ฐ์ ธ์ค์ง ์์ต๋๋ค.
๊ณ ์ ๐
@johanstokking
ํ์ฑํ ๋ชจ๋๊ฐ OTAA์ด๊ณ ํด๋ฌ์คํฐ JS๊ฐ ํ์ฑํ๋ ๊ฒฝ์ฐ JS ํ์ด์ง์์ ์ฌ์ฉ์๋ ๋ฃจํธ ํค๋ฅผ ์ ๋ ฅํ๊ณ ํด๋ฌ์คํฐ JS์ ์ ์ฅํ ์ ์์ต๋๋ค. (ํด๋น ๊ธฐ๋ฅ์ ๋นํ์ฑํํ๋ฉด ํด๋ฌ์คํฐ์ JS๊ฐ ํ์ฑํ๋์ง ์์ ๊ฒฝ์ฐ์ ๋ง์ฐฌ๊ฐ์ง๋ก NS๊ฐ JS ์กฐํ๋ฅผ ์ฌ์ฉํฉ๋๋ค.)
๋ฐ๋ผ์ ์ฌ์ฉ์๊ฐ ์๋ฒ์ ๊ฐ์ ์ ์ถ ๋จ๊ณ๋ฅผ ๊ฑด๋๋ธ ์ ์๋๋ก ํ์ฉํ๋ ๊ฒ๋ฟ์ ๋๊น? js์ ๋ํ ์์ฒญ์ด ์ ํ ์์ต๋๊น?
https://github.com/TheThingsNetwork/lorawan-stack/issues/1134 ์ ๊ด๋ จํ์ฌ ์ด ํ๋๊ฐ ๋ค์ด์ด๊ทธ๋จ์์ ์ด๋์ ์ํ๋์ง ์ง์ ํ ์๋ ์์ต๋๊น?
@rvolosatovs
ํ์ฑํ ๋ชจ๋"๋ ํ์ด๋ก๋์ ์์ต๋๋ค. ๋ค์ด์ด๊ทธ๋จ์์ ์ค์ ๋ก 2๊ฐ์ ํ๋(๋ฉํฐ์บ์คํธ bool ๋ฐ support_join bool)์ ํด๋นํฉ๋๋ค. ๋ฉํฐ์บ์คํธ && support_join์ด ์ ํจํ์ง ์๊ธฐ ๋๋ฌธ์ 3๊ฐ์ง ๊ฐ๋ฅํ ์ต์ ์ด ์์ต๋๋ค.
๋ค์ ํ๋ฒ ํ์ธํ๊ธฐ ์ํด:
supports_join=true
- ์คํsupports_join=false
- ABPmulticast=true && **no** supports_join
- ๋ฉํฐ์บ์คํธresets_f_cnt๋ ์ ํ ์ฌํญ์ด๋ฉฐ ๊ธฐ๋ณธ์ ์ผ๋ก false์ ๋๋ค.
์์ง์ ์ ์ ๋ค์๊ฒ ๋ณด์ฌ์ฃผ๊ธฐ์๋ ๊ด์ฐฎ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ฌ์ฉ์๊ฐ ๋ฉํฐ์บ์คํธ ์ฅ์น์ ๋ํด ์ค์ ํ๋๋ก ํ์ฉํด์ผ ํฉ๋๊น?
FNwkSIntKey๋ <1.1์ ๋ํด์๋ง NwkKey๋ก ํ์๋์ด์ผ ํฉ๋๋ค.
NwkSKey
ํ์๋ ๊ฑด๊ฐ์?
frequency_plan -> frequency_plan_id
>= 1.1์ ๋ํ ABP NS ์ค์ ์์ FNwkSIntKey๊ฐ ๋๋ฝ๋์์ต๋๋ค.
๊ณ ์ ๐
์ ๋ฐ์ดํธ๋ ๋ค์ด์ด๊ทธ๋จ:
@htdvisser
Join Server๊ฐ ๋จผ์ ์ค๋ฉด ํ๋ฆ์ด ๋ ์ข์ ๊ฒ์ ๋๋ค.
์์?
๋ค, ์ด๊ฒ์ผ๋ก ๋ค์ ๋์์ค๊ฒ ์ต๋๋ค. ํค๋ฅผ ์
๋ ฅํ๊ธฐ ์ ์ MAC ๋ฒ์ ์ ์
๋ ฅํ๋ ๊ฒ์ด ๋ ํฉ๋ฆฌ์ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋์ ์ ๋ ํ์ฌ์ ํ๋ฆ์ ์ง์งํฉ๋๋ค. MAC ๋ฒ์ ์ด ์
๋ ฅ๋๋ฉด(NS๊ฐ ํ์ฑํ๋ ๊ฒฝ์ฐ) 1.1.x์ด๋ฏ๋ก NwkKey
๋ฅผ ์์ฒญํ ํ์๊ฐ ์์ต๋๋ค.
์์ง ์งํํ์ง ์์ ์ค์ํ ์ฌํญ์ ์ฅ์น ์ ์ฅ์ #263์ ์๋ ์ฅ์น ํ ํ๋ฆฟ์ ํ๋๋ฅผ ๋ฏธ๋ฆฌ ์ฑ์ฐ๋ ๊ฒ์ ๋๋ค. ํ๋ก๋์ ๋ฐฐํฌ ํ๋ก์ธ์ค๋ฅผ ์ ๋ง ๋จ์ํํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋๋ฅผ ์ํด ๊ทธ๊ฒ์์ด ๋ฌธ์ ์ ๋ฒ์๋ฅผ ๋ฒ์ด๋ ๊ฒ ๊ฐ์ต๋๋ค
๊ทธ๊ฒ์ ์ค์ ๋ก ๋ฒ์ ๋ฐ์ ๋๋ค.
DevEUI๋ ABP ์ฅ์น์ ๋ํด ๊ธ์ง๋์ง ์์ต๋๋ค(์ ํ์ ์ผ๋ก ์ค์ ํ ์ ์์).
ABP ์ฅ์น์๋ ์ค์ ํ์๊ฒ ์ต๋๊น? ํ๋๊ฐ ์ ์์๋ก ์ข์ต๋๋ค. ๊ทธ๋ฌ๋ ํ์ํ ๊ฒฝ์ฐ ์ถ๊ฐํ ์ ์์ต๋๋ค.
์, ์ ํ์ ์ผ๋ก ์์ฒญํ๊ณ ์ถ์ต๋๋ค. ์ต์ข ์ฅ์น์ ๋ํ ์๋ณ ์ ๋ณด๊ฐ ๋ง์์๋ก ์ข์ต๋๋ค. ์ํ ์ ์ฅ ์๋ ๋ก๋ฐ์๋ ํ์ํฉ๋๋ค. ์ฌ์ฉ์๊ฐ DevEUI๋ฅผ ์ ๋ ฅํ๋๋ก ๊ฐ์ ํ์ง ์๋ ์ด์ ๋ DevEUI๊ฐ ์๋ ๊ฒฝ์ฐ ์ฌ์ฉ์๊ฐ ๊ฐ์ง ๊ฐ์ ์ ๋ ฅํ๋ ๊ฒ์ ์ํ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
FNwkSIntKey๋ NwkSKey๋ผ๊ณ ํฉ๋๋ค(์ฌ์ฉ์ ์ชฝ).
๋ฐ๋ผ์ ๋ ์ด๋ธ์ 1.0.x ๋ฐ 1.1.x ๋ชจ๋์ ๋ํด
NwkSKey
์ฌ์ผ ํฉ๋๊น? ์ฝ์์ atm์ด ์๋ ๊ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1.0.x์ ๊ฒฝ์ฐ NwkSKey
$์ด๊ณ 1.1.x์ ๊ฒฝ์ฐ FNwkSIntKey
์
๋๋ค.
ํ์ฑํ ๋ชจ๋๊ฐ OTAA์ด๊ณ ํด๋ฌ์คํฐ JS๊ฐ ํ์ฑํ๋ ๊ฒฝ์ฐ JS ํ์ด์ง์์ ์ฌ์ฉ์๋ ๋ฃจํธ ํค๋ฅผ ์ ๋ ฅํ๊ณ ํด๋ฌ์คํฐ JS์ ์ ์ฅํ ์ ์์ต๋๋ค. (ํด๋น ๊ธฐ๋ฅ์ ๋นํ์ฑํํ๋ฉด ํด๋ฌ์คํฐ์ JS๊ฐ ํ์ฑํ๋์ง ์์ ๊ฒฝ์ฐ์ ๋ง์ฐฌ๊ฐ์ง๋ก NS๊ฐ JS ์กฐํ๋ฅผ ์ฌ์ฉํฉ๋๋ค.)
๋ฐ๋ผ์ ์ฌ์ฉ์๊ฐ ์๋ฒ์ ๊ฐ์ ์ ์ถ ๋จ๊ณ๋ฅผ ๊ฑด๋๋ธ ์ ์๋๋ก ํ์ฉํ๋ ๊ฒ๋ฟ์ ๋๊น? js์ ๋ํ ์์ฒญ์ด ์ ํ ์์ต๋๊น?
๋ฌผ๋ก .
์๋ Semtech Join Server๋ฅผ ์ฌ์ฉํ๋ Semtech์ ๋ชจ๋์ ๊ฐ์ถ ์ฅ์น์ ๋๋ค. ์ด ๊ฒฝ์ฐ EUI๋ง ์๋ฉด ๋ฉ๋๋ค.
#1134์ ๊ด๋ จํ์ฌ ์ด ํ๋๊ฐ ๋ค์ด์ด๊ทธ๋จ์์ ์ด๋์ ์ํ๋์ง ์ง์ ํ ์๋ ์์ต๋๊น?
๊ทธ๋ค์ JS ๋จ๊ณ์ ์ํฉ๋๋ค. ํด๋ฌ์คํฐ์์ JS๊ฐ ํ์ฑํ๋์ด ์๊ณ ์ฌ์ฉ์๊ฐ JS์์ ์ฅ์น๋ฅผ ํ๋ก๋น์ ๋ํ๋ ค๋ ๊ฒฝ์ฐ ์ด๋ฌํ ํ๋๋ JS๋ก ์ด๋ํฉ๋๋ค.
์ด๋ฌํ ํ๋๋ ์ ํ ์ฌํญ์ ๋๋ค.
๋ค์ ํ๋ฒ ํ์ธํ๊ธฐ ์ํด:
supports_join=true
- ์คํsupports_join=false
- ABPmulticast=true && **no** supports_join
- ๋ฉํฐ์บ์คํธ
์ด ์ฌ๋ฐ๋ฅธ์ง?
์๊ฒฉํ๊ฒ:
supports_join
!supports_join && !multicast
multicast
์ ํจํ์ง ์์์ supports_join && multicast
์ด์ง๋ง NS์์ ๊ฒ์ฆ๋์๊ฑฐ๋ ๊ฒ์ฆ๋์ด์ผ ํฉ๋๋ค.
resets_f_cnt๋ ์ ํ ์ฌํญ์ด๋ฉฐ ๊ธฐ๋ณธ์ ์ผ๋ก false์ ๋๋ค.
์์ง์ ์ ์ ๋ค์๊ฒ ๋ณด์ฌ์ฃผ๊ธฐ์๋ ๊ด์ฐฎ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ฌ์ฉ์๊ฐ ๋ฉํฐ์บ์คํธ ์ฅ์น์ ๋ํด ์ค์ ํ๋๋ก ํ์ฉํด์ผ ํฉ๋๊น?
์๋์, ์ด๊ฒ์ ๋ฉํฐ์บ์คํธ์ฉ์ด ์๋๋๋ค. resets_f_cnt
๋ ์
๋งํฌ๋ฅผ ์๋ฏธํ์ง๋ง ๋ฉํฐ์บ์คํธ์๋ ์
๋งํฌ๊ฐ ์์ต๋๋ค.
FNwkSIntKey๋ <1.1์ ๋ํด์๋ง NwkKey๋ก ํ์๋์ด์ผ ํฉ๋๋ค.
NwkSKey
ํ์๋ ๊ฑด๊ฐ์?
์ค์ ๋ก NwkSKey
์ด์ด์ผ ํฉ๋๋ค.
@bafonins ๋ @johanstokking ์ ๋ต๋ณ์ ์ฐธ์กฐํ์ญ์์ค.
multicast
๊ด๋ จ - ์ฅ์น ์ฃผ์๋ ํ์ํฉ๋๋ค.
DevEUI
์ถ๊ฐ๋จDevice Address
์ถ๊ฐ๋จmulticast
์ฅ์น ๋คํธ์ํฌ ์๋ฒ ์ค์ ์์ ์ฅ์น ์ฃผ์๊ฐ ์ฌ์ ํ ๋๋ฝ๋จ
๋ฉํฐ์บ์คํธ ์ฅ์น ๋คํธ์ํฌ ์๋ฒ ์ค์ ์์ ์ฅ์น ์ฃผ์๊ฐ ์ฌ์ ํ ๋๋ฝ๋จ
์ ๋ฐ์ดํธ๋จ ๐
๋ฉํฐ์บ์คํธ๋ 1.0.x ๋ฐ 1.1.x์ผ ์ ์์ต๋๋ค. ์ธ์
์ ๋ณด( DevAddr
๋ฐ ํค)๋ฅผ ์
๋ ฅํ๋ ๊ฒ์ ABP์ ๋ฉํฐ์บ์คํธ์์ ๋์ผํฉ๋๋ค.
๋ํ resets_join_nonces
๋ JS์์ 1.1.x๋ก ์ค์ ํ ์ ์์ต๋๋ค.
์ฅ์น ์์ฑ์ ๋ถํ ํ๋ ๊ฒ์ ํ์คํ ํ์ํ๋ฉฐ ํ๋ฆ๊ณผ ๊ตฌํ์ ๋ฐฑ์๋ ์๊ตฌ ์ฌํญ์ ๋ ๊ฐ๊น๊ฒ ๋ง๋๋ ๋์์ ์ฌ์ฉ์์ ๋ณต์ก์ฑ์ ์ค์ด๋ ์ข์ ๋ฐฉ๋ฒ์ ๋๋ค.
๋ด๊ฐ ๋ณธ ๋ช ๊ฐ์ง ์๊ฐ๊ณผ ๋์ :
์ผ๊ด ์์ฑ/์ ๋ฐ์ดํธ/์ญ์ ๋ฐ ์์ฑ ๋กค๋ฐฑ ๋ก์ง์ ์ํ js sdk์ ๋ถํ์ํ ๋ณต์ก์ฑ
์ฅ์น ์์ฒญ์ ๋ถํ ๋ฐ ๋ณํฉํ๊ธฐ ์ํ SDK์ ๊ธฐ๋ฅ์ ์ด ๊ฒฝ์ฐ์ ์ฌ์ฉํ์ง ์๋๋ผ๋ ์ฌ์ ํ ๊ฝค ๊ฐ์น๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ฉํฐ์บ์คํธ ์ฅ์น์ฉ @johanstokking NS๋ MIC ๊ณ์ฐ์ ์ํด 1.1์ SNwkSIntKey
๋ง ํ์ํฉ๋๋ค. FNwkSIntKey
๋ฐ NwkSEncKey
, ์ค์ ๋ก๋ IMO๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
- ์ ์ฒด ํ๋ฆ์ ์ค๋จํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ฌ ์ด๋ฏธ ์์ฑ๋ ๋ชจ๋ ๋ ์ง์คํธ๋ฆฌ ํญ๋ชฉ์ ์ญ์ ํด์ผ ํฉ๋๋ค.
- ๋ง์ฐฌ๊ฐ์ง๋ก ์ด์ ๋จ๊ณ๋ก ์ด๋ํ๋ ค๋ฉด ์์์ "์ ๋ฐ์ดํธ ๋ชจ๋"๋ก ์ค์ ํด์ผ ํฉ๋๋ค(IS๋ฅผ ์ ์ธํ๊ณ ๋์ ์ด ๋์ผํ๋ฏ๋ก ๋น๊ต์ ์ฌ์์ผ ํจ).
๋ง์นจ ์ ๋๋ฅด๊ธฐ ์ ์ ๋ฌด์ธ๊ฐ๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค๊ณ ์๊ฐํ์ง ์์ต๋๋ค. ๋ง๋ฒ์ฌ์์ ์๋ค๋ก ์ด๋ํ๊ณ ๋ธ๋ผ์ฐ์ ์ฐฝ์ ๋ซ์๋ ์ฅ์น๊ฐ ๋ฐ์ฏค ์์ฑ๋์ด์๋ ์ ๋ฉ๋๋ค.
- ๋ด๊ฐ ๋ณด๋ ํ ๊ฐ์ง ๋ฌธ์ ๋ Application Server ๋จ๊ณ๊ฐ ๋งค์ฐ ์๊ณ (๋์ค์ ๋ณ๊ฒฝ๋ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๊น?) ๊ฑฐ๊ธฐ์ ํ์ด๋ก๋ ํ์ ์ต์ ์ ์ถ๊ฐํ๋ ๊ฒ ๋ํ ์ฅ์น๋ฅผ ์์ฑํ๋ ๋์ ์ฌ์ฉ์์ ์๊ตฌ์ ์ผ์นํ์ง ์๋๋ค๋ ๊ฒ์ ๋๋ค.
์ฌ๊ธฐ์ ์์ฉ ํ๋ก๊ทธ๋จ ํจํค์ง์ ๋ํ ๊ตฌ์ฑ์ ์ถ๊ฐํฉ๋๋ค(์: ์๊ฒฉ ๋ฉํฐ์บ์คํธ ์ค์ , ์กฐ๊ฐํ๋ ๋ฐ์ดํฐ ๋ธ๋ก ์ ์ก, Semtech ๋ชจ๋ ์ต์ ๋ฑ). ๊ทธ๋์ ์, ์ง๊ธ์ ์์ง๋ง ํ์ฅ๋ ๊ฒ์ ๋๋ค.
- ์๋ฃจ์ ์ ๋ ๋ค ๋งค์ฐ ๊ฐ๋จํ๊ณ ์ํธ ์์กด์ ์ด์ง ์๋ค๋ ์ ์ ๊ฐ์ํ ๋ AS ๋ฐ JS ๋จ๊ณ๋ฅผ ๋ณํฉํ๋ ๊ฒ์ผ ์ ์์ต๋๋ค. ๋๋ ์ด๊ฒ์ด ๊ตฌ์ฑ ์์์ ์ํ ๋ถ๋ฆฌ์ ๋ฐ๋๋๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง ์ด๊ฒ์ด ํฉ๋ฆฌ์ ์ธ ์ถ์ํ๋ก ์ ์ฒด ํ๋ฆ์ ๋จ์ํํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ํนํ ๋จ๊ณ ๋ด์์ ๊ฐ ์คํ ๊ตฌ์ฑ ์์์ ๋ํ ์ฐ๊ฒฐ์ ํต์ ํ์ง ์๋๋ค๋ ์ ์ ๊ฐ์ํ ๋.
์ฐ๋ฆฌ์ ๋ฏธ๋๋ฅผ ์ํด ๋๋ ๊ทธ๊ฒ๋ค์ ๋ฐ๋ก ๋ณด๊ดํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ํ ์ด๋ค์ ๊ฒฐํฉํ๋ฉด ์ด๋ฏธ ๋ณต์กํ ํ๋ฆ์ ๋ณต์ก์ฑ์ ์ถ๊ฐํ๋ ๊ตฌ์ฑ ์์ ๊ฐ์ฉ์ฑ์ ๋ฐ๋ผ ํด๋น ํ์ด์ง์ ๋ ๋๋ง ํญ๋ชฉ์ด ๋ง๋ค์ด์ง๋๋ค.
์คํ ๊ตฌ์ฑ์ ๋ฐ๋ผ ๋ง๋ฒ์ฌ๋ฅผ ์ํ ์ํฐ ํจํด์ธ ํ๋ ๋๋ ๋ ๊ฐ์ ๋จ๊ณ๋ง ์๋ ๋ง๋ฒ์ฌ๋ก ๋๋ ์ ์์ต๋๋ค.
- ๋จ ํ ๋จ๊ณ์ ๊ฒฝ์ฐ ๋ง๋ฒ์ฌ ์ธก๋ฉด์ ๊ฐ๋จํ ์จ๊ธฐ๊ฑฐ๋ ์ ๊ฑฐํ ์ ์์ต๋๋ค.
- 2๋จ๊ณ๋ก ๋ฌธ์ ๋ฅผ ์๊ณ ์ด์์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค ๐คทโโ
๋ง๋ฒ์ฌ ์๋ฃจ์ ์ด ์ฌ์ฉ์ ์คํ ๋ฆฌ์ ๋ํ _์๋ฃ ์๊ฐ_์ ์๋นํ ์ฆ๊ฐ์ํจ๋ค๋ ์ ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
- ์ด๊ฒ์ ๋ง์ ์ฅ์น๋ฅผ ์์ผ๋ก ๋ง๋ค์ด์ผ ํ๋ ์ํฉ์์ ๋ฌธ์ ๊ฐ ๋ ์ ์์ง๋ง ์ด ์ฌ์ฉ ์ฌ๋ก์ ๋ํ ์ผ๊ด ์์ฑ ๊ธฐ๋ฅ์ ์๊ฐํ๊ณ CLI/์คํฌ๋ฆฝํ ๋ ์ด๋ฌํ ์ํฉ์ ๋์์ด ๋ ์ ์์ต๋๋ค.
- ๊ทธ๋๋ V2 ์ฝ์ ์ฅ์น ์์ฑ๊ณผ์ ์ฐจ์ด์ ๊ณผ ์ฌ์ฉ์๊ฐ ์ด ๋ณ๊ฒฝ ์ฌํญ์ ์ธ์ํ๋ ๋ฐฉ์์ ๊ณ ๋ คํ์ญ์์ค.
๊ตฌ์ฑ ์์์ ๋ถ๋ฆฌ์ ์ ์ฐํ ๋ฐฐํฌ ์๋๋ฆฌ์ค๋ V2์ ๋น๊ตํ์ฌ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ ์ค ํ๋์ด๋ฏ๋ก ์ด๊ฒ์ด V3 ์ฝ์์์ ํจ๊ณผ์ ์ด๋ผ๋ ๊ฒ์ ์ ์ ์ผ๋ก ์๋ฏธ๊ฐ ์์ต๋๋ค.
์ค์ ๋ก ๋ง์ ์์ ์ฅ์น๋ฅผ ๋ง๋ค๋ ค๋ฉด ์ด์จ๋ API์ CLI๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
ํ ๋จ๊ณ๊ฐ ์๋ ์๋๋ฆฌ์ค๋ ์์ผ๋ฉฐ ํญ์ ์ต์ ๋ ๋จ๊ณ์ ๋๋ค.
ํ์ด์ง ๋์ ํญ์ ๋ ๋๋งํ๋ ๊ฒ์ ์ด๋ป์ต๋๊น? ๊ทธ๋ ๊ฒ ํ๋ฉด ์ฌ์ ํ ํ ํ์ด์ง์ด์ง๋ง ๋จ๊ณ๋ณ๋ก ์๋ค๋ก ์ด๋ํ์ง ์๊ณ ๋ ์ฝ๊ฒ ์ก์ธ์คํ ์ ์์ต๋๋ค.
@johanstokking
๋ง์นจ์ ๋๋ฅด๊ธฐ ์ ์ ๋ฌด์ธ๊ฐ๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค๊ณ ์๊ฐํ์ง ์์ต๋๋ค.
๋ง์ง๋ง ๋จ๊ณ์์๋ง ์ค์ ์์ฒญ์ ํ๋ฉด 3-4 ์์ฒญ์ ํ๊ฒ ๋ฉ๋๋ค. ๋ค๋ฅธ ๊ตฌ์ฑ ์์์์ ๋ฐํ๋ ์ค๋ฅ๋ฅผ ์ด๋ป๊ฒ ์ฒ๋ฆฌํฉ๋๊น? ์ด๋ฅผ ์ฒ๋ฆฌํ๊ณ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๋จ๊ณ/์ฌ์ค์ ์ ์ฅ์ ๋ฑ์ผ๋ก ์ฌ์ฉ์๋ฅผ ์๋ดํฉ๋๋ค. ๋ณต์กํ๋ค. ์ด๊ฒ์ด ๋ด๊ฐ ๋ชจ๋ ๋จ๊ณ์์ ๊ฐ์ ์ ์ถํ๋ ๊ฒ์ ์ ์ํ๋ ์ด์ ์ ๋๋ค. ๋ชจ๋ ์ฐ์์ ์ธ ๋จ๊ณ๋ ์ ์ถ๋ ๊ฐ์ด ์ ํจํ ๊ฒ์ผ๋ก ์์กดํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ง๋ฒ์ฌ์์ ์๋ค๋ก ์ด๋ํ๊ณ ๋ธ๋ผ์ฐ์ ์ฐฝ์ ๋ซ์๋ ์ฅ์น๊ฐ ๋ฐ์ฏค ์์ฑ๋์ด์๋ ์ ๋ฉ๋๋ค.
๋๋ ์ฌ์ฉ์๊ฐ ๋ง๋ฒ์ฌ์์ ๋ฐ์ดํฐ๋ฅผ ํธ์งํ๋ ๊ฒ์ ํ์ฉํ๋ ๊ฒ์ ๋ฐ๋ํฉ๋๋ค(์ ์ถ๋ก ์ด์ด์ง๋ ๋จ๊ณ์ ๋ํด). Mb, ๋จ์ผ ๊ตฌ์ฑ ์์์ ์ ์ฅ๋ ์ ํ์ ํ๋๋ง(๋ค๋ฅธ ๊ตฌ์ฑ ์์์๋ ํ์ํ์ง ์์) name
, description
. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ด๊ฒ์ ์ฒ๋ฆฌํ๋ ๊ฒ์ด ์๋นํ ๋ณต์กํด์ง๋๋ค.
@kschiffer
์คํ ๊ตฌ์ฑ์ ๋ฐ๋ผ ๋ง๋ฒ์ฌ๋ฅผ ์ํ ์ํฐ ํจํด์ธ ํ๋ ๋๋ ๋ ๊ฐ์ ๋จ๊ณ๋ง ์๋ ๋ง๋ฒ์ฌ๋ก ๋๋ ์ ์์ต๋๋ค.
๊ธ์, ์ฐ๋ฆฌ๋ ๋์ฒด ์๋ฃจ์ ์ ์ด๋ ค ์์ต๋๋ค. ์ด๋ค ์ ์?
๋ง์ง๋ง ๋จ๊ณ์์๋ง ์ค์ ์์ฒญ์ ํ๋ฉด 3-4 ์์ฒญ์ ํ๊ฒ ๋ฉ๋๋ค. ๋ค๋ฅธ ๊ตฌ์ฑ ์์์์ ๋ฐํ๋ ์ค๋ฅ๋ฅผ ์ด๋ป๊ฒ ์ฒ๋ฆฌํฉ๋๊น? ์ด๋ฅผ ์ฒ๋ฆฌํ๊ณ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๋จ๊ณ/์ฌ์ค์ ์ ์ฅ์ ๋ฑ์ผ๋ก ์ฌ์ฉ์๋ฅผ ์๋ดํฉ๋๋ค. ๋ณต์กํ๋ค. ์ด๊ฒ์ด ๋ด๊ฐ ๋ชจ๋ ๋จ๊ณ์์ ๊ฐ์ ์ ์ถํ๋ ๊ฒ์ ์ ์ํ๋ ์ด์ ์ ๋๋ค. ๋ชจ๋ ์ฐ์์ ์ธ ๋จ๊ณ๋ ์ ์ถ๋ ๊ฐ์ด ์ ํจํ ๊ฒ์ผ๋ก ์์กดํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ข์์. ์ฝ์์ด ER์ ์์ง๋ง ํด๋น ๋จ๊ณ๊ฐ ์คํจํ๊ฑฐ๋ ์ฌ์ฉ์๊ฐ ํญ ๋ฑ์ ๋ซ์๊ธฐ ๋๋ฌธ์ JS/NS/AS์์ ์ฐพ์ ์ ์๋ ์ฅ์น๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ ํ ๊ด์ฐฎ์ต๋๋ค.
๋๋ ์ฌ์ฉ์๊ฐ ๋ง๋ฒ์ฌ์์ ๋ฐ์ดํฐ๋ฅผ ํธ์งํ๋ ๊ฒ์ ํ์ฉํ๋ ๊ฒ์ ๋ฐ๋ํฉ๋๋ค(์ ์ถ๋ก ์ด์ด์ง๋ ๋จ๊ณ์ ๋ํด). Mb, ๋จ์ผ ๊ตฌ์ฑ ์์์ ์ ์ฅ๋ ์ ํ์ ํ๋๋ง(๋ค๋ฅธ ๊ตฌ์ฑ ์์์๋ ํ์ํ์ง ์์)
name
,description
. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ด๊ฒ์ ์ฒ๋ฆฌํ๋ ๊ฒ์ด ์๋นํ ๋ณต์กํด์ง๋๋ค.
๋ฌด์จ ๋ป์ด์์?
์๋ฅผ ๋ค์ด AS๋ ํ๋๊ฐ ํ์ํ์ง ์์ผ๋ฉฐ ์ฅ์น๊ฐ ์กด์ฌํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ๋ฐ๋ผ์ AS๊ฐ ์๋ ๊ฒฝ์ฐ ์ฌ์ฉ์๊ฐ AS์ ๋ํ ๊ฐ์ ์ ๋ ฅํ์ง ์๋๋ผ๋ AS์ (๋น) ์ฅ์น๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค.
๋ฌด์จ ๋ป์ด์์?
์ฃ์กํฉ๋๋ค. ์ด๊ฒ์ @kschiffer ์ ์์ ๋ํ ๊ฒ์ด์์ต๋๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก ์ด์ ๋จ๊ณ๋ก ์ด๋ํ๋ ค๋ฉด ์์์ "์ ๋ฐ์ดํธ ๋ชจ๋"๋ก ์ค์ ํด์ผ ํฉ๋๋ค(IS๋ฅผ ์ ์ธํ๊ณ ๋์ ์ด ๋์ผํ๋ฏ๋ก ๋น๊ต์ ์ฌ์์ผ ํจ).
๋ง๋ฒ์ฌ์์ ์๋ค๋ก ์ด๋ํ๊ณ ๋ธ๋ผ์ฐ์ ์ฐฝ์ ๋ซ์๋ ์ฅ์น๊ฐ ๋ฐ์ฏค ์์ฑ๋์ด์๋ ์ ๋ฉ๋๋ค.
๋๋ ์ด๊ฒ์ ๋ฏธ๋์ ๊ฐ์ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ง๊ธ์ ์๋ฃ๋์ง ์์ ํ๋ฆ์ ๋ํด ์ฌ์ฉ์์๊ฒ ์๋ฆผ์ ํ์ํ ์ ์์ต๋๋ค. ๋์ค์ ์ฌ์ฉ์๋ ์ผ๋ฐ ์ค์ ํ์ด์ง์์ ์ฅ์น๋ฅผ ํธ์ง/์ญ์ ํ ์ ์์ต๋๋ค.
๊ธ์, ์ฐ๋ฆฌ๋ ๋์ฒด ์๋ฃจ์ ์ ์ด๋ ค ์์ต๋๋ค. ์ด๋ค ์ ์?
๊ธ์, ๋๋ ์ด ํน์ ํ ์ํฉ์ _edge-casiness_๋ฅผ ๊ฐ์ํ ๋ ์ด ๋ฌธ์ ๋ฅผ ๊ฐ์ง๊ณ ์ฌ๋ ๊ฒ์ด ๊ด์ฐฎ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทํ์ ํํ์ ์ ์๋ ์๋ฃจ์ ์์ด ์ฐ๋ ค ์ฌํญ์ ๋งํด์๋ ์ ๋๋ค๊ณ ์ ์ํ์ง๋ง, ์ฆ์ ์ฐพ์ ์ ์๋ ๊ฒฝ์ฐ ๋ค๋ฅธ ์ฌ๋๋ค์๊ฒ ๋ช ๊ฐ์ง๋ฅผ ์ ์ํ ๊ธฐํ๋ฅผ ์ฃผ๊ณ ์ถ์ต๋๋ค.
๋๋ ์ฌ์ฉ์๊ฐ ๋ง๋ฒ์ฌ์์ ๋ฐ์ดํฐ๋ฅผ ํธ์งํ๋ ๊ฒ์ ํ์ฉํ๋ ๊ฒ์ ๋ฐ๋ํฉ๋๋ค(์ ์ถ๋ก ์ด์ด์ง๋ ๋จ๊ณ์ ๋ํด). Mb, ๋จ์ผ ๊ตฌ์ฑ ์์์ ์ ์ฅ๋ ์ ํ์ ํ๋๋ง(๋ค๋ฅธ ๊ตฌ์ฑ ์์์๋ ํ์ํ์ง ์์)
name
,description
. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ด๊ฒ์ ์ฒ๋ฆฌํ๋ ๊ฒ์ด ์๋นํ ๋ณต์กํด์ง๋๋ค.
์ด๊ฒ์ ๋ง๋ฒ์ฌ ํจํด์ ๋ํ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ค์ ์๋ฐํฉ๋๋ค. ์ฌ์ฉ์๋ ํนํ ์ํธ ์์กด์ ์ธ ๊ฒฝ์ฐ ์ด์ ํ๋๋ฅผ ์์ ํ๊ฑฐ๋ ๋จ์ํ ๊ฒ์ฌํ๊ธฐ๋ฅผ ์ํ ๊ฒ์ ๋๋ค. ์ฒ์์๋ ์ด ๊ธฐ๋ฅ์ ํฌํจํ์ง ์์๋ ๋์ง๋ง ๊ฒฐ๊ตญ์๋ ์ถ๊ฐ๋์ด์ผ ํฉ๋๋ค(์: ๋ฌธ์ ์์ ์ถ์ ).
๊ทธ๋ ์ง ์์ผ๋ฉด ์ด๊ฒ์ ์ฒ๋ฆฌํ๋ ๊ฒ์ด ์๋นํ ๋ณต์กํด์ง๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ๋ณต์กํ ํ๋ก ํธ์๋ ๋ก์ง์ ๊ตฌํํด์ผ ํ๋ ํ์์ฑ์ด UX์ ๋ํ ์ฐ๋ฆฌ์ ์ฝ์์ ์ํฅ์ ๋ฏธ์ณ์๋ ์ ๋ฉ๋๋ค.
๋๋ ์ด๊ฒ์ ๋ฏธ๋์ ๊ฐ์ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ง๊ธ์ ์๋ฃ๋์ง ์์ ํ๋ฆ์ ๋ํด ์ฌ์ฉ์์๊ฒ ์๋ฆผ์ ํ์ํ ์ ์์ต๋๋ค. ๋์ค์ ์ฌ์ฉ์๋ ์ผ๋ฐ ์ค์ ํ์ด์ง์์ ์ฅ์น๋ฅผ ํธ์ง/์ญ์ ํ ์ ์์ต๋๋ค.
์ฐ๋ฆฌ๊ฐ ๊ถ๊ทน์ ์ผ๋ก ์ด๊ฒ์ ํฅ์์ํฌ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ต์ ์ ์๋์ง๋ง ๋์๊ฒ๋ ์์ฉ ๊ฐ๋ฅํฉ๋๋ค.
์คํ๋ผ์ธ์์ ๋ ผ์ํ ๋๋ก ์ด๊ธฐ ์ ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ids
name
description
attributes
lorawan_version
lorawan_phy_version
LoRaWAN ์ค์
lorawan_version
(ํ์)lorawan_phy_version
(ํ์)supports_join
ํ์ฑํ ๋ชจ๋๊ฐ OTAA์ธ ๊ฒฝ์ฐ ์ค์ (ํ์)multicast
์ค์ supports_class_b
supports_class_c
frequency_plan_id
(ํ์)mac_settings.supports_32_bit_f_cnt
mac_settings.factory_preset_frequencies
mac_settings.ping_slot_data_rate_index.value
mac_settings.ping_slot_frequency
mac_settings.ping_slot_periodicity.value
mac_settings.rx2_data_rate_index.value
min_frequency
max_frequency
session.dev_addr
session.keys.session_key_id
์์ฑsession.keys.f_nwk_s_int_key.key
- ํ์session.keys.s_nwk_s_int_key.key
(LW >= 1.1.0์ธ ๊ฒฝ์ฐ) - ํ์session.keys.nwk_s_enc_key.key
(LW >= 1.1.0์ธ ๊ฒฝ์ฐ) - ํ์session.keys.app_s_key.key
- ํ์session.last_conf_f_cnt_down
session.last_n_f_cnt_down
mac_settings.resets_f_cnt
session.last_f_cnt_up
- ๋ณด์์ ์ํด ํ์ํฉ๋๋ค.ํด๋ฌ์คํฐ์ NS์ธ ๊ฒฝ์ฐ: ํ์ฑํ ๋ชจ๋๊ฐ ABP ๋๋ OTAA์ธ ๊ฒฝ์ฐ ํ๋
mac_settings.adr_margin
mac_settings.class_b_timeout
mac_settings.class_c_timeout
mac_settings.desired_adr_ack_delay_exponent.value
mac_settings.desired_adr_ack_limit_exponent.value
mac_settings.desired_max_duty_cycle.value
mac_settings.desired_rx1_data_rate_offset
mac_settings.desired_rx1_delay.value
mac_settings.desired_rx2_data_rate_index.value
mac_settings.desired_rx2_frequency
mac_settings.max_duty_cycle.value
mac_settings.rx1_data_rate_offset
mac_settings.rx1_delay.value
mac_settings.status_count_periodicity
mac_settings.status_time_periodicity
mac_settings.supports_32_bit_f_cnt
mac_settings.use_adr
NS ๋ฐ AS(ํด๋ฌ์คํฐ์ ์๋ ๊ฒฝ์ฐ)์ ์ฅ์น๋ฅผ ์ค์ ํฉ๋๋ค. OTAA ์ฅ์น๊ฐ ์๋ ๊ฒฝ์ฐ ์ด ์์ ์์ AS์ ์ค์ ํ ํญ๋ชฉ์ด ์์ง๋ง ์ฌ์ ํ ์ผ๊ด์ฑ์ ์๊ตฌํ ๊ฒ์ ๋๋ค.
payload_formatters
root_keys.root_key_id
์์ฑroot_keys.app_key.key
root_keys.nwk_key.key
(LW >= 1.1.0์ธ ๊ฒฝ์ฐ)resets_join_nonces
home_net_id
network_server_kek_label
application_server_kek_label
application_server_id
์ฌ๊ธฐ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ง๋ฒ์ฌ ๋จ๊ณ๋ฅผ ํญ์ผ๋ก ์ฌ์ฉํ๋ ํญ ๋ฐฉ์์ ์ฌ์ฉํฉ๋๋ค.
์ฌ๊ธฐ์ ํต์ฌ์ ๋ฐ๋ก ์ด๊ฒ์ ๋๋ค.
ids
, supports_join
, multicast
๋ ์ฝ๊ธฐ ์ ์ฉ์
๋๋ค.supports_join
๋ผ๊ณ ํ์๋๋ ๊ฒฝ์ฐ!supports_join && !multicast
!supports_join && multicast
( multicast
์ด๋ฉด ์ถฉ๋ถํจ)๊ธฐ๊ธฐ ์ ๋ฐ์ดํธ๋ฅผ ์ง์ํ๋ ๋ช ๊ฐ์ง ์ฌ์ฉ ์ฌ๋ก:
lorawan_version
๋ฐ lorawan_phy_version
๋ณ๊ฒฝ(์ ์ฝ ์กฐ๊ฑด ๋ณ๊ฒฝ)root_keys != nil
). ๊ทธ๋ฌ๋ ๋
ธ์ถ๋์ง๋ ์์ต๋๋ค( root_keys.app_key == null
๋ฑ). ์ฌ์ฉ์๋ ๋ฃจํธ ํค๋ฅผ ๊ทธ๋๋ก ๋ ์ ์์ด์ผ ํฉ๋๋ค.https://github.com/TheThingsNetwork/lorawan-stack/issues/579#issuecomment -525719408์ NS์ ํ์ํ ๋ชจ๋ ๊ฒ์ด ์ด๋ฏธ ํฌํจ๋์ด ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ชจ๋ mac_settings
๋ ๋ฉํฐ์บ์คํธ๊ฐ ์๋ ๋ชจ๋ ์ฅ์น์ ๋ํด ์ค์ ํ ์ ์์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ฉํฐ์บ์คํธ ์ฅ์น์ ๊ฒฝ์ฐ ๋ค์ ์ฌํญ๋ง ์๋ฏธ๊ฐ ์์ต๋๋ค.
์๋ง๋ ๋ช ํํ ํ ๋ช ๊ฐ์ง
๋ง๋ค๋ค:
supports_class_b
๋ ์ด๋ป์ต๋๊น?์ ๋ฐ์ดํธ:
true
๋ก ๋ณ๊ฒฝํ ๋ ๋๋ NS์์ ์ฅ์น ์ํ๋ฅผ ์ฌ์ค์ ํ ๋ ๊ฐ๋ณ NS/AS/JS ๋ฑ๋ก์ ์ญ์ ํ ์ ์์ผ๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.์ผ๋ฐ ๋ฌผ๊ฑด:
์ต์์ ํ๋์ ๋ํด ์ด์ผ๊ธฐํ๋ ๊ฒฝ์ฐ:
https://github.com/TheThingsNetwork/lorawan-stack/blob/375c82cc068bbadb72b887e25631f8f2dc03a366/api/end_device.proto#L395 -L418 ์ด ์ ์ฒด ์ฒญํฌ๋ NS์ ์ํฉ๋๋ค.
m{in,ax}_frequency
๋ ๋ฉํฐ์บ์คํธ์ ์ ์ฉํ ์ ์์ต๋๋ค.
@rvolosatovs
#579(๋๊ธ) ์๋ NS์ ํ์ํ ๋ชจ๋ ๊ฒ์ด ์ด๋ฏธ ํฌํจ๋์ด ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ชจ๋
mac_settings
๋ ๋ฉํฐ์บ์คํธ๊ฐ ์๋ ๋ชจ๋ ์ฅ์น์ ๋ํด ์ค์ ํ ์ ์์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ฉํฐ์บ์คํธ ์ฅ์น์ ๊ฒฝ์ฐ ๋ค์ ์ฌํญ๋ง ์๋ฏธ๊ฐ ์์ต๋๋ค.
์ด ๋ฌธ์ ์ ๋ฌธ์ ์ ์ค ํ๋๋ ๋๊ธ์ ๋ฌปํ ์ ๋ณด์ ์์ ๋๋ค.
์ฌ๋ฐ๋ฅธ ์์น์ ํ๋๋ฅผ _์ ํํ_ ์ถ๊ฐํ ์ ์์ต๋๊น? ์ ์ ์ฒด ๊ธ๋จธ๋ฆฌ ๊ธฐํธ ๋ชฉ๋ก์ ๋ณต์ฌํด๋ ๊ด์ฐฎ์ผ๋ฏ๋ก ์ต์ข ๋ฒ์ ์ด ๋์ฌ ๋๊น์ง ์ ์ง์ ์ผ๋ก ์์ ํฉ๋๋ค.
@htdvisser
- ์ผ๋ฐ ์ค์
ใ . ER์์ ์ฅ์น๋ฅผ ์์ฑํ ๋ NS/AS/JS ์ฃผ์๋ฅผ ์ค์ ํ์ง ์์ต๋๋ค. ์ฅ์น๊ฐ ์ค์ ๋์ด ์์ ๋ ER ๋ฑ๋ก์ ์ ๋ฐ์ดํธํฉ๋๊น? ์ธ๋ถ JS๋ฅผ ์ฌ์ฉํ๋ค๋ฉด?
AS/NS/JS์์ ์ฅ์น๋ฅผ ์ค์ ํ ๋ ์ฃผ์๋ฅผ ์ ๋ฐ์ดํธํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋น. ํ์ฑํ ๋ชจ๋๋ฅผ ER์ ์ ์ฅํฉ๋๊น?
์๋์, ํ์ฌ๋ก์๋ ํด๋น ํ๋๊ฐ ์์ผ๋ฉฐ ์ค์ ๋ก ํ์ํ์ง ์์ผ๋ฉฐ ๋ถ์ผ์น์ ์ฌ์ง๊ฐ ์๊น๋๋ค.
์จ. phy/mac ๋ฒ์ ์ ER์ ์ ์ฅํฉ๋๊น?
์๋์, API ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ญ์์ค. ๋ค์ ๋งํ์ง๋ง, ๋๋ ํ์์ฑ์ ์์ง ๋ชปํ๋ฉฐ ๋ถ์ผ์น์ ์ฌ์ง๋ฅผ ๋ง๋ญ๋๋ค.
ใ .
supports_class_b
๋ ์ด๋ป์ต๋๊น?
์, ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ์ถ๊ฐํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. #19๋ฅผ ๋ณด๋ฅ ์ค์ ๋๋ค. @rvolosatovs ๊ด๋ จ๋๋ ๊ฒฝ์ฐ ์ ๋ฐ์ดํธ๋ ๋ฒ์ ์ ์ด๋ฅผ ํฌํจํ์ญ์์ค.
- ์ ํ๋ฆฌ์ผ์ด์ ์ค์
ใ . ์, ์ด๋ AS์ ์ฅ์น๋ฅผ ๋ ๋ฒ ์ค์ ํ์์ ์๋ฏธํ ์ ์์ต๋๋ค.
์, ๊ทธ๊ฒ์ ์ํ์ง ์์ต๋๋ค
์ ๋ฐ์ดํธ:
- ํ์ฑํ ๋ชจ๋: ์ด๊ฒ์ ER์ ์ ์ฅํ๋ฉด ํจ์ฌ ์ฌ์ธ ๊ฒ์ ๋๋ค.
์, ํ์ง๋ง ์ฐ๋ฆฌ๊ฐ ์ฝ๊ฒ ๊ฐ์ผ ํ๋์ง ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ด ์์ ํ ์ ์ฉ๋๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ํซ ํจ์ค์์ ์ฌ์ฉํ ์ ์์ด์ผ ํฉ๋๋ค.
๋ํ ์ฐ๋ฆฌ๊ฐ ๊นจ๋ํ ์ํ์์ ์์ํ ์ ์๋ค๋ฉด ์ฌ์ธ ๊ฒ์
๋๋ค. ๊ทธ๋ฌ๋ lorawan_version
๊ฐ ER์ ์์ ๋ ํด๋ฆฌ์คํฑ์ ์ถ๊ฐํ๊ณ NS์์ ์กฐ๊ฑด๋ถ ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ๋์
ํ์ฌ ์ด์ ๋ฒ์ ๊ณผ ํธํ๋์ด์ผ ํฉ๋๋ค.
- 404๋ง ๋ณด๋์ ์๋๋ฉด ER์ NS/AS/JS ์ฃผ์๋ ๋ณด๋์?
์ฃผ์ ์ธํธ๊ฐ ์๋ ๊ฒฝ์ฐ์๋ง 404๋ฅผ ์ป์ ์ ์์ต๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ป์ ์ ์์ต๋๋ค. ๋ ๋ค "ํด๋น ๋ ์ง์คํธ๋ฆฌ์ ์์"์ผ๋ก ํด์ํด์ผ ํฉ๋๋ค. IS ๋ฐ AS/NS/JS์์ ์์ฑ์ด ๋์์ ๋ฐ์ํ์ง ์๊ณ ์ฌ์ฉ์๊ฐ ์ฝ์์์ ์์ฑ๋ ๋ถ์ผ์น๋ฅผ ๋ณต๊ตฌํ ์ ์์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ฌ๊ธฐ์์ ์ค๋ฅ๋ฅผ ๋ฒํ ์ ์์ต๋๋ค.
- ์๋ฅผ ๋ค์ด "external JS"๋ฅผ
true
๋ก ๋ณ๊ฒฝํ ๋ ๋๋ NS์์ ์ฅ์น ์ํ๋ฅผ ์ฌ์ค์ ํ ๋ ๊ฐ๋ณ NS/AS/JS ๋ฑ๋ก์ ์ญ์ ํ ์ ์์ผ๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
๊ทธ๋ ๋์ค์ ํ์
- _"์ธ๋ถ JS๋ JS๊ฐ NS์ ๋์ผํ ํด๋ฌ์คํฐ์ ์์ง ์์ ๊ณณ์ ๋๋ค."_: "join_server_address๊ฐ ์ฝ์ ๊ตฌ์ฑ์ JS ์ฃผ์์ ๋์ผํ์ง ์์ต๋๋ค"์ ๊ฐ์์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ค, ์ค์ ๋ก ํ์ธํ๋ ๋ฐฉ๋ฒ์
๋๋ค. join_server_address
๋ interop์ ์ฌ์ฉํ์ฌ ๋น์ด ์์ ์ ์์ต๋๋ค.
@bafonins ์์ง ๊ทธ๋ํ ์์ค๊ฐ ์๋์?
์ด๋ฏธ ๊ทธ๊ฒ์ ๊ตฌ์ฑํ๋ ๋ฐ ๋ง์ ์์
์ด ๋ค์ด๊ฐ๊ธฐ ๋๋ฌธ์ ๋ช
ํํ ํํ์ ์ํด ์์ฑ๋๋๋ก ์
๋ฐ์ดํธํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ฌ๊ธฐ์์ ํ ๋ก ์ ๋ณต์กํ๊ฒ ํ์ง ์๋๋ก NS ๋ถ๋ถ์ ์คํ๋ผ์ธ์ผ๋ก ์
๋ฐ์ดํธํ๋ ์์
๋ ํ ์ ์์ต๋๋ค.
๊ฐ๋ฅํ ๋ชจ๋ NS ํ๋๋ก ๊ทธ๋ํ๋ฅผ ์
๋ฐ์ดํธํ์ต๋๋ค.
๋นจ๊ฐ์์ผ๋ก ํ์๋ ํ๋๋ ํ์ ํญ๋ชฉ์
๋๋ค.
@rvolosatovs ๋ ์ฅ์น๋ฅผ ๋ง๋ค๊ณ ์ ๋ฐ์ดํธํ ๋ ์ฝ์์ ํ์ํ ํ๋ฆ๊ณผ ํ๋๋ฅผ ์ ์ํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
์ด์ ๊ฐ์ด,
mac_state.lorawan_version
๋ณ๊ฒฝ์ ํ์ฉํด์๋ ์ ๋ฉ๋๋ค.mac_state.ping_slot_periodicity
๋ฅผ ํ ์ ์์ต๋๋ค.supports_class_b
, supports_class_c
๋ฐ mac_state.device_class
๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํด ๋ณด์ญ์์ค. ์์ฑ์ ์ผ๋ถ์ด๊ณ ์
๋ฐ์ดํธ์ ์ผ๋ถ์ด๋ฉฐ ์๋ก ์ด๋ค ๊ด๋ จ์ด ์์ต๋๊น?0
๋ก ์ค์ ํ๋ ๊ฒ์
๋๋ค)mac_settings
๋ฐ mac_state.desired_parameters
์ฝ์์์ ์ํ๋ ์ค์ ์ ์ ์คํ๊ฒ ์ ํํด์ผ ํฉ๋๋ค. @htdvisser ์ฌ๊ธฐ ๊ฐ์ด ์๊ฐํด๋ ๋ ๊น์?https://github.com/TheThingsNetwork/lorawan-stack/issues/579#issuecomment -553347858์์ ์์๋ฅผ ๋ณ๊ฒฝํ์ต๋๋ค. ํด๋น ๋ชฉ๋ก์์ ์ ์ง์ ์ผ๋ก ์์ ํ์ญ์์ค.
์ ํํ ์์น์ ํ๋๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๊น?
๋๋ ์ด ์ง๋ฌธ์ ๋ตํ์ต๋๋ค. ์ฆ, NS์์ ์ค์ ํ ์ ์๊ณ ์ค์ ํด์ผ ํ๋ ๋ชจ๋ ํ๋๋ฅผ ์ ์ํ์ต๋๋ค. ๋๋ ์ ์ด๋ ๊ทธ๊ฒ์ด ๋ด๊ฐ ๋น์ ์ ์ง๋ฌธ์ ์ดํดํ ๋ฐฉ๋ฒ์ ๋๋ค.
์ฝ์์ ์์ด์ผ ํ๋ ๊ฒ๊ณผ ๊ด๋ จํ์ฌ ๋ชจ๋ mac_state
์ ์๋ง๋ CLI๋ฅผ ํตํด์๋ง ์ค์ ๊ฐ๋ฅํด์ผ ํ์ง๋ง ๊ธฐ์กด ์ธ์
์ ๋ฑ๋ก ์ค์ธ ABP/๋ฉํฐ์บ์คํธ ์ฅ์น ๋ฐ/๋๋ OTAA ์ฅ์น์ ๋ํด ์๊ตฌํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ MAC ์ํ์
๋๋ค.
๊ทํ์ ์๊ฒฌ์ ์
๋ฐ์ดํธํ๊ฒ ์ต๋๋ค.
๊ฐ๋ณ ์นด์ดํฐ๋ฅผ ๋ณ๊ฒฝํด์๋ ์ ๋ฉ๋๋ค. "reset frame counters" ๋ฒํผ์ ํ ์ ์์ต๋๋ค(afaik์ V2 ์ฝ์์์์ ๊ฐ์ด ์นด์ดํฐ๋ฅผ 0์ผ๋ก ์ค์ ํ๋ ๋ณ๋์ ์์ ์ผ ์ ์์)
ABP ๋ฐ ๋ฉํฐ์บ์คํธ์ ๋ํ ๋ค์ด๋งํฌ ํ๋ ์ ์นด์ดํฐ๋ฅผ ์ค์ ํ ์ ์์ด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด NS๊ฐ ๋ค์ด๋งํฌ๋ฅผ ๋ณด๋ผ ์ ์์ต๋๋ค.
์
๋งํฌ์ ๊ฒฝ์ฐ ํ๋ ์ ์นด์ดํฐ๋ ABP์ ๋ณด์ ๊ด์ ์์๋ ๋งค์ฐ ์ ์ฉํฉ๋๋ค.
๊ธฐ๊ธฐ ์ ๋ฐ์ดํธ
์ฌ๊ธฐ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ง๋ฒ์ฌ ๋จ๊ณ๋ฅผ ํญ์ผ๋ก ์ฌ์ฉํ๋ ํญ ๋ฐฉ์์ ์ฌ์ฉํฉ๋๋ค.
@bafonins ์ ์ฒซ ๋ฒ์งธ ์๊ฒฌ์ ๋์ ์๋ ๊ฒ์ฒ๋ผ ์ฌ๊ธฐ์์ ์์ฝ๋์ธ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๊ฒ ์ต๋๋ค.
์ํ ๊ณต๊ฐ ๋ฌธ์ ๊ฐ ์ค์ด๋ค๊ณ Edit
/ Create
๋ฒํผ์ผ๋ก ๋ชจ๋๋ฅผ ๊ตฌ๋ถํ ์ ์์ต๋๋ค.
@rvolosatovs
ABP ๋ฐ ๋ฉํฐ์บ์คํธ์ ๋ํ ๋ค์ด๋งํฌ ํ๋ ์ ์นด์ดํฐ๋ฅผ ์ค์ ํ ์ ์์ด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด NS๊ฐ ๋ค์ด๋งํฌ๋ฅผ ๋ณด๋ผ ์ ์์ต๋๋ค.
์ ๋งํฌ์ ๊ฒฝ์ฐ ํ๋ ์ ์นด์ดํฐ๋ ABP์ ๋ณด์ ๊ด์ ์์๋ ๋งค์ฐ ์ ์ฉํฉ๋๋ค.
์ด๊ฒ์ด ๊ฐ๋จํ๋ค๋ฉด ์ฐ๋ฆฌ๋ ํ ์ ์์ต๋๋ค. ์ฌ์ค, 2/3๊ฐ์ ์ ๋ ฅ ์์๋ ํน์ ์์ ์ ํธ๋ฆฌ๊ฑฐํ๋ ์ฌ์ค์ ๋ฒํผ๋ณด๋ค ๊ฐ๋จํ ์ ์์ต๋๋ค.
์ฝ์์ ์์ด์ผ ํ๋ ๊ฒ๊ณผ ๊ด๋ จํ์ฌ ๋ชจ๋
mac_state
์ ์๋ง๋ CLI๋ฅผ ํตํด์๋ง ์ค์ ๊ฐ๋ฅํด์ผ ํ์ง๋ง ๊ธฐ์กด ์ธ์ ์ ๋ฑ๋ก ์ค์ธ ABP/๋ฉํฐ์บ์คํธ ์ฅ์น ๋ฐ/๋๋ OTAA ์ฅ์น์ ๋ํด ์๊ตฌํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ MAC ์ํ์ ๋๋ค.
์ดํด ํ์ด์. "์ด๋ฏธ ๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋ ๊ธฐ์กด ABP ์ฅ์น"์์ "์ ABP ์ฅ์น ๋ฐ ์ฌ์ค์ ABP ์ฅ์น"๋ฅผ ๋ถ๋ฆฌํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ ์๋ ์์ ํด์ผ ํ๋ฏ๋ก mac_state.desired_parameters
๊ฐ ์๋ ์ผ๋ถ mac_state
(์ฆ, ๊ณต์ฅ ์ด๊ธฐํ ์ฃผํ์, RX1 ์ง์ฐ, RX2 ์ค์ ๋ฑ)๋ฅผ ํฌํจํด์ผ ํฉ๋๋ค.
ํ์๋ ๋ง์ด๊ทธ๋ ์ด์ ์ ํตํด ์ํํด์ผ ํ๋ฉฐ ๋์ค์ ์ฝ์์์ ๋ฏธ์ธ ์กฐ์ ์ค์ ์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์ง๊ธ์ CLI๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
์ ๋ฐ์ดํธํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค
LoRaWAN ์ค์
- ํด๋ฌ์คํฐ์ NS์ธ ๊ฒฝ์ฐ: ํ๋
mac_settings.factory_preset_frequencies
mac_settings.ping_slot_data_rate_index.value
mac_settings.ping_slot_frequency
mac_settings.ping_slot_periodicity.value
mac_settings.rx2_data_rate_index.value
์ด๊ฒ์ด OTAA์ ํ์ํ๊ฐ์? ABP์ Multicast์๋ง ํด๋น๋์ง ์์ต๋๊น?
@johanstokking
LoRaWAN ์ค์
- ํด๋ฌ์คํฐ์ NS์ธ ๊ฒฝ์ฐ: ํ๋
mac_settings.factory_preset_frequencies
mac_settings.ping_slot_data_rate_index.value
mac_settings.ping_slot_frequency
mac_settings.ping_slot_periodicity.value
mac_settings.rx2_data_rate_index.value
์ด๊ฒ์ด OTAA์ ํ์ํ๊ฐ์? ABP์ Multicast์๋ง ํด๋น๋์ง ์์ต๋๊น?
๋ชจ๋ MAC ์ค์ ์ ์ค๊ณ์ ์ ํ ์ฌํญ์
๋๋ค.
์ด๊ฒ์ด "ํ์"์ธ ์ ์ผํ ๊ฒฝ์ฐ๋ ํด๋์ค B ๋ฉํฐ์บ์คํธ ์ฅ์น์ด๋ฉฐ, ์ด๋ ํด๋์ค B ์๋ ํน์ฑ์ผ๋ก ์ธํ ๊ฒ์
๋๋ค.
๊ทธ ์ธ์๋ ์ต์์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ผ๋ ค๋ฉด ABP์ factory_preset_frequencies
๊ฐ ํ์ํ ์ ์์ง๋ง OTAA ์ฅ์น๊ฐ ํด๋น ์ค์ ์ ๊ฐ๋ ๊ฒ์ ๋ฐฉํดํ๋ ๊ฒ์ ์์ต๋๋ค.
๋ชจ๋ MAC ์ค์ ์ ์ค๊ณ์ ์ ํ ์ฌํญ์ ๋๋ค.
์ด๊ฒ์ด "ํ์"์ธ ์ ์ผํ ๊ฒฝ์ฐ๋ ํด๋์ค B ๋ฉํฐ์บ์คํธ ์ฅ์น์ด๋ฉฐ, ์ด๋ ํด๋์ค B ์๋ ํน์ฑ์ผ๋ก ์ธํ ๊ฒ์ ๋๋ค.
์ข์์
๊ทธ ์ธ์๋ ์ต์์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ผ๋ ค๋ฉด ABP์
factory_preset_frequencies
๊ฐ ํ์ํ ์ ์์ง๋ง OTAA ์ฅ์น๊ฐ ํด๋น ์ค์ ์ ๊ฐ๋ ๊ฒ์ ๋ฐฉํดํ๋ ๊ฒ์ ์์ต๋๋ค.
OTAA์๋ ํจ๊ณผ๊ฐ ์์ต๋๋ค. ๊ธฐ๋ณธ ์กฐ์ธ ์ฃผํ์๋ ์ฌ์์ ๋ฐ๋ผ ํ์ํ๋ฉฐ ์ฑ๋์ join-accept ๋ฐ MAC ๋ช ๋ น์ ํตํด ๋ค์ด์ต๋๋ค. OTAA ์ฅ์น์ ๋ํ ์ฌ์ ์ค์ ์ฃผํ์์ ๋์ญ ์ธ ๊ตฌ์ฑ์ด ์์ด์๋ ์ ๋ฉ๋๋ค.
@bafonins ์ด ๋ฌธ์ ์ ๋ํ ์ํ ์ ๋ฐ์ดํธ ๋ฐ ํ์๋ผ์ธ์ ์ ๊ณตํ ์ ์์ต๋๊น?
app_s_key
๋ฐ skip_payload_crypto
์ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
skip_payload_crypto
ํ๋๋ฅผ ๋ฐ๋ฆ
๋๋ค. true
์ด๋ฉด AS๋ ํ์ด๋ก๋ ์ํธํ ๋ฐ ๋ณตํธํ๋ฅผ ์ํํ์ง ์์ต๋๋ค.skip_payload_crypto
๋ฅผ ๋ฐ๊ฒ ๋๋ฉฐ(ํ์ด๋ก๋ ํฌ๋งทํฐ์ ๊ฐ์ ๋งํฌ๋ฅผ ํตํด) ์ต์ข
์ฅ์น์ ์ค์ ๋ณด๋ค ์ฐ์ ์ ์ฉ๋ฉ๋๋ค.app_s_key
๊ฐ ์์ง๋ง ๋ํ๋ ์ ์์ต๋๋ค. ์ฆ, session.keys.app_s_key.key
๊ฐ ์ค์ ๋์ง ์์์ต๋๋ค(๊ทธ๋ฌ๋ encrypted_key
๋ฐ kek_label
๊ฐ ์ค์ ๋จ).app_s_key
๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ์๋ ๊ทธ๋๋ก ๋ฐํํ ๊ฒ์
๋๋ค.skip_payload_crypto
๊ฐ true
๋ก ์ค์ ๋์ด ์์ผ๋ฉด(์ต์ข
์ฅ์น ๋๋ ์ ํ๋ฆฌ์ผ์ด์
๋งํฌ์์) app_s_key
๋ฅผ ์ฌ์ฉํ์ง ๋ง์ญ์์ค.