Lorawan-stack: QR-Code des Endgerätes anzeigen

Erstellt am 1. Okt. 2019  ·  8Kommentare  ·  Quelle: TheThingsNetwork/lorawan-stack

Zusammenfassung

QR-Code des Endgeräts in der Konsole anzeigen

Warum brauchen wir das?

Zum Testen, Validieren und Speichern in einer Datei

Was ist schon da? Was siehst du jetzt?

CLI-Unterstützung läuft, siehe #1392;

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

Was fehlt? Was willst du sehen?

QR-Codes in der Konsole sehen und speichern können

Es gibt mehrere Arten von QR-Codes, die der Benutzer auswählen muss.

Wie schlagen Sie vor, dies umzusetzen?

Ich würde vorschlagen, den QR-Code im Browser zu generieren, zum Beispiel mit qrcode.react

Die Frage ist meist, woher die Inhalte kommen. Wir haben wahrscheinlich einen "QR-Code beanspruchen", der das in JS gespeicherte claim_authentication_code benötigt, aber wir könnten auch andere QR-Codes haben, die andere Komponenten benötigen.

Wir haben ein paar Optionen;

  1. Implementieren Sie die QR-Code-Generierung in pkg/webui , damit es weiß, welche Felder es benötigt und wie alles formatiert ist. So funktioniert im Wesentlichen auch die CLI, da sie pkg/qrcode importiert
  2. Fügen Sie rpcs zu Diensten hinzu, die QR-Codes generieren können, dh erweitern Sie EndDeviceRegistry und JsEndDeviceRegistry mit rpcs, um Formate aufzulisten und QR-Code-Werte zu generieren. Dadurch kann die Konsole QR-Codes erkennen und vermeidet die Implementierung von QR-Codes in Javascript (obwohl es kein Hexenwerk ist).

Können Sie dies selbst tun und einen Pull-Request einreichen?

@htdvisser was denkst du?

Kann rezensieren

console needux uweb

Hilfreichster Kommentar

Sicher, aber in V3 gibt es kein "Backend", besonders wenn die betreffenden Felder auf mehrere Komponenten verteilt sind.

Wir könnten:

  • Fügen Sie einen gRPC-Dienst hinzu, der QR-Code-Formate und ihre erforderliche Feldmaske auflistet
  • Lassen Sie Anrufer die Felder auf dem normalen Weg erhalten (z. B. Geräteregistrierungen kontaktieren).
  • Lassen Sie den Aufrufer EndDevice (zukünftig auch Gateway ) mit der angeforderten Feldmaske bereitstellen
  • Übergeben Sie EndDevice an den gRPC-Dienst und lassen Sie ihn den QR-Code rendern (Rückgabe als Bild-Blob und/oder [][]bool Bitmap und/oder Textwert)

Alle 8 Kommentare

Ich sehe einen Wert in einem Ansatz, bei dem das Backend QR-Codes generiert. Auf diese Weise können wir sie auch über unsere APIs verfügbar machen, vielleicht sogar in svg/png/pdf gerendert. Wir müssten das QR-Rendering nicht in jedem Client neu implementieren (falls wir jemals iOS/Android/...-Clients wollen) und können einfach die gerenderten Bilder direkt verwenden.

Sicher, aber in V3 gibt es kein "Backend", besonders wenn die betreffenden Felder auf mehrere Komponenten verteilt sind.

Wir könnten:

  • Fügen Sie einen gRPC-Dienst hinzu, der QR-Code-Formate und ihre erforderliche Feldmaske auflistet
  • Lassen Sie Anrufer die Felder auf dem normalen Weg erhalten (z. B. Geräteregistrierungen kontaktieren).
  • Lassen Sie den Aufrufer EndDevice (zukünftig auch Gateway ) mit der angeforderten Feldmaske bereitstellen
  • Übergeben Sie EndDevice an den gRPC-Dienst und lassen Sie ihn den QR-Code rendern (Rückgabe als Bild-Blob und/oder [][]bool Bitmap und/oder Textwert)

Ich bin damit einverstanden, den QR-Code auch im Frontend zu generieren, aber ich stimme @htdvisser zu, dass ein Backend-Ansatz vielseitiger wäre.

Es ist bereits in Arbeit, siehe hier; https://github.com/TheThingsNetwork/lorawan-stack/pull/1413/files#diff -9cb528d150f69af9e93f350e10df9c7fR86

Hinzufügen von Hilfe, die für neue Mitarbeiter gesucht wird, um dies abzuholen

Ich denke, wir brauchen etwas Input von @kschiffer für UX, da es scheint, dass die Serverseite bereit ist und QR-Codes für Endgeräte generieren kann.

Lassen Sie uns dies in einer nächsten Version aufgreifen.

Verweise:


Mit der aktuellen API-Unterstützung sollte es wirklich einfach sein. Das Bild wird im PNG-Format in der gewünschten Größe generiert und muss nur noch irgendwo gezeigt werden.

@kschiffer für Ideen, wo das Bild platziert werden kann.

Übrigens wäre es wirklich schön, das Bild auch speichern zu können.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen