https://github.com/TheThingsIndustries/lorawan-stack/issues/1971 μλ³Έ @laurensslats μμ μ΄λλ λ¬Έμ
λλ νμ¬ V3μ μλ V2 μ½μμ μ΄ κΈ°λ₯μ μ’μν©λλ€.
...
μ₯μΉκ° μλ μ€μ΄κ³ λ€νΈμν¬μμ λ°μ΄ν°λ₯Ό μ ννλμ§ μ¬λΆμ λν ν΅μ°°λ ₯μ μ 곡νλ―λ‘ μ½κ² λλ²κΉ ν μ μμ΅λλ€.
...
...
μ΄λ° 건 μ΄λ? Kevinμ λ§λ² UI μμ€μ ν¨κ»
...
ν¬λ‘¬
...
μ½μμ μΌλΆ νλ μΆκ°
...
@kschifferμ μμν λλκ° νμν©λλ€.
...
μ΄κ²μ΄ λμΌνμ§ νμ€νμ§ μμ§λ§ NSμ session
μ‘΄μ¬, νμ±ν λ μ§/μκ° λ° μ μ¬μ μΈ νλ μ μΉ΄μ΄ν°λ₯Ό λΉ λ₯΄κ² νμΈνλ©΄ λ§€μ° λμμ΄ λ κ²μ
λλ€.
@rvolosatovs λ NSμ "λ§μ§λ§μΌλ‘ λ³Έ" νμμ€ν¬νλ₯Ό μ μ§νκ³ μμ΅λκΉ?
@rvolosatovs λ NSμ "λ§μ§λ§μΌλ‘ λ³Έ" νμμ€ν¬νλ₯Ό μ μ§νκ³ μμ΅λκΉ?
μλμ, νμ§λ§ RecentUplinks
( RecentUplinks[len(RecentUplinks)-1].ReceivedAt
)μμ νμλ μ μμ΅λλ€.
@rvolosatovs λ NSμ "λ§μ§λ§μΌλ‘ λ³Έ" νμμ€ν¬νλ₯Ό μ μ§νκ³ μμ΅λκΉ?
μλμ, νμ§λ§
RecentUplinks
(RecentUplinks[len(RecentUplinks)-1].ReceivedAt
)μμ νμλ μ μμ΅λλ€.
κ·Έκ² λ΄κ° ν μΌμ΄μ§λ§ μμ ν κΈ°λ₯μ μν΄μλ μ΄λ²€νΈ μ€νΈλ¦Όμ μ°κ²°νμ¬ μ«μλ₯Ό μ€μκ°μΌλ‘ μ λ°μ΄νΈν΄μΌ νλ€κ³ μκ°νμ΅λλ€.
κ·Έκ² λ΄κ° ν μΌμ΄μ§λ§ μμ ν κΈ°λ₯μ μν΄μλ μ΄λ²€νΈ μ€νΈλ¦Όμ μ°κ²°νμ¬ μ«μλ₯Ό μ€μκ°μΌλ‘ μ λ°μ΄νΈν΄μΌ νλ€κ³ μκ°νμ΅λλ€.
μ΄λ° μμΌλ‘ ꡬννκΈ° μ μ @htdvisser μ κ·Ό λ°©μμ΄ μΆ©λΆν μ² μ νλ€κ³ μκ°νμλκΉ? μ λ§ν¬ λ€μ΄λ§ν¬ μ΄λ²€νΈμλ νμ¬ νλ μ μκ° ν¬ν¨λμ΄ μμ§ μμΌλ―λ‘ μ΅μ’ μ₯μΉ λ΄λΆμ μΈμ μνμμ μ»μ μ΄κΈ° κ°μ κΈ°λ°μΌλ‘ μ΄λ₯Ό μ¦κ°μμΌμΌ ν©λλ€.
κ·Έλ κ² κ° κΈΈμ΄ μλλλ€.
νλ μ μΉ΄μ΄ν°λ₯Ό ν¨κ» 보λ΄μ§ μμ΅λκΉ? κ·Έκ²μ΄ κ·Έλ μ§μ§ λ¬Έμ κ° λ κ²μ λλ€.
@rvolosatovs λ NSμ "λ§μ§λ§μΌλ‘ λ³Έ" νμμ€ν¬νλ₯Ό μ μ§νκ³ μμ΅λκΉ?
μλμ, νμ§λ§
RecentUplinks
(RecentUplinks[len(RecentUplinks)-1].ReceivedAt
)μμ νμλ μ μμ΅λλ€.κ·Έκ² λ΄κ° ν μΌμ΄μ§λ§ μμ ν κΈ°λ₯μ μν΄μλ μ΄λ²€νΈ μ€νΈλ¦Όμ μ°κ²°νμ¬ μ«μλ₯Ό μ€μκ°μΌλ‘ μ λ°μ΄νΈν΄μΌ νλ€κ³ μκ°νμ΅λλ€.
λΆννλ, 첫λμ 보μ΄λ κ²μ²λΌ κ°λ¨νμ§ μμ΅λλ€.
ResetsFCnt==true
κ° FCnt
μ체λ₯Ό μ¬μ€μ ν μ μλ μ₯μΉFCnt
μμ§ μ¬μ€μ νμ§ μκ³ μ¬κ²°ν©ν μ μμ΅λλ€. FCnt
λ λ€μμ μμ λ λ°μ΄ν° μ
λ§ν¬μμ μ¬μ©λλ μΈμ
ν€ IDμ λ°λΌ μ¬μ€μ λκ±°λ μ¦κ°λ©λλ€.FCnt
κ°μ λ°λμ μ€μ μ₯μΉ FCnt
νμλ μμ΅λλ€. μ
λ§ν¬μμ 16κ°μ LSBλ§ μ μ‘λλ λ°λ©΄ νλ μ μΉ΄μ΄ν°λ 32λΉνΈ λλΉμΌ μ μκΈ° λλ¬Έμ
λλ€.μ΄ λͺ¨λ κ²μ NSμ μν΄ μ²λ¦¬λλ©°(2. λΆλΆμ μΌλ‘ ASμ μν΄) μ½μμ΄ λμΌν μμ μ μνν κ²μ΄λΌκ³ μκ°νμ§ μμ΅λλ€.
μμΌλ‘μ λ°©λ²μ (1.) - ns.device.reset
λ° (2.) - ns.device.confirm_session
(λλ ns.device.rejoin
?)μ λν μ΄λ²€νΈλ₯Ό μΆκ°νλ κ²μ
λλ€.
(3.)μ κ²½μ° μ 체 FCnt
κ°μ μ½μμ μ λ¬νλ λ°©λ²μ μ°ΎμμΌ ν©λλ€. ns.up.data.match
λλ ns.up.data.handle
μ κ°μ΄ μ
λ§ν¬μ μ±κ³΅μ μΈ μ²λ¦¬λ₯Ό λνλ΄λ©° μ 체 FCnt
(λ° κ·Έ μ΄μ)λ₯Ό ν¬ν¨νλ λ€λ₯Έ μ΄λ²€νΈλ₯Ό μκ°ν μ μμ΅λλ€. ns.up.data.forward
λ μ¬κΈ°μμ κ΄λ ¨μ΄ μμΌλ©° λ¨μ§ ASλ‘ μ μ‘λλ μ
λ§ν¬λ₯Ό λνλ
λλ€. νμ¬ κ° μ
λ§ν¬μ μλͺ» κ²μλμ΄ μμΌλ©° μ΄μ μ€μ λ‘ AS(PR μμ )λ‘ μ λ¬λ λλ§ κ²μλ©λλ€. , AS μ
λ§ν¬ νμ΄λ‘λμλ μ 체 FCnt
κ° ν¬ν¨λμ§ μμ§λ§ μ
λ§ν¬μμ μ μ‘λ FCnt
(μ¦, 16LSB)
μ΄λ₯Ό ꡬλνκΈ° μν NS μ΄λ²€νΈμ λν κ²°λ‘ μ λλ¬ν λκΉμ§ μ°¨λ¨λλ©° μ΄λ NSμμ ꡬνλ©λλ€.
μ’μ, λλ μ΄κ²μ΄ νμ¬λ‘μλ μ€μ λ‘ μ€ν κ°λ₯νμ§ μλ€λ κ²μ μκ³ μμ΅λλ€. last seen
κ°μ μ΄λ»μ΅λκΉ? μ₯μΉ λ μ§μ€νΈλ¦¬μμ μ΄κΈ° κ°μ μ»μ λ€μ κ΄λ ¨ μ₯μΉ μ΄λ²€νΈ(μ: μ
λ§ν¬, νμΈλ λ€μ΄λ§ν¬ λ±)λ₯Ό ν΅ν΄ μ
λ°μ΄νΈλ μνλ‘ μ μ§νκΈ° μν΄ μ μ₯ν©λκΉ?
μ’μ, λλ μ΄κ²μ΄ νμ¬λ‘μλ μ€μ λ‘ μ€ν κ°λ₯νμ§ μλ€λ κ²μ μκ³ μμ΅λλ€.
last seen
κ°μ μ΄λ»μ΅λκΉ? μ₯μΉ λ μ§μ€νΈλ¦¬μμ μ΄κΈ° κ°μ μ»μ λ€μ κ΄λ ¨ μ₯μΉ μ΄λ²€νΈ(μ: μ λ§ν¬, νμΈλ λ€μ΄λ§ν¬ λ±)λ₯Ό ν΅ν΄ μ λ°μ΄νΈλ μνλ‘ μ μ§νκΈ° μν΄ μ μ₯ν©λκΉ?
μ, ns.up.data.receive
, ns.up.join.receive
, ns.up.rejoin.receive
λΉμ μ΄ μ°Ύκ³ μλ κ²μ
λλ€
~ https ://github.com/TheThingsNetwork/lorawan-stack/pull/2221 #2222μ μν΄ μ°¨λ¨λ¨~
NSλ μ΄μ ns.up.data.process
μ΄λ²€νΈλ₯Ό κ²μν©λλ€. μ¬κΈ°μλ μ 체 FCnt
κ° νμ΄λ‘λλ‘ ν¬ν¨λ μ
λ§ν¬κ° ν¬ν¨λ©λλ€.
μ
λ§ν¬μ κ°μ μ₯μΉμ μ€μ νμ± DevAddr
λ° FCntUp
λ‘ μ¬μ©νμμμ€.
λ€μ΄λ§ν¬μ κ²½μ° νμ¬ μ μ¬ν κΈ°λ₯μ΄ μμ§λ§ μ΄ λ¬Έμ μ μ΄μ λ μλλλ€. μ λ§ν¬ FCntλ‘ μμν λ€μ λμ€ λ¨κ³μμ λ€μ΄λ§ν¬λ₯Ό μΆκ°νκ² μ΅λλ€(LoRaWAN λ²μ μ λ°λΌ μ€μ λ‘ 2κ°μ κ³ μ ν λ€μ΄λ§ν¬κ° μμ μ μμ΅λλ€. νλ μ μΉ΄μ΄ν° - νλλ NSμ©μ΄κ³ νλλ ASμ©μ΄λ―λ‘ μ λ§ν¬ νλ μ μΉ΄μ΄ν°λ ν¨μ¬ λ μ€μν©λλ€.)
μ ν리μΌμ΄μ
μ λ§μ§λ§ μ
λ§ν¬λ₯Ό μκ² λλ©΄ μ ν리μΌμ΄μ
보기μμ Linked
λ₯Ό Last seen
λ‘ λ°κΎΈκ² μ΅λλ€(κ²μ΄νΈμ¨μ΄ κ°μ νμ΄μ§μ μ μ¬).
μ ν리μΌμ΄μ μ λ§μ§λ§ μ λ§ν¬λ₯Ό μκ² λλ©΄ μ ν리μΌμ΄μ 보기μμ
Linked
λ₯ΌLast seen
λ‘ λ°κΎΈκ² μ΅λλ€(κ²μ΄νΈμ¨μ΄ κ°μ νμ΄μ§μ μ μ¬).
μμ© νλ‘κ·Έλ¨μ λν ν΄λΉ μ 보λ₯Ό μ μμ μΌλ‘ νμνλ κ²μ νμ€ν μ’μ§λ§ κ·Έλ κ² νλ©΄ μ½μμ΄ μμ© νλ‘κ·Έλ¨κ³Ό κ΄λ ¨λ λͺ¨λ μ΅μ’ μ₯μΉλ₯Ό μ°¨λ‘λ‘ μ‘°μ¬νμ¬ μ΄κΈ°μ λ§μ§λ§μΌλ‘ λ³Έ μνλ₯Ό νμν μ μμ΄μΌ ν¨μ μλ―Έν©λλ€. μλ°± λλ μμ² κ°μ μ΅μ’ μ₯μΉκ° μλ μ ν리μΌμ΄μ μ κ°μ ν΄μΌ ν λ μ΄κ²μ΄ μ€ν κ°λ₯νλ€κ³ μκ°νμ§ μμ΅λλ€.
λ΄κ° μκ°ν μ μλ λ κ°μ§:
@htdvisser @rvolosatovs μ κ° κ°κ³Όνκ³ μλ κ²μ΄ μμ΅λκΉ? λλ ν΄λΉ λ°μ΄ν°λ₯Ό μ§κ³νκ³ API μλν¬μΈνΈλ₯Ό ν΅ν΄ μ¬μ©ν μ μλλ‘ νλ λ°©λ²μ μκ°ν μ μμ΅λκΉ?
ApplicationLinkStats
μλ last_up_received_at
λ° last_downlink_forwarded_at
κ° μμ΅λλ€.
https://github.com/TheThingsNetwork/lorawan-stack/blob/develop/api/applicationserver.proto#L56 -L69
#2585λ₯Ό ν΅ν΄ νμ