Zum Inhalt springen
megapromotingLassen Sie uns sprechen
Produkte MEGA QR

Instrumente în browser Instrument public

Ein QR-Code. Oder eine Datei, die durch Licht geht.

MEGA QR enthält einen Codegenerator und ein optisches Übertragungstool. Sie erstellen einen Code für einen Link, Wi-Fi oder Kontakt; für die Übertragung zeigt ein Bildschirm eine Folge von Codes an, die die Kamera des anderen Geräts zu einer Datei rekonstruiert.

Generatorul MEGA QR: tipurile de cod, câmpul de conținut completat cu o adresă și codul QR generat alături
qr.megapromoting.com · der Code wird im Browser aus der im Inhaltsfeld eingegebenen Adresse zusammengestellt

MEGA QR

Von der Information zur erledigten Arbeit.

01

Pregătești

Sie wählen den Inhalt des Codes oder die Datei, die Sie übertragen möchten.

02

Afișezi

Der Generator erzeugt das QR-Bild. Die optische Übertragung zeigt aufeinanderfolgende Frames an.

03

Scanezi

Die Kamera liest den Code oder sammelt Frames, bis sie die Datei rekonstruieren kann.

Wo es nützlich wird.

QR-Generator

Link, WLAN, Kontakt und andere Inhaltstypen; Export als PNG oder SVG.

Optische Übertragung

Zwischen Bildschirm und Kamera übertragene Daten, ohne Netzwerkverbindung zwischen den Geräten.

Lokale Verarbeitung

Die Generierung und Rekonstruktion erfolgen im Browser, ohne Benutzerkonto.

Die optische Übertragung hängt von Kamera, Licht, Entfernung und Bildschirm ab. Das sendende Gerät erhält keine Empfangsbestätigung. Ein öffentlich angezeigter Code kann von allen gelesen werden, die ihn sehen.

MEGA QR im Detail

Was Sie mit diesem Projekt tun können.

MEGA QR sind zwei Werkzeuge auf derselben Domain, und das zweite ähnelt dem ersten überhaupt nicht. Der Generator erstellt QR-Codes für acht Inhaltstypen: Link, Text, WLAN, Visitenkarte, WhatsApp, E-Mail, SMS, Telefon und Koordinaten. Die optische Übertragung verschiebt eine ganze Datei von einem Bildschirm auf eine Kamera, ohne Kabel, ohne Bluetooth, ohne Netzwerk zwischen den beiden Geräten.

Beide laufen vollständig im Browser. Die Seiten stellen keine Anfragen an Dritte, und die beiden WebAssembly-Binaries, von denen die Übertragung abhängt, werden aus public/wasm/ ausgeliefert, nicht von einem CDN — andernfalls wäre das Versprechen, dass nichts das Gerät verlässt, falsch. Ein im Generator eingegebenes WLAN-Passwort gelangt niemals auf einen Server.

Die Idee, die Sie bei der Übertragung verstehen sollten: Ein Bildschirm sendet Licht aus, eine Kamera liest es, und der Empfänger kann nichts zurück anfordern. Es gibt keinen Rückkanal. Daraus folgt alles Weitere — die Frames beschreiben sich selbst, ihre Reihenfolge spielt keine Rolle, jede ausreichend große Teilmenge rekonstruiert die Datei, und der Absender kann niemals wissen, ob etwas angekommen ist.

01

Generator: acht Typen, PNG und SVG, Logo in der Mitte

Link, Text, WLAN, vCard, WhatsApp, E-Mail, SMS, Telefon und Geolokalisierung. Wenn Sie ein Logo einfügen, wird die Fehlerkorrekturstufe zwangsweise auf H gesetzt, die höchste — ein Logo macht ein Loch in den Datenbereich, und der Code überlebt sonst nicht. Das Logo ist auf 35% der Fläche begrenzt, mit einer Warnung ab 30%. Der Export wird getrennt von der Vorschau gerendert, damit ein PNG mit 4096 px das auf dem Bildschirm Gezeigte nicht beeinträchtigt.

