Lorawan-stack: рдХрдВрд╕реЛрд▓ рдЯреНрд░реИрдлрд╝рд┐рдХ рджреГрд╢реНрдп рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз, рдЕрдкрд▓рд┐рдВрдХ рдФрд░ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджрд┐рдЦрд╛рдПрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 7 рдлрд╝рд░ре░ 2020  ┬╖  26рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: TheThingsNetwork/lorawan-stack

рд╕рд╛рд░рд╛рдВрд╢

рдХрдВрд╕реЛрд▓ рдЯреНрд░реИрдлрд╝рд┐рдХ рджреГрд╢реНрдп рдореЗрдВ рдХрдЪреНрдЪрд╛ рдФрд░ рдбрд┐рдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреЗрд▓реЛрдб рджрд┐рдЦрд╛рдПрдВ

рд╣рдореЗрдВ рдпрд╣ рдХреНрдпреЛрдВ рдЪрд╛рд╣рд┐рдпреЗ?

  • рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдбреЗрдЯрд╛ рдореЗрдВ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐
  • V2 рдХрдВрд╕реЛрд▓ рдХреЗ рд╕рд╛рде рдлрд╝реАрдЪрд░ рдореИрдЪ

рд╡рд╣рд╛рдВ рдкрд╣рд▓реЗ рд╕реЗ рдХреНрдпрд╛ рд╣реИ? рдЕрдм рдЖрдк рдХреНрдпрд╛ рджреЗрдЦрддреЗ рд╣реИрдВ?

рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкрдВрдХреНрддрд┐ рдЦреЛрд▓рддреЗ рд╕рдордп 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

рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд░рдЦрддреЗ рд╣реИрдВ?

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЬрд╛рджреВ

рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╕рдмрдорд┐рдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рд╕рдореАрдХреНрд╖рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдХреГрдкрдпрд╛ рд╕рдордиреНрд╡рдп рдХрд░реЗрдВ

console in progress uweb

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдорд╣рддреНрддрд╛ рдХрд╛ рдХреНрд░рдо;

  1. рдЕрдкрд▓рд┐рдВрдХ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП ids.join_eui , ids.dev_eui рдФрд░ ids.dev_addr рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдз, ids.dev_addr рдФрд░ uplink_message.frm_payload рдХрд╛ рд╣реЗрдХреНрд╕ рдбрд┐рд╕реНрдкреНрд▓реЗ
  2. рд╕реНрд╡рд░реВрдкрд┐рдд рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ (рдпрд╛рдиреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рднрд░реЗрдВ)
  3. рдбреАрдХреЛрдбреЗрдб рдкреЗрд▓реЛрдб JSON рджрд┐рдЦрд╛рдПрдВ

рд╕рднреА 26 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдпрд╣ "рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП"
рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдмрд╛рдЬрд╛рд░ рдкрд░ v3 рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рддреЗ рд╕рдордп рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ рдпрд╣ рдкрд╣рд▓реА рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдерд╛ред
рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ, рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдХрдм?

@industrialinternet рдЖрдкрдХреА рд░реБрдЪрд┐ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ рдлрд░рд╡рд░реА рдХреЗ рдореАрд▓ рдХреЗ рдкрддреНрдерд░ рдореЗрдВ рд╕реЗрдЯ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рд▓рдХреНрд╖реНрдп рдЗрд╕реЗ рдЗрд╕реА рдорд╣реАрдиреЗ рдкреВрд░рд╛ рдХрд░рдирд╛ рд╣реИред рдХреГрдкрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ рдФрд░ рд╢реАрд░реНрд╖ рдкрд░ рджреЗрдЦреЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ, рдХрдо рд╕реЗ рдХрдо рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рдЗрд╕ рднрдВрдбрд╛рд░ рдХреЛ рджреЗрдЦреЗрдВ, рддрд╛рдХрд┐ рдЖрдк рдЬрд╛рди рд╕рдХреЗрдВ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рд░рд┐рд▓реАрдЬ рдореЗрдВ рдЖрддрд╛ рд╣реИред

@johanstokking

