ããã«ã¡ã¯ãã¿ããªã
æŠèŠ
ã³ã³ãœãŒã«ããã³CLIãä»ãã_MULTICASTDEVICESREGISTRATION_ããã³_MULTICASTDOWNLINK_ã«é¢ããåé¡
ã³ã³ãœãŒã«ãä»ããŠãã«ããã£ã¹ãç»é²ãåçŸããæé
次ã®ãã©ã¡ãŒã¿ã䜿çšããŠãšã³ãããã€ã¹ãè¿œå ããŸããã
ã³ã³ãœãŒã«çµç±ã§ãã«ããã£ã¹ãããŠã³ãªã³ã¯ãã¹ã±ãžã¥ãŒã«ããŸãã
_ObservationïŒ_ Multicast AddressãMulticast NwkSKeyãããã³Multicast AppSKeyã¯ãLoraAllianceã«ãã£ãŠãªãªãŒã¹ããããããã³ã«ã_LoRaWAN®RemoteMulticastSetupSpecification v1.0.0_ïŒhttpsïŒ/ /lora-alliance.org/resource-hub/lorawanr-remote-multicast-setup-specification-v100ïŒãã
ç§ã¯ä»äœãèŠãŠããŸããïŒ
ç»é²ã¯æ£åžžã«è¡ãããããŠã³ãªã³ã¯ã¯æ£åžžã«ã¹ã±ãžã¥ãŒã«ãããŸãã
äœãåé¡ã§ããïŒ
ç»é²åŸãç»é²ããããã«ããã£ã¹ãããã€ã¹ã_ã¢ã¯ãã£ããŒã·ã§ã³ã¢ãŒããã«ããã£ã¹ã_ã§ã¯ãªãã_ã¢ã¯ãã£ããŒã·ã§ã³ã¢ãŒãABP_ãšããŠçæãããããšã«æ°ä»ããŸããã ãªãã§ãããªã®ïŒ ããã€ã¹ã_ã¢ã¯ãã£ããŒã·ã§ã³ã¢ãŒãABP_ã®å Žåã§ããã³ã³ãœãŒã«ãä»ããŠæå¹ãªãã«ããã£ã¹ãããŠã³ãªã³ã¯ãã¹ã±ãžã¥ãŒã«ã§ããŸããïŒ
CLIãä»ããŠãã«ããã£ã¹ãç»é²ãåçŸããæé
Things Stackã®æ瀺ã«åŸãïŒhttps://thethingsstack.io/devices/class-c-multicast/ïŒïŒ
ãã«ããã£ã¹ãããã€ã¹ãè¿œå ããŸãïŒ
$ ttn-lw-cli end-devices create app1 mc1
--frequency-plan-id EU_863_870
--lorawan-ããŒãžã§ã³1.0.3
--lorawan-phy-ããŒãžã§ã³1.0.3-a
--session.dev-addr 00000001
--session.keys.app-s-key.key 0D810699B2B54A421853B1B0661B2724
--session.keys.nwk-s-key.key B1D1033EFDAAC8D91BC0D0F0F9C00798
-ãã«ããã£ã¹ã
--supports-class-c
MQTTïŒmosquittoïŒã䜿çšããã¹ã±ãžã¥ãŒã«ããããã«ããã£ã¹ãããŠã³ãªã³ã¯
_Mosquittoã³ãã³ãïŒ_CïŒProgrammimosquitto> mosquitto_pub -h movexxxx.xxx.xxxx.xxxx.xxxx.com -t "v3 / app1 @ movexxxx / devices / mc1 / down / push" -u " app1 @ movexxxx " -P "NNSXS .YNQ5LIW5SExxxx "-m '{" downlinks "ïŒ[{" frm_payload "ïŒ" ciao "ã" f_port "ïŒ42ã" priority "ïŒ" NORMAL "ã" class_b_c "ïŒ{" gateways "ïŒ[{" gateway_ids "ïŒ {"gateway_id"ïŒ " gtwid "}}]ã "absolute_time"ïŒ "2020-10-28T20ïŒ20ïŒ00Z"}}]} '-d
ç§ã¯ä»äœãèŠãŠããŸããïŒ
è¿œå ããããã«ããã£ã¹ãããã€ã¹ã¯ãæ¬æ¥ã®ããã«_Activation modemulticast_ãšããŠçæãããŸãã
ã¢ã¹ããŒãããŠã³ãªã³ã¯ã®çãã¯æ¬¡ã®ãšããã§ãã
_Mosquitto AnswerïŒ_ã¯ã©ã€ã¢ã³ãmosqpub | 23216-æ¥ç¶ãéä¿¡ããLAPTOP-OE
ã¯ã©ã€ã¢ã³ã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ãå«ãïŒãèŠãããšæããŸãã
@MatteMoveSRLåé¡ãããããšãã ãµããŒããã©ã³ã®ããTTIã®ã客æ§ã®å Žåã¯ããµããŒããã£ãã«ã䜿çšããã®ãæåã§ãã
ããã§ã¯åé¡ãã³ãã¬ãŒãã䜿çšããŠãæ§é åãããæ¹æ³ã§æ å ±ãååŸããŸãã
ç»é²ãã«ããã£ã¹ãããã€ã¹ã¯ã_Activation mode multicast_ãšããŠã§ã¯ãªãã_Activation modeABP_ãšããŠçæãããããšã«æ°ä»ããŸããã ãªãã§ãããªã®ïŒ
ãã®ããã®è€è£œæé ãå¿ èŠã§ããåé¡ã®ãã³ãã¬ãŒãã«åŸãããã«æçš¿ãç·šéããŠãã ããã
ãããŠã³ãªã³ã¯ãã¹ããããŸããããšãããšã©ãŒãçºçããããããã©ãããã©ãŒã ããããŠã³ãªã³ã¯ã¡ãã»ãŒãžãéä¿¡ã§ããŸããã ãŸãã次ã®ããã«Windowsã§MQTTã䜿çšããŠããŠã³ãªã³ã¯ãéä¿¡ããããšããŸãããããšã³ãããã€ã¹ã«äœãå±ããŸããã
https://thethingsstack.io/devices/class-c-multicast/ãåç §ããŠããããã«ããã£ã¹ãã°ã«ãŒãã®äžã®2çªç®ã®ã¡ã¢ãããã³ããŠã³ãªã³ã¯ãã¹ã±ãžã¥ãŒã«ããæ¹æ³ã瀺ã以äžã®äŸãåç §ããŠãã ããã
@johanstokkingåçããããšãããããŸãïŒ
ç§ã¯ããªããææ¡ããããã«æ§é åãããæ¹æ³ã§æ å ±ãååŸããããã«ç§ã®åé¡ãæŽæ°ããŸããã ç解ã§ãããšããã®ã§ãã
ç§ã¯ãŸã ãã®2ã€ã®ãã€ã³ããç解ããŠããŸããïŒ
代ããã«ãmosquitto_pubããŠã³ãªã³ã¯ã®åçã¯æ£ããã§ããïŒ ç©ççãªOTAAãšã³ãããã€ã¹ã«äœãå°çããŠããªãã®ã§
ã³ã³ãœãŒã«ãä»ããŠOTAAããã€ã¹ããã«ããã£ã¹ãã°ã«ãŒãã«é¢é£ä»ããæ¹æ³ãããããŸããã ããšãã°ããã«ããã£ã¹ãããŠã³ãªã³ã¯ãOTAAããã€ã¹ã«å°éããæ¹æ³ãæ確ã§ãªããããOTAAããã€ã¹ãè¿œå ã§ãããã«ããã£ã¹ãã°ã«ãŒãïŒMcAddressãšMckeysãå«ãïŒã確èªããããšæããŸãã
ãææ°ããããããŸããããããããé¡ãããããŸãã
@MatteMoveSRL代ããã«ãmosquitto_pubããŠã³ãªã³ã¯ã®åçã¯æ£ããã§ããïŒ ç©ççãªOTAAãšã³ãããã€ã¹ã«äœãå°çããŠããªãã®ã§
éå»ã®çµ¶å¯Ÿæéã¯å¥ãšããŠãããã¯ééãã§ã¯ãããŸããã
ãããã gtwid
ã¯æ¥ç¶ãããã²ãŒããŠã§ã€ã§ããïŒ ã²ãŒããŠã§ã€ãã©ãã£ãã¯ãèŠããšãã³ã³ãœãŒã«ã§ããŠã³ãªã³ã¯ãã¹ã±ãžã¥ãŒã«ãããŠããããšãããããŸããïŒ
@MatteMoveSRLã³ã³ãœãŒã«ãä»ããŠOTAAããã€ã¹ããã«ããã£ã¹ãã°ã«ãŒãã«é¢é£ä»ããæ¹æ³ãããããŸããã ããšãã°ããã«ããã£ã¹ãããŠã³ãªã³ã¯ãOTAAããã€ã¹ã«å°éããæ¹æ³ãæ確ã§ãªããããOTAAããã€ã¹ãè¿œå ã§ãããã«ããã£ã¹ãã°ã«ãŒãïŒMcAddressãšMckeysãå«ãïŒã確èªããããšæããŸãã
ã¢ããªã±ãŒã·ã§ã³ãµãŒããŒã«ã¯ããªã¢ãŒããã«ããã£ã¹ãã»ããã¢ãããããã³ã«ã¯ãŸã å®è£ ãããŠããŸããã ãããã£ãŠããããçžé¢ãããããšã¯ãããŸããã ãã«ããã£ã¹ãããã€ã¹ã¯ä»®æ³ããã€ã¹ã§ãã ãšã³ãããã€ã¹ããŠããã£ã¹ããã£ãã«ãšãã«ããã£ã¹ããã£ãã«ã®äž¡æ¹ã§ããŠã³ãªã³ã¯ãç解ããŠããå Žåã¯ãåé¡ãªãã¯ãã§ãã
@johanstokkingè¿ éãªè¿ä¿¡ããããšãããããŸã
ããããgtwidã¯æ¥ç¶ãããã²ãŒããŠã§ã€ã§ããïŒ
ã¯ããã²ãŒããŠã§ã€ãæ¥ç¶ãããŠãããmosquittoã³ãã³ãã§ãgtwidãã®ä»£ããã«ãgw-testãã䜿çšããŸããã
ã²ãŒããŠã§ã€ãã©ãã£ãã¯ãèŠããšãã³ã³ãœãŒã«ã§ããŠã³ãªã³ã¯ãã¹ã±ãžã¥ãŒã«ãããŠããããšãããããŸããïŒ
ããããã²ãŒããŠã§ã€ã®ãã©ã€ãããŒã¿ãã«ããŠã³ãªã³ã¯ãå°çããŠããŸãããã代ããã«ãã¢ããªã±ãŒã·ã§ã³ãfooãã®ãã©ã€ãããŒã¿ãã»ã¯ã·ã§ã³ã«ããŒã¿ãå°çããŠããŸãã
ãšã³ãããã€ã¹ããŠããã£ã¹ããã£ãã«ãšãã«ããã£ã¹ããã£ãã«ã®äž¡æ¹ã§ããŠã³ãªã³ã¯ãç解ããŠããå Žåã¯ãåé¡ãªãã¯ãã§ãã
ã€ãŸããããŠã³ãªã³ã¯ã¡ãã»ãŒãžã¯ã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ã®åé¡ã«é¢ãã質åã«ã¯åçããŸããã ãã®ããã®åé¡ãã³ãã¬ãŒããåç §ããŠãã ããã
æãåèã«ãªãã³ã¡ã³ã
ã§ã²ãŒããŠã§ã€ã€ãã³ããã°ããµãã¹ã¯ã©ã€ãããŠãã ããã
ãŸãããããã°ãã°ãæå¹ã«ããŸãïŒ
log.level: debug
ïŒã次ã«ãããŠã³ãªã³ã¯ã¡ãã»ãŒãžãã¹ã±ãžã¥ãŒã«ãããã°ãšã²ãŒããŠã§ã€ã€ãã³ããç£èŠããŸãã
ã¯ãããããLoRaWANã®ä»çµã¿ã§ãã ãã®ç¹å®ã®ããŒã¿ã¬ãŒãã§ãã®åšæ³¢æ°ããªãã¹ã³ããŠãããã¹ãŠã®ã¯ã©ã¹Cããã€ã¹ãã¡ãã»ãŒãžãåä¿¡ããŸãã ã¡ãã»ãŒãžã®DevAddrã調ã¹ãŠãã»ãã·ã§ã³ããŒãããïŒãã«ããã£ã¹ãïŒã»ãã·ã§ã³ãšäžèŽãããã©ããã確èªããŸãã ãããããªãã圌ãã¯ã¡ãã»ãŒãžãåŠçããNwkSKeyãMICãªã©ãšäžèŽãããã©ããã確èªããŸãã
ããããã°; é »åºŠãšããŒã¿ã¬ãŒããæ£ããããšã確èªããŸããïŒ ã¯ã©ã¹Cã¯ããã®ããã«RX2ãã©ã¡ãŒã¿ãŒã䜿çšããŸãã ãšã³ãããã€ã¹ã¯ããã«ããã£ã¹ãããŠã³ãªã³ã¯ãã¬ãŒã ã®ãããã®ãã©ã¡ãŒã¿ããªãã¹ã³ããå¿ èŠããããŸãã