QR kódy do Shell Racing

Nedávno jsem se dostal k BMW modelu ze Shellky a na obale mě zaujal QR kód. Po naskenování vedl na Google Play a hru Shell Racing. Hru jsem se zvědavostí nainstaloval a po registraci závodníka jsem zkusil co se stane, když naskenuju ten kód ze hry. A dostal jsem ten model autíčka do garáže. Super!

Hledání QR kódů

Jenže mě víc, než závodění na dotykáči, zajímá co je v qr kódu. Takže jsem otevřel QR čtečku a podíval se co že jsem to naskenoval na začátku. Ukazovala odkaz na http://www.shell-racing.com/qr/BMWPB201. Začal jsem přemýšlet jak tohle mají vymyšlené a jaké jsou další kódy. Cíl se tedy zdál jasný, chytit všech 150! nebo kolik je jich v té sérii… 😀

Sedl jsem tedy k internetu a hledal na internetu obrázky a videa obalů modelů aut ze série Shell Motorsport, protože za ty léta toho Shell prodávalo už hodně. Hledal jsem a taky našel postupně NIS206, FER205, INDY220, AUPB204, HY225 a NAS223. Clubsmart model se odemyká zadáním čísla klubové karty. Ve hře jsem měl tedy kompletní Motorsport kategorii. Fajn. Ale… Když sem tak díval na ty zkratky, nějak mě to nesedělo. Některé mají PB, jiné ne. Taky ty náhodné čísla přibližně od 200 do 230. Tam musí být nějaký vzorec a tak jsem hledal dál.

Narazil jsem ale na předešlou sérii spojenou s hrou a to BMW Salt edici. Obsahovala čtyři modely, ale QR kódy byly tentokrát pouze číselné. 103, 104, 105 a 100. Ale kde je 101 a 102? To se ukázalo hned vzápětí, protože k autíčkům bylo možné dokoupit i modul s baterkou. Ten měl QR se 102. Dále byla součástí edice i trať. Ta na obale neměla QR kód, jen čárový kód, který je možné zadat i ručně. Domýšlím si, že má číslo 100. Za baterku dostávám 500 klíčů a za trať tři části do editoru tratí.

Z dosavadního zkoumání vyšlo najevo, že je možné skenovat dva typy kódů: QR a čárový. Doplnil jsem si teda dosavadní seznam o čárové kódy i u motorsportu, ke kterému jsem našel i baterku. QR kód ukazoval malými písmeny bat211, ale načíst se do hry nechtěl. Naskenoval jsem aspoň čárový kód a dalších 500 klíčů bylo na účtě. Blesklo mi hlavou, že si ty QR kódy můžu přeci generovat sám a tak sem našel první online free generátor.

Výsledky se hned dostavily, vůbec to nefungovalo, takže další úkol je zjistit proč, co je specifické pro tyto QR kódy a jak je vyrobit jinak než překreslením. Chvíli jsem seděl nad Wikipedií a různými weby a snažil se přijít na to co je přesným obsahem QR kódu. První jsem přešel na to, že moje aplikace převádí URL do standardní formy s http(s), takže sem hledal nástroj co mi to vypíše přesně. A našel. Salt série měla URL ve formátu http://shell-racing.com/qr/101, tedy bez www a vše fungovalo.

Následovala série testů, kdy jsem prošel od 100 všechny čísla. QR 106 mi dal 100 klíčů, 107 a 108 hlásilo, že už bylo naskenováno. od 109 sem to chvíli zkoušel ale bez úspěchu, stejně tak od 99 dolů. Hledal jsem dál na internetu co by mohly být ty čísla navíc ale nenašel nic. Tedy našel jsem další edici. 😀 Tentokrát je to opět předchůdce, a podle hry úplně první sada autíček a modelů, Shell Salt edice. Původně nejspíše to byly čtyři modely s mobilní hrou a až pak se to rozšířilo o další. Na webu vývojáře se dá najít obě salt edice a pár brožur.

