Besuch ist da. Und wer kennt es nicht, die Frage nach dem Internet. Egal ob zu Hause der Besuch der Kinder, auf der Arbeit der Gast. Anstatt die Daten mühselig einzugeben: Wie ist eigentlich so ein WLAN QR-Code aufgebaut?

Gemäß RFCs folgen URLs dem üblichen Schema. Das für WLAN wäre somit wifi://<ssid>. Falls man noch einen Benutzernamen und Passwort braucht: wifi://<benutzer>:<passwort>@<ssid>. Nichts Ungewöhnliches, alles so wie man es kennt. Allerdings benötigt man für QR Codes das „ältere“ Schema. Diese URL beginnt mit WIFI:, einzelne Schlüssel-Wertpaare werden mit ; getrennt und endet immer mit ;;. Die folgende Tabelle zeigt die möglichen Schlüssel-Wertpaare. Nicht benötigte Schlüssel kann man einfach weglassen.

 

S Die zu benutzende SSID
T Typ. Einer der Werte WEP, WPA oder nopass
P Das Passwort. Falls T:nopass gesetzt ist, wird dieser Wert ignoriert
H Hidden. Muss auf true gesetzt werden, sofern ein verborgenes Netz verbunden werden soll. Ebenfalls ist false möglich oder eben weglassen.

Ein paar Beispiele:

  • WIFI:S:Nur eine SSID;;
  • WIFI:S:MeinWLAN;T:WPA;P:meinPasswort;;
  • WIFI:S:MeinHiddenWLAN;H:true;;

Nachdem man die URL hat, muss man diese noch in einen QR-Code konvertieren. Natürlich gibt es genügend fertige Demos online, mein Ansatz ist jedoch das Selbermachen. Unter Linux verwende ich sehr gerne die libqrencode mit ihrem Befehlszeilentool qrencode. Hierfür gibt es sicherlich mehr als genug Alternativen, ebenso passende Lösungen für Windows oder Mac.

Ein direkte Ausgabe in der Konsole zum sofort scannen würde wie folgt aussehen:

qrencode -tANSI 'WIFI:S:Mein offenes WLAN;;'

-t definiert den Typ, zum Beispiel ANSI für die Konsole. Für Grafikformate kann man zum Beispiel png oder svg angeben. Und mit -o kann man die Ausgabe in eine Datei umlenken. Das sieht zum Beispiel wie folgt aus:

qrencode -tsvg -o/tmp/wifi.svg 'WIFI:S:Mein offenes WLAN;;'

Weitere Details finden sich, wie immer, in der man page.

WLAN QR-Code