æŠèŠïŒ
ããã€ã¹ã®è¿œå ãã©ãŒã ïŒïŒ573ã§è¿œå ïŒã¯çŸåšãå¶çŽã«åºã¥ããŠãã£ãŒã«ããæ§æããŠããŸããïŒABP / OTAAã®éžæãé€ãïŒã ããšãã°ãç¹å®ã®LoRaWANããŒãžã§ã³ã«ã®ã¿é¢é£ãããã£ãŒã«ããé衚瀺ã«ããããããã«å¿ããŠãã£ãŒã«ãã®ååãå€æŽãããã§ããŸãïŒããšãã°ã NwkSKey
ãšFNwkSIntKey
ïŒã
ãªãç§ãã¡ã¯ãããå¿
èŠãªã®ã§ããïŒ
ããè¯ãUXã®ããã«ã誀ã£ãå
¥åãé¿ããŠãã ãã
ãã§ã«äœããããŸããïŒ
OTAA/ABPã«åºã¥ãæ¡ä»¶ä»ããã£ãŒã«ããå«ãããã€ã¹ã®è¿œå ãã©ãŒã
äœãæ¬ ããŠããïŒ
ããæŽç·Žããããã§ãã¯ãšå¶çŽããã©ãŒã ã«é©çšããã誀ã£ãå
¥åãé²ããŸã
ç°å¢ïŒ
ãã©ãŠã¶ã®ã³ã³ãœãŒã«
ãããã©ã®ããã«å®è£
ããããšãææ¡ããŸããïŒ
ãã£ãŒã«ãå€æŽã€ãã³ãã«ããã¯ããããã«å¿ããŠãã£ãŒã«ããæ§æããå¯èœæ§ããããŸã
ãããèªåã§è¡ãããã«ãªã¯ãšã¹ããéä¿¡ã§ããŸããïŒ
ã¯ãã
ããã€ã¹ãã©ãŒã ã®çŸåšã®å®è£ ã«é¢ããäž»ãªåé¡ã¯ããã¹ãŠãäžç·ã«çµåãããŠããããšã§ãã ããã¯ããã²ãèµ·ãã
ããã€ã¹ãã©ãŒã ããã«ãã¹ããããã©ãŒã ãšããŠå®è£
ããããšãææ¡ããŸãã ããã¯æ¬¡ã®ããã«ãªããŸãã
ãã®ãããªã¢ãããŒãã¯ãäžèšã®ãã¹ãŠã®åé¡ã«å¯ŸåŠããŸãã
1.0.x
ã®å Žåã Join EUI
ã©ãã«ãApp EUI
ã«å€æŽããŸããç·šéããã€ã¹ã¯ãã¢ã³ãŒãã£ãªã³ã®ã¹ã¿ãã¯ãšããŠå®è£
ã§ããŸãã
åã¢ã³ãŒãã£ãªã³ãã¹ã¿ã³ãã¢ãã³ãã©ãŒã ã§æ¡åŒµãããå Žæã
ããã€ã¹ãã©ãŒã ã«å ããŠãã¢ããªã±ãŒã·ã§ã³ãã©ãŒã ã®ãŠã£ã¶ãŒãã䜿çšããŠæ¬¡ã®ããšãã§ããŸãã
cc @kschiffer @johanstokking @htdvisser
ç¹ã«ãã³ã³ããŒãã³ãã®ãã£ãŒã«ãã1ã€ã®ã¹ãããã§ã°ã«ãŒãåã§ããå Žåã¯ãç§ã«ã¯è¯ãããã§ãã ããããã°ãã³ã³ããŒãã³ããå©çšã§ããªãå Žåã«ãæé ãã¹ããã/ç¡å¹ã«ããããšãã§ããŸãã
https://github.com/TheThingsNetwork/lorawan-stack/issues/1234ãåç §ããŠãã ããã JSã䜿çšå¯èœãªå Žåã§ãããŠãŒã¶ãŒã¯JSãã£ãŒã«ããã¹ãããã§ããŸãã
ç§ã¯ãã®ãããªå³ãæãã€ããïŒ
ãã¹ãŠã®ããŒãã¯ã¹ãããã§ã
è€éã«èŠããŸãããçŸåšã®å®è£ ã§ã¯ãæ€èšŒ/éä¿¡/ãã£ãŒã«ããã¹ã¯ã®çæãªã©ã«é¢ããŠããã«å€§ããªç¶æ 空éããããŸãã
è°è«ãå§ããããã®æåã®ææ¡ãšããŠå³ãèããŠãã ããã
ããã¯è¯ãã¹ã¿ãŒãã ãšæããŸãã
ãããŠãããã€ãã®å°ããªããšïŒ
DevEUI
ã¯ABPããã€ã¹ã§ã¯çŠæ¢ãããŠããŸããïŒãªãã·ã§ã³ã§èšå®ã§ããŸãïŒNwkKey
ã¯ãªãã AppKey
ã®ã¿ããããŸãFNwkSIntKey
ã¯NwkSKey
ãšåŒã°ããŸãïŒãŠãŒã¶ãŒã«å¯ŸããŠïŒNwkKey
ãŸãã¯AppKey
ãååŸããŸããã¯ããçŽ æŽãããã¹ã¿ãŒãã§ãã
- ãããããJoinServerãæåã«æ¥ãæ¹ããããŒã¯è¯ããªãã§ãããã
ç§ã¯ããã«åæããã ã¢ã¯ãã£ããŒã·ã§ã³ã¢ãŒããOTAAã§ãã¯ã©ã¹ã¿ãŒJSãæå¹ã«ãªã£ãŠããå ŽåããŠãŒã¶ãŒã¯JSããŒãžã§ã«ãŒãããŒãå ¥åããŠã¯ã©ã¹ã¿ãŒJSã«ä¿åãããã©ãããéžæã§ããŸãã ïŒãããç¡å¹ã«ãããšãã¯ã©ã¹ã¿ãŒã«JSãæå¹ã«ãªã£ãŠããªãå Žåãšåæ§ã«ãNSã¯JSã«ãã¯ã¢ããã䜿çšããŸãïŒ
multicast bool
ãšsupports_join bool
ã multicast && supports_join
ã¯ç¡å¹ã§ããããã3ã€ã®å¯èœãªãªãã·ã§ã³ããããŸããfrequency_plan
-> frequency_plan_id
resets_f_cnt
ã¯ãªãã·ã§ã³ã§ãããã©ã«ãã§false
ã§ãã
FNwkSIntKey
ã¯ã<1.1ã®å Žåã«ã®ã¿NwkKey
ãšããŠè¡šç€ºããå¿
èŠããããŸã
FNwkSIntKey
ã>=1.1ã®ABPNSèšå®ã«ãããŸããmulticast
ããã€ã¹ã¯AppSKey
ã®ã¿ãå¿
èŠãšããŸã-NSã¯multicast
ããã€ã¹ãæ©èœããããã«ããŒãå¿
èŠãšãããASã®ã¿ãå¿
èŠãšããŸã@htdvisser
ãããããJoinServerãæåã«æ¥ãæ¹ããããŒã¯è¯ããªãã§ãããã
ãªãã§ïŒ
ãŸã å®éã«ã¯é²æ©ããŠããªãéèŠãªããšã¯ãããã€ã¹ãªããžããªïŒ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ãšsupports_joinboolããã«ããã£ã¹ã&&supports_joinã¯ç¡å¹ã§ããããã3ã€ã®å¯èœãªãªãã·ã§ã³ããããŸãã
æ確ã«ããããã«ïŒ
supports_join=true
-OTAAsupports_join=false
-ABPmulticast=true && **no** supports_join
-ãã«ããã£ã¹ãresets_f_cntã¯ãªãã·ã§ã³ã§ãããã©ã«ãã§ã¯falseã§ãã
ããã§ããŠãŒã¶ãŒã«èŠããŠããããšæããŸãã ãŠãŒã¶ãŒããã«ããã£ã¹ãããã€ã¹çšã«èšå®ã§ããããã«ããå¿ èŠããããŸããïŒ
FNwkSIntKeyã¯ã1.1æªæºã®å Žåã«ã®ã¿NwkKeyãšããŠæ瀺ããå¿ èŠããããŸã
NwkSKey
ãšããæå³ã§ããïŒ
Frequency_plan-> Frequency_plan_id
FNwkSIntKeyã>=1.1ã®ABPNSèšå®ã«ãããŸãã
ä¿®æ£æžã¿ð
æŽæ°ãããå³ïŒ
@htdvisser
ãããããJoinServerãæåã«æ¥ãæ¹ããããŒã¯è¯ããªãã§ãããã
ãªãã§ïŒ
ãããç§ã¯ããã«æ»ã£ãŠããŸãã ããŒãå
¥åããåã«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ãžã®ãªã¯ãšã¹ãã¯ãŸã£ãããããŸãããïŒ
ããã¯ããã
äŸãšããŠãSemtechJoinServerã䜿çšããSemtechã®ã¢ãã ãæèŒããããã€ã¹ããããŸãã ãã®å ŽåãEUIãç¥ãå¿ èŠãããã ãã§ãã
ïŒ1134ã«é¢ããŠããããã®ãã£ãŒã«ããå³ã®ã©ãã«å±ããããæå®ããããšãã§ããŸããïŒ
ãããã¯JSã¹ãããã«å±ããŸãã JSãã¯ã©ã¹ã¿ãŒã§æå¹ã«ãªã£ãŠããŠããŠãŒã¶ãŒãJSã§ããã€ã¹ãããããžã§ãã³ã°ããå Žåã¯ããããã®ãã£ãŒã«ããJSã«ç§»åããŸãã
ãããã®ãã£ãŒã«ãã¯ãªãã·ã§ã³ã§ãã
æ確ã«ããããã«ïŒ
supports_join=true
-OTAAsupports_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
ãabp/ãã«ããã£ã¹ãããã€ã¹ã«è¿œå ããŸããDevice Address
ãè¿œå ããŸããmulticast
ããã€ã¹ã®ãããã¯ãŒã¯ãµãŒããŒèšå®ã«ããã€ã¹ã¢ãã¬ã¹ããŸã ãããŸãã
ãã«ããã£ã¹ãããã€ã¹ã®ãããã¯ãŒã¯ãµãŒããŒèšå®ã«ããã€ã¹ã¢ãã¬ã¹ããŸã ãããŸãã
æŽæ°ãããŸããð
ãã«ããã£ã¹ãã¯1.0.xããã³1.1.xã«ããããšãã§ããŸãã ã»ãã·ã§ã³æ
å ±ïŒ DevAddr
ãšããŒïŒã®å
¥åã¯ããã«ããã£ã¹ãã®å ŽåãšABPã®å Žåãšåãã§ãã
ãŸãã1.1.xã®JSã§resets_join_nonces
ãèšå®ã§ããŸã
ããã€ã¹ã®äœæãåå²ããããšã¯ééããªãå¿ èŠã§ããããŠãŒã¶ãŒã®è€éãã軜æžããªããããããŒãšå®è£ ãããã¯ãšã³ãã®èŠä»¶ã«è¿ã¥ããããã®åªããæ¹æ³ã§ãã
ç§ãèŠãããã€ãã®èããšèª²é¡ïŒ
ãããäœæ/æŽæ°/åé€ããã³äœæããŒã«ããã¯ããžãã¯ã®ããã®jsSDKã®äžå¿ èŠãªè€éã
ãã®å Žåã¯äœ¿çšããªããŠããããã€ã¹ãªã¯ãšã¹ããåå²ããã³ããŒãžããããã®SDKã®æ©èœã¯ãŸã ããªã䟡å€ããããšæããŸã
ãã«ããã£ã¹ãããã€ã¹ã®@johanstokkingNSã¯ãMICèšç®ã«1.1ã®SNwkSIntKey
ã®ã¿ãå¿
èŠãšããŸãã å®éã FNwkSIntKey
ãšNwkSEncKey
ã¯IMOãèšå®ããããšãèš±å¯ãããã¹ãã§ã¯ãããŸããã
- ãããŒå šäœãäžæ¢ããæ©èœãè¿œå ããå¿ èŠããããŸãããã®çµæãæ¢ã«äœæãããŠããã¬ãžã¹ããªãšã³ããªã¯ãã¹ãŠåé€ãããŸãã
- åæ§ã«ãåã®æé ã«é²ãã«ã¯ããã©ãŒã ããæŽæ°ã¢ãŒããã«ããå¿ èŠããããŸãïŒISãé€ããŠããšã³ããã€ã³ãã¯åãã§ãããããæ¯èŒçç°¡åãªã¯ãã§ãïŒ
ãã£ããã·ã¥ãäœããæŒãåã«äœããäœæããã¹ãã§ã¯ãªããšæããŸãã ãŠã£ã¶ãŒããè¡ã£ããæ¥ããããŠãã©ãŠã¶ãŠã£ã³ããŠãéããŠããããã€ã¹ãååäœæãããããšã¯ãããŸããã
- ç§ãèŠãŠããåé¡ã®1ã€ã¯ãã¢ããªã±ãŒã·ã§ã³ãµãŒããŒã®ã¹ããããéåžžã«æµ ãïŒããã¯åŸã§å€æŽãããå¯èœæ§ããããŸããïŒïŒããã€ããŒã圢åŒãªãã·ã§ã³ãè¿œå ããããšããããã€ã¹ã®äœæäžã®ãŠãŒã¶ãŒã®ããŒãºã«å®éã«ã¯äžèŽããŠããŸããã
ããã§ã¢ããªã±ãŒã·ã§ã³ããã±ãŒãžã®æ§æãè¿œå ããŸãïŒã€ãŸãããªã¢ãŒããã«ããã£ã¹ãã»ããã¢ãããæçåãããããŒã¿ãããã¯è»¢éãSemtechã¢ãã ãªãã·ã§ã³ãªã©ïŒã ããã§ããä»ã¯æµ ãã§ãããæ¡åŒµãããŸãã
- 解決çã¯ãASãšJSã®äž¡æ¹ã®ã¹ããããéåžžã«åçŽã§çžäºäŸåããŠããªãããšãåæãšããŠãããããããŒãžããããšã§ãã ããã¯ã³ã³ããŒãã³ãã«ããåé¢ã«åããããšãç§ã¯ç解ããŠããŸãããããã¯åççãªæœè±¡åã§ãããŒå šäœãåçŽåãããšæããŸãã ç¹ã«ãã¹ãããå ã§ããããã®ã¹ã¿ãã¯ã³ã³ããŒãã³ããžã®æ¥ç¶ãäŒéããªãããšãèãããšã
ç§ãã¡ã®å°æ¥ã®ããã«ãç§ã¯ããããå¥ã ã«ä¿ã€ããšããå§ãããŸãã ãŸããããããçµã¿åããããšãã³ã³ããŒãã³ãã®å¯çšæ§ãæ¡ä»¶ãšããŠãããã®ããŒãžã«ã¬ã³ããªã³ã°ãè¡ãããããããã§ã«è€éãªãããŒãè€éã«ãªããŸãã
ã¹ã¿ãã¯æ§æã«ãã£ãŠã¯ã1ã€ãŸãã¯2ã€ã®ã¹ããããããªããŠã£ã¶ãŒããäœæãããå ŽåããããŸããããã¯ããŠã£ã¶ãŒãã®ã¢ã³ããã¿ãŒã³ã§ãã
- ãã£ã1ã€ã®ã¹ãããã®å ŽåããŠã£ã¶ãŒãã®åŽé¢ãé衚瀺/åé€ããã ãã§ãã
- 2ã€ã®ã¹ãããã§ã¯ããã®åé¡ã«å¯ŸåŠããå¿ èŠããããšæããŸãð€·ââ
ãŠã£ã¶ãŒããœãªã¥ãŒã·ã§ã³ã«ããããŠãŒã¶ãŒã¹ããŒãªãŒã®_å®äºãŸã§ã®æé_ãå€§å¹ ã«å¢å ããããšãèæ ®ããå¿ èŠããããŸã
- ããã¯ãå€ãã®ããã€ã¹ãæåã§äœæããå¿ èŠãããç¶æ³ã§åé¡ã«ãªãå¯èœæ§ããããŸããããã®ãŠãŒã¹ã±ãŒã¹ã®ãããäœææ©èœã玹ä»ããCLI/ã¹ã¯ãªããããã®ãããªç¶æ³ã§åœ¹ç«ã¡ãŸã
- ããã§ããV2ã³ã³ãœãŒã«ããã€ã¹ã®äœæãšã®éããšããŠãŒã¶ãŒããã®å€æŽãã©ã®ããã«èªèããããæ€èšããŠãã ãã
ã³ã³ããŒãã³ãã®åé¢ãšæè»ãªå±éã·ããªãªã¯ãV2ãšæ¯èŒããå Žåã®éèŠãªå€æŽã®1ã€ã§ããããããããV3ã³ã³ãœãŒã«ã§å¹æçã§ããããšã¯å®å šã«çã«ããªã£ãŠããŸãã
å®éã倧éã®ããã€ã¹ãäœæããã«ã¯ããšã«ããAPIãšCLIã䜿çšããå¿ èŠããããŸãã
1ã€ã®ã¹ãããã§ã·ããªãªã¯ãããŸãããåžžã«ãå°ãªããšã2ã€ã®ã¹ãããã§ãã
ããŒãžã®ä»£ããã«ã¿ããã¬ã³ããªã³ã°ããã®ã¯ã©ãã§ããïŒ ããããã°ãããã¯ãŸã 1ããŒãžã§ããã段éçã«è¡ã£ããæ¥ããããããšãªããç©äºã«ç°¡åã«ã¢ã¯ã»ã¹ã§ããŸãã
@johanstokking
ãã£ããã·ã¥ãäœããæŒãåã«äœããäœæããã¹ãã§ã¯ãªããšæããŸãã
æåŸã®ã¹ãããã§ã®ã¿å®éã®ãªã¯ãšã¹ããè¡ãå Žåã¯ã3ã4åã®ãªã¯ãšã¹ããè¡ãããšãæå³ããŸãã ããŸããŸãªã³ã³ããŒãã³ãããè¿ããããšã©ãŒãã©ã®ããã«åŠçããŸããïŒ ãããåŠçãããšã©ãŒã®ããã¹ããã/ãªã»ããã¹ãã¢ãªã©ã«ãŠãŒã¶ãŒã移åããŸãã è€éã§ãã ãã®ããããã¹ãŠã®ã¹ãããã§å€ãéä¿¡ããããšããå§ãããŸããããã¯ãåŸç¶ã®ãã¹ãŠã®ã¹ãããã§ãéä¿¡ãããå€ãæå¹ã§ãããšä¿¡é Œã§ããããã§ãã
ãŠã£ã¶ãŒããè¡ã£ããæ¥ããããŠãã©ãŠã¶ãŠã£ã³ããŠãéããŠããããã€ã¹ãååäœæãããããšã¯ãããŸããã
ç§ã¯ããŠãŒã¶ãŒããŠã£ã¶ãŒãã§ããŒã¿ãç·šéã§ããããã«ããããšã«å察ããŠããŸãïŒéä¿¡ã«ã€ãªããã¹ãããã«ã€ããŠïŒã Mbãåäžã®ã³ã³ããŒãã³ãã«æ ŒçŽãããŠãããªãã·ã§ã³ã®ãã£ãŒã«ãã®ã¿ïŒããã³ä»ã®ã³ã³ããŒãã³ãã¯ããããå¿
èŠãšããŸããïŒãããšãã°name
ã description
ã ããããªããšãããã®åŠçãéåžžã«è€éã«ãªããŸãã
@kschiffer
ã¹ã¿ãã¯æ§æã«ãã£ãŠã¯ã1ã€ãŸãã¯2ã€ã®ã¹ããããããªããŠã£ã¶ãŒããäœæãããå ŽåããããŸããããã¯ããŠã£ã¶ãŒãã®ã¢ã³ããã¿ãŒã³ã§ãã
ãããšãç§ãã¡ã¯ä»£æ¿ãœãªã¥ãŒã·ã§ã³ãåãå ¥ããŠããŸãã äœãææ¡ã¯ãããŸããïŒ
æåŸã®ã¹ãããã§ã®ã¿å®éã®ãªã¯ãšã¹ããè¡ãå Žåã¯ã3ã4åã®ãªã¯ãšã¹ããè¡ãããšãæå³ããŸãã ããŸããŸãªã³ã³ããŒãã³ãããè¿ããããšã©ãŒãã©ã®ããã«åŠçããŸããïŒ ãããåŠçãããšã©ãŒã®ããã¹ããã/ãªã»ããã¹ãã¢ãªã©ã«ãŠãŒã¶ãŒã移åããŸãã è€éã§ãã ãã®ããããã¹ãŠã®ã¹ãããã§å€ãéä¿¡ããããšããå§ãããŸããããã¯ãåŸç¶ã®ãã¹ãŠã®ã¹ãããã§ãéä¿¡ãããå€ãæå¹ã§ãããšä¿¡é Œã§ããããã§ãã
ããã£ãã ã³ã³ãœãŒã«ãERã«ããããã€ã¹ãåŠçã§ãããããã®ã¹ãããã倱æãããããŠãŒã¶ãŒãã¿ããªã©ãéããããã«JS / NS / ASã§èŠã€ãããªãéããããã¯åé¡ãããŸããã
ç§ã¯ããŠãŒã¶ãŒããŠã£ã¶ãŒãã§ããŒã¿ãç·šéã§ããããã«ããããšã«å察ããŠããŸãïŒéä¿¡ã«ã€ãªããã¹ãããã«ã€ããŠïŒã Mbãåäžã®ã³ã³ããŒãã³ãã«æ ŒçŽãããŠãããªãã·ã§ã³ã®ãã£ãŒã«ãã®ã¿ïŒããã³ä»ã®ã³ã³ããŒãã³ãã¯ããããå¿ èŠãšããŸããïŒãããšãã°
name
ãdescription
ã ããããªããšãããã®åŠçãéåžžã«è€éã«ãªããŸãã
ã©ãèšãæå³ã§ããïŒ
ããšãã°ãASã¯ãã£ãŒã«ããå¿ èŠãšãããããã€ã¹ãååšããå¿ èŠãããã ãã§ããããšã«æ³šæããŠãã ããã ãããã£ãŠãASãååšããå ŽåããŠãŒã¶ãŒãASã®å€ãå ¥åããªããŠããASã«ïŒç©ºã®ïŒããã€ã¹ãäœæããå¿ èŠããããŸãã
ã©ãèšãæå³ã§ããïŒ
ãããã ããã¯@kschifferã®ææ¡ã«åããããŸããïŒ
åæ§ã«ãåã®æé ã«é²ãã«ã¯ããã©ãŒã ããæŽæ°ã¢ãŒããã«ããå¿ èŠããããŸãïŒISãé€ããŠããšã³ããã€ã³ãã¯åãã§ãããããæ¯èŒçç°¡åãªã¯ãã§ãïŒ
ãŠã£ã¶ãŒããè¡ã£ããæ¥ããããŠãã©ãŠã¶ãŠã£ã³ããŠãéããŠããããã€ã¹ãååäœæãããããšã¯ãããŸããã
ããã¯å°æ¥ã®æ¹åã ãšæããŸãã ä»ã®ãšãããæªå®äºã®ãããŒã«é¢ããéç¥ããŠãŒã¶ãŒã«è¡šç€ºããã ãã§ãã åŸã§ããŠãŒã¶ãŒã¯äžè¬èšå®ããŒãžã§ããã€ã¹ãç·šé/åé€ã§ããŸãã
ãããšãç§ãã¡ã¯ä»£æ¿ãœãªã¥ãŒã·ã§ã³ãåãå ¥ããŠããŸãã äœãææ¡ã¯ãããŸããïŒ
ãããšããã®ç¹å®ã®ç¶æ³ã®_ãšããž-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 / AS / JSç»é²ãåé€ããããNSã§ããã€ã¹ã®ç¶æ
ããªã»ãããããã§ãããšäŸ¿å©ã ãšæããŸããäžè¬çãªãã®ïŒ
ãããã¬ãã«ã®ãã£ãŒã«ãã«ã€ããŠè©±ããŠããå ŽåïŒ
https://github.com/TheThingsNetwork/lorawan-stack/blob/375c82cc068bbadb72b887e25631f8f2dc03a366/api/end_device.proto#L395 -L418ãã®ãã£ã³ã¯å
šäœã¯NSã«å±ããŠããŸãïŒãã ããããããã¹ãŠãå¿
èŠãªããã§ã¯ãããŸããïŒ
m{in,ax}_frequency
ã¯ãã«ããã£ã¹ãã«ã¯é©çšãããŸãã
@rvolosatovs
ïŒ579ïŒã³ã¡ã³ãïŒã«ã¯ãã§ã«NSã«å¿ èŠãªãã®ããã¹ãŠå«ãŸããŠãããšæããŸãã
ãã¹ãŠã®
mac_settings
ã¯ããã¹ãŠã®éãã«ããã£ã¹ãããã€ã¹ã«èšå®ã§ããããã«ããå¿ èŠããããšæããŸãã
ãã«ããã£ã¹ãããã€ã¹ã®å Žåã以äžã®ã¿ãæå³ããªããŸãã
ãã®åé¡ã®åé¡ã®1ã€ã¯ãã³ã¡ã³ãã«åã蟌ãŸããŠããæ å ±ã®éã§ãã
é©åãªå Žæã«ãã£ãŒã«ãã_æ£ç¢ºã«_è¿œå ããŠããã ããŸããïŒ ç®æ¡æžãã®ãªã¹ãå šäœãã³ããŒããŠããã ããã°åé¡ãªãã®ã§ãæçµããŒãžã§ã³ãå®æãããŸã§æ®µéçã«åãçµãã§ãããŸãã
@htdvisser
- äžè¬èšå®
aã ERã§ããã€ã¹ãäœæããå ŽåãNS / AS/JSã¢ãã¬ã¹ã¯èšå®ããŸããã ããã€ã¹ããããã«èšå®ãããŠãããšãã«ERç»é²ãæŽæ°ããŸããïŒ å€éšJSã䜿çšããŠããå Žåã¯ã©ããªããŸããïŒ
AS / NS / JSã§ããã€ã¹ãèšå®ãããšãã«ãã¢ãã¬ã¹ãæŽæ°ããå¿ èŠããããšæããŸãã
bã ã¢ã¯ãã£ããŒã·ã§ã³ã¢ãŒããERã«ä¿åããŸããïŒ
ããããçŸæç¹ã§ã¯ãã®ããã®ãã£ãŒã«ãã¯ãããŸãããå®éã«ã¯å¿ èŠãããŸãããããã«ãããäžæŽåã®äœå°ãçãŸããŸãã
cã phy / macããŒãžã§ã³ãERã«ä¿åããŸããïŒ
ããããAPIããã¥ã¡ã³ããåç §ããŠãã ããã ç¹°ãè¿ãã«ãªããŸãããç§ã¯ãã®å¿ èŠæ§ãèªèããŠããããããã¯ççŸã®äœå°ãçã¿åºããŸãã
aã
supports_class_b
ã©ãã§ããïŒ
ãããïŒ19ãŸã§ããããè¿œå ããå¿ èŠããããšæããŸãã @rvolosatovså¿ èŠã«å¿ããŠããããæŽæ°ããŒãžã§ã³ã«å«ããŠãã ããã
- ã¢ããªã±ãŒã·ã§ã³ã®èšå®
aã ã¯ããããã¯ãããã€ã¹ãASã«2åèšå®ããããšãæå³ããå¯èœæ§ããããŸã
ã¯ããããã¯å®³ã¯ãããŸãã
ã¢ããããŒãïŒ
- ã¢ã¯ãã£ããŒã·ã§ã³ã¢ãŒãïŒãããERã«ä¿åãããšãã¯ããã«ç°¡åã«ãªããŸã
ã¯ããã§ãç°¡åã«è¡ãã°ããã®ãããããå®å šã«åœãŠã¯ãŸãã®ãããããŸããã ããããã¹ã§å©çšã§ããããã«ããå¿ èŠããããŸãã
ãŸããããããªç¶æ
ããå§ããããšãã§ããã°ç°¡åã§ãã ãã ããäžäœäºææ§ãå¿
èŠã§ãã lorawan_version
ãERã«ãªãå Žåã¯ãã¥ãŒãªã¹ãã£ãã¯ãè¿œå ããNSããã®æ¡ä»¶ä»ãååŸãå°å
¥ããŸãã
- 404ã®ã¿ã確èªããŸããããããšãERã®NS / AS / JSã¢ãã¬ã¹ã確èªããŸããïŒ
ã¢ãã¬ã¹ãèšå®ãããŠããå Žåã«ã®ã¿404ãååŸã§ããŸãããã以å€ã®å Žåã¯ãååŸãããã®ããããŸããã äž¡æ¹ãããã®ã¬ãžã¹ããªã«ãªãããšè§£éããå¿ èŠããããŸãã ISãšAS/NS / JSã§ã®äœæãåæã«è¡ãããªããšããçç±ã ãã§ãããã§ãšã©ãŒãèµ·ããããšã¯ã§ããŸããïŒä»¥åãšåãããã«ïŒããŠãŒã¶ãŒã¯ãã³ã³ãœãŒã«ã«ãã£ãŠäœæãããäžæŽåãå埩ã§ããã¯ãã§ãã
- ããšãã°ããå€éšJSãã
true
ã«å€æŽãããšãã«ãåã ã®NS / AS / JSç»é²ãåé€ããããNSã§ããã€ã¹ã®ç¶æ ããªã»ãããããã§ãããšäŸ¿å©ã ãšæããŸãã
ã¯ããåŸã§ãããŸããã
- _ "å€éšJSã¯ãJSãNSãšåãã¯ã©ã¹ã¿ãŒå ã«ãªãå Žæã§ã" _ïŒããã¯ãjoin_server_addressãã³ã³ãœãŒã«æ§æã®JSã¢ãã¬ã¹ãšåãã§ã¯ãªããã®ããã«ãªããŸãã
ã¯ããããã¯ç¢ºãã«ããããã§ãã¯ããæ¹æ³ã§ãã join_server_address
ã¯ãçžäºéçšæ©èœã䜿çšããŠç©ºã«ããããšãã§ããŸãã
@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ç¶æ
ã
ã³ã¡ã³ããæŽæ°ããŸãã
åã ã®ã«ãŠã³ã¿ãŒãå€æŽããã¹ãã§ã¯ãããŸããã ããã¬ãŒã ã«ãŠã³ã¿ãŒã®ãªã»ããããã¿ã³ã§å®è¡ã§ããŸãïŒããã¯ã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
ïŒã€ãŸããå·¥å Žåºè·æã®ãªã»ããåšæ³¢æ°ãRX1é
延ãRX2èšå®ãªã©ïŒãå«ããå¿
èŠããããŸããã$ïŒ$ 2 mac_state.desired_parameters
ïŒ$ã¯å«ããªãã§ãã ããã
åŸè ã¯ç§»è¡ãä»ããŠå®è¡ããå¿ èŠããããåŸã§ã³ã³ãœãŒã«ã§åŸ®èª¿æŽèšå®ãè¿œå ã§ããŸãã ä»ã®ãšãã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ãšãã«ããã£ã¹ãã ãã§ã¯ãããŸãããïŒ
@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ãšãã«ããã£ã¹ãã ãã§ã¯ãããŸãããïŒ
ãã¹ãŠã®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
ãæ°ã«ããªãã§ãã ããïŒç¡å¹ã«ããŠãã ãããæ°ã«ããªãã§ãã ãã