Modely v obalech jsem našel celkem rychle a nebylo velkým překvapením jaká URL byla tentokrát na obalech. Nebo spíš bylo, protože součástí je tentokrát i www: http://www.shell-racing.com/qr/1 čísla jsou 14, nicméně opět je dostupná trať a baterka ale funguje to jen s čárovým kódem, které jsem nenašel. Později jsem zjistil, že odměny jsou stejné jen klíčů je jen 200. Měl jsem tedy všechny auta, ale spoustu otázek a záhad a chuť o tom napsat článek.

Hledání čárových kódů

Sesumíroval jsem si zjištěné data do tabulky a hledal spojitosti. Zaměřil jsem se na čárové kódy. Čísla se zdály být nahodilé a žádný smysl nedávaly. Podíval jsem se po generátoru a našel tec-it.com, který jsem už párkrát využil. Umí generovat i skupiny po 10, takže mi to dost usnadnilo práci. Ze čtečky jsem se dozvěděl že se jedná o EAN13, vybral jsem tedy to a zkusil jsem zadat řadu kdy jsem poslední číslo u čárového kódu jednoho z autíček zaměnil za řadu od 0 do 9. Jen jeden fungoval a zbytek se vrátil jako chyba. Šel jsem se podívat tedy jak funguje EAN13 a skutečně, poslední číslo je paritní a dopočítává se. Naštěstí umí generátor počítat s 12 čísly a tak šlo všechno rychleji.

Dosavadní nasbírané EANy začínaly 870, což je Nizozemí, dále pokračovaly samýma nulama a poslední tři až čtyři čísla včetně paritního byly jiné. Vytvořil jsem si tedy seznam od 8 700000 00000x až po 8 700000 00399x, vygeneroval příslušné EANy vždy po pár desítkách a zkoušel. Výsledky na sebe nenechaly dlouho čekat. Problém byl, že již naskenované kódy hra vypíše jen tak, že už to mám a ne co to bylo. Vytáhl jsem tedy starý mobil, nainstaloval hru, registroval se, naskenoval kódy, vymazal data aplikace a znovu a postupně tak pároval do tabulky výsledky. V prvních 120 EANech jsem našel všechno. Aspoň myslím. Některé produkty měly jedno, dvě nebo tři EANy zároveň. Hádám, že různé verze nebo doby kdy se to vyrábělo pro Shell.

Další nalezené EANy začínaly 875, což je pořád Nizozemí, a protože u 870 jsem od 150x nic nenaskenoval, pustil jsem se do 875 které končily běžně 2xxx nebo 3xxx, vytvořil jsem tedy opět řadu, ale tentokrát od 8 750000 00000x až po 8 750000 00499x. Metodou postupného procházení kolem známých EANů jsem našel hromadu duplikátů pro motorsport edici v rozmezí 150x370x. Nezkoumal jsem od 870000000350x, taky od 875000000500x a od 875000000000x do 875000000099x.

Na stránkách výrobce jsou další informace o Motorsport, BMW Salt a Salt kolekci.

Generování QR kódů

Posledním velkým cílem bylo zjistit jak je to s QR kódama pro motorsport. Ty jsou ve formátu www.shell-racing.com/qr/BMWPB201. Má to ale háček, většina QR generátorů nevygeneruje správný typ a hra to i se správným textem nevezme. Ponořil jsem se teda více do problematiky QR kódů, hledal jsem jak funguje, jaké jsou parametry a jestli existuje nástroj na rekonstrukci. Nakonec jsem našel tento nástroj na webu nayuki.io, který umí zvolit správné nastavení dokonce ve výchozím nastavení. Problém u běžných online generátorů je ten, že mají fixně nastavenou masku a korekci chyby. Tento nástroj to umí nastavit. Nicméně výchozí nastavení je naprosto v pořádku a stačí jen vypnout Boost ECC. např BMWPB201 má správné nastavení: QR Code version = 2, mask pattern = 2, encoding mode = byte, error correction = level L.

