рдХрдВрд╕реЛрд▓ рдЯреНрд░реИрдлрд╝рд┐рдХ рджреГрд╢реНрдп рдореЗрдВ рдХрдЪреНрдЪрд╛ рдФрд░ рдбрд┐рдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреЗрд▓реЛрдб рджрд┐рдЦрд╛рдПрдВ
рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкрдВрдХреНрддрд┐ рдЦреЛрд▓рддреЗ рд╕рдордп as.up.forward
рдореЗрдВ рдИрд╡реЗрдВрдЯ рдкреЗрд▓реЛрдб рдЙрдкрд▓рдмреНрдз рд╣реЛрддрд╛ рд╣реИред
as.up.data.forward
рдореЗрдВ frm_payload
(рдмрд╛рдЗрдЯреНрд╕) рдФрд░ decoded_payload
(рдСрдмреНрдЬреЗрдХреНрдЯ) рдлрд╝реАрд▓реНрдб рд╣реИрдВред рдореИрдВ рдкреВрд░реНрд╡ рдХреЛ рд╣реЗрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдФрд░ рдмрд╛рдж рд╡рд╛рд▓реЗ рдХреЛ рдПрдХ рдХреБрдВрдЬреА/рдореВрд▓реНрдп рд╡рд╕реНрддреБ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ (рдиреЛрдЯ; рдЗрд╕реЗ рдиреЗрд╕реНрдЯреЗрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ); рдкрдВрдХреНрддрд┐ рдореЗрдВред рдпрджрд┐ рдЖрдк рдкрдВрдХреНрддрд┐ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ рдкреЗрд▓реЛрдб рдлрд┐рд░ рд╕реЗ рджрд┐рдЦрд╛рдПрдВред ids.dev_addr
рднреА рджрд┐рдЦрд╛рдПрдВред
as.up.join.forward
$ рдХреЗ рд▓рд┐рдП рдкрдВрдХреНрддрд┐ рдореЗрдВ ids.join_eui
рдФрд░ ids.dev_eui
$ рджрд┐рдЦрд╛рдПрдВред
рдЬрдм рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реЛ, рддреЛ рд╕реНрд╡рд░реВрдкрд┐рдд рддреНрд░реБрдЯрд┐ ( message_format
рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде) рдХреЛ рд▓рд╛рд▓ рд░рдВрдЧ рдореЗрдВ рдпрд╛ рдХреБрдЫ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рд╣реБрдЖ рджрд┐рдЦрд╛рдПрдВред рд░реЗрдлрд░реА #1967
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЬрд╛рджреВ
рд╕рдореАрдХреНрд╖рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдХреГрдкрдпрд╛ рд╕рдордиреНрд╡рдп рдХрд░реЗрдВ
рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдпрд╣ "рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП"
рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдмрд╛рдЬрд╛рд░ рдкрд░ v3 рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рддреЗ рд╕рдордп рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ рдпрд╣ рдкрд╣рд▓реА рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдерд╛ред
рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ, рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдХрдм?
@industrialinternet рдЖрдкрдХреА рд░реБрдЪрд┐ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ рдлрд░рд╡рд░реА рдХреЗ рдореАрд▓ рдХреЗ рдкрддреНрдерд░ рдореЗрдВ рд╕реЗрдЯ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рд▓рдХреНрд╖реНрдп рдЗрд╕реЗ рдЗрд╕реА рдорд╣реАрдиреЗ рдкреВрд░рд╛ рдХрд░рдирд╛ рд╣реИред рдХреГрдкрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ рдФрд░ рд╢реАрд░реНрд╖ рдкрд░ рджреЗрдЦреЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ, рдХрдо рд╕реЗ рдХрдо рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рдЗрд╕ рднрдВрдбрд╛рд░ рдХреЛ рджреЗрдЦреЗрдВ, рддрд╛рдХрд┐ рдЖрдк рдЬрд╛рди рд╕рдХреЗрдВ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рд░рд┐рд▓реАрдЬ рдореЗрдВ рдЖрддрд╛ рд╣реИред
@johanstokking
рдШрдЯрдирд╛ рдирд┐рдХрд╛рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдорддрд▓рдм рдпрд╣рд╛рдВ as.up.data.forward
рд╣реИ?
decoded_payload
рд╡рд╕реНрддреБ рдХрд┐рддрдиреА рдмрдбрд╝реА рд╣реЛ рд╕рдХрддреА рд╣реИ? рдкреВрдЫ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдЗрд╡реЗрдВрдЯ ui рдореЗрдВ рдЫреЛрдЯрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИредрдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдорддрд▓рдм рдпрд╣рд╛рдВ
as.up.data.forward
рд╣реИ?
рдЖрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдордиреЗ рдЙрдиреНрд╣реЗрдВ as.up.join.forward
рдФрд░ as.up.data.forward
рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдФрд░ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╕рднреА рдбрд╛рдЙрдирд▓рд┐рдВрдХ рдИрд╡реЗрдВрдЯ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВ (рдЕрднреА рддрдХ)ред
- рдХреНрдпрд╛ рд╣рдо рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдлрд╝реАрд▓реНрдб рдкреНрд░рддреНрдпреЗрдХ рдИрд╡реЗрдВрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдореМрдЬреВрдж рд╣реИрдВ (рдпрджрд┐ рдИрд╡реЗрдВрдЯ рдСрдкрд░реЗрд╢рди рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИ)?
frm_payload
рд╣рдореЗрд╢рд╛ as.up.data.forward
рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди decoded_payload
рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИas.up.join.forward
. рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВ2. рдИрд╡реЗрдВрдЯ рд╡рд┐рдЬреЗрдЯ рдШрдЯрдХ (рдЗрдХрд╛рдИ рдЕрд╡рд▓реЛрдХрди рдкреГрд╖реНрдареЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ) рдореЗрдВ рдХреМрди рд╕реЗ рдлрд╝реАрд▓реНрдб рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП?
рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдо рдЬрдЧрд╣ рд╣реИ, рдЖрдкрдХрд╛ рдорддрд▓рдм рд╣реИ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдбреАрдХреЛрдбреЗрдб рдкреЗрд▓реЛрдб рдЕрдкрд▓рд┐рдВрдХ, рдФрд░ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП DevEUI рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред
decoded_payload
рд╡рд╕реНрддреБ рдХрд┐рддрдиреА рдмрдбрд╝реА рд╣реЛ рд╕рдХрддреА рд╣реИ? рдкреВрдЫ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдЗрд╡реЗрдВрдЯ ui рдореЗрдВ рдЫреЛрдЯрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЗрд╕реЗ рдЫреЛрдЯрд╛ рдХрд░рдирд╛ рдареАрдХ рд╣реИред рдпрджрд┐ рдЖрдк рдкрдВрдХреНрддрд┐ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЗрд╕реЗ JSON рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдбрд┐рд╡рд╛рдЗрд╕ рдирд┐рд░реНрдорд╛рддрд╛ рдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡рд▓рдкрд░ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИред
рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХрд╛рдВрд╢ {"temperature": 21.5, "humidity": 62, "x": -1, "y": 5}
. рдЬреИрд╕рд╛ рд╣реИ
рдпрд╣рд╛рдВ рдореВрд▓ рдЯрд┐рдкреНрдкрдгреА рдЕрдкрдбреЗрдЯ рдХреА рдЧрдИ
рд╣рд╛рдп рдЬреЛрд╣рд╛рди рдФрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдЕрдиреНрдп рд▓реЛрдЧ
рдпрд╣ рд╕реБрдирдХрд░ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛ рдХрд┐ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рдлрд░рд╡рд░реА рдХреЗ рд▓рд┐рдП "рдорд┐рд▓рд╕реНрдЯреЛрди" рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ V3 рдХрдВрд╕реЛрд▓ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░ рд░рд╣рд╛ рд╣реИ, рдпрд╣рд╛рдБ рдмрд╣реБрдд рдХреБрдЫ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреЗрд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЙрддреНрдкрд╛рдж рдмрдирд╛рдиреЗ рдХрд╛ рд╕рд░рд▓ рд╕рд╛рдзрди рд╣реИред рдФрд░ рдкреНрд░рд╢рд╛рд╕рди
1) рд╕рдВрдкреВрд░реНрдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдпрд╛ рдиреЛрдб рдХреЛ рдЕрд▓рдЧ рд╕реЗ рдбрд╛рдЙрдирд▓рд┐рдВрдХ рднреЗрдЬрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛
2) рдЕрдкрд▓рд┐рдВрдХ рдкреЗрд▓реЛрдб рдПрдЪрдИрдПрдХреНрд╕ рдХреЛ рджреЗрдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рдФрд░ рдЕрд▓рдЧ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдбреАрдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛
3) рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ fx рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкрджрд╛рдиреБрдХреНрд░рдоред рдорд╛рддрд╛-рдкрд┐рддрд╛/рдмрдЪреНрдЪреЗ/рдиреЛрдб
рднрд▓реЗ рд╣реА рд╣рдо рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреБрдбрд╝реЗ рдЯреАрдЯреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реЛрдВ, рдпрд╣ рдЖрд░ рдПрдВрдб рдбреА рдФрд░ рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣реЛрдЧрд╛ред
рд╡реИрд╕реЗ рднреА - рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдЕрдм рддрдХ рджреЛрд╕реНрддреЛрдВ :-)
рдмреАрдЖрд░
/рдП
рдорд╣рддреНрддрд╛ рдХрд╛ рдХреНрд░рдо;
ids.join_eui
, ids.dev_eui
рдФрд░ ids.dev_addr
рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдз, ids.dev_addr
рдФрд░ uplink_message.frm_payload
рдХрд╛ рд╣реЗрдХреНрд╕ рдбрд┐рд╕реНрдкреНрд▓реЗрдмрд╕ рдЪреАрдЬреЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
js.join.accept
ns.up.join.forward
ns.up.merge_metadata
as.up.join.receive
as.up.join.forward
рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рдХреНрд░рдо рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ: join_eui
, dev_eui
рдФрд░ dev_addr
рдЕрдкрд▓рд┐рдВрдХ рдкреНрд░рд╡рд╛рд╣ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
ns.up.merge_metadata
ns.up.data.forward
as.up.data.receive
as.up.data.forward
рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЗрд╕рдХрд╛ рдирд┐рдореНрди рджреГрд╢реНрдп рд╣реИ:
рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рдХреНрд░рдо рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ: dev_addr
рдФрд░ frm_payload
ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЕрдкрд▓рд┐рдВрдХ рдкреНрд░рд╡рд╛рд╣ рдореЗрдВ рд╢реЗрд╖ рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП dev_addr
рднреА рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдореБрдЭреЗ рдпрд╣рд╛рдВ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реА рд╣реИ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬреНрдпрд╛рджрд╛ рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИ, рдЦрд╛рд╕рдХрд░ as.up.join.forward
рдЗрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдЬреЙрдЗрди рдлреНрд▓реЛ рдореЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреЗрд╡рд▓ рдорд╛рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рд▓реЗрдмрд▓ рдЬреЛрдбрд╝рдиреЗ ( Dev Addr: ....
) рдФрд░ рднреА рдХрдо рдЬрдЧрд╣ рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗред
{
"namespace": "pkg/gatewayserver",
"name": "host_handle",
"message_format": "host `{host}` failed to handle message",
"attributes": {
"host": "cluster"
},
"cause": {
"namespace": "pkg/networkserver",
"name": "device_not_found",
"message_format": "device not found",
"correlation_id": "25407ee7f3cd4894aeeb23fecd4c4071",
"code": 5
},
"code": 5
}
рд╣рдо рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ
рдпрд╛ рдЕрд╕рдлрд▓ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП ( ns.up.join.drop
):
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдо рдкреЗрд▓реЛрдб рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдореЗрдВ рдореВрд▓, рдмрд┐рдирд╛ рдкреНрд░рд╛рд░реВрдк рд╡рд╛рд▓реА рддреНрд░реБрдЯрд┐ рд░рдЦрддреЗ рд╣реИрдВред рдпрд╣ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
@johanstokking @kschiffer рдпрд╣рд╛рдВ рдХреЛрдИ рд╕реБрдЭрд╛рд╡ рд╣реИ?
рдорд╣рд╛рди рдкрд╣рд▓рд╛ рдХрджрдо!
рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рдХреНрд░рдо рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ:
join_eui
,dev_eui
рдФрд░dev_addr
рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ/рдкреНрд░рд╢реНрди:
dev_addr
рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрд▓рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рд╕рднреА рдЕрдкрд▓рд┐рдВрдХ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рднрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?JoinEUI
рдФрд░ DevEUI
рдЬреИрд╕реЗ рдЫреЛрдЯреЗ рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рд╕рд╛рде JoinEUI рдФрд░ DevEUI рдХреЛ рдкреНрд░реАрдкреЗрдиреНрдб рдХрд░реВрдВрдЧрд╛ рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬрд╛рди рд╕рдХреЗрдВ рдХрд┐ рдХреМрди рд╕рд╛ рдЯреЗрдХреНрд╕реНрдЯ рд╣реИрдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рдХреНрд░рдо рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ:
dev_addr
рдФрд░frm_payload
ред
рдЕрдЪреНрдЫрд╛, рдпрд╣рд╛рдБ рднреА FRMPayload
. рдХреЗ рд╕рд╛рде рдкреНрд░реАрдкреЗрдб рдХрд░реЗрдВ
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЕрдкрд▓рд┐рдВрдХ рдкреНрд░рд╡рд╛рд╣ рдореЗрдВ рд╢реЗрд╖ рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП
dev_addr
рднреА рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рд╛рдВ, рд╡рд╣ рдмрд┐рдВрджреБ 1 рдКрдкрд░ рд╣реИред рдореИрдВ рдЗрд╕рд╕реЗ рд╕рд╣рдордд рд╣реВрдБред
рдореБрдЭреЗ рдпрд╣рд╛рдВ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реА рд╣реИ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬреНрдпрд╛рджрд╛ рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИ, рдЦрд╛рд╕рдХрд░
as.up.join.forward
рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рдкреНрд░рд╡рд╛рд╣ рдореЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреЗрд╡рд▓ рдорд╛рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рд▓реЗрдмрд▓ рдЬреЛрдбрд╝рдиреЗ (Dev Addr: ....
) рдФрд░ рднреА рдХрдо рдЬрдЧрд╣ рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗред
рдореИрдВ рдИрд╡реЗрдВрдЯ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп "рдлреЙрд░рд╡рд░реНрдб рдбреЗрдЯрд╛ рдЕрдкрд▓рд┐рдВрдХ рд╕рдВрджреЗрд╢" рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдПрдХ рдЖрдЗрдХрди (рдпрд╛ рдЖрдЗрдХрди; рдПрдПрд╕ + рдЕрдкрд▓рд┐рдВрдХ + рдбреЗрдЯрд╛) рдореЗрдВ рдмрджрд▓ рджреВрдВрдЧрд╛ред рдЕрдЧрд░ рд╣рдо рд╕рд╣рдордд рд╣реИрдВ рддреЛ рд╣рдо @pierrephz рдХреЛ рдЖрдЗрдХрди рдбрд┐рдЬрд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВред рд╕реАрд╕реА @kschiffer
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдо рдкреЗрд▓реЛрдб рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдореЗрдВ рдореВрд▓, рдмрд┐рдирд╛ рдкреНрд░рд╛рд░реВрдк рд╡рд╛рд▓реА рддреНрд░реБрдЯрд┐ рд░рдЦрддреЗ рд╣реИрдВред рдпрд╣ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рддреНрд░реБрдЯрд┐рдпреЛрдВ рдкрд░ рд╕рд╣рдордд
рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреА рдЬреЛрдбрд╝реА:
Entity ID
рдХреЙрд▓рдо рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмреЗрдорд╛рдиреА рд╣реИEntity ID
рдХреЙрд▓рдо рдХреЛ рдереЛрдбрд╝рд╛ рдФрд░ рдЫреЛрдЯрд╛ рдХрд░рддреЗ рд╣реИрдВlink
рдЖрдЗрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВreceive uplinke data message
, рдХреНрдпрд╛ рдпрд╣ рдХреЗрд╡рд▓ receive uplink data
рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛?<SafeInspector />
рдХреЗ рдФрд░ рднреА рд╕рдВрдХреАрд░реНрдг рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдХрд┐ рдкрдВрдХреНрддрд┐ рдХреА рдКрдВрдЪрд╛рдИ рдПрдХ рд╕рдорд╛рди рдмрдиреА рд░рд╣реЗfrm_payload
рдХреЛ рдкрд╛рдЗрдк рдХрд░рдирд╛ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдПрдХ-рдкрдВрдХреНрддрд┐ JSON (рд╕реНрдХреНрд░реАрди рдбрд┐рдЬрд╝рд╛рдЗрди рджреЗрдЦреЗрдВ) рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рд╣реЛрдЧрд╛ред рдореИрдВ рдЗрд╕реЗ рдлрд┐рд▓рд╣рд╛рд▓ рдХреЗ рд▓рд┐рдП рд╕реЛрдирд╛ рдЪрдврд╝рд╛рдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирддрд╛ рд╣реВрдВредрдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ dev_addr рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрд▓рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рд╕рднреА рдЕрдкрд▓рд┐рдВрдХ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рднрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдЖрдЗрдП рдЗрд╕реЗ Data
рдХреЙрд▓рдо рдореЗрдВ рдПрдХ рдвреАрд▓реЗ рддрддреНрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред
рдореИрдВ JoinEUI рдФрд░ DevEUI рдХреЛ рдЫреЛрдЯреЗ рдЯреЗрдХреНрд╕реНрдЯ рдЬреИрд╕реЗ JoinEUI рдФрд░ DevEUI рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝ рджреВрдВрдЧрд╛ рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬрд╛рди рд╕рдХреЗрдВ рдХрд┐ рдХреМрди рд╕рд╛ рд╣реИ
рд╣рд╛рдВред @bafonins , рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдореЗрд░рд╛ рдорддрд▓рдм рд╕реБрд╕реНрдд рдерд╛ред рд╡рд╣рд╛рдВ рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред
рдореИрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп "рдлреЙрд░рд╡рд░реНрдб рдбреЗрдЯрд╛ рдЕрдкрд▓рд┐рдВрдХ рд╕рдВрджреЗрд╢" рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдПрдХ рдЖрдЗрдХрди (рдпрд╛ рдЖрдЗрдХрди; рдПрдПрд╕ + рдЕрдкрд▓рд┐рдВрдХ + рдбреЗрдЯрд╛) рдореЗрдВ рдмрджрд▓ рджреВрдВрдЧрд╛ред
"рдПрдХ рдкрд╛рда рдПрдХ рд╣рдЬрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рдЪрд┐рд╣реНрди рдХрд╣рддрд╛ рд╣реИ" . рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдИрд╡реЗрдВрдЯ рдкреНрд░рдХрд╛рд░ рдХреЙрд▓рдо рдХреЛ рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдХреЗрд╡рд▓ рдЖрдЗрдХрдиреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рдВрдкреНрд░реЗрд╖рд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред
рдпрд╣рд╛рдВ рджреЛ рд╕реНрдХреНрд░реАрди рдбрд┐рдЬрд╝рд╛рдЗрди рд╣реИрдВ рдЬреЛ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдореБрдЭреЗ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░рдд рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╕рдорд╛рдзрд╛рди рд╣реИред
рдПрдХрд▓ рд╕рдВрд╕реНрдерд╛рдУрдВ (рдЕрдВрддрд┐рдо рдЙрдкрдХрд░рдгреЛрдВ, рдЧреЗрдЯрд╡реЗ) рдХреЗ рдбреЗрдЯрд╛ рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рд╣рдо рдЗрдХрд╛рдИ рдЖрдИрдбреА рдХреЙрд▓рдо рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмреЗрдорд╛рдиреА рд╣реИ
рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ
рд╣рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдЖрдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рд╕реВрдХреНрд╖реНрдо рдЪрд┐рд╣реНрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрд╣рд╛рдВ, рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдо
рди рдХреЗрд╡рд▓ рдкреНрд░рд╡рд╛рд╣ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдПред рдореИрдХ рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╕реНрдЯрдо рдЖрдЗрдХрди рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ ( ns.mac.*
)ред
рдХреБрдЫ рдИрд╡реЗрдВрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрджреЗрд╢ (рдЬрд╣рд╛рдБ рддрдХ рдореИрдВ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдБ) рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рд▓рдВрдмреЗ рд╣реЛрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЕрдкрд▓рд┐рдВрдХ рдбреЗрдЯрд╛ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛, рдХреНрдпрд╛ рдпрд╣ рдХреЗрд╡рд▓ рдЕрдкрд▓рд┐рдВрдХ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?
рд╕рд╣рдордд рд╣реВрдВ, рдпрд╣ рдХрдИ рддреНрд░реБрдЯрд┐ рд╡рд┐рд╡рд░рдгреЛрдВ рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреА рдмрд╛рдд рд╣реИред рдпрд╣ receive uplink data
рдпрд╛ receive uplink message
рд╣реЛ рд╕рдХрддрд╛ рд╣реИред @johanstokking рдЖрдкрдХреЛ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ?
рд╡рд░реНрддрдорд╛рди рдкреЗрд▓реЛрдб рдкреНрд░рд╛рд░реВрдк рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ frm_payload рдХреЛ рдкрд╛рдЗрдк рдХрд░рдирд╛ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдПрдХ-рдкрдВрдХреНрддрд┐ JSON (рд╕реНрдХреНрд░реАрди рдбрд┐рдЬрд╝рд╛рдЗрди рджреЗрдЦреЗрдВ) рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рд╣реЛрдЧрд╛ред
рд╣рдо decoded_payload
рд╕реАрдзреЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣реИ рдирд╛? рдЕрдкрд▓рд┐рдВрдХ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП ApplicationUp
рдХреА рд╕рдВрд░рдЪрдирд╛ рд╣реИ:
{
"uplink_message": {
...
"frm_payload": "AQ==",
"decoded_payload": {
"led": "ON"
}
...
}
рдореИрдВ JoinEUI рдФрд░ DevEUI рдХреЛ рдЫреЛрдЯреЗ рдЯреЗрдХреНрд╕реНрдЯ рдЬреИрд╕реЗ JoinEUI рдФрд░ DevEUI рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝ рджреВрдВрдЧрд╛ рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬрд╛рди рд╕рдХреЗрдВ рдХрд┐ рдХреМрди рд╕рд╛ рд╣реИ
рд╣рд╛рдВред @bafonins , рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдореЗрд░рд╛ рдорддрд▓рдм рд╕реБрд╕реНрдд рдерд╛ред рд╡рд╣рд╛рдВ рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред
рдореИрдВ
рди рдХреЗрд╡рд▓ рдкреНрд░рд╡рд╛рд╣ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдПред рдореИрдХ рдХрдорд╛рдВрдб (ns.mac.*) рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╕реНрдЯрдо рдЖрдЗрдХрди рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВред
рд╣рдо рд╕реАрдзреЗ рдбреАрдХреЛрдбреЗрдб_рдкреЗрд▓реЛрдб рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣реИ рдирд╛? рдЕрдкрд▓рд┐рдВрдХ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП ApplicationUp рдХреА рд╕рдВрд░рдЪрдирд╛ рд╣реИ:
рдУрд╣, рдмрд┐рд▓реНрдХреБрд▓ тАН
- рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
receive uplinke data message
, рдХреНрдпрд╛ рдпрд╣ рд╕рд┐рд░реНрдлreceive uplink data
рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛?
рд╣рд╛рдВред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ "рдкреНрд░рд╛рдкреНрдд" рдмрдирд╛рдо "рдЖрдЧреЗ" рдмрдирд╛рдо "рднреЗрдЬреЗрдВ" рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдЗрдХрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?
рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдИрд╡реЗрдВрдЯ рдкреНрд░рдХрд╛рд░ рдХреЙрд▓рдо рдХреЛ рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдХреЗрд╡рд▓ рдЖрдЗрдХрдиреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рдВрдкреНрд░реЗрд╖рд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред
рди рдХреЗрд╡рд▓, рдмрд▓реНрдХрд┐ рдЬреИрд╕рд╛ рдЖрдкрдиреЗ рднреА рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рд╣реИ, рд╣рдо рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рдЪреАрдЬреЛрдВ рдХреЛ рдЪрд┐рд╣реНрдиреЛрдВ рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рд╣реИ рдирд╛?
рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ dev_addr рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрд▓рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рд╕рднреА рдЕрдкрд▓рд┐рдВрдХ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рднрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдЖрдЗрдП рдЗрд╕реЗ
Data
рдХреЙрд▓рдо рдореЗрдВ рдПрдХ рдвреАрд▓реЗ рддрддреНрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред
рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдбрд┐рд╡рд╛рдЗрд╕ рд╕рдХреНрд░рд┐рдпрдг рд╕рд╣рд┐рдд _every_ рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╕рдВрджреЗрд╢ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ (рдЬрд╣рд╛рдВ рд╣рдо рдирдпрд╛ DevAddr
рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ)ред рддреЛ рдЖрдкрдХреЗ рдкрд╣рд▓реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдореЗрдВ, DevAddr
рд╕рдВрд░реЗрдЦрд┐рдд рдирд╣реАрдВ рд╣реИ (рдпрд╣ рджрд╛рдИрдВ рдУрд░ рд╣реИ), рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдвреАрд▓рд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ?
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпреЗ рдбрд┐рдЬрд╝рд╛рдЗрди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫреЗ рдФрд░ рдорджрджрдЧрд╛рд░ рд▓рдЧрддреЗ рд╣реИрдВ
рд╣рд╛рдВред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ "рдкреНрд░рд╛рдкреНрдд" рдмрдирд╛рдо "рдЖрдЧреЗ" рдмрдирд╛рдо "рднреЗрдЬреЗрдВ" рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдЗрдХрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдпрд╛ рддреЛ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреЛ рдЖрдЗрдХрди рд╕реЗ рдмрджрд▓рдирд╛ рдЕрдзрд┐рдХ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛрдЧрд╛ред
рдореБрдЭреЗ рдЕрднреА рднреА рдЖрдЗрдЯрдо рджреНрд╡рд╛рд░рд╛ рдИрд╡реЗрдВрдЯ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд╕рд░реНрд╡реЛрддреНрддрдо рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рдЬреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ, рдЙрд╕рдореЗрдВ рддреАрди рдкрд░рддреЗрдВ рд╣реИрдВ рдЬреЛ рд╣реИрдВ: рд╕реНрдЯреИрдХ рдШрдЯрдХ, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдпрд╛ рд╡рд┐рд╖рдп рдФрд░ рдЪрд░рдг (рдЬреИрд╕реЗ ns.up.data.forward
)ред
рдЪреВрдВрдХрд┐ рдЗрд╕ рд╕рд╛рд░реА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдПрдХ рдЖрдЗрдХрди рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдпрд╛ рддреЛ рдХрдИ рдЖрдЗрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрд╛ рд╣рдореЗрд╢рд╛ рдХрд┐рд╕реА рдПрдХ рдШрдЯрдирд╛ рдкреНрд░рдХрд╛рд░ рдХреА рдкрд░рддреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬреИрд╕реЗ рд╡рд┐рд╖рдпред
рддреАрди рдЖрдЗрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╕реЗ, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдИрд╡реЗрдВрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдмрджрд▓рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣реВрдВрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд░рд┐рдХреНрддрд┐ рдХреА рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдИрд╡реЗрдВрдЯ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рд╕реНрдХреИрди рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛ рджреЗрдЧрд╛ред
рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╕рдВрджреЗрд╢ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдбрд┐рд╡рд╛рдЗрд╕ рд╕рдХреНрд░рд┐рдпрдг (рдЬрд╣рд╛рдВ рд╣рдо рдирдпрд╛ DevAddr рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ) рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рддреЛ рдЖрдкрдХреЗ рдкрд╣рд▓реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдореЗрдВ, DevAddr рд╕рдВрд░реЗрдЦрд┐рдд рдирд╣реАрдВ рд╣реИ (рдпрд╣ рджрд╛рдИрдВ рдУрд░ рд╣реИ), рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдвреАрд▓рд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ?
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВред рд▓реЗрдХрд┐рди рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рдХрдиреНрд╡реЗрдВрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдПрдбреНрд░реЗрд╕ рдХреЛ рд╣рдореЗрд╢рд╛ рдкрд╣рд▓реЗ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рдорд░реНрдкрд┐рдд рдХреЙрд▓рдо рд╣реИ, рддреЛ рд╣рдо рдЕрдиреНрдп рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рди рдЦреЛ рджреЗрдВрдЧреЗ рдЬрд┐рдиреНрд╣реЗрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдкрддрд╛ рджрд┐рдЦрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рддреЛ рдЗрд╕реЗ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдпреЛрдЧреНрдп рд░рдЦрдиреЗ рдХрд╛ рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡:
@bafonins рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЕрдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рдпрд╛ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рддреАрди рдЖрдЗрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╕реЗ, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдИрд╡реЗрдВрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдмрджрд▓рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣реВрдВрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд░рд┐рдХреНрддрд┐ рдХреА рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдИрд╡реЗрдВрдЯ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рд╕реНрдХреИрди рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛ рджреЗрдЧрд╛ред
рд╣рд╛рдБ, рдпрд╣ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рд╣реЛрдЧрд╛ред
рдЬрдм рд╣рдо рдЙрд╕ рдкрд░ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╕рд╣рд╕рдВрдмрдВрдз рдЖрдИрдбреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдореВрд╣реАрдХрд░рдг рдкрд░ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рджреЛрдиреЛрдВ рд░рд┐рдХреНрддрд┐ (рдКрд░реНрдзреНрд╡рд╛рдзрд░) рдЖрд╕рд╛рди рд╕реНрдХреИрдирд┐рдВрдЧ рдХреА рд╕реЗрд╡рд╛ рдХрд░реЗрдЧрд╛ред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВред рд▓реЗрдХрд┐рди рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рдХрдиреНрд╡реЗрдВрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдПрдбреНрд░реЗрд╕ рдХреЛ рд╣рдореЗрд╢рд╛ рдкрд╣рд▓реЗ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рдорд░реНрдкрд┐рдд рдХреЙрд▓рдо рд╣реИ, рддреЛ рд╣рдо рдЕрдиреНрдп рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рди рдЦреЛ рджреЗрдВрдЧреЗ рдЬрд┐рдиреНрд╣реЗрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдкрддрд╛ рджрд┐рдЦрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдареАрдХ рд╣реИ
рдХреБрдЫ рдЕрдкрдбреЗрдЯ:
Entity ID
рдХреЙрд▓рдо рдирд╣реАрдВ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВред рдХреЗрд╡рд▓ рдЖрд╡реЗрджрдиреЛрдВ рдХреЗ рд▓рд┐рдПред рдпрд╣ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдмрдЪрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдПредdecoded_payload
рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдпрджрд┐ рдореВрд▓реНрдпреЛрдВ рдХреА рд╕рд╛рджрд╛ рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред рд╕рд░рдгрд┐рдпреЛрдВ рдпрд╛ рд╡рд╕реНрддреБрдУрдВ рдЬреИрд╕реА рдХрд┐рд╕реА рднреА рдиреЗрд╕реНрдЯреЗрдб рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдирд╛ (рдореИрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдкрд╛рд▓рди рдХрд░реВрдВрдЧрд╛ рдЬреЛ рдкреЗрд▓реЛрдб рдорд╛рдиреЛрдВ рдореЗрдВ рд░рдВрдЧ рдЬреЛрдбрд╝рддрд╛ рд╣реИ)ред рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдкрд░ рд╣рдо frm_payload
рдХреЛ рд╣реЗрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ:(рдбрд┐рд╡рд╛рдЗрд╕ рдШрдЯрдирд╛ рджреГрд╢реНрдп)
frm_payload
рд╣реЗрдХреНрд╕ рдореЗрдВ рджрд┐рдЦрд╛рдПрдВред рдпрд╣ рдХрдВрд╕реЛрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд╛рдЙрдирд▓рд┐рдВрдХ рд╢реЗрдбреНрдпреВрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдорджрджрдЧрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:@johanstokking рдХреНрдпрд╛ рдХреБрдЫ рдФрд░ рд╣реИ? рдХреНрдпрд╛ рдРрд╕реА рдХреЛрдИ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдЧреЗрдЯрд╡реЗ рдИрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ ( gs.up.receive
рдХреЗ рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо frm_payload
f_cnt
f_port
рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ)?
рдорд╣рд╛рди!
рдХреБрдЫ рдЫреЛрдЯреА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ/рдкреНрд░рд╢реНрди;
DevAddr
. рднреА рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВDevAddr
рдФрд░ FRMPayload
. рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛{"temperature":21.5,"light":"on"}
рдЖрджрд┐ред рдпрджрд┐ рдХреЛрдИ рдиреЗрд╕реНрдЯреЗрдб рдорд╛рди рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕реЗ рдЫреЛрдбрд╝ рд░рд╣рд╛ рд╣реВрдВ; рдпрд╛рдиреА {"nested":{...},"light":"on"}
рдЬреАрдПрд╕ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ;
raw_payload
рдХреЛ рдбрд┐рдХреЛрдб рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ GS рдХрд╛ LoRaWAN рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред GS LoRaWAN рдЖрдЗрдбреЗрдВрдЯрд┐рдлрд╝рд╛рдпрд░ (EUIs on join, DevAddr on uplink) рдХреЛ рдбреАрдХреЛрдб рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рджрд┐рдЦрд╛рдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди:UplinkMessage
рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ DeviceUplinkMessage
рдЬреИрд╕рд╛ рдХреБрдЫ рдмрдирдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ UplinkMessage
~gs.up.forward
рдХреЗ рд▓рд┐рдП рдИрд╡реЗрдВрдЯ рдкреЗрд▓реЛрдб nil
рд╣реИред рд╣рдо рд╣реЛрд╕реНрдЯ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЯреЛ рд╕рдВрджреЗрд╢ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╣рдо рдПрдХ map[string]string{}
. рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ~ @htdvisser рдХреГрдкрдпрд╛ рдШрдЯрдирд╛ рдкреЗрд▓реЛрдб рдорд╛рдорд▓реЛрдВ рдкрд░ рд╕рд▓рд╛рд╣ рджреЗрдВ; рдпрд╣ рд╡рд┐рдХрд╛рд╕ рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдирд╣реАрдВ рдЖрддрд╛ рд╣реИред~
@johanstokking
AS рдЕрдкрд╕реНрдЯреНрд░реАрдо рдИрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП, DevAddr . рднреА рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ
рддреЛ, as.up.data.receive
, as.up.data.forward
рдХреЗ рд▓рд┐рдП? as.down.data.receive
рдФрд░ as.down.data.forward
рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕реЗ ns.up.data.*
рдХреЗ рд▓рд┐рдП рднреА рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдХреНрдпрд╛ рдЕрдм рдЗрд╡реЗрдВрдЯ рдХреЗ рдирд╛рдо рджрд┐рдЦрд╛ рд░рд╣реЗ рд╣реИрдВ?
рдирд╣реАрдВ, рд╣рдо рдкреВрд░реА рдШрдЯрдирд╛ рдХрд╛ рд╡рд┐рд╡рд░рдг рд╡реИрд╕реЗ рд╣реА рджрд┐рдЦрд╛рдПрдВрдЧреЗ рдЬреИрд╕реЗ рдЕрднреА рд╣реИред
рдореИрдВ рд▓реЛрд░рд╛рд╡рди рд╢рдмреНрджреЛрдВ рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ DevAddr рдФрд░ FRMPayload
рдЖрдкрдХрд╛ рдорддрд▓рдм Device Address
рдФрд░ Frame Payload
рдХреЗ рдмрдЬрд╛рдп рд╣реИ?
рдбреАрдХреЛрдбреЗрдб рдкреЗрд▓реЛрдб рдЖрдорддреМрд░ рдкрд░ рдПрдХ рд╕рдкрд╛рдЯ рд╡рд╕реНрддреБ рд╣реЛрддреА рд╣реИ; {"temperature":21.5,"light":"on"} рдЗрддреНрдпрд╛рджрд┐ред рдпрджрд┐ рдХреЛрдИ рдиреЗрд╕реНрдЯреЗрдб рдорд╛рди рд╣реИ, рддреЛ рдореИрдВ рдЙрд╕реЗ рдЫреЛрдбрд╝ рд░рд╣рд╛ рд╣реВрдВ; рдпрд╛рдиреА {"рдиреЗрд╕реНрдЯреЗрдб":{...},"рд▓рд╛рдЗрдЯ":"рдСрди"}
рдбрд┐рдЬрд╛рдЗрдиреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╣рдо рдХреЗрд╡рд▓ рдореВрд▓реНрдп рджрд┐рдЦрд╛рддреЗ рд╣реИрдВред рддреЛ, {"temperature":21.5,"light":"on"}
рдХреЗ рд▓рд┐рдП рд╣рдо [21.5, "on"]
рджрд┐рдЦрд╛рдПрдВрдЧреЗред рдХреНрдпрд╛ рдпрд╣ рдареАрдХ рд╣реИ?
рдЬреАрдПрд╕ рд▓реЛрд░рд╛рд╡рди рдЖрдЗрдбреЗрдВрдЯрд┐рдлрд╝рд╛рдпрд░ (рдИрдпреВрдЖрдИ рдСрди рдЬреЙрдЗрди, рджреЗрд╡рдПрдбреНрд░ рдСрди рдЕрдкрд▓рд┐рдВрдХ) рдХреЛ рдбрд┐рдХреЛрдб рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рджрд┐рдЦрд╛рдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рд╣рдо gs.up.receive
рдХреЗ рд▓рд┐рдП рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рд╣рдо EUI рдХреЛ рдпрд╣рд╛рдВ рд╕реЗ рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
"payload": {
"join_request_payload": {
"join_eui": "...",
"dev_eui": "..."
}
}
рдФрд░ рдЕрдкрд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рджреЗрд╡ рдпреЛрдЬрдХ рджрд┐рдЦрд╛рдПрдВ:
"payload": {
"mac_payload": {
"f_hdr": {
"dev_addr": "...",
}
}
}
рддреЛ,
as.up.data.receive
,as.up.data.forward
рдХреЗ рд▓рд┐рдП?as.down.data.receive
рдФрд░as.down.data.forward
рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕реЗns.up.data.*
рдХреЗ рд▓рд┐рдП рднреА рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рд╣рд╛рдВ, рдпрджрд┐ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдкреЗрд▓реЛрдб рдореЗрдВ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рджрд┐рдЦрд╛рдПрдВред
рдЖрдкрдХрд╛ рдорддрд▓рдм
Device Address
рдФрд░Frame Payload
рдХреЗ рдмрдЬрд╛рдп рд╣реИ?>
рд╣рд╛рдВ
рдбрд┐рдЬрд╛рдЗрдиреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╣рдо рдХреЗрд╡рд▓ рдореВрд▓реНрдп рджрд┐рдЦрд╛рддреЗ рд╣реИрдВред рддреЛ,
{"temperature":21.5,"light":"on"}
рдХреЗ рд▓рд┐рдП рд╣рдо[21.5, "on"]
рджрд┐рдЦрд╛рдПрдВрдЧреЗред рдХреНрдпрд╛ рдпрд╣ рдареАрдХ рд╣реИ?
рдирд╣реАрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдпрд╣рд╛рдВ рдЪрд╛рдмрд┐рдпреЛрдВ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдмрд╣реБрдд рд╕рд╛рд░реЗ рдорд╛рди рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рд╕рд╕реЗ рднреНрд░рдорд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдирдХреНрд╢рд╛ рд╣реИ, рдХреЛрдИ рдирд┐рд╢реНрдЪрд┐рдд рдХреНрд░рдо рдирд╣реАрдВ рд╣реИ (рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдЪрд╛рдмрд┐рдпреЛрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдорд╛рди рдирд╣реАрдВ рд▓реЗрдВрдЧреЗ)ред
рд╣рдо
gs.up.receive
рдХреЗ рд▓рд┐рдП рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рд╣рдо EUI рдХреЛ рдпрд╣рд╛рдВ рд╕реЗ рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
рд╣рд╛рдБ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрдиреНрд╣реЗрдВ рдкреЗрд▓реЛрдб рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рд╣реИ рдирд╛? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рдкреЗрд▓реЛрдб рд╣реИ:
{
"@type": "type.googleapis.com/ttn.lorawan.v3.UplinkMessage",
"raw_payload": "QOYAACeAws8CQ+4LarGLXmIEFQ==",
"settings": {
"data_rate": {
"lora": {
"bandwidth": 125000,
"spreading_factor": 7
}
},
"coding_rate": "4/5",
"frequency": "867900000",
"timestamp": 2986005427,
"time": "2020-04-29T07:57:06Z"
},
"rx_metadata": [
{
"gateway_ids": {
"gateway_id": "kerlink-ifemtocell",
"eui": "7276FF003903007D"
},
"time": "2020-04-29T07:57:06Z",
"timestamp": 2986005427,
"rssi": -28,
"channel_rssi": -28,
"snr": 8,
"uplink_token": "CiAKHgoSa2VybGluay1pZmVtdG9jZWxsEghydv8AOQMAfRCzp+uPCw==",
"channel_index": 4
}
],
"received_at": "2020-04-29T07:57:06.748570190Z",
"correlation_ids": [
"gs:conn:01E6VEV9V14WMAY1DW19BQQPMX",
"gs:uplink:01E72F0YSWJAKBYBJDBXG4CJ4G"
]
}
рд╣рд╛рдВ, рдпрджрд┐ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдкреЗрд▓реЛрдб рдореЗрдВ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рджрд┐рдЦрд╛рдПрдВ
рдкреЗрд▓реЛрдб рдЦрд╛рд▓реА рд╣реЛрдиреЗ рдкрд░ рд╣рдо рдИрд╡реЗрдВрдЯ рдХреЗ identifiers
рдлрд╝реАрд▓реНрдб рд╕реЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
"identifiers": [
{
"device_ids": {
"device_id": "...",
"application_ids": {
"application_id": "...",
},
"dev_eui": "...",
"join_eui": "...",
"dev_addr": "...",
},
},
],
рдирд╣реАрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдпрд╣рд╛рдВ рдЪрд╛рдмрд┐рдпреЛрдВ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдмрд╣реБрдд рд╕рд╛рд░реЗ рдорд╛рди рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рд╕рд╕реЗ рднреНрд░рдорд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдирдХреНрд╢рд╛ рд╣реИ, рдХреЛрдИ рдирд┐рд╢реНрдЪрд┐рдд рдХреНрд░рдо рдирд╣реАрдВ рд╣реИ (рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдЪрд╛рдмрд┐рдпреЛрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдорд╛рди рдирд╣реАрдВ рд▓реЗрдВрдЧреЗ)ред
рдореИрдВ
рд╣рд╛рдБ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрдиреНрд╣реЗрдВ рдкреЗрд▓реЛрдб рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рд╣реИ рдирд╛? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рдкреЗрд▓реЛрдб рд╣реИ:
рдореЗрд░реЗ рдкрд╛рд╕ receive uplink message
- gs.up.receive
рдХреЗ рд▓рд┐рдП рдпрд╣ рд╣реИ:
{
"@type": "type.googleapis.com/ttn.lorawan.v3.UplinkMessage",
"raw_payload": "AAEAUAEAy6BYiiAcAAujBAB5X7wJxJ0=",
"payload": {
"m_hdr": {},
"mic": "vAnEnQ==",
"join_request_payload": {
"join_eui": "...",
"dev_eui": "...",
"dev_nonce": "..."
}
},
"settings": {
"data_rate": {
"lora": {
"bandwidth": 125000,
"spreading_factor": 7
}
},
"coding_rate": "4/5",
"frequency": "868300000",
"timestamp": 3115131027,
"time": "2020-04-29T08:13:09.690629005Z"
},
"rx_metadata": [
{
"gateway_ids": {
"gateway_id": "bafonins-ttig",
"eui": "58A0CBFFFE8010D6"
},
"time": "2020-04-29T08:13:09.690629005Z",
"timestamp": 3115131027,
"rssi": -35,
"channel_rssi": -35,
"snr": 8.25,
"uplink_token": "ChsKGQoNYmFmb25pbnMtdHRpZxIIWKDL//6AENYQk8G0zQs="
}
],
"received_at": "2020-04-29T08:13:09.450967669Z",
"correlation_ids": [
"gs:conn:01E7140GJKZ5BKHMC774RV4C11",
"gs:uplink:01E72FYAYB272T9X90MJEZNEAX"
]
}
рдареАрдХ рд╣реИ, рд╣рд╛рдБ, рдЙрдиреНрд╣реЗрдВ рджрд┐рдЦрд╛рдУред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╡реЗ nil
рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рд▓рд┐рдП рдЦрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдкреЗрд▓реЛрдб рдХреЛ рдбреАрдХреЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреАрдПрд╕ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдРрд╕рд╛ рдЕрднреА рддрдХ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред
@johanstokking
рдИрдпреВрдЖрдИ рдХреЗ рд╕рд╛рде рдкреНрд░рд╡рд╛рд╣ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ рдЬрд╣рд╛рдВ join_request_payload
рдЙрдкрд▓рдмреНрдз рд╣реИ:
рдбреАрдХреЛрдбреЗрдб рдкреЗрд▓реЛрдб рдХреЗ рд╕рд╛рде рдЕрдкрд▓рд┐рдВрдХ:
рд╡рд┐рдлрд▓ рдШрдЯрдирд╛:
рдЕрдкрд▓рд┐рдВрдХ/рдбрд╛рдЙрдирд▓рд┐рдВрдХ рдИрд╡реЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ:
рдЧреЗрдЯрд╡реЗ рдЕрдиреБрд░реЛрдз рдШрдЯрдирд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ:
mac_payload
рдХреЗ рд╕рд╛рде рдЧреЗрдЯрд╡реЗ рдЕрдкрд▓рд┐рдВрдХ :
рд╡рд┐рд╕реНрдордпрдХрд╛рд░реА
рдПрдХ рдФрд░ рдЕрдиреБрд░реЛрдз; $#$ FRMPayload
. рдХреА рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдирд╛ рд╕реЗ рдкрд╣рд▓реЗ рдХреГрдкрдпрд╛ FPort
рдЬреЛрдбрд╝реЗрдВ
https://github.com/TheThingsNetwork/lorawan-stack/pull/2477 рджреНрд╡рд╛рд░рд╛ рдмрдВрдж
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдорд╣рддреНрддрд╛ рдХрд╛ рдХреНрд░рдо;
ids.join_eui
,ids.dev_eui
рдФрд░ids.dev_addr
рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдз,ids.dev_addr
рдФрд░uplink_message.frm_payload
рдХрд╛ рд╣реЗрдХреНрд╕ рдбрд┐рд╕реНрдкреНрд▓реЗ