QR kódy: kilobajty v malém obrázku

1. 3. 2010
Doba čtení: 4 minuty

Sdílet

QR kódy nejsou žádnou novinkou, ale u nás se začínají objevovat až v poslední době a poměrně pozvolna. Nástrojů na jejich tvorbu a čtení přitom existuje celá řada a jedná se o velmi užitečný nástroj propojující reální svět s tím internetovým. Co to QR kódy jsou a jaké jsou jejich možnosti v Linuxu?

Obecný úvod aneb o čem to celé je

Pravděpodobně jste se s nimi už setkali. K vidění jsou na reklamách, v časopisech, ale třeba taky v ZOO na cedulce s popisem zvířat. Řeč je o QR kódech, což jsou malé bílé čtverečky pokryté mozaikou černých bodů. Jeden (dokonce funkční) najdete i v úvodníku tohoto článku.

QR kód je vlastně 2D čárový kód, který byl vytvořen japonskou společností Denso-Wave už v roce 1994. QR znamená Quick Response a vyjadřuje také to, k čemu tento kód je – k rychlému načtení, dekódování a použití. Původně byl tento systém vyvinut pro sledování pohybu výrobku v továrně, postupně ale našel výrazně širší uplatnění.

Dnes jej najdeme na mnoha různých místech. Hodí se všude tam, kde je potřeba rychle předat větší množství informací, které nechceme ručně opisovat třeba do mobilu nebo počítače. Místo prostého textu tak stačí uživateli předložit malý (či velký) čtvercový obrázek.

QR kód billboard

Opravdu velký QR kód na billboardu v Japonsku, licence CC-by-sa, autorem je Nicolas Raoul.

QR kódy jsou pevně standardizované a mají vlastní normu ISO 18004:2006.

Jak to funguje?

Každý QR kód se skládá z několika části: terčíků pro správné zaměření při čtení, informací o formátu kódu, verzi kódu a samozřejmě samotných dat. Vše přehledně shrnuje následující schéma.

QR kód schéma

Schéma rozložení QR kódu, licence CC-by-sa, autorem je Richard Wheeler.

Existuje několik různých verzí kódů, které se liší jednak kapacitou, ale také schopností odolávat poškození. V případě kapacity samozřejmě záleží na tom, jaký typ informace ukládáme. Maximálně je možné uložit:

  • 7089 číslic
  • 4296 alfanume­rických znaků
  • 2953 bajtů libovolných dat
  • 1817 japonských znaků Kanji

Výhodou QR kódů také je, že jsou schopny velmi dobře odolat poškození. Může k němu dojít jednak vlivem mechanického opotřebení (třeba na vizitce v kapse) nebo špatnými podmínkami při snímání. I přesto je ale obvykle možné velmi rychle kód úspěšně přečíst. Existují čtyři různé stupně ochrany obsahu:

  • úroveň L – až 7 % poškozené plochy
  • úroveň M – až 15 % poškozené plochy
  • úroveň Q – až 25 % poškozené plochy
  • úroveň H – až 30 % poškozené plochy

Co se běžně ukládá?

V principu je možné samozřejmě do QR kódu uložit libovolná data. Nejčastěji se ale ukládají informace konkrétního charakteru jako jsou:

  • Webová adresa (URL)
  • Kontaktní informace (vizitka)
  • Událost v kalendáři
  • E-mail
  • Poloha dle GPS
  • Telefonní číslo
  • a další…

Kód pak můžete vytisknout v podstatě kamkoliv, na vlastní papírovou vizitku, na vývěsní štít své firmy, na své auto nebo třeba na firemní materiály. V ZOO v Liberci jsou například kódy u výběhů zvířat a vy se tak můžete na svém mobilním telefonu velmi rychle dozvědět další podrobnosti o konkrétních druzích.

QR kód Root

Příklad: vizitka serveru Root.cz se všemi podstatnými informacemi

Jak generovat?

Pokud chcete vygenerovat vlastní kód, můžete využít několik různých cest. Jednou z nich je například konzolová utilita qrencode. Ta je součástí mnoha distribucí a zvládá všechny důležité funkce pro tvorbu kódů. Použití je snadné:

 $ echo 'Ahoj lidi, zdraví vás Root.cz!'|qrencode -o /tmp/QR_pozdrav.png
QR pozdrav

Další možností jsou různé online generátory, ten nejzajímavější je součástí projektu ZXing a zvládá spoustu zajímavých formátů jako je vizitka, telefonní číslo, URL a podobně. Stačí si vybrat, vyplnit formulář a stisknout Generate:

QR kód dlažky

Existuje také několik dalších možností, jako jsou například rozšíření do prohlížeče. Pro Chrome můžete použít QR-Code Tag a pro Firefox například Mobile Barcoder nebo Easy QR code.

Jak číst?

Nejčastěji se QR kódy čtou pomocí mobilního telefonu. Ten máme vždy po ruce, jeho kamera dokáže obrázek sejmout a speciální software jej pak dekóduje. Inteligentnější aplikace dokáží rovnou provést standardní událost podle obsahu kódu: otevřít v prohlížeči zadanou URL, uložit vizitku do kontaktů, spustit e-mailový klient se správně vyplněnou adresou, vložit událost do kalendáře a podobně.

Aplikací pro čtení QR kódů je celá řada, pro Android je to například program BarcodeScanner, uživatelé iPhone mohou použít aplikaci BeeTagg. Pro Symbian můžete vyzkoušet DMSymbian nebo UpCode, pro J2ME telefony zkuste BeeTagg nebo QR2DBarCode a na Maemo 5 spustíte mBarcode. Vyzkoušené tyto aplikace ovšem nemám, můžete se o zkušenosti podělit v diskusi pod článkem.

ict ve školství 24

Příslušné programy samozřejmě existují i pro další telefony, některé přístroje mívají dokonce čtečku přímo zabudovanou. Čtení je v každém případě jednoduché, stačí namířit kameru na kód a program vše udělá automaticky. Obvykle ani není třeba stisknout tlačítko pro focení.

Bohužel v současné době zřejmě neexistuje funkční čtečka QR kódů pro desktopový Linux, můžete využít jen řádkovou variantu QRCode napsanou v Javě. Jistou naději skýtá projekt ZXing, který je psán v jazyce Java a přestože je určen pro mobilní telefony, měl by fungovat i na desktopu. Zatím je ale v silně vývojovém stavu. Pokud ale přesto chcete některý obrázek dekódovat, můžete použít online aplikaci, které jednoduše předložíte URL obrázku nebo jej přímo uploadujete z disku.

Autor článku

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Studoval počítače a média, takže je rozpolcen mezi dva obory. Snaží se dělat obojí, jak nejlépe umí.