Teď když mi fungovalo generování kódů, bylo třeba se podívat na ten zbytek kódů. Viděl jsem po internetu, že se prodává verze jak s pullbackem (PB, natahovací), tak s bateriemi, což bude asi ten rozdíl v QR kódech. Takže sem si opět udělal seznam kde jsem vypsal zkratku pro model, jednou s PB a jednou bez, a pak následovalo číslo. U těch známých jsem to vyplnil a u neznámých postupně zkoušel nepožitá čísla od 200 do 230. Našel jsem všechny protějšky až na formuli Ferrari SF90, která nemá PB verzi podle všeho. Využitá čísla jsou 200206, 220225 a pak 211 pro baterii, který ale nefunguje. Otázkou je co má 210, to jsem nezjistil.

Zářiový update

Po asi 5 měsících mi přišlo upozornění z Shell klubu, že mají novou řadu modelů, tentokrát BMW M. Zajímavostí je, že existuje 7 modelů s tím, že pro M5 safety car počítám obě varianty, ale u nás se neprodává model M1 a černý model M5 se dá pouze vyhrát. To ale neznamená, že nebudou QR kódy. Opět jsem prohledal internety a našel je na e-bayi téměř všechny včetně baterie. Chyběly jen jedna verze M5 a M1, ale protože byly celkem přímočaré, šly krásně odvodit. Nalézt EANy bylo ale složitější. Díky jedné fotce obalu baterie jsem zjistil, že úplně stačí pokračovat tam, kde jsem skončil na jaře a hned 875000000500x byl úspěch. Prošel jsem jich jen 100 a vypadá to že 8750000006xxx bude zatím prázdné. Vzhledem k tomu, že se QR kódy ani EANy vůbec nijak neliší od předchozích, generování proběhlo bez probémů.

Vytvoření obrázků do galerie byla už jen rutina. Jediné co by stálo za zmínku je rekonstrukce, nově modrého, promo obrázku, který je spíš unikát. Tentokrát jsem neměl k dispozici transparentní PNG a tak jsem prohledal Google obrázky a našel pár kandidátů. Českou verzi s 5 vozy a, mám pocit, bulharskou s šesti. Bylo s tím sice trochu více práce ale výsledek není úplně tak špatný.

Závěr

QR čísla pro Salt: 1, 2, 3 a 4. Pro Bmw Salt: 100, 101, 102, 103, 104, 105, 106, 107 a 108. A nakonec pro Motorsport: AU222, AUPB204, bat211, BMW224, BMWPB201, FER205, HY225, HYPB200, INDY220, INDYPB221, NAS223, NASPB203, NIS206 a NISPB202. V září pak přibyly: BMWM1BMWM3BMWCSLBMWM4BMWZ4BMWM5WBMWM5B a BMWB.

Dále bylo třeba už jen nadělat screenshoty ze hry, upravit a přidat název, QR kód(y) a EAN kód(y) napsat článek a popsat celé to dobrodružství i s následným updatem a to je vše. Teď už jen galerie s výslednou prací a zas někdy čau!

Galerie

Shell BMW M Motorsport

Shell BMW Motorsport

Shell BMW Salt

Shell Salt

Detaily QR a kódů

Generátor: https://www.nayuki.io/page/qr-code-generator-library

Shell BMW M Motorsport

