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 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Бпасибо, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ это, это "Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ"
Π­Ρ‚ΠΎ Π±Ρ‹Π»Π° ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΎΡ†Π΅Π½ΠΊΠ΅ вСрсии 3 Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ AWS.
Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽ, Π΅ΡΡ‚ΡŒ ΠΈΠ΄Π΅ΠΈ, ΠΊΠΎΠ³Π΄Π°?

@industrialinternet спасибо Π·Π° проявлСнный интСрСс. Он установлСн Π² Ρ„Π΅Π²Ρ€Π°Π»ΡŒΡΠΊΠΎΠΌ Ρ€ΡƒΠ±Π΅ΠΆΠ΅, поэтому наша Ρ†Π΅Π»ΡŒ β€” Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² этом мСсяцС. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠ΄ΠΏΠΈΡˆΠΈΡ‚Π΅ΡΡŒ Π½Π° этот выпуск ΠΈ слСдитС Π·Π° этим Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Π·Π° выпусками, Π½Π°ΠΆΠ°Π² Β«Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒΒ» Π²Π²Π΅Ρ€Ρ…Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ Π·Π½Π°Π»ΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΠΏΠΎΠΏΠ°Π΄Π΅Ρ‚ Π² ΠΊΠ°ΠΊΠΎΠΉ выпуск.

@johanstokking

Рассмотрим Ρ‚Π΅Π»Π° событий .up.forward:

Π― Π΄ΡƒΠΌΠ°ΡŽ, Π²Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ as.up.data.forward здСсь?

  1. МоТСм Π»ΠΈ ΠΌΡ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π²Π°ΠΌΠΈ поля всСгда ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ (Ссли опСрация события ΠΏΡ€ΠΎΡˆΠ»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ) для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° события?
  2. КакиС поля Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° событий (ΠΎΠ΄Π½Π° ΠΈΠ· страниц ΠΎΠ±Π·ΠΎΡ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°)?
    Screenshot 2020-02-10 at 15 35 28
  3. Насколько большим ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ decoded_payload ? Π‘ΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ усСчСно Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ интСрфСйсС события.

Π― Π΄ΡƒΠΌΠ°ΡŽ, Π²Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ 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 ? Π‘ΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ усСчСно Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ интСрфСйсС события.

Π’ строкС ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π΅Π·Π°Ρ‚ΡŒ Π΅Π³ΠΎ. Если Π²Ρ‹ Ρ€Π°Π·Π²Π΅Ρ€Π½Π΅Ρ‚Π΅ строку, ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ JSON. На самом Π΄Π΅Π»Π΅ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ довольно большим, это зависит ΠΎΡ‚ производитСля устройства ΠΈΠ»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° прилоТСния.

Но Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ {"temperature": 21.5, "humidity": 62, "x": -1, "y": 5}

ОбновлСн ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ здСсь

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π™ΠΎΡ…Π°Π½ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, причастныС ΠΊ этому вопросу.

ΠŸΡ€ΠΈΡΡ‚Π½ΠΎ ΡΠ»Ρ‹ΡˆΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ вас, рСбята, Π΅ΡΡ‚ΡŒ "Π²Π΅Ρ…Π°" Π½Π° Ρ„Π΅Π²Ρ€Π°Π»ΡŒ.
Как ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, оцСнивая консоль V3, ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ здСсь с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ простых срСдств, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Ρ‹Π΄Π°ΡŽΡ‰ΠΈΠΉΡΡ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². ΠΈ администрация

1) Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ нисходящиС ссылки Π½Π° всС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡƒΠ·Π΅Π» ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ
2) Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ восходящСго ΠΊΠ°Π½Π°Π»Π° HEX ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅.
3) Какая-Ρ‚ΠΎ иСрархия для ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ fx. Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ/ΠΏΠΎΡ‚ΠΎΠΌΠΎΠΊ/ΡƒΠ·Π΅Π»

Π”Π°ΠΆΠ΅ Ссли ΠΌΡ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ TTI, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊ нашим собствСнным сСрвСрам, это станСт ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ для исслСдований ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°.

