Lorawan-stack: μ΅œμ’… κΈ°κΈ° QR μ½”λ“œ ν‘œμ‹œ

에 λ§Œλ“  2019λ…„ 10μ›” 01일  Β·  8μ½”λ©˜νŠΈ  Β·  좜처: TheThingsNetwork/lorawan-stack

μš”μ•½

μ½˜μ†”μ— μ΅œμ’… μž₯치 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 μ½”λ“œλ„ μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

λͺ‡ 가지 μ˜΅μ…˜μ΄ μžˆμŠ΅λ‹ˆλ‹€.

  1. pkg/webui μ—μ„œ QR μ½”λ“œ 생성을 κ΅¬ν˜„ν•˜μ—¬ ν•„μš”ν•œ ν•„λ“œμ™€ λͺ¨λ“  ν˜•μ‹μ΄ μ–΄λ–»κ²Œ μ§€μ •λ˜λŠ”μ§€ μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. 이것은 pkg/qrcode λ₯Ό κ°€μ Έμ˜€κΈ° λ•Œλ¬Έμ— CLI도 기본적으둜 μž‘λ™ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€.
  2. QR μ½”λ“œλ₯Ό 생성할 수 μžˆλŠ” μ„œλΉ„μŠ€μ— rpcsλ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€. 즉, rpcs둜 EndDeviceRegistry 및 JsEndDeviceRegistry λ₯Ό ν™•μž₯ν•˜μ—¬ ν˜•μ‹μ„ λ‚˜μ—΄ν•˜κ³  QR μ½”λ“œ 값을 μƒμ„±ν•©λ‹ˆλ‹€. 이λ₯Ό 톡해 μ½˜μ†”μ΄ QR μ½”λ“œλ₯Ό κ²€μƒ‰ν•˜κ³  Javascriptμ—μ„œ QR μ½”λ“œ κ΅¬ν˜„μ„ ν”Όν•  수 μžˆμŠ΅λ‹ˆλ‹€(λ‘œμΌ“ 과학은 μ•„λ‹ˆμ§€λ§Œ).

이 μž‘μ—…μ„ 직접 μˆ˜ν–‰ν•˜κ³  Pull Requestλ₯Ό μ œμΆœν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

@htdvisser μ–΄λ–»κ²Œ μƒκ°ν•˜μ„Έμš”?

κ²€ν†  κ°€λŠ₯

console needux uweb

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

λ¬Όλ‘ μž…λ‹ˆλ‹€. ν•˜μ§€λ§Œ V3μ—λŠ” "λ°±μ—”λ“œ"κ°€ μ—†μŠ΅λ‹ˆλ‹€. 특히 μ—¬λŸ¬ ꡬ성 μš”μ†Œμ— 걸쳐 ν•„λ“œκ°€ 흩어져 μžˆλŠ” κ²½μš°μ—λŠ” λ”μš± κ·Έλ ‡μŠ΅λ‹ˆλ‹€.

μš°λ¦¬λŠ”:

  • QR μ½”λ“œ ν˜•μ‹κ³Ό ν•„μˆ˜ ν•„λ“œ 마슀크λ₯Ό λ‚˜μ—΄ν•˜λŠ” gRPC μ„œλΉ„μŠ€ μΆ”κ°€
  • λ°œμ‹ μžκ°€ 정상적인 λ°©λ²•μœΌλ‘œ ν•„λ“œλ₯Ό 얻도둝 ν•˜μ‹­μ‹œμ˜€(예: μž₯치 λ ˆμ§€μŠ€νŠΈλ¦¬μ— 문의).
  • ν˜ΈμΆœμžκ°€ μš”μ²­λœ ν•„λ“œ λ§ˆμŠ€ν¬μ™€ ν•¨κ»˜ EndDevice (λ―Έλž˜μ—λ„ Gateway )λ₯Ό μ œκ³΅ν•˜λ„λ‘ ν•©λ‹ˆλ‹€.
  • EndDevice λ₯Ό gRPC μ„œλΉ„μŠ€μ— μ „λ‹¬ν•˜κ³  QR μ½”λ“œλ₯Ό λ Œλ”λ§ν•˜λ„λ‘ ν•©λ‹ˆλ‹€(이미지 blob 및/λ˜λŠ” [][]bool λΉ„νŠΈλ§΅ 및/λ˜λŠ” ν…μŠ€νŠΈ κ°’μœΌλ‘œ λ°˜ν™˜).

λͺ¨λ“  8 λŒ“κΈ€

λ°±μ—”λ“œκ°€ QR μ½”λ“œλ₯Ό μƒμ„±ν•˜λŠ” μ ‘κ·Ό λ°©μ‹μ—μ„œ κ°€μΉ˜λ₯Ό λ΄…λ‹ˆλ‹€. κ·Έλ ‡κ²Œ ν•˜λ©΄ APIλ₯Ό 톡해 μ‚¬μš©ν•  μˆ˜λ„ 있고 svg/png/pdf둜 λ Œλ”λ§ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. λͺ¨λ“  ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ QR λ Œλ”λ§μ„ λ‹€μ‹œ κ΅¬ν˜„ν•  ν•„μš”κ°€ μ—†μœΌλ©°(iOS/Android/... ν΄λΌμ΄μ–ΈνŠΈκ°€ ν•„μš”ν•œ 경우) λ Œλ”λ§λœ 이미지λ₯Ό 직접 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λ¬Όλ‘ μž…λ‹ˆλ‹€. ν•˜μ§€λ§Œ V3μ—λŠ” "λ°±μ—”λ“œ"κ°€ μ—†μŠ΅λ‹ˆλ‹€. 특히 μ—¬λŸ¬ ꡬ성 μš”μ†Œμ— 걸쳐 ν•„λ“œκ°€ 흩어져 μžˆλŠ” κ²½μš°μ—λŠ” λ”μš± κ·Έλ ‡μŠ΅λ‹ˆλ‹€.

μš°λ¦¬λŠ”:

  • QR μ½”λ“œ ν˜•μ‹κ³Ό ν•„μˆ˜ ν•„λ“œ 마슀크λ₯Ό λ‚˜μ—΄ν•˜λŠ” gRPC μ„œλΉ„μŠ€ μΆ”κ°€
  • λ°œμ‹ μžκ°€ 정상적인 λ°©λ²•μœΌλ‘œ ν•„λ“œλ₯Ό 얻도둝 ν•˜μ‹­μ‹œμ˜€(예: μž₯치 λ ˆμ§€μŠ€νŠΈλ¦¬μ— 문의).
  • ν˜ΈμΆœμžκ°€ μš”μ²­λœ ν•„λ“œ λ§ˆμŠ€ν¬μ™€ ν•¨κ»˜ 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 이미지도 μ €μž₯ν•  수 μžˆλ‹€λ©΄ 정말 쒋을 κ²ƒμž…λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