02

Die Diakritika gehen nicht verloren

Die Generierungsbibliothek qr-code-styling 1.9.2 konvertiert ihren Text mit charCodeAt(i) & 0xFF und schneidet still jede rumänische Diakritika und auch das gesamte Kyrillische ab: „Ștefan Țurcanu” wurde zurückgescannt als „tefan urcanu”. Wir kodieren selbst in UTF-8, bevor es sie sieht, damit ihr Abschneiden nichts mehr zum Abschneiden hat. Auch die WiFi- und vCard-Payloads werden escaped — ein „;“ in einem Passwort oder ein Komma in einem Firmennamen beschädigte sonst den Code, ohne jedes Zeichen.

03

Optische Übertragung: Codebrunnen, keine Sequenz

Die Datei wird in einen Umschlag gepackt (Name, MIME-Typ, Größe, SHA-256), mit gzip komprimiert, wenn sie kleiner wird, dann über RaptorQ (RFC 6330) gegeben. Jeder Rahmen trägt einen festen Header von 20 Oktetts und ein oder mehrere Pakete. Es kommt nicht darauf an, welche Rahmen Sie erwischen, sondern wie viele: jede ausreichend große Teilmenge rekonstruiert die Datei. Gemessen an tatsächlich gerenderten Pixeln beträgt der RaptorQ-Overhead 1,000x — die LT-Codes, die Referenzprojekte verwenden, verlangen 1,15x.

04

Karussell: ein öffentlicher Bildschirm, auf dem niemand etwas drückt

Die zweite Sendeart ist eine feste Runde, die sich endlos wiederholt, ohne Sitzung und ohne jemanden, der auf Start drückt. Die Länge der Runde wird in jedem Rahmen mitgeführt, sodass ein Vorbeigehender, der die Kamera ausrichtet, schon aus dem ersten erfassten Code weiß, wie lange alles dauert, statt ein Rädchen zu sehen. Die Referenzkonfiguration sind 36 Rahmen bei 12 pro Sekunde — eine Runde von drei Sekunden, die 25 KB aus einem einzigen einfachen schwarz-weißen Code trägt. Ein ganzes Menü oder der vollständige Fahrplan einer Station.

05

Sie passt sich an die Kamera an, die schaut, in drei getrennten Achsen

Die Anzahl der Codes auf dem Bildschirm, die Farbe und die QR-Version sind drei unterschiedliche Begrenzungen und werden separat geregelt. Die Dichteskala hat 29 Stufen, von v10 auf einer einzigen Spur (7 KB/s bei 30 Bildern pro Sekunde) bis v39 auf vier Spuren in Farbe (959 KB/s). Es gibt auch eine vollständige Skala ohne Farbe, bis 320 KB/s, weil eine Kamera, deren Chrominanz ausfällt, nicht auf einer einzigen Spur festhängen sollte.

Daten und Funktionsweise

Was in das System eingeht. Was geprüft werden muss.

Nichts verlässt das Gerät
Der Generator baut den Code auf der Seite. Die Übertragung rekonstruiert die Datei im Browser des Empfängers. Die Seiten stellen keine Anfragen an Dritte, und die WebAssembly-Binärdateien (raptorq für den Codebrunnen, zxing-wasm für die Dekodierung) werden lokal ausgeliefert. Es gibt kein Konto, keine Serversitzung und keine Aufzeichnung dessen, was Sie übertragen haben.
Ein QR ist kein Geheimnis
Jeder, der den Code ausreichend klar sieht, kann ihn scannen. Das gilt auch für die optische Übertragung: Ein Bildschirm, der Rahmen anzeigt, ist für jede Kamera im Raum sichtbar. Eine isolierte Netzwerkumgebung bedeutet nicht automatisch, dass die optische Übertragung erlaubt ist — die Richtlinie der Organisation entscheidet, nicht die Netzwerktopologie.
Integrität wird geprüft, nicht vorausgesetzt
Der Umschlag trägt den vollständigen SHA-256 der Originaldatei, und der Header trägt die ersten vier Oktetts davon als schnelle Prüfsumme. Nach der Rekonstruktion berechnet der Empfänger den vollständigen Hash neu und wirft einen Fehler bei Abweichung, wenn er sich unterscheidet. Eine Datei, die aus der Übertragung herauskommt, ist entweder bitgenau dieselbe wie die Eingabe oder ein erklärter Fehlschlag. Es gibt keine dritte Variante.
Grenze von 32 MB und ihr Grund
Über 32 MB lehnen wir die Datei bei der Auswahl ab. Der RaptorQ-Codierer materialisiert alle Pakete auf einmal und läuft synchron auf dem Hauptthread — gemessen 2,5 Sekunden für 32 MB auf einem Computer, auf einem Telefon um ein Vielfaches mehr. In diesem Intervall wird die Stopptaste gezeichnet und kann nicht gedrückt werden. Eine frühe Ablehnung ist ehrlicher als ein Tab, der bei 80% stirbt.

