Lorawan-stack: Mostrar el código QR del dispositivo final

Creado en 1 oct. 2019  ·  8Comentarios  ·  Fuente: TheThingsNetwork/lorawan-stack

Resumen

Mostrar el código QR del dispositivo final en la consola

¿Porqué necesitamos esto?

Para probar, validar y guardar en un archivo

¿Qué ya hay? ¿Qué ves ahora?

Soporte de CLI en progreso, vea #1392;

$ ttn-lw-cli device generate-qr app1 dev1 --file qr.png

¿Lo que falta? ¿Qué quieres ver?

Poder ver y guardar códigos QR en la Consola

Existen múltiples tipos de códigos QR que el usuario debe poder elegir.

¿Cómo propone implementar esto?

Sugeriría generar el código QR en el navegador, usando, por ejemplo, qrcode.react

La pregunta es principalmente de dónde provienen los contenidos. Probablemente tengamos un "código QR de reclamación" que necesite el claim_authentication_code que está almacenado en JS, pero también podríamos tener otros códigos QR que necesiten otros componentes.

Tenemos algunas opciones;

  1. Implemente la generación de códigos QR en pkg/webui , para que sepa qué campos necesita y cómo se formatea todo. Básicamente, así es como funciona la CLI, ya que importa pkg/qrcode
  2. Agregue rpcs a los servicios que pueden generar códigos QR, es decir, extienda EndDeviceRegistry y JsEndDeviceRegistry con rpcs para listar formatos y generar valores de códigos QR. Esto permite que la Consola descubra códigos QR y evita implementar códigos QR en Javascript (aunque no es ciencia espacial)

¿Puedes hacerlo tú mismo y enviar una solicitud de extracción?

@htdvisser ¿qué opinas?

Puede revisar

console needux uweb

Comentario más útil

Claro, pero en V3 no hay "el back-end", especialmente cuando los campos relacionados se distribuyen en varios componentes.

Pudimos:

  • agregue un servicio gRPC que enumere los formatos de código QR y su máscara de campo requerida
  • permitir que las personas que llaman obtengan los campos de la manera normal (es decir, registros de dispositivos de contacto)
  • permita que la persona que llama proporcione el EndDevice (futuro también Gateway ) con la máscara de campo solicitada
  • pase EndDevice al servicio gRPC y deje que represente el código QR (devuelva como imagen blob y/o [][]bool mapa de bits y/o valor de texto)

Todos 8 comentarios

Veo valor en un enfoque donde el backend genera códigos QR. De esa manera, también podemos hacer que estén disponibles a través de nuestras API, tal vez incluso en formato svg/png/pdf. No tendríamos que volver a implementar el renderizado QR en cada cliente (en caso de que alguna vez queramos clientes iOS/Android/...) y podemos usar las imágenes renderizadas directamente.

Claro, pero en V3 no hay "el back-end", especialmente cuando los campos relacionados se distribuyen en varios componentes.

Pudimos:

  • agregue un servicio gRPC que enumere los formatos de código QR y su máscara de campo requerida
  • permitir que las personas que llaman obtengan los campos de la manera normal (es decir, registros de dispositivos de contacto)
  • permita que la persona que llama proporcione el EndDevice (futuro también Gateway ) con la máscara de campo solicitada
  • pase EndDevice al servicio gRPC y deje que represente el código QR (devuelva como imagen blob y/o [][]bool mapa de bits y/o valor de texto)

Estoy de acuerdo con generar el código QR en la interfaz también, pero estoy de acuerdo con @htdvisser en que un enfoque de backend sería más versátil.

Agregando ayuda requerida para que el nuevo empleado recoja esto

Creo que necesitamos información de @kschiffer para UX, ya que parece que el lado del servidor está listo y puede generar códigos qr para dispositivos finales.

Vamos a retomar esto en una próxima versión.

Referencias:


Con el soporte de API actual, debería ser realmente sencillo. La imagen se genera en formato PNG en el tamaño deseado y solo necesita mostrarse en algún lugar.

@kschiffer para obtener ideas sobre dónde colocar la imagen.

Por cierto, sería muy bueno poder guardar la imagen también.

¿Fue útil esta página
0 / 5 - 0 calificaciones