рдШрдЯрдирд╛ рдирд┐рдХрд╛рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдорддрд▓рдм рдпрд╣рд╛рдВ as.up.data.forward рд╣реИ?

  1. рдХреНрдпрд╛ рд╣рдо рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдлрд╝реАрд▓реНрдб рдкреНрд░рддреНрдпреЗрдХ рдИрд╡реЗрдВрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдореМрдЬреВрдж рд╣реИрдВ (рдпрджрд┐ рдИрд╡реЗрдВрдЯ рдСрдкрд░реЗрд╢рди рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИ)?
  2. рдИрд╡реЗрдВрдЯ рд╡рд┐рдЬреЗрдЯ рдШрдЯрдХ (рдЗрдХрд╛рдИ рдЕрд╡рд▓реЛрдХрди рдкреГрд╖реНрдареЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ) рдореЗрдВ рдХреМрди рд╕реЗ рдлрд╝реАрд▓реНрдб рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП?
    Screenshot 2020-02-10 at 15 35 28
  3. decoded_payload рд╡рд╕реНрддреБ рдХрд┐рддрдиреА рдмрдбрд╝реА рд╣реЛ рд╕рдХрддреА рд╣реИ? рдкреВрдЫ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдЗрд╡реЗрдВрдЯ ui рдореЗрдВ рдЫреЛрдЯрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдорддрд▓рдм рдпрд╣рд╛рдВ as.up.data.forward рд╣реИ?

рдЖрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдордиреЗ рдЙрдиреНрд╣реЗрдВ as.up.join.forward рдФрд░ as.up.data.forward рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдФрд░ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╕рднреА рдбрд╛рдЙрдирд▓рд┐рдВрдХ рдИрд╡реЗрдВрдЯ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВ (рдЕрднреА рддрдХ)ред

  1. рдХреНрдпрд╛ рд╣рдо рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдлрд╝реАрд▓реНрдб рдкреНрд░рддреНрдпреЗрдХ рдИрд╡реЗрдВрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдореМрдЬреВрдж рд╣реИрдВ (рдпрджрд┐ рдИрд╡реЗрдВрдЯ рдСрдкрд░реЗрд╢рди рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИ)?
  • frm_payload рд╣рдореЗрд╢рд╛ as.up.data.forward рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди decoded_payload рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ
  • рдбрд┐рд╡рд╛рдЗрд╕ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣рдореЗрд╢рд╛ as.up.join.forward . рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВ

2. рдИрд╡реЗрдВрдЯ рд╡рд┐рдЬреЗрдЯ рдШрдЯрдХ (рдЗрдХрд╛рдИ рдЕрд╡рд▓реЛрдХрди рдкреГрд╖реНрдареЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ) рдореЗрдВ рдХреМрди рд╕реЗ рдлрд╝реАрд▓реНрдб рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП?

рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдо рдЬрдЧрд╣ рд╣реИ, рдЖрдкрдХрд╛ рдорддрд▓рдм рд╣реИ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдбреАрдХреЛрдбреЗрдб рдкреЗрд▓реЛрдб рдЕрдкрд▓рд┐рдВрдХ, рдФрд░ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП DevEUI рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред

  1. decoded_payload рд╡рд╕реНрддреБ рдХрд┐рддрдиреА рдмрдбрд╝реА рд╣реЛ рд╕рдХрддреА рд╣реИ? рдкреВрдЫ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдЗрд╡реЗрдВрдЯ ui рдореЗрдВ рдЫреЛрдЯрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЗрд╕реЗ рдЫреЛрдЯрд╛ рдХрд░рдирд╛ рдареАрдХ рд╣реИред рдпрджрд┐ рдЖрдк рдкрдВрдХреНрддрд┐ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЗрд╕реЗ JSON рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдбрд┐рд╡рд╛рдЗрд╕ рдирд┐рд░реНрдорд╛рддрд╛ рдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡рд▓рдкрд░ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИред

рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХрд╛рдВрд╢ {"temperature": 21.5, "humidity": 62, "x": -1, "y": 5} . рдЬреИрд╕рд╛ рд╣реИ

рдпрд╣рд╛рдВ рдореВрд▓ рдЯрд┐рдкреНрдкрдгреА рдЕрдкрдбреЗрдЯ рдХреА рдЧрдИ

рд╣рд╛рдп рдЬреЛрд╣рд╛рди рдФрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдЕрдиреНрдп рд▓реЛрдЧ

рдпрд╣ рд╕реБрдирдХрд░ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛ рдХрд┐ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рдлрд░рд╡рд░реА рдХреЗ рд▓рд┐рдП "рдорд┐рд▓рд╕реНрдЯреЛрди" рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ V3 рдХрдВрд╕реЛрд▓ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░ рд░рд╣рд╛ рд╣реИ, рдпрд╣рд╛рдБ рдмрд╣реБрдд рдХреБрдЫ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреЗрд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЙрддреНрдкрд╛рдж рдмрдирд╛рдиреЗ рдХрд╛ рд╕рд░рд▓ рд╕рд╛рдзрди рд╣реИред рдФрд░ рдкреНрд░рд╢рд╛рд╕рди