Von der Erkundung zur Implementierung

Wie wir ein Projekt mit MEGA QR vorbereiten.

01

Wir wählen, welches der beiden Werkzeuge die Antwort ist

Ein QR-Code führt zu kurzen Inhalten und, wenn es ein Link ist, zu einer Seite, die Sie später ändern können — der gedruckte Code ändert sein Ziel nicht von selbst. Die optische Übertragung verschiebt eine Datei zwischen zwei Geräten, die nicht über ein Netzwerk kommunizieren dürfen oder können. Das sind unterschiedliche Aufgaben, und die Verwechslung zwischen ihnen ist die häufigste.

02

Wir legen die physischen Bedingungen fest

Für den Druck: Kontrast, Endgröße, freie Zone darum herum, getestet in der Größe, in der es aufgeklebt wird. Für die Übertragung: wie groß ein Modul auf dem Kamerasensor landet. Unter einem harten Linsenmodell (verschobenes Chrominanztgitter um ein Pixel plus eine 3x3-Unschärfe) liefert Farbe alle drei Codes bei 4 Gerätepixeln pro Modul zurück und absolut nichts bei 2. Das ist die reale Grenze, und deshalb ist Farbe die Wahl des Menschen, nicht des Controllers.

03

Wir testen auf den Geräten, die tatsächlich verwendet werden

Unsere Suite durchläuft eine authentische Kamerakette — die Frames werden als YUV 4:2:0 geschrieben und Chrome als falsche Webcam übergeben, also ist die Chroma-Subsampling real. Was sie nicht hat: Objektiv, Reflexionen, Bewegung, Rolling Shutter. Zehn Minuten mit einem echten Telefon liefern die erste ehrliche Zahl und sind der nächste Schritt auf unserer Arbeitsliste, kein Detail.

Fragen, die sich lohnen, geklärt zu werden.

Wie schnell geht eine Datei tatsächlich durch?

Durch eine simulierte Kamerakette, bei 10 Bildern pro Sekunde, mit Codes, die den größten Teil des Bildes bei 3-5 Kamera-Pixeln pro Modul füllen, kamen alle vier Konfigurationen mit verifiziertem Hash heraus: Schwarzweiß auf einem Streifen 15,8 KB/s, Schwarzweiß auf vier Streifen 37,7 KB/s, Farbe auf einem Streifen 40,1 KB/s, Farbe auf vier Streifen 115,7 KB/s. Farbe auf einem einzigen Streifen schlägt Schwarzweiß auf vier. Die Fehlerrate war überall null. Merken Sie sich, woher die Zahlen kommen: geometrisch perfekte Frames, ohne Objektiv und ohne Bewegung. Ein echtes Telefon wurde ihnen noch nicht vorgehalten.

Was verlangt es von Kamera und Licht?

