μ½μμ μ΅μ’ μ₯μΉ QR μ½λ νμ
ν μ€νΈ, κ²μ¦ λ° νμΌμ μ μ₯
CLI μ§μμ΄ μ§ν μ€μ λλ€. #1392λ₯Ό μ°Έμ‘°νμΈμ.
$ ttn-lw-cli device generate-qr app1 dev1 --file qr.png
μ½μμμ QR μ½λλ₯Ό λ³΄κ³ μ μ₯ν μ μμ΅λλ€.
μ¬μ©μκ° μ νν μ μμ΄μΌ νλ μ¬λ¬ μ νμ QR μ½λκ° μμ΅λλ€.
μλ₯Ό λ€μ΄ qrcode.react λ₯Ό μ¬μ©νμ¬ λΈλΌμ°μ μμ QR μ½λλ₯Ό μμ±νλ κ²μ΄ μ’μ΅λλ€.
λ¬Έμ λ λλΆλΆ λ΄μ©μ΄ μ΄λμμ μλμ§μ
λλ€. JSμ μ μ₯λ claim_authentication_code
κ° νμν "ν΄λ μ QR μ½λ"κ° μμ μ μμ§λ§ λ€λ₯Έ κ΅¬μ± μμκ° νμν λ€λ₯Έ QR μ½λλ μμ μ μμ΅λλ€.
λͺ κ°μ§ μ΅μ μ΄ μμ΅λλ€.
pkg/webui
μμ QR μ½λ μμ±μ ꡬννμ¬ νμν νλμ λͺ¨λ νμμ΄ μ΄λ»κ² μ§μ λλμ§ μ μ μμ΅λλ€. μ΄κ²μ pkg/qrcode
λ₯Ό κ°μ Έμ€κΈ° λλ¬Έμ CLIλ κΈ°λ³Έμ μΌλ‘ μλνλ λ°©μμ
λλ€.EndDeviceRegistry
λ° JsEndDeviceRegistry
λ₯Ό νμ₯νμ¬ νμμ λμ΄νκ³ QR μ½λ κ°μ μμ±ν©λλ€. μ΄λ₯Ό ν΅ν΄ μ½μμ΄ QR μ½λλ₯Ό κ²μνκ³ Javascriptμμ QR μ½λ ꡬνμ νΌν μ μμ΅λλ€(λ‘μΌ κ³Όνμ μλμ§λ§).@htdvisser μ΄λ»κ² μκ°νμΈμ?
κ²ν κ°λ₯
λ°±μλκ° QR μ½λλ₯Ό μμ±νλ μ κ·Ό λ°©μμμ κ°μΉλ₯Ό λ΄ λλ€. κ·Έλ κ² νλ©΄ APIλ₯Ό ν΅ν΄ μ¬μ©ν μλ μκ³ svg/png/pdfλ‘ λ λλ§ν μλ μμ΅λλ€. λͺ¨λ ν΄λΌμ΄μΈνΈμμ QR λ λλ§μ λ€μ ꡬνν νμκ° μμΌλ©°(iOS/Android/... ν΄λΌμ΄μΈνΈκ° νμν κ²½μ°) λ λλ§λ μ΄λ―Έμ§λ₯Ό μ§μ μ¬μ©ν μ μμ΅λλ€.
λ¬Όλ‘ μ λλ€. νμ§λ§ V3μλ "λ°±μλ"κ° μμ΅λλ€. νΉν μ¬λ¬ κ΅¬μ± μμμ κ±Έμ³ νλκ° ν©μ΄μ Έ μλ κ²½μ°μλ λμ± κ·Έλ μ΅λλ€.
μ°λ¦¬λ:
EndDevice
(λ―Έλμλ Gateway
)λ₯Ό μ 곡νλλ‘ ν©λλ€.EndDevice
λ₯Ό gRPC μλΉμ€μ μ λ¬νκ³ QR μ½λλ₯Ό λ λλ§νλλ‘ ν©λλ€(μ΄λ―Έμ§ blob λ°/λλ [][]bool
λΉνΈλ§΅ λ°/λλ ν
μ€νΈ κ°μΌλ‘ λ°ν).νλ‘ νΈμλμμλ QR μ½λλ₯Ό μμ±νλ λ°λ λ¬Έμ κ° μμ§λ§ λ°±μλ μ κ·Ό λ°©μμ΄ λ λ€μ¬λ€λ₯νλ€λ @htdvisser μ μ견μλ λμν©λλ€.
μ΄λ―Έ μ§ν μ€μ λλ€. μ¬κΈ°λ₯Ό μ°Έμ‘°νμΈμ. https://github.com/TheThingsNetwork/lorawan-stack/pull/1413/files#diff -9cb528d150f69af9e93f350e10df9c7fR86
μ μ μ¬μμ΄ μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ λμμ μν¨
μλ² μΈ‘μ΄ μ€λΉλκ³ μ΅μ’ μ₯μΉμ λν qr μ½λλ₯Ό μμ±ν μ μλ κ²μ²λΌ 보μ΄λ―λ‘ UXμ© @kschiffer μ μ λ ₯μ΄ νμνλ€κ³ μκ°ν©λλ€.
λ€μ λ²μ μμ μ΄κ²μ μ νν©μλ€.
μ°Έμ‘°:
νμ¬ API μ§μμΌλ‘ μ λ§ κ°λ¨ν΄μΌ ν©λλ€. μ΄λ―Έμ§λ μνλ ν¬κΈ°μ PNG νμμΌλ‘ μμ±λλ©° μ΄λκ°μ νμλκΈ°λ§ νλ©΄ λ©λλ€.
μ΄λ―Έμ§λ₯Ό λ£μ μμΉμ λν μμ΄λμ΄λ @kschiffer μ λλ€.
BTW μ΄λ―Έμ§λ μ μ₯ν μ μλ€λ©΄ μ λ§ μ’μ κ²μ λλ€.
κ°μ₯ μ μ©ν λκΈ
λ¬Όλ‘ μ λλ€. νμ§λ§ V3μλ "λ°±μλ"κ° μμ΅λλ€. νΉν μ¬λ¬ κ΅¬μ± μμμ κ±Έμ³ νλκ° ν©μ΄μ Έ μλ κ²½μ°μλ λμ± κ·Έλ μ΅λλ€.
μ°λ¦¬λ:
EndDevice
(λ―ΈλμλGateway
)λ₯Ό μ 곡νλλ‘ ν©λλ€.EndDevice
λ₯Ό gRPC μλΉμ€μ μ λ¬νκ³ QR μ½λλ₯Ό λ λλ§νλλ‘ ν©λλ€(μ΄λ―Έμ§ blob λ°/λλ[][]bool
λΉνΈλ§΅ λ°/λλ ν μ€νΈ κ°μΌλ‘ λ°ν).