Π’ любом случаС - ΠΏΠΎΠΊΠ° Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ Ρ€Π°Π±ΠΎΡ‚Π°, ΠΏΠ°Ρ€Π΅Π½ΡŒ :-)

BR
/А

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ ваТности;

  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). Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ для событий ΠΏΠΎΠ·ΠΆΠ΅ ΠΈ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… кластСрах Π½Π΅ всС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ доступны (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для JS), Π° ΠΌΡ‹ всС Π΅Ρ‰Π΅ Ρ…ΠΎΡ‚ΠΈΠΌ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° порядок ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ²: dev_addr ΠΈ frm_payload .

Π₯ΠΎΡ€ΠΎΡˆΠΎ, здСсь Ρ‚ΠΎΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ FRMPayload

Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ dev_addr для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… событий Π² восходящСм ΠΏΠΎΡ‚ΠΎΠΊΠ΅.

Π”Π°, это ΠΏΡƒΠ½ΠΊΡ‚ 1 Π²Ρ‹ΡˆΠ΅. Π― согласСн с этим.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я здСсь Π²ΠΈΠΆΡƒ, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ нас Π½Π° самом Π΄Π΅Π»Π΅ Π½Π΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ мСста, особСнно для события as.up.join.forward Π² ΠΏΠΎΡ‚ΠΎΠΊΠ΅ соСдинСния. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, просто значСния Π½Π° самом Π΄Π΅Π»Π΅ Π½Π΅ Π΄Π°ΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠΊ ( Dev Addr: .... ) оставит Π΅Ρ‰Π΅ мСньшС мСста.

Π― Π±Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Π΅Π» ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ тСкст «сообщСниС восходящСй Π»ΠΈΠ½ΠΈΠΈ связи для пСрСсылки Π΄Π°Π½Π½Ρ‹Ρ…Β» Π² Π·Π½Π°Ρ‡ΠΎΠΊ (ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡ΠΊΠΈ; AS + восходящая линия связи + Π΄Π°Π½Π½Ρ‹Π΅), Π° Π½Π΅ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ тСкст события. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ @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 , Π½Π° самом Π΄Π΅Π»Π΅ это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ я ΠΈΠΌΠ΅Π» Π² Π²ΠΈΠ΄Ρƒ Π² slack. Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π΅ достаточно ясно выразился.

Π― Π±Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Π΅Π» ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ тСкст «сообщСниС восходящСй Π»ΠΈΠ½ΠΈΠΈ связи для пСрСсылки Π΄Π°Π½Π½Ρ‹Ρ…Β» Π² Π·Π½Π°Ρ‡ΠΎΠΊ (ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡ΠΊΠΈ; AS + восходящая линия связи + Π΄Π°Π½Π½Ρ‹Π΅).

«ВСкст Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ большС, Ρ‡Π΅ΠΌ тысяча ΠΈΠΊΠΎΠ½ΠΎΠΊΒ» πŸ˜…. Π― Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ столбСц Ρ‚ΠΈΠΏΠ° события Π² Π²ΠΈΠ΄Π΅ тСкста. НСвозмоТно ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ содСрТимоС ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π·Π½Π°Ρ‡ΠΊΠΎΠ².

Π’ΠΎΡ‚ Π΄Π²Π° Π΄ΠΈΠ·Π°ΠΉΠ½Π° экрана, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ я ΡΡ‡ΠΈΡ‚Π°ΡŽ ТизнСспособным Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ для уровня ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ устройств.

Overview Copy
Singe Application Copy

Π’ прСдставлСниях Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ устройства, ΡˆΠ»ΡŽΠ·Ρ‹) ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ столбСц Entity ID, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ являСтся ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ.

πŸ‘ ΠΈΠΌΠ΅Π΅Ρ‚ смысл

Нам Π½ΡƒΠΆΠ½Ρ‹ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ Π·Π½Π°Ρ‡ΠΊΠΈ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… событий, особСнно здСсь, событий, связанных с ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ соСдинСния.