Die Kamera wird mit 1920x1080 bei 30 Bildern pro Sekunde verlangt, mit Bevorzugung der Rückkamera; wenn Android die Einschränkung ablehnt, fallen wir auf irgendeine Kamera zurück. Jeder erfasste Frame wird vor der Decodierung auf 1280 px an der langen Seite reduziert. Entscheidend ist nicht die Auflösung, sondern wie viele Sensorpixel auf ein Modul fallen: Schwarzweiß braucht ungefähr drei, Farbe ungefähr doppelt so viele, weil die Videokette des Telefons gewöhnlich 4:2:0 liefert und beide Farbebenen in beide Richtungen halbiert. Feine Farbdetails sind das Erste, was eine echte Kamera zerstört.

Warum ist der Automatikmodus langsamer als die Maschine kann?

Weil das einzige, was das sendende Gerät messen kann, ist, wie viele Symbole seine eigenen Kodierer im Vergleich zu den angeforderten erzeugt haben — eine Aussage über einen Prozessor, nicht über eine Kamera zwei Handbreit entfernt. Ein Laptop verpasst nie eine Stufe, also fährt ein Controller, der „null Fehlraten“ als „weitermachen“ liest, bis ganz nach oben und zeigt vier Codes auf dem Bildschirm an, die sich dreißig Mal pro Sekunde ändern und von nichts gescannt werden können. Das wurde tatsächlich einmal ausgeliefert, und ein Mensch hat es innerhalb einer Minute gefunden. Jetzt ist der Automatikmodus auf einen Streifen, Schwarzweiß, Version 26 und 15 Bilder pro Sekunde begrenzt. 15 ist keine runde Zahl: Eine Telefonkamera zeichnet bei 30 auf und ist nicht mit dem Bildschirm synchronisiert, also muss ein Frame zwei aufeinanderfolgende Belichtungen lang angezeigt werden — 67 ms — damit er vollständig erfasst wird.

Was passiert, wenn der Empfänger Frames verpasst?

Nichts Besonderes, und genau das ist der Sinn. Es gibt keine Sequenznummern, die wiederhergestellt werden müssten. Der Kodierer erzeugt Reparaturpakete im Verhältnis 2x zu den Quell-Symbolen — gemessen an diesem Code: Bei 60% Frameverlust stellt ein Satz von ungefähr 2x K 2 MB wieder her, ohne dass die Liste jemals ein zweites Mal abgespielt wird. Das absolute Limit sind 60.000 Pakete; darüber hinaus spielt der Sender die Liste einfach öfter erneut ab, was Zeit kostet, nicht Speicher. Wenn trotzdem etwas schiefgeht, fängt der SHA-256-Hash das ab, und der Transfer schlägt ausdrücklich fehl, statt eine beschädigte Datei zu liefern.

Erfährt der Sender, wenn die Datei angekommen ist?

Nein, und das ist kein Versäumnis. Es gibt keinen Rückkanal — ein Bildschirm sendet Licht, und Licht kehrt nicht mit Bestätigungen zurück. Der Abschluss wird auf dem empfangenden Gerät sichtbar. Jede Oberfläche, die etwas anderes behaupten würde, würde lügen, und wir hatten bereits einmal einen Test, der genau diesen Beweis lieferte, den das Produkt nie hat: Die Simulation berechnete ihre Fehlerrate aus dem, was die simulierte Kamera tatsächlich auflösen konnte. Das ist ein Rückkanal. Wenn ein Test und der ausgelieferte Code sich darüber nicht einig sind, was gewusst werden kann, ist der Test derjenige, der lügt.

Wie groß ist die maximale Dateigröße und warum so?

32 MB, bei der Auswahl abgelehnt, wenn sie größer ist. Das Limit kommt nicht vom Protokoll, sondern aus dem Speicher eines Browser-Tabs: RaptorQ materialisiert alle Pakete auf einmal, und eine 50-MB-Datei bei 2x-Rate würde 150 MB lebende Arrays bedeuten, genug, um den Tab eines Telefons zu töten. Die Kodierung läuft synchron auf dem Hauptthread und wurde auf 2,5 Sekunden für 32 MB auf dem Computer gemessen. Was tatsächlich übertragen wird, ist nicht die Dateigröße: Der Umschlag wird vor RaptorQ mit gzip komprimiert, also ist eine 1-MB-Tabelle nur wenige Kilobyte Pakete, und ein 1-MB-Foto ist ein Megabyte Pakete.

