Mostrar código QR do dispositivo final no console
Para testar, validar e salvar em arquivo
Suporte CLI em andamento, consulte #1392;
$ ttn-lw-cli device generate-qr app1 dev1 --file qr.png
Ser capaz de ver e salvar códigos QR no Console
Existem vários tipos de códigos QR que o usuário precisa poder escolher.
Sugiro gerar o código QR no navegador, usando por exemplo qrcode.react
A questão é principalmente de onde vem o conteúdo. Provavelmente temos um "código QR de reivindicação" que precisa do claim_authentication_code
armazenado em JS, mas também podemos ter outros códigos QR que precisem de outros componentes.
Temos algumas opções;
pkg/webui
, para que ele saiba quais campos precisa e como tudo está formatado. É essencialmente assim que a CLI também funciona, pois importa pkg/qrcode
EndDeviceRegistry
e JsEndDeviceRegistry
com rpcs para listar formatos e gerar valores de código QR. Isso permite que o Console descubra códigos QR e evita a implementação de códigos QR em Javascript (embora não seja ciência de foguetes)@htdvisser o que você acha?
Pode revisar
Eu vejo valor em uma abordagem em que o back-end gera códigos QR. Dessa forma, também podemos disponibilizá-los por meio de nossas APIs, talvez até renderizados em svg/png/pdf. Não precisaríamos reimplementar a renderização QR em todos os clientes (no caso de querermos clientes iOS/Android/...) e podemos apenas usar as imagens renderizadas diretamente.
Claro, mas na V3 não há "backend", especialmente quando os campos relacionados estão espalhados por vários componentes.
Poderíamos:
EndDevice
(futuro também Gateway
) com a máscara de campo solicitadaEndDevice
para o serviço gRPC e deixe-o renderizar o código QR (retorne como blob de imagem e/ou [][]bool
bitmap e/ou valor de texto)Também estou bem em gerar o código QR no front-end, mas concordo com @htdvisser que uma abordagem de back-end seria mais versátil.
Já está em andamento, veja aqui; https://github.com/TheThingsNetwork/lorawan-stack/pull/1413/files#diff -9cb528d150f69af9e93f350e10df9c7fR86
Adicionando ajuda desejada para o novo contratado para pegar isso
Acho que precisamos de alguma entrada de @kschiffer para UX, pois parece que o lado do servidor está pronto e pode gerar códigos qr para dispositivos finais.
Vamos pegar isso em uma próxima versão.
Referências:
Com o suporte de API atual, deve ser realmente simples. A imagem é gerada em formato PNG no tamanho desejado e só precisa ser mostrada em algum lugar.
@kschiffer para ideias de onde colocar a imagem.
BTW, seria muito bom poder salvar a imagem também.
Comentários muito úteis
Claro, mas na V3 não há "backend", especialmente quando os campos relacionados estão espalhados por vários componentes.
Poderíamos:
EndDevice
(futuro tambémGateway
) com a máscara de campo solicitadaEndDevice
para o serviço gRPC e deixe-o renderizar o código QR (retorne como blob de imagem e/ou[][]bool
bitmap e/ou valor de texto)