НС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΏΠΎΡ‚ΠΎΠΊΠ° соСдинСний. Π‘Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ собствСнный Π·Π½Π°Ρ‡ΠΎΠΊ для ΠΊΠΎΠΌΠ°Π½Π΄ MAC ( 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 , Π½Π° самом Π΄Π΅Π»Π΅ это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ я ΠΈΠΌΠ΅Π» Π² Π²ΠΈΠ΄Ρƒ Π² slack. Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π΅ достаточно ясно выразился.

πŸ‘Œ

НС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΏΠΎΡ‚ΠΎΠΊΠ° соСдинСний. Π‘Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ΠΈΠΊΠΎΠ½ΠΊΡƒ для ΠΊΠΎΠΌΠ°Π½Π΄ MAC (ns.mac.*).

Π’Π΅Ρ€Π½ΠΎ.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ decoded_payload Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Π²Π΅Ρ€Π½ΠΎ? Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ApplicationUp для восходящих сообщСний:

О, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ πŸ€¦β€β™‚

  • Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ receive uplinke data message , Ρ€Π°Π·Π²Π΅ это Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ просто receive uplink data ?

Π΄Π°. Но ΠΌΠΎΠΆΠ΅ΠΌ Π»ΠΈ ΠΌΡ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π·Π½Π°Ρ‡ΠΎΠΊ для «получСния», «пСрСсылки» ΠΈ Β«ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈΒ» ΠΈ Ρ‚. Π΄.?

Π― Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ столбСц Ρ‚ΠΈΠΏΠ° события Π² Π²ΠΈΠ΄Π΅ тСкста. НСвозмоТно ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ содСрТимоС ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π·Π½Π°Ρ‡ΠΊΠΎΠ².

НС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, Π½ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ»ΠΈ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ Π·Π½Π°Ρ‡ΠΊΠ°ΠΌΠΈ, Π²Π΅Ρ€Π½ΠΎ?

МоТСм Π»ΠΈ ΠΌΡ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ столбСц для dev_addr ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ для всСх восходящих сообщСний ΠΈ присоСдинСний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ происходят?

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ это ΠΊΠ°ΠΊ свободный элСмСнт Π² столбСц Data .

Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ это Ρ‡Π°ΡΡ‚ΡŒ _ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ_ восходящСго сообщСния, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΡŽ устройства (Π³Π΄Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ 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. ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ frm_payload Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ для событий нисходящСго ΠΊΠ°Π½Π°Π»Π° AS. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для людСй, ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… нисходящиС ссылки Ρ‡Π΅Ρ€Π΅Π· консоль:

Screenshot 2020-04-28 at 20 18 04

@johanstokking Π•ΡΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΅Ρ‰Π΅? Π•ΡΡ‚ΡŒ Π»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ записи, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ для событий шлюза (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для gs.up.receive ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ frm_payload f_cnt f_port )?

Π—Π΄ΠΎΡ€ΠΎΠ²ΠΎ!

НСсколько ΠΌΠ΅Π»ΠΊΠΈΡ… Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠΉ/вопросов;

  • Для восходящих событий AS Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ DevAddr
  • ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π»ΠΈ названия событий сСйчас?
  • Π― Π±Ρ‹ использовал Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ LoRaWAN DevAddr ΠΈ FRMPayload
  • ДСкодированная полСзная Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ прСдставляСт собой плоский ΠΎΠ±ΡŠΠ΅ΠΊΡ‚; {"temperature":21.5,"light":"on"} ΠΈ Ρ‚. Π΄. Если Π΅ΡΡ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, я ΠΌΠΎΠ³Ρƒ Π΅Π³ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ; Ρ‚.Π΅. {"nested":{...},"light":"on"}

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для восходящих событий GS;

  • Π’ настоящСС врСмя ΠΌΡ‹ Π½Π΅ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅ΠΌ LoRaWAN raw_payload , ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ GS Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ (ΠΌΠ½ΠΎΠ³ΠΎ) ΠΎΠ±Ρ‰Π΅Π³ΠΎ с LoRaWAN. GS Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ LoRaWAN (EUI ΠΏΡ€ΠΈ присоСдинСнии, DevAddr ΠΏΡ€ΠΈ восходящСм ΠΊΠ°Π½Π°Π»Π΅), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ интСрСсно ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π² этом ΠΏΠΎΡ‚ΠΎΠΊΠ΅ для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ:

    • ~ РСшСниС бСдняка; ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ это Π½Π° усмотрСниС зритСля (консоли). Π­Ρ‚ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ ΠΈ Π² консоли V2. Π­Ρ‚ΠΎ Π½Π΅ идСально, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ добавляСт Π»ΠΎΠ³ΠΈΠΊΡƒ LoRaWAN Π² консоль~

    • ~ Каким-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Π² ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ события. Π’ настоящСС врСмя ΠΌΡ‹ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅ΠΌ UplinkMessage , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡ‚Π°Ρ‚ΡŒ Ρ‡Π΅ΠΌ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ DeviceUplinkMessage , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ UplinkMessage ~

    • Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ, Ссли внСшний интСрфСйс Π΅Ρ‰Π΅ этого Π½Π΅ сдСлал (Basic Station Π΄Π΅Π»Π°Π΅Ρ‚ это, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ рСконструируСт PHYPayload).

  • Π’ настоящСС врСмя ΠΌΡ‹ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅ΠΌ нСсколько событий пСрСадрСсации, Ссли Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ пСрСадрСсации GS Π΅ΡΡ‚ΡŒ нСсколько хостов, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ NS ΠΈ Packet Broker. ПолСзная Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° события для 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.* .

ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π»ΠΈ названия событий сСйчас?

НСт, ΠΌΡ‹ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ ΠΏΠΎΠ»Π½ΠΎΠ΅ описаниС события, ΠΊΠ°ΠΊ сСйчас.

Π― Π±Ρ‹ использовал Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ LoRaWAN DevAddr ΠΈ FRMPayload.

Π’Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ вмСсто Device Address ΠΈ Frame Payload ?

ДСкодированная полСзная Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ прСдставляСт собой плоский ΠΎΠ±ΡŠΠ΅ΠΊΡ‚; {"Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π°":21,5,"свСт":"Π²ΠΊΠ»"} ΠΈ Ρ‚. Π΄. Если Π΅ΡΡ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, я ΠΌΠΎΠ³Ρƒ Π΅Π³ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ; Ρ‚.Π΅. {"Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ":{...},"свСт":"Π²ΠΊΠ»ΡŽΡ‡Π΅Π½"}

Богласно ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ, ΠΌΡ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ значСния. Π˜Ρ‚Π°ΠΊ, для {"temperature":21.5,"light":"on"} ΠΌΡ‹ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ [21.5, "on"] . Π­Ρ‚ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ?

GS Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ LoRaWAN (EUI ΠΏΡ€ΠΈ присоСдинСнии, DevAddr ΠΏΡ€ΠΈ восходящСм ΠΊΠ°Π½Π°Π»Π΅), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ интСрСсно ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π² этом ΠΏΠΎΡ‚ΠΎΠΊΠ΅ для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ для gs.up.receive . Для запроса Π½Π° присоСдинСниС ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ EUI ΠΈΠ·:

  "payload": {
    "join_request_payload": {
      "join_eui": "...",
      "dev_eui": "..."
    }
  }

И ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ dev addr для исходящих ссылок ΠΈΠ·:

  "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 , Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΡƒΡ‡Ρ‚ΠΈΡ‚Π΅ это, Π½ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ GS для дСкодирования ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Ссли это Π΅Ρ‰Π΅ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ.

@johanstokking

ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΊ ΠΏΠΎΡ‚ΠΎΠΊΡƒ с eui, Π³Π΄Π΅ доступСн 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

Бобытия восходящСй/нисходящСй Π»ΠΈΠ½ΠΈΠΈ AS:
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

ΠŸΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰ΠΈΠΉ

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΡΡŒΠ±Π°; Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ FPort ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ FRMPayload

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