Brauche ich ein Konto oder Internet?

Weder noch. Es gibt kein Konto und kein Abonnement. Nach dem ersten Besuch funktionieren die Seiten ohne Netzwerk, weil alles — einschließlich der beiden WebAssembly-Binaries — von der eigenen Domain ausgeliefert wird. Es lohnt sich auch zu sagen, was wir unterwegs gelernt haben: Ein registrierter Service Worker bedeutet nicht Offline-Support. Beim ersten Laden werden die Seite und ihre Ressourcen geladen, bevor der Worker die Kontrolle übernimmt, also sieht sein Handler sie nie. Die Seite meldet ihre eigenen Ressourcen über die Performance API, statt etwas anzunehmen.

Beispiel zur Veranschaulichung

Der Fahrplan einer Station, auf einem Bildschirm, auf den niemand etwas drückt

Ein Nutzungsszenario, ohne Kundendaten oder zugeordnete kommerzielle Ergebnisse.

Ausgangssituation

Ein Bildschirm in einer Station oder ein Schaufenster muss Vorbeigehenden eine Datei liefern — den vollständigen Fahrplan, die Speisekarte, ein Formular — ohne öffentliches WiFi, ohne Konto und ohne dass jemand etwas drückt.

Wie es funktioniert

Der Bildschirm läuft als Karussell: 36 Bilder bei 12 pro Sekunde, eine drei Sekunden lange Runde, die sich endlos wiederholt. Die Dichte ist für die Dauer des Karussells fest, weil eine Runde nur dann ein Versprechen ist, wenn ihre Länge eingehalten wird. Die Länge der Runde wandert in jedem Bild mit, also weiß ein Telefon, das den ersten Code erfasst, sofort, wie lange alles dauert.

Rezultatul

Der Vorbeigehende filmt drei Sekunden und erhält 25 KB, im Browser rekonstruiert, mit SHA-256 überprüft, aus einem einzigen einfachen schwarz-weißen Code. Der Bildschirm erfährt nicht, dass er gelesen wurde, und kann es auch nicht.

Ce este necesar:Un ecran care poate ține un cadru afișat 83 ms fără sfâșiere, lumină în care codul nu e spălat de reflexii, și o cameră care rezolvă aproximativ trei pixeli de senzor per modul. Cifra de 25 KB e derivată din aceleași funcții pe care le folosește expeditorul, nu tastată de mână alături de ele.

Möglichkeiten der Zusammenarbeit

MEGA QR, im Kontext Ihrer Organisation.

Zugangspunkte und lokaler Transfer

Codes für den Zugriff auf öffentliche Informationen, Anweisungen oder Kontakte; optischer Dateitransfer zwischen kompatiblen Geräten, mit Bewertung der Sicherheitsrichtlinien der Institution.

Private Unternehmen

Wir definieren einen Pilot rund um einen realen Prozess: Nutzer, Daten, Integrationen, Kosten und Abnahmekriterien. Die Erweiterung erfolgt nach der Bewertung des Ergebnisses.

Institutionen und staatliche Unternehmen

Wir legen die Anforderungen an Zugänglichkeit, Hosting, Datenschutz und Interoperabilität fest. Jede Verbindung mit AGE- oder STISC-Diensten erfordert die Validierung der Berechtigung, des Zugriffs und der Genehmigungen.

Dies sind Anpassungsszenarien, keine Aussagen über bestehende Verträge oder Partnerschaften. Die vorgeschlagenen Funktionen werden im Arbeitsbereich des Projekts bestätigt.

Discută un pilot

Teil eines Ökosystems.

Was sollte bei Ihnen besser laufen?

Erzählen Sie uns von Ihrem Prozess. Gemeinsam legen wir fest, was sich zu bauen lohnt, was wir anbinden können und wie wir das Ergebnis prüfen.

Lassen Sie uns sprechen