μλ‘μ΄ μ΅μ’ μ₯μΉ (LoRa μ₯μΉ)κ° LoRa λ€νΈμν¬μ μΆκ°λλ©΄ νμ±ν νλ‘μΈμ€λ₯Ό κ±°μ³μΌ ν©λλ€. νμ±ν νλ‘μΈμ€λ₯Ό ν΅ν΄ λ μΈμ ν€κ° μ΅μ’ μ₯μΉμ λ€νΈμν¬ μλ² κ°μ 곡μ λ©λλ€. νμ¬ LoRaλ λ€μ λ κ°μ§ μ νμ νμ±ν λ°©λ²μ μ 곡ν©λλ€.
- OTA (Over-The-Air) νμ±ν
- κ°μΈλ³ νμ±ν (ABP)
OTA (Over-The-Air) νμ±ν
OTAA λͺ¨λμμ μλ λλ°μ΄μ€λ λ€νΈμν¬ μλ²μ ν΅μ νμ¬ νμ±ν μ μ°¨(Join Procedure)λ₯Ό μνν©λλ€. LoRa μ¬μμ λ°λΌ OTAA λͺ¨λλ μλ μ₯μΉκ° μ΄λ―Έ λ°°ν¬λμκ±°λ μ¬μ€μ λ λ μ¬μ©λ©λλ€. μλ κ·Έλ¦Όμ κ²°ν© μ μ°¨λ₯Ό 보μ¬μ€λλ€.
1λ¨κ³ - κ°μ μμ² λ©μμ§
μλ λλ°μ΄μ€κ° κ°μ μμ² λ©μμ§λ₯Ό λ³΄λ΄ κ°μ μ μ°¨λ₯Ό μμν©λλ€. μ°Έμ¬ μμ²μ DevEUI, AppEUI λ° DevNonceκ° ν¬ν¨λ©λλ€. DevEUI λ° AppEUIλ κ°κ° Global End Device λ° Application Identifierλ₯Ό λνλ΄λ©° IEEE λνλ΄λ©° EUI-64 μ£Όμ κ³΅κ° νμμ λ°λ¦ λλ€.
DevNonceλ μ₯μΉκ° κ° μλ μ₯μΉμ λν΄ λ€νΈμν¬ μλ²λ μ΅μ’ μ₯μΉκ° μ¬μ©ν λ§μ§λ§ DevNonceκ°μ DevNonce μΆμ νκ³ DevNonceκ° DevNonce λ€μκ³Ό κ°μ κ²½μ° κ²°ν© μμ²μ 무μν©λλ€. μ¦λΆ λμ§ μμ΅λλ€. κ°μ μμ²μ MICκ°μ MIC μ΅μ’ μ₯μΉμ μν΄ κ³μ°λλ©° μμ© νλ‘κ·Έλ¨ ν€(AppKey)λ μ΅μ’ μ₯μΉμ λ€νΈμν¬μ μλ² κ°μ 미리 곡μ λ©λλ€. κ²°ν© μμ² λ©μμ§λ μνΈνλμ§ μμ΅λλ€. μμμ λ°μ΄ν° μλλ₯Ό μ¬μ©νκ³ μ§μ λ κ²°ν© μ±λμμ μμμ μ£Όνμ νΈν μμμ λ°λΌ μ μ‘ν μ μμ΅λλ€.
2λ¨κ³ - μΈμ¦ λ° μΈμ ν€ μμ±
λ€νΈμν¬ μλ²λ μ°Έκ°λ μμ²μ λ°μ ν DevNonceλ₯Ό κΈ°λ°μΌλ‘ νλ DevNonceλ₯Ό μ¬μ 곡격 λ°©μ§ νλ‘μΈμ€λ₯Ό μνν©λλ€. κ²°ν© μμ²μ DevNonceκ° DevNonce μ΄μ μ μ¬μ©λ κ²½μ°, λ€νΈμν¬ μλ²λ λ©μμ§κ° μ ν¨νμ§ μκ³ κ²°ν© νλ‘μΈμ€κ° μ€ν¨νλ€κ³ νλ³ν©λλ€. λ©μμ§κ° μ ν¨νλ©΄ λ€νΈμν¬ μλ²λ μ΅μ’ μ₯μΉλ₯Ό MIC κ°μΌλ‘ μΈμ¦ν©λλ€.
μ΅μ’ μ₯μΉκ° μΈμ¦μ ν΅κ³Όνλ©΄ λ€νΈμν¬ μλ²λ Nwk_SKey λ° App_SKeyλ₯Ό μμ±ν©λλ€. AppNonceλ λ€νΈμν¬ μλ²μμ μμ± ν μΉ΄μ΄ν° λ²νΈμ λλ€. NetIDλ NetID 24 λΉνΈ νλμ΄λ©° 5 κ°μ LSBλ₯Ό NwkIDλΌκ³ ν©λλ€. μ§λ¦¬μ μΌλ‘ 볡μ λ LoRa λ€νΈμν¬μ μ£Όμλ₯Ό λΆλ¦¬νλ λ° μ¬μ©λ©λλ€. NetIDμ NetID λ€λ₯Έ λΉνΈλ λ€νΈμν¬ μλ²μμ μμ λ‘κ² κ²°μ ν μ μμ΅λλ€.
3λ¨κ³ - λ©μμ§λ₯Ό μλ½ κ°μ
Aκ° ν¬ν¨λμ΄ λ©μμ§λ₯Ό λ°μ κ°μ AppNonce, NetIDλ₯Ό, DevAddr, DLSettings, RxDelay, λ° CFList.DevAddrμ νμ¬ λ€νΈμν¬ λ΄μ μλ λλ°μ΄μ€μ 32 λΉνΈ μλ³μμ΄λ€. DevAddrμ DevAddr 7 MSBλ NwkIDλΌκ³ NwkID νλ©° NetIDμλ NetID ν¬ν¨λμ΄μμ΅λλ€. λ€λ₯Έ λΉνΈλ λ€νΈμν¬ μλ²μμ μμλ‘ μ νν μ μμ΅λλ€. DLSettingsμλ DLSettings λ€μ΄ λ§ν¬ ꡬμ±κ³Ό κ΄λ ¨λ λͺ κ°μ§ κ°μ΄ μμ΅λλ€. RxDelayλ RxDelay μ‘μμ νλ‘μΈμ€ μ¬μ΄μ μ§μ°μ λλ€. CFListμ±λ CFList μ£Όνμμ κ΄ν μ νμ νλμ λλ€. λ§μ§λ§μΌλ‘ μ 체 κ°μ μλ½ λ©μμ§λ AppKeyλ‘ AppKey μνΈνλ©λλ€.
4λ¨κ³ - App Session Key μ μ‘
App_SKeyλ μλ μ₯μΉμ μμ© νλ‘κ·Έλ¨ μλ² μ¬μ΄μ μ’ λ¨ κ° ν΅μ μ 보νΈνκΈ° μν΄ κ³ μλμμΌλ―λ‘ λ€νΈμν¬ λμμΌλ―λ‘ μλ²μμ μμ© νλ‘κ·Έλ¨ μλ²λ‘ μ μ‘ν΄μΌ ν©λλ€. LoRa μ¬μμ App_SKeyλ₯Ό App_SKey μμ© νλ‘κ·Έλ¨ μλ²μ κ΅νν μκΈ°μ λ°©λ²μ ν μκΈ°μ μ§μ νμ§ μμΌλ―λ‘ κ΅¬νμ λ°λΌ λ¬λΌμ§ μ λ¬λΌμ§ μμ΅λλ€. νμ λΆλΆμ΄ λ μ μμΌλ―λ‘ κ²°ν© μ μ°¨μ ν¬ν¨λ μ μμ΅λλ€.
5λ¨κ³ - μΈμ ν€ μμ±
κ°μ μλ½ λ©μμ§λ₯Ό λ°μ ν μλ μ₯μΉλ λ©μμ§λ₯Ό ν΄λ νκ³ μΆμΆλ λ§€κ° λ³μλ₯Ό μ¬μ©νμ¬ μΈμ ν€λ₯Ό μμ±ν©λλ€.
κ°μΈλ³ νμ±ν
ABPλ νΉμ 쑰건μμ κ²°ν© μ μ°¨λ₯Ό μννμ§ μκ³ μλ μ₯μΉκ° νΉμ LoRa λ€νΈμν¬μ μν μ μλ λ°©λ²μ λλ€. ABP λͺ¨λμμ μλ λλ°μ΄μ€μλ κ²°ν© μ μ°¨μ νμμ μΈ DevEUI, AppEUI λ° AppKeyκ° μμ΅λλ€. κ°μΈνλ₯Ό ν΅ν΄ μλ λλ°μ΄μ€λ₯Ό νμ±ννλ€λ κ²μ κ²°ν© μ μ°¨ μ€ DevEUI, AppEUI, AppKey λ° NwkKeyμμ νμλλ λμ DevAddr λ° λ€ κ°μ μΈμ ν€ FNwk_SIntKey, SNwk_SIntKey, Nwk_SEncKey λ° App_SKeyκ° μλ λλ°μ΄μ€μ μ§μ μ μ₯λ¨μ μλ―Έν©λλ€.
μλ λλ°μ΄μ€μλ νΉμ LoRa λ€νΈμν¬κ° μμλΌ μλ§λ€ μ°Έμ¬νλ λ° νμν μ λ³΄κ° μμ΅λλ€. κ° μ₯μΉλ κ³ μ ν / SNwk_SIntKey, Nwk_SEncKey λ° App_SKeyμΈνΈλ₯Ό κ°μ ΈμΌ ν©λλ€. ν μ₯μΉμ ν€λ₯Ό μμμν€λ κ²μ΄ λ€λ₯Έ μ₯μΉμ ν΅μ 보μμ μμμν€μ§ μμμΌ ν©λλ€. μ΄λ¬ν ν€λ₯Ό μμ±νλ νλ‘μΈμ€λ 곡κ°μ μΌλ‘ μ¬μ© κ°λ₯ν μ 보 (μ : λ Έλ μ£Όμ λλ μλ μ₯μΉμ DevEUI)μμ ν€λ₯Ό μ΄λ€ μμΌλ‘λ νμν μ μλλ‘ ν΄μΌ ν©λλ€.
μΆμ² : http://www.techplayon.com/lora-device-activation-call-flow-join-procedure-using-otaa-and- abp/