URL: https://www.shell-racing.com/qr/*
qrBMWCSL.png – QR Code version = 3, mask pattern = 3, character count = 38, encoding mode = byte, error correction = level L, data bits = 316.
qrBMWM1.png – QR Code version = 3, mask pattern = 7, character count = 37, encoding mode = byte, error correction = level L, data bits = 308. (asi)
qrBMWM3.png – QR Code version = 3, mask pattern = 6, character count = 37, encoding mode = byte, error correction = level L, data bits = 308.
qrBMWM4.png – QR Code version = 3, mask pattern = 6, character count = 37, encoding mode = byte, error correction = level L, data bits = 308.
qrBMWM5W.png – QR Code version = 3, mask pattern = 2, character count = 38, encoding mode = byte, error correction = level L, data bits = 316.
qrBMWM5B.png – QR Code version = 3, mask pattern = 2, character count = 38, encoding mode = byte, error correction = level L, data bits = 316.
qrBMWZ4.png – QR Code version = 3, mask pattern = 5, character count = 37, encoding mode = byte, error correction = level L, data bits = 308.
URL: www.shell-racing.com/qr/*
qrBMWB.png – QR Code version = 2, mask pattern = 6, character count = 28, encoding mode = byte, error correction = level L, data bits = 236.

Shell BMW Motorsport

URL: www.shell-racing.com/qr/*
AU222 – QR Code version = 2, mask pattern = 2, character count = 29, encoding mode = byte, error correction = level L, data bits = 244.
AUPB204 – QR Code version = 2, mask pattern = 6, character count = 31, encoding mode = byte, error correction = level L, data bits = 260.
BMW224 – QR Code version = 2, mask pattern = 6, character count = 30, encoding mode = byte, error correction = level L, data bits = 252.
BMWPB201 – QR Code version = 2, mask pattern = 2, character count = 32, encoding mode = byte, error correction = level L, data bits = 268.
FER205 – QR Code version = 2, mask pattern = 5, character count = 30, encoding mode = byte, error correction = level L, data bits = 252.
HY225 – QR Code version = 2, mask pattern = 2, character count = 29, encoding mode = byte, error correction = level L, data bits = 244.
HYPB200 – QR Code version = 2, mask pattern = 6, character count = 31, encoding mode = byte, error correction = level L, data bits = 260.
INDY220 – QR Code version = 2, mask pattern = 6, character count = 31, encoding mode = byte, error correction = level L, data bits = 260.
INDYPB221 – QR Code version = 3, mask pattern = 7, character count = 33, encoding mode = byte, error correction = level L, data bits = 276.
NAS223 – QR Code version = 2, mask pattern = 6, character count = 30, encoding mode = byte, error correction = level L, data bits = 252.
NASPB203 – QR Code version = 2, mask pattern = 6, character count = 32, encoding mode = byte, error correction = level L, data bits = 268.
NIS206 – QR Code version = 2, mask pattern = 6, character count = 30, encoding mode = byte, error correction = level L, data bits = 252.
NISPB202 – QR Code version = 2, mask pattern = 6, character count = 32, encoding mode = byte, error correction = level L, data bits = 268.
bat211 – QR Code version = 2, mask pattern = 7, character count = 30, encoding mode = byte, error correction = level L, data bits = 252.

Shell BMW Salt

URL: http://shell-racing.com/qr/*
100 – QR Code version = 2, mask pattern = 0, character count = 30, encoding mode = byte, error correction = level L, data bits = 252.
101 – QR Code version = 2, mask pattern = 5, character count = 30, encoding mode = byte, error correction = level L, data bits = 252.
102 – QR Code version = 2, mask pattern = 0, character count = 30, encoding mode = byte, error correction = level L, data bits = 252.
103 – QR Code version = 2, mask pattern = 4, character count = 30, encoding mode = byte, error correction = level L, data bits = 252.
104 – QR Code version = 2, mask pattern = 5, character count = 30, encoding mode = byte, error correction = level L, data bits = 252.
105 – QR Code version = 2, mask pattern = 4, character count = 30, encoding mode = byte, error correction = level L, data bits = 252.
106 – QR Code version = 2, mask pattern = 7, character count = 30, encoding mode = byte, error correction = level L, data bits = 252.
107 – QR Code version = 2, mask pattern = 7, character count = 30, encoding mode = byte, error correction = level L, data bits = 252.
108 – QR Code version = 2, mask pattern = 4, character count = 30, encoding mode = byte, error correction = level L, data bits = 252.

Shell Salt

URL: http://www.shell-racing.com/qr/*
1 – QR Code version = 2, mask pattern = 6, character count = 32, encoding mode = byte, error correction = level L, data bits = 268.
2 – QR Code version = 2, mask pattern = 6, character count = 32, encoding mode = byte, error correction = level L, data bits = 268.
3 – QR Code version = 2, mask pattern = 6, character count = 32, encoding mode = byte, error correction = level L, data bits = 268.
4 – QR Code version = 2, mask pattern = 2, character count = 32, encoding mode = byte, error correction = level L, data bits = 268.

Detaily EAN13 kódů

Generátor: https://barcode.tec-it.com/en/EAN13

Shell BMW M Motorsport

BMW M1 – 8750000005001, 8750000005117, 8750000005216, 8750000005292
BMW M3 – 8750000005018, 8750000005124, 8750000005223, 8750000005308
BMW 3.0 CSL – 8750000005025, 8750000005230, 8750000005315
BMW M4 GT3 – 8750000005032, 8750000005131, 8750000005247, 8750000005322
BMW Z4 GT3 – 8750000005049, 8750000005254, 8750000005339
BMW M5 SAFETY CAR WHITE – 8750000005056, 8750000005148, 8750000005261
BMW M5 SAFETY CAR BLACK – 8750000005063, 8750000005278, 8750000005346
KEYS500 – 8750000005070, 8750000005285, 8750000005353

Shell BMW Motorsport

BMW M4 MOTORSPORT – 8700000000810, 8700000000957, 8750000001584, 8750000001836, 8750000001904, 8750000002130, 8750000002109, 8750000003014, 8750000003212, 8750000003182, 8750000003342, 8750000003571, 8750000003632, 8750000001683
HYUNDAI I20 COUPE WRC – 8700000000834, 8700000000933, 8750000001591, 8750000001843, 8750000001911, 8750000002147, 8750000002222, 8750000003021, 8750000003205, 8750000002239, 8750000003359, 8750000003588, 8750000003625, 8750000001690
TEAM PENSKE FORD MUSTANG GT– 8700000000872, 8700000000995, 8750000001607, 8750000001850, 8750000001928, 8750000002154, 8750000002116, 8750000003038, 8750000003366, 8750000003656
SHELL V POWER RACING TEAM FORD MUSTANG GT – 8700000000896, 8700000001015, 8750000001614, 8750000001867, 8750000001935, 8750000002161, 8750000003045, 8750000003373, 8750000003595, 8750000003649
NISSAN FORMULA E GEN 2 CAR – 8700000000971, 8750000001621, 8750000001874, 8750000001942, 8750000002178, 8750000003052, 8750000003229, 8750000003380, 8750000003601, 8750000003663
TEAM PENSKE INDYCAR – 8700000001039, 8700000001053, 8750000001638, 8750000001881, 8750000001959, 8750000002185, 8750000003069, 8750000003236, 8750000003397, 8750000003670
FERRARI SF90 – 8700000001121, 8750000001577, 8750000001898, 8750000002123, 8750000003007, 8750000003175, 8750000003335, 8750000003564, 8750000003687
KEYS500 – 8700000001084, 8750000001997, 8750000002192, 8750000003076, 8750000003199, 8750000003403, 8750000003618, 8750000003694

Shell BMW Salt

BMW M2 – 8700000000322
BMW M4 MOTORSPORT – 8700000000339
BMW M4 CONVERTIBLE – 8700000000346
BMW M8 – 8700000000353
TRACK – 8700000000360
KEYS500 – 8700000000377

Shell Salt

FIREBALL – 8700000000186, 8700000000575, 8700000000629
SUN CHASER – 8700000000179, 8700000000568, 8700000000612
SHADOW – 8700000000209, 8700000000599, 8700000000643
LIGHTNING – 8700000000193, 8700000000582, 8700000000636
TRACK – 8700000000216, 8700000000650
KEYS200 – 8700000000292

Tabulky

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Tato stránka je chráněna pomocí reCAPTCHA a platí zásady ochrany osobních údajů a smluvní podmínky společnosti Google.

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..