1) рд╕рдВрдкреВрд░реНрдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдпрд╛ рдиреЛрдб рдХреЛ рдЕрд▓рдЧ рд╕реЗ рдбрд╛рдЙрдирд▓рд┐рдВрдХ рднреЗрдЬрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛
2) рдЕрдкрд▓рд┐рдВрдХ рдкреЗрд▓реЛрдб рдПрдЪрдИрдПрдХреНрд╕ рдХреЛ рджреЗрдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рдФрд░ рдЕрд▓рдЧ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдбреАрдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛
3) рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ fx рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкрджрд╛рдиреБрдХреНрд░рдоред рдорд╛рддрд╛-рдкрд┐рддрд╛/рдмрдЪреНрдЪреЗ/рдиреЛрдб

рднрд▓реЗ рд╣реА рд╣рдо рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреБрдбрд╝реЗ рдЯреАрдЯреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реЛрдВ, рдпрд╣ рдЖрд░ рдПрдВрдб рдбреА рдФрд░ рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣реЛрдЧрд╛ред

рд╡реИрд╕реЗ рднреА - рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдЕрдм рддрдХ рджреЛрд╕реНрддреЛрдВ :-)

рдмреАрдЖрд░
/рдП

рдорд╣рддреНрддрд╛ рдХрд╛ рдХреНрд░рдо;

  1. рдЕрдкрд▓рд┐рдВрдХ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП ids.join_eui , ids.dev_eui рдФрд░ ids.dev_addr рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдз, ids.dev_addr рдФрд░ uplink_message.frm_payload рдХрд╛ рд╣реЗрдХреНрд╕ рдбрд┐рд╕реНрдкреНрд▓реЗ
  2. рд╕реНрд╡рд░реВрдкрд┐рдд рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ (рдпрд╛рдиреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рднрд░реЗрдВ)
  3. рдбреАрдХреЛрдбреЗрдб рдкреЗрд▓реЛрдб JSON рджрд┐рдЦрд╛рдПрдВ

рдмрд╕ рдЪреАрдЬреЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

  • рдЬреБрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рд╡рд╛рд╣ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
  1. js.join.accept
  2. ns.up.join.forward
  3. ns.up.merge_metadata
  4. as.up.join.receive
  5. as.up.join.forward
    рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЗрд╕рдХрд╛ рдирд┐рдореНрди рджреГрд╢реНрдп рд╣реИ:

join-flow-otaa

рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рдХреНрд░рдо рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ: join_eui , dev_eui рдФрд░ dev_addr

рдЕрдкрд▓рд┐рдВрдХ рдкреНрд░рд╡рд╛рд╣ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

  1. ns.up.merge_metadata
  2. ns.up.data.forward
  3. as.up.data.receive
  4. as.up.data.forward

рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЗрд╕рдХрд╛ рдирд┐рдореНрди рджреГрд╢реНрдп рд╣реИ:

uplink-flow-otaa

рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рдХреНрд░рдо рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ: 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
}

рд╣рдо рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ
Screenshot 2020-03-24 at 17 21 33

рдпрд╛ рдЕрд╕рдлрд▓ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП ( ns.up.join.drop ):
Screenshot 2020-03-24 at 17 36 08

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдо рдкреЗрд▓реЛрдб рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдореЗрдВ рдореВрд▓, рдмрд┐рдирд╛ рдкреНрд░рд╛рд░реВрдк рд╡рд╛рд▓реА рддреНрд░реБрдЯрд┐ рд░рдЦрддреЗ рд╣реИрдВред рдпрд╣ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

  • рдбреАрдХреЛрдбреЗрдб рдкреЗрд▓реЛрдб рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИ - рдмрд╛рдж рдХреЗ рд▓рд┐рдП

@johanstokking @kschiffer рдпрд╣рд╛рдВ рдХреЛрдИ рд╕реБрдЭрд╛рд╡ рд╣реИ?

рдорд╣рд╛рди рдкрд╣рд▓рд╛ рдХрджрдо!

рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рдХреНрд░рдо рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ: join_eui , dev_eui рдФрд░ dev_addr

рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ/рдкреНрд░рд╢реНрди:

  1. рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ dev_addr рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрд▓рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рд╕рднреА рдЕрдкрд▓рд┐рдВрдХ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рднрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
  2. рдореИрдВ JoinEUI рдФрд░ DevEUI рдЬреИрд╕реЗ рдЫреЛрдЯреЗ рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рд╕рд╛рде JoinEUI рдФрд░ DevEUI рдХреЛ рдкреНрд░реАрдкреЗрдиреНрдб рдХрд░реВрдВрдЧрд╛ рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬрд╛рди рд╕рдХреЗрдВ рдХрд┐ рдХреМрди рд╕рд╛ рдЯреЗрдХреНрд╕реНрдЯ рд╣реИ
  3. рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рджрд┐рдЦрд╛рдПрдВ рдЬрд┐рд╕реЗ рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХрдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ (JS/NS/AS) рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдмрд╛рдж рдореЗрдВ рдФрд░ рдХреБрдЫ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рд╕рднреА рдШрдЯрдХ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ (рдЬреИрд╕реЗ рдХреЗрд╡рд▓ рдЬреЗрдПрд╕) рдФрд░ рд╣рдо рдЕрднреА рднреА рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ

рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рдХреНрд░рдо рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ: dev_addr рдФрд░ frm_payload ред

рдЕрдЪреНрдЫрд╛, рдпрд╣рд╛рдБ рднреА FRMPayload . рдХреЗ рд╕рд╛рде рдкреНрд░реАрдкреЗрдб рдХрд░реЗрдВ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЕрдкрд▓рд┐рдВрдХ рдкреНрд░рд╡рд╛рд╣ рдореЗрдВ рд╢реЗрд╖ рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП dev_addr рднреА рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рд╛рдВ, рд╡рд╣ рдмрд┐рдВрджреБ 1 рдКрдкрд░ рд╣реИред рдореИрдВ рдЗрд╕рд╕реЗ рд╕рд╣рдордд рд╣реВрдБред

рдореБрдЭреЗ рдпрд╣рд╛рдВ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реА рд╣реИ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬреНрдпрд╛рджрд╛ рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИ, рдЦрд╛рд╕рдХрд░ as.up.join.forward рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рдкреНрд░рд╡рд╛рд╣ рдореЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреЗрд╡рд▓ рдорд╛рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рд▓реЗрдмрд▓ рдЬреЛрдбрд╝рдиреЗ ( Dev Addr: .... ) рдФрд░ рднреА рдХрдо рдЬрдЧрд╣ рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗред

рдореИрдВ рдИрд╡реЗрдВрдЯ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп "рдлреЙрд░рд╡рд░реНрдб рдбреЗрдЯрд╛ рдЕрдкрд▓рд┐рдВрдХ рд╕рдВрджреЗрд╢" рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдПрдХ рдЖрдЗрдХрди (рдпрд╛ рдЖрдЗрдХрди; рдПрдПрд╕ + рдЕрдкрд▓рд┐рдВрдХ + рдбреЗрдЯрд╛) рдореЗрдВ рдмрджрд▓ рджреВрдВрдЧрд╛ред рдЕрдЧрд░ рд╣рдо рд╕рд╣рдордд рд╣реИрдВ рддреЛ рд╣рдо @pierrephz рдХреЛ рдЖрдЗрдХрди рдбрд┐рдЬрд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВред рд╕реАрд╕реА @kschiffer

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдо рдкреЗрд▓реЛрдб рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдореЗрдВ рдореВрд▓, рдмрд┐рдирд╛ рдкреНрд░рд╛рд░реВрдк рд╡рд╛рд▓реА рддреНрд░реБрдЯрд┐ рд░рдЦрддреЗ рд╣реИрдВред рдпрд╣ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рддреНрд░реБрдЯрд┐рдпреЛрдВ рдкрд░ рд╕рд╣рдордд

рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреА рдЬреЛрдбрд╝реА:

  • рдПрдХрд▓ рд╕рдВрд╕реНрдерд╛рдУрдВ (рдЕрдВрддрд┐рдо рдЙрдкрдХрд░рдгреЛрдВ, рдЧреЗрдЯрд╡реЗ) рдХреЗ рдбреЗрдЯрд╛ рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рд╣рдо Entity ID рдХреЙрд▓рдо рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмреЗрдорд╛рдиреА рд╣реИ
  • рдЕрдиреНрдпрдерд╛, Entity ID рдХреЙрд▓рдо рдХреЛ рдереЛрдбрд╝рд╛ рдФрд░ рдЫреЛрдЯрд╛ рдХрд░рддреЗ рд╣реИрдВ
  • рд╣рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рдмрд╛рд░реАрдХ рдЪрд┐рд╣реНрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрд╣рд╛рдВ, рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдШрдЯрдирд╛рдПрдВ (рд╕рд╛рдордЧреНрд░реА рдЖрдЗрдХрди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рдЖрдЗрдХрди рдвреВрдВрдврдирд╛ рдХрдард┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЬрд▓реНрдж рд╣реА рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдЖрдЗрдХрди рд╕реЗрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ cc @pierrephz )

    • рд╕рдВрдмрдВрдзрд┐рдд рдШрдЯрдирд╛рдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдлрд┐рд▓рд╣рд╛рд▓ рдХреЗ рд▓рд┐рдП link рдЖрдЗрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

  • рд╣рдореЗрдВ (рдЧреИрд░-рд╡рд┐рдЬреЗрдЯ) рдИрд╡реЗрдВрдЯ рдШрдЯрдХ рдореЗрдВ рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
  • рдХреБрдЫ рдИрд╡реЗрдВрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрджреЗрд╢ (рдЬрд╣рд╛рдБ рддрдХ рдореИрдВ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдБ) рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рд▓рдВрдмреЗ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ receive uplinke data message , рдХреНрдпрд╛ рдпрд╣ рдХреЗрд╡рд▓ receive uplink data рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛?
  • рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП <SafeInspector /> рдХреЗ рдФрд░ рднреА рд╕рдВрдХреАрд░реНрдг рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдХрд┐ рдкрдВрдХреНрддрд┐ рдХреА рдКрдВрдЪрд╛рдИ рдПрдХ рд╕рдорд╛рди рдмрдиреА рд░рд╣реЗ
  • рд╡рд░реНрддрдорд╛рди рдкреЗрд▓реЛрдб рдкреНрд░рд╛рд░реВрдк рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ frm_payload рдХреЛ рдкрд╛рдЗрдк рдХрд░рдирд╛ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдПрдХ-рдкрдВрдХреНрддрд┐ JSON (рд╕реНрдХреНрд░реАрди рдбрд┐рдЬрд╝рд╛рдЗрди рджреЗрдЦреЗрдВ) рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рд╣реЛрдЧрд╛ред рдореИрдВ рдЗрд╕реЗ рдлрд┐рд▓рд╣рд╛рд▓ рдХреЗ рд▓рд┐рдП рд╕реЛрдирд╛ рдЪрдврд╝рд╛рдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирддрд╛ рд╣реВрдВред

рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ dev_addr рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрд▓рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рд╕рднреА рдЕрдкрд▓рд┐рдВрдХ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рднрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдЖрдЗрдП рдЗрд╕реЗ Data рдХреЙрд▓рдо рдореЗрдВ рдПрдХ рдвреАрд▓реЗ рддрддреНрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред

рдореИрдВ JoinEUI рдФрд░ DevEUI рдХреЛ рдЫреЛрдЯреЗ рдЯреЗрдХреНрд╕реНрдЯ рдЬреИрд╕реЗ JoinEUI рдФрд░ DevEUI рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝ рджреВрдВрдЧрд╛ рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬрд╛рди рд╕рдХреЗрдВ рдХрд┐ рдХреМрди рд╕рд╛ рд╣реИ

рд╣рд╛рдВред @bafonins , рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдореЗрд░рд╛ рдорддрд▓рдм рд╕реБрд╕реНрдд рдерд╛ред рд╡рд╣рд╛рдВ рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред

рдореИрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп "рдлреЙрд░рд╡рд░реНрдб рдбреЗрдЯрд╛ рдЕрдкрд▓рд┐рдВрдХ рд╕рдВрджреЗрд╢" рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдПрдХ рдЖрдЗрдХрди (рдпрд╛ рдЖрдЗрдХрди; рдПрдПрд╕ + рдЕрдкрд▓рд┐рдВрдХ + рдбреЗрдЯрд╛) рдореЗрдВ рдмрджрд▓ рджреВрдВрдЧрд╛ред

"рдПрдХ рдкрд╛рда рдПрдХ рд╣рдЬрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рдЪрд┐рд╣реНрди рдХрд╣рддрд╛ рд╣реИ" . рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдИрд╡реЗрдВрдЯ рдкреНрд░рдХрд╛рд░ рдХреЙрд▓рдо рдХреЛ рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдХреЗрд╡рд▓ рдЖрдЗрдХрдиреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рдВрдкреНрд░реЗрд╖рд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред

рдпрд╣рд╛рдВ рджреЛ рд╕реНрдХреНрд░реАрди рдбрд┐рдЬрд╝рд╛рдЗрди рд╣реИрдВ рдЬреЛ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдореБрдЭреЗ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░рдд рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╕рдорд╛рдзрд╛рди рд╣реИред

Overview Copy
Singe Application Copy

рдПрдХрд▓ рд╕рдВрд╕реНрдерд╛рдУрдВ (рдЕрдВрддрд┐рдо рдЙрдкрдХрд░рдгреЛрдВ, рдЧреЗрдЯрд╡реЗ) рдХреЗ рдбреЗрдЯрд╛ рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рд╣рдо рдЗрдХрд╛рдИ рдЖрдИрдбреА рдХреЙрд▓рдо рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмреЗрдорд╛рдиреА рд╣реИ

рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ

рд╣рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдЖрдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рд╕реВрдХреНрд╖реНрдо рдЪрд┐рд╣реНрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрд╣рд╛рдВ, рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдо

рди рдХреЗрд╡рд▓ рдкреНрд░рд╡рд╛рд╣ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдПред рдореИрдХ рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╕реНрдЯрдо рдЖрдЗрдХрди рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ ( 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 рд╕рдВрд░реЗрдЦрд┐рдд рдирд╣реАрдВ рд╣реИ (рдпрд╣ рджрд╛рдИрдВ рдУрд░ рд╣реИ), рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдвреАрд▓рд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ?

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВред рд▓реЗрдХрд┐рди рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рдХрдиреНрд╡реЗрдВрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдПрдбреНрд░реЗрд╕ рдХреЛ рд╣рдореЗрд╢рд╛ рдкрд╣рд▓реЗ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рдорд░реНрдкрд┐рдд рдХреЙрд▓рдо рд╣реИ, рддреЛ рд╣рдо рдЕрдиреНрдп рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рди рдЦреЛ рджреЗрдВрдЧреЗ рдЬрд┐рдиреНрд╣реЗрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдкрддрд╛ рджрд┐рдЦрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рддреЛ рдЗрд╕реЗ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдпреЛрдЧреНрдп рд░рдЦрдиреЗ рдХрд╛ рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡:

  • рдЖрдЗрдП рдЕрднреА рдХреЗ рд▓рд┐рдП рдЖрдЗрдХрди рдФрд░ рдИрд╡реЗрдВрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрджреЗрд╢ рдХреЛ рд╕реНрдкрд░реНрд╢ рди рдХрд░реЗрдВ рдмрд▓реНрдХрд┐ рдПрдХ рдЕрд▓рдЧ PR . рдореЗрдВ рд╕реНрдкрд░реНрд╢ рдХрд░реЗрдВ
  • рдИрд╡реЗрдВрдЯ рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдвреАрд▓реЗ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рдХреЙрд▓рдо рдХреЗ рд▓рдЪреАрд▓реЗ рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

@bafonins рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЕрдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рдпрд╛ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рддреАрди рдЖрдЗрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╕реЗ, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдИрд╡реЗрдВрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдмрджрд▓рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣реВрдВрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд░рд┐рдХреНрддрд┐ рдХреА рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдИрд╡реЗрдВрдЯ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рд╕реНрдХреИрди рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛ рджреЗрдЧрд╛ред

рд╣рд╛рдБ, рдпрд╣ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рд╣реЛрдЧрд╛ред

рдЬрдм рд╣рдо рдЙрд╕ рдкрд░ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╕рд╣рд╕рдВрдмрдВрдз рдЖрдИрдбреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдореВрд╣реАрдХрд░рдг рдкрд░ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рджреЛрдиреЛрдВ рд░рд┐рдХреНрддрд┐ (рдКрд░реНрдзреНрд╡рд╛рдзрд░) рдЖрд╕рд╛рди рд╕реНрдХреИрдирд┐рдВрдЧ рдХреА рд╕реЗрд╡рд╛ рдХрд░реЗрдЧрд╛ред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВред рд▓реЗрдХрд┐рди рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рдХрдиреНрд╡реЗрдВрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдПрдбреНрд░реЗрд╕ рдХреЛ рд╣рдореЗрд╢рд╛ рдкрд╣рд▓реЗ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рдорд░реНрдкрд┐рдд рдХреЙрд▓рдо рд╣реИ, рддреЛ рд╣рдо рдЕрдиреНрдп рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рди рдЦреЛ рджреЗрдВрдЧреЗ рдЬрд┐рдиреНрд╣реЗрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдкрддрд╛ рджрд┐рдЦрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдареАрдХ рд╣реИ

рдХреБрдЫ рдЕрдкрдбреЗрдЯ:

  1. рд╣рдо рдбрд┐рд╡рд╛рдЗрд╕, рдЧреЗрдЯрд╡реЗ рдФрд░ рд╕рдВрдЧрдарди рдИрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП Entity ID рдХреЙрд▓рдо рдирд╣реАрдВ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВред рдХреЗрд╡рд▓ рдЖрд╡реЗрджрдиреЛрдВ рдХреЗ рд▓рд┐рдПред рдпрд╣ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдмрдЪрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдПред
  2. рддреНрд░реБрдЯрд┐ рдШрдЯрдирд╛:

Screenshot 2020-04-28 at 19 45 21

  1. рд╣рдо decoded_payload рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдпрджрд┐ рдореВрд▓реНрдпреЛрдВ рдХреА рд╕рд╛рджрд╛ рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред рд╕рд░рдгрд┐рдпреЛрдВ рдпрд╛ рд╡рд╕реНрддреБрдУрдВ рдЬреИрд╕реА рдХрд┐рд╕реА рднреА рдиреЗрд╕реНрдЯреЗрдб рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдирд╛ (рдореИрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдкрд╛рд▓рди рдХрд░реВрдВрдЧрд╛ рдЬреЛ рдкреЗрд▓реЛрдб рдорд╛рдиреЛрдВ рдореЗрдВ рд░рдВрдЧ рдЬреЛрдбрд╝рддрд╛ рд╣реИ)ред рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдкрд░ рд╣рдо frm_payload рдХреЛ рд╣реЗрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ:

Screenshot 2020-04-28 at 19 45 57

  1. рдпрд╣рд╛рдБ рд╢рд╛рдорд┐рд▓ рдкреНрд░рд╡рд╛рд╣ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
    (рдЖрд╡реЗрджрди рдШрдЯрдирд╛ рджреГрд╢реНрдп)

Screenshot 2020-04-28 at 19 46 30

(рдбрд┐рд╡рд╛рдЗрд╕ рдШрдЯрдирд╛ рджреГрд╢реНрдп)

Screenshot 2020-04-28 at 19 46 49

  1. AS рдбрд╛рдЙрдирд▓рд┐рдВрдХ рдИрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП frm_payload рд╣реЗрдХреНрд╕ рдореЗрдВ рджрд┐рдЦрд╛рдПрдВред рдпрд╣ рдХрдВрд╕реЛрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд╛рдЙрдирд▓рд┐рдВрдХ рд╢реЗрдбреНрдпреВрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдорджрджрдЧрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

Screenshot 2020-04-28 at 20 18 04

@johanstokking рдХреНрдпрд╛ рдХреБрдЫ рдФрд░ рд╣реИ? рдХреНрдпрд╛ рдРрд╕реА рдХреЛрдИ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдЧреЗрдЯрд╡реЗ рдИрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ ( gs.up.receive рдХреЗ рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо frm_payload f_cnt f_port рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ)?

рдорд╣рд╛рди!

рдХреБрдЫ рдЫреЛрдЯреА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ/рдкреНрд░рд╢реНрди;

  • AS рдЕрдкрд╕реНрдЯреНрд░реАрдо рдЗрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП, DevAddr . рднреА рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ
  • рдХреНрдпрд╛ рдЕрдм рдЗрд╡реЗрдВрдЯ рдХреЗ рдирд╛рдо рджрд┐рдЦрд╛ рд░рд╣реЗ рд╣реИрдВ?
  • рдореИрдВ рд▓реЛрд░рд╛рд╡рди рд╢рдмреНрдж DevAddr рдФрд░ FRMPayload . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛
  • рдбреАрдХреЛрдбреЗрдб рдкреЗрд▓реЛрдб рдЖрдорддреМрд░ рдкрд░ рдПрдХ рд╕рдкрд╛рдЯ рд╡рд╕реНрддреБ рд╣реЛрддреА рд╣реИ; {"temperature":21.5,"light":"on"} рдЖрджрд┐ред рдпрджрд┐ рдХреЛрдИ рдиреЗрд╕реНрдЯреЗрдб рдорд╛рди рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕реЗ рдЫреЛрдбрд╝ рд░рд╣рд╛ рд╣реВрдВ; рдпрд╛рдиреА {"nested":{...},"light":"on"}

рдЬреАрдПрд╕ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ;

  • рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдо LoRaWAN raw_payload рдХреЛ рдбрд┐рдХреЛрдб рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ GS рдХрд╛ LoRaWAN рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред GS LoRaWAN рдЖрдЗрдбреЗрдВрдЯрд┐рдлрд╝рд╛рдпрд░ (EUIs on join, DevAddr on uplink) рдХреЛ рдбреАрдХреЛрдб рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рджрд┐рдЦрд╛рдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди:

    • ~ рдЧрд░реАрдм рдЖрджрдореА рдХрд╛ рд╕рдорд╛рдзрд╛рди; рдЗрд╕реЗ рджрд░реНрд╢рдХ (рдХрдВрд╕реЛрд▓) рдкрд░ рдЫреЛрдбрд╝ рджреЗрдВред рд╣рдо V2 рдХрдВрд╕реЛрд▓ рдореЗрдВ рднреА рдпрд╣реА рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрдВрд╕реЛрд▓ рдореЗрдВ рд▓реЛрд░рд╛рд╡рди рддрд░реНрдХ рдЬреЛрдбрд╝рддрд╛ рд╣реИ~

    • ~ рдШрдЯрдирд╛ рдкреЗрд▓реЛрдб рдореЗрдВ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рддрд╛рд░ред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдо UplinkMessage рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ DeviceUplinkMessage рдЬреИрд╕рд╛ рдХреБрдЫ рдмрдирдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ UplinkMessage ~

    • рдкреЗрд▓реЛрдб рдХреЛ рдбреАрдХреЛрдб рдХрд░реЗрдВ, рдЕрдЧрд░ рдлреНрд░рдВрдЯ-рдПрдВрдб рдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ (рдмреЗрд╕рд┐рдХ рд╕реНрдЯреЗрд╢рди рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ PHYPayload рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рддрд╛ рд╣реИ)

  • рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдо рдХрдИ рдлреЙрд░рд╡рд░реНрдб рдЗрд╡реЗрдВрдЯ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрджрд┐ рдЬреАрдПрд╕ рдлреЙрд░рд╡рд░реНрдб рдЯреЗрдмрд▓ рдореЗрдВ рдХрдИ рд╣реЛрд╕реНрдЯ рд╣реИрдВ, рдпрд╛рдиреА рдПрдирдПрд╕ рдФрд░ рдкреИрдХреЗрдЯ рдмреНрд░реЛрдХрд░ред 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 рдЙрдкрд▓рдмреНрдз рд╣реИ:
Screenshot 2020-05-03 at 19 41 26

рдбреАрдХреЛрдбреЗрдб рдкреЗрд▓реЛрдб рдХреЗ рд╕рд╛рде рдЕрдкрд▓рд┐рдВрдХ:
Screenshot 2020-05-03 at 19 29 59

рд╡рд┐рдлрд▓ рдШрдЯрдирд╛:
Screenshot 2020-05-03 at 19 30 10

рдЕрдкрд▓рд┐рдВрдХ/рдбрд╛рдЙрдирд▓рд┐рдВрдХ рдИрд╡реЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ:
Screenshot 2020-05-03 at 19 34 02

рдЧреЗрдЯрд╡реЗ рдЕрдиреБрд░реЛрдз рдШрдЯрдирд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ:
Screenshot 2020-05-03 at 19 36 51

mac_payload рдХреЗ рд╕рд╛рде рдЧреЗрдЯрд╡реЗ рдЕрдкрд▓рд┐рдВрдХ :
Screenshot 2020-05-03 at 19 37 28

рд╡рд┐рд╕реНрдордпрдХрд╛рд░реА

рдПрдХ рдФрд░ рдЕрдиреБрд░реЛрдз; $#$ FRMPayload . рдХреА рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдирд╛ рд╕реЗ рдкрд╣рд▓реЗ рдХреГрдкрдпрд╛ FPort рдЬреЛрдбрд╝реЗрдВ

https://github.com/TheThingsNetwork/lorawan-stack/pull/2477 рджреНрд╡рд╛рд░рд╛ рдмрдВрдж

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

adriansmares picture adriansmares  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ecities picture ecities  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kschiffer picture kschiffer  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kschiffer picture kschiffer  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

w4tsn picture w4tsn  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