ERK'2022, Portorož, 28-31 28 Pametna QR koda in bralnik, za temperaturno sledljivost izdelkov Rok Hrovat 1 , Aleksander Seˇ sek 1 University of Ljubljana, Faculty of Electrical Engineering Ljubljana, Slovenia E-mail: rh8968@student.uni-lj.si, aleksander.sesek@fe.uni-lj.si Smart QR Code and scanner for product temperature tracking The paper presents a QR code and its ability to maintain the information even when part of code is damaged, or in our case replaced with the ”smart” field. This field can carry another type of information, which can be again, coded. As QR codes are used for the advanced labels of products, links, menus etc., the additional informa- tion can give an important dynamic information about the product. Main issue solved with the presented pa- per is, how to keep track of the temperature environment of a product and incorporate it in the QR code. The solu- tion for temperature tracking are temperature irreversible pigments, which can be functionalized for different tem- perature ranges. The paper presents the QR code with functionalized central area, the reader for such code and information transfer to the server for future processing. 1 Uvod V industriji je nadzor vseh vrst izdelkov zelo pomemben, ˇ se posebej pri masivni proizvodnji. Zato je bilo razvitih veˇ c nadzornih sistemov, od katerih je ˇ crtna koda ena iz- med najbolj razˇ sirjenih. Sreˇ camo jo praktiˇ cno na vsakem izdelku, ki je danes proizveden. ˇ Crtna koda predstavlja enostavno reˇ sitev za informacijo o izdelku samem, ven- dar ne more podajati dinamiˇ cnih informacij, na primer temperaturo skladiˇ sˇ cenja, vlago, osvetljenost itd, pred- vsem ˇ ce gre za pokvarljive izdelke v prehrambeni indu- striji. Na kvaliteto izdelkov vpliva mnogo razliˇ cnih dejavni- kov kot so vlaga, osvetlitev, mehanska obremenitev, tem- peratura in podobno. Pri transportu izdelkov je potrebno zagotoviti ustrezne pogoje za ohranitev njegove neopore- ˇ cnosti. Eno najveˇ cjih teˇ zav pri tem predstavlja zagota- vljenje temperaturne sledljivosti gibanja izdelka, saj ne sme preseˇ ci doloˇ cenega temperaturnega obmoˇ cja. Tipiˇ cen primer je odmrznitev zmrznjenih ˇ zivil in naprimer pregre- tje ali zamrznitev zelenjave med transportom. Nedopu- stno je, da bi se neko globoko zmrznjeno ˇ zivilo med tran- sportom odtajalo, kasneje pa bil bilo zopet zamrznjeno in prodano. Reˇ sitev je v sledljivosti temperature ˇ zivila v prodajni verigi, ki je vidna na embalaˇ zi izdelka. Ideja je v nadomestitvi klasiˇ cne ˇ crtne kode s QR kodo, ki ima po- leg podatkov o produktu tudi dodatno informacijo o tem- peraturenem podroˇ cju gibanja izdelka v obliki barve. S tem zagotovimo sledljivost in hkrati nadzor nad tempe- raturnim profilom okolja, po katerem se je izdelek gibal. Predstavljeno reˇ sitev lahko uporabimo pri vseh izdelkih obˇ cutljivih na temperaturne variacije. 2 Pametna QR koda QR koda je nadgradnja klasiˇ cnih ˇ crtnih kod, ki lahko vse- bujejo le majhno ˇ stevilo informacij (pribliˇ zno 20 alfa nu- meriˇ cnih znakov). QR koda pa z dodatkom nove dimen- zije ustvari dvodimenzionalen matriˇ cni zapis, ki ima ve- liko veˇ cjo gostoto informacij na dani povrˇ sini. Koliˇ cina vsebovanih podatkov je odvisna od razliˇ cnih standardov in parametrov. V osnovi je QR koda razporeditev ˇ crnih toˇ ck na beli podlagi v kvadratni obliki. Poznamo veˇ c ver- zij QR kod, ki se delijo glede na velikost in poslediˇ cno na maksimalno moˇ zno koliˇ cino podatkov, ki jih koda lahko vsebuje: od najmanjˇ se verzije 1, ki ima 21× 21 slikovnih toˇ ck pa vse do verzije 40, ki lahko vsebuje najveˇ c infor- macij, v njej pa so podatki kodirani v matriki velikosti 177× 177 slikovnih toˇ ck. Slika 1: Verzije QR kode: na levi verzija 1 (21× 21), v sredini verzija 2 (25× 25) in desno verzija 40 (177× 177) Odliˇ cna lastnost QR kode je tudi odpravljanje napak. Za zagotovitev pravilnosti prebranih informacij obstajajo doloˇ ceni razredi toleranc in korekcijskih faktorjev. S po- moˇ cjo Reed - Solomonovega algoritma se v kodo dodajo gesla, ki omogoˇ cajo branje informacije iz poˇ skodovane QR kode, ki pri najviˇ sji stopnji H znaˇ sa do 30 % neberlji- vega dela. Ta del pa mora biti seveda izven obveznih polj, ki so namenjena poziciji, poravnavi, ipd.. Na to moˇ znost lahko gledamo tudi drugaˇ ce in sicer tako, da v QR kodi lahko mesta, ki niso nujno potrebna za razpoznavo kod, uporabimo za dodatno kodirano informacijo. Taka QR koda torej, poleg osnovnega zapisa podatkov, vkljuˇ cuje ˇ se barvno kodo [1], [2], [3]. 29 3 Barvna koda V del QR kode, izbrano je bilo podroˇ cje na sredini, kjer ni obveznih sestavnih delov QR kode, se je dodal barvni kvadrat, kjer je bila informacija o temperaturnem obmoˇ cju gibanja izdelka zapisana v odtenku doloˇ cene barve. Pri- mer take kode je prikazan na sliki 2. Slika 2: QR koda z osrednjim barvnim podroˇ cjem Barva v kvadratu je izbrana glede na najboljˇ so sporoˇ ci- lno vrednost za ˇ cloveka, glede na tempraturno oboˇ cje, ali alarmno sporoˇ cilo. Tako so modri odtenki najveˇ ckrat izbrani za hladnejˇ se barve, zeleni za sobno temperaturo ter rdeˇ ci za viˇ sje temperature ter alarme. Najveˇ cji izziv je nameˇ sˇ canje funkcionaliziranih barvnih podroˇ cij na iz- delke, ker morajo biti nameˇ sˇ ceni v (za izdelek) ustreznem temperaturnem podroˇ cju. To pomeni za zmrznjene iz- delke v hladilnicah, oziroma mora biti funkcionalizacija tam ustrezno aktivirana. Za izdelavo pigmentov se izkoriˇ sˇ ca posebna lastnost doloˇ cenih materialov in sicer termokromizem. To je le en izmed mnogih tipov kromizma. Predstavlja proces spreminjanja odtenka barve pigmenta zaradi izpostavlje- nostio doloˇ cneni temperaturi. Ta sprememba je lahko po- vratna ali nepovratna. Pri povratnem termokromizmu se izpostavljenemu delu ob povratku na izhodiˇ sˇ cno tempe- raturo povrne tudi osnovna barva, pri nepovratnem pa se sprememba barve ohrani. ˇ Se veˇ c, iz odtenka barve lahko pri doloˇ cenih pigmentih natanˇ cno doloˇ cimo doseˇ zeno tem- peraturo. To lastnost v praksi izkoriˇ sˇ camo za aplikacije, kot na primer na skodelicah kot pokazatelj temperature napitka, pri baterijah kot indikator napolnjenosti baterije in podobno. V uporabi sta dve glavni skupini materialov, ki se izrabljajo za termokromni uˇ cinek, prva so tekoˇ ci kri- stali in druga so levko barvila [4], [5]. Z razvojem temperaturno odvisnih pigmentov se ukva- rja podjetje Mycol d.o.o. [6], ki po ˇ zelji uporabnika raz- vije, testira ter predlaga najugodnjeˇ so reˇ sitev za specifiˇ cno transportno pot izdelka. Tam se je tudi porodila ideja za razvoj pametne QR kode in bralnika, ki bi omogoˇ cal za- jem in nadalnjo uporabo podakov, ter po potrebi reakcijo operaterja. 4 Sistem za zaznavo in obdelavo pametne QR kode Glavni del sistema je razvojna platforma ESP32-CAM [7], [8], predstavljena na sliki 3. Ta vsebuje dvojedrni procesor (frekvenca ure do 240 MHz), vgrajen vmesnik za kamero, WiFi in Bluetooth modul ter ˇ se mnogo drugih funkcionalnosti. Uporabljena kamera OV2640 omogoˇ ca najveˇ cjo loˇ cljivost 2 megapiksla (1600× 1200 pikslov) in podpira razliˇ cne slikovne formate [9]. Za programiranje je bilo uporabljeno razvojno okolje Arduino [10]. Slika 3: ESP32-CAM modul Sistem, ki deluje kot roˇ cni optiˇ cni ˇ citalnik, poleg prej omenjenega ESP32 modula vsebuje ˇ se druge pomembne dele, kot so dvovrstiˇ cni zaslon z 128× 64 slikovnih pik za prikaz rezultata zajema ter modul za osvetlitev kode s tremi LED diodami (osvetlitev v obmoˇ cju 7000 K - 9000 K ter 100 - 110 lumnov svetilnosti). Za napajanje diod potrebujemo ˇ se gonilnik LD24AJTA [11]. Napajanje je zagotovljeno z akumulatorskimi baterijami INR18650- 29E, ki jih polnemo z namenskim vezjem s ˇ cipom TC40- 56A [12]. Ker ESP32 potrebuje stabilno napajanje 5 V , iz baterijske napetosti 3.7 V s pomoˇ cjo vezja MT3608 [13] (pretvornik navzor) to zagotovimo. Podobno sto- rimo tudi za napajanje LED diod, ki potrebujejo 12 V . Vsi naˇ steti moduli so bili loˇ ceno testirani, povezani v celoto ter nameˇ sˇ ceni v zato naˇ crtano in izdelano 3D plastiˇ cno ohiˇ sje, predstavljeno na sliki 4. Slika 4: Ohiˇ sje roˇ cnega bralnika QR kode - pogled zgoraj Bralnik ima stikalo za vklop tik pod zaslonom. Ob 30 vklopu se inicializira in poveˇ ze preko Wi-Fi omreˇ zja na streˇ znik ter stanje sistema sporoˇ ci na zaslonu. S tem je pripravljen na zajem slike. Ob pritisku na tipko, tik pod stikalom za vklop, se sproˇ zi vklop osvetlitve, nato pa ESP32 zajema sliko pod bralnikom. V primeru pravilne detekcije QR kode izklopi zajem ter predstavi zajete po- datke na zaslonu, hkrati pa podatke posreduje tudi na ser- ver. Na sliki 5 je predstavljen spodnji pogled bralnika z LED diodami in kamero na sredini. Slika 5: Ohiˇ sje roˇ cnega bralnika QR kode - pogled spodaj 5 Delovanje Blokovna shema sistema, prikazana na sliki 6, predsta- vlja osnovne sestavne dele bralnika in komunikacijo s streˇ znikom. Slika 6: Blok shema sistema Osnovna funkcija, ki jo mora bralnik opravljati, je torej razpoznava QR kode. Zato je uporabljena prosto dostopna programska knjiˇ znica ESP32QRCodeReader [14], ki zdruˇ zuje tudi nekatere druge knjiˇ znice, kot na primer za zajem slike, razpoznavanje vzorcev in mate- matiˇ cne operacije. Knjiˇ znica je sluˇ zila za osnovo,potrebno pa jo je bilo prilagoditi naˇ sim potrebam. Dodati ji je bilo potrebno del za inicializacijo sistema, urediti pulzno- ˇ sirinsko krmiljenje osvetlitve ter povezati sistem z Wi-Fi omreˇ zjem. V primeru napake pri prej omenjenih pro- gramskih korakih, operater to informacijo prejme preko zaslona, hkrati pa se zopet zaˇ zene inicailizacija. QR koda se v osnovi prebere v pomnilnik ESP kot ˇ crno-bela slika, saj je to priˇ cakovano. Knjiˇ znica tako po- trebuje ˇ se dodatno razˇ siritev za barvni zajem, kar izbrana kamera omogoˇ ca. Osnovni barvni zajem opravi zajem osnovnih RGB barv, kar bi v naˇ sem primeru pomenilo, da lahko zajamemo informacijo o barvi, ne pa tudi njene itenzitete, ki je pomembna za zaznavo temperaturne spre- membe pigmenta. Zato je bil izbran YUV zapis. Le ta uporablja Y-Cb-Cr barvni prostor (ang.Y-luma, Chroma red, Chroma blue). Pri zajemu pa smo naredili ˇ se poe- nostavitev, saj je ˇ cloveˇ sko oko mnogo bolj obˇ cutljivo na spremembe v osvetljenosti, kot na spremembe v barvi, zato barve podvzorˇ cimo. Dopolnjena oznaka takega for- mata je YUV422, kar pomeni, da sta barvna kanala podv- zorˇ cena s faktorjem 2 - dve sosednji slikovni toˇ cki si de- lita U in V komponenti, Y komponenta pa ostaja unika- tna za vsako slikovno toˇ cko, kar pomeni le dva podatka na slikovno toˇ cko. Primer razdelitve osnovne slike na ka- nale YUV je predstavljen na sliki 7. Slika 7: Slika v YUV formatu Po zajemu slike, se najprej zaˇ zene detekcija sivin- ske slike, kjer preberemo podatke o izdelku ter doloˇ cimo srediˇ sˇ ce QR kode. Nato okoli sredine izberemo 10 x 10 slikovnih toˇ ck, kjer zajamemo podatke U-V kanalov in jih povpreˇ cimo za boljˇ so homogenost zaznave. Rezul- tat je za laˇ zje razumevanje operaterja oz. uporabnika pretvorjen v RGB format, informacija o intenziteti pa ostaja na voljo za nadaljnjo obdelavo. Rezultat zajema prikaˇ zemo na zaslonu bralnika, prav tako pa ga poˇ sljemo tudi na streˇ znik. Izpis na zaslonu je prikazan na sliki 8. Slika 8: Zaslon z informacijo o izdelku in zajeti barvi Uporabljen streˇ znik je osnovan na Raspberry Pi plat- formi [15]. Podatke za prenos moramo v ESP32 pravilno pripraviti, da jih streˇ znik lahko prepozna in pravilno raz- poredi, zato so loˇ ceni na dva dela - na tekst in sliko. V tekstu je informacija, ki je bila posredovana operaterju na zaslonu, dodatno pa se poˇ slje ˇ se YUV slika za nadaljnjo obdelavo. Poleg teh pa se seveda zapiˇ se tudi datum in ˇ cas 31 zajema podatkov. Ker je YUV format na prvi pogled ne- uporaben za direktni pregled na serverju, mu je pripeta ˇ se datoteka JPG formata, ki jo streˇ znik zlahka prepozna. Veˇ c o pametni QR kodi, uporabljeni programski kodi ter delovanju sistema kot celote, je opisano v diplomskem delu [16]. 6 Nadalnji koraki Predstavljen sistem za zajem je zgolj osnova za nadal- nji razvoj. Ena od glavnih nalog v prihodnosti je zago- toviti homogeno osvetlitev z visokim CRI faktorjem, ki nam zagotavlja osvetlitev, primerljvo z naravnim virom - Soncem. Prav tako bi moral bralnik zagotavljati konstan- tno oddaljenost in kot za enako osvetlitev vseh kod. Ve- liko omejitev prestavlja tudi loˇ cljivost kamere, ki nam ne omogoˇ ca uporabe QR kod viˇ sjih verzij. Prav tako pa bi zmoglivejˇ si senzor kamere omogoˇ cil natanˇ cnejˇ si zajem barve in njenega odtenka. Trenutno za vse funkcije bral- nika izkoriˇ sˇ camo le eno jedro, na voljo pa imamo dve. Nalogo zajema in poˇ siljanja bi lahko loˇ cili in s tem za- gotovili prenos veˇ cje koliˇ cine podatkov, brez prekinitev in napak, predvsem v primeru izpada brezˇ ziˇ cne povezave ter uporabe kamere z viˇ sjo loˇ cljivostjo. Streˇ znik, ki je tre- nutno uporabljen, opravlja le osnovno nalogo hranjenja podatkov. Le ta bi nad podatki lahko izvajal tudi aktivno obdelavo in ob napakah reagiral z alarmi. Predvsem pa bi morali podatke na streˇ zniku zaˇ sˇ cititi pred vdorom in krajo, oziroma pred uniˇ cenjem. Nenazadnje je moˇ zno nadgraditi tudi samo QR kodo z dodatnimi informaci- jami na ostalih moˇ znih mestih in jo izpopolniti tudi na naˇ cin zaznave pravilnosti nanosa pigmenta ter uporabe za druge namene z drugaˇ ce funkcionaliziranimi elementi (npr. magnetni zapis, osvetlitev, vlaga, ipd.). 7 Zakljuˇ cek V prispevku je predstavljena pametna QR koda, ki ima funkcionaliziran osrednji del z barvnim poljem. Polje se v primeru uporabe na produktu prelepi z realnim pi- gmentnim nanosom, ki reagira na spremembo tempera- ture (termokromizem). Informacija o temperaturnem gi- banju izdelka se ne skriva samo v barvi, temveˇ c tudi v odtenku le te, zato je zajem in obdelava take kode zah- tevnejˇ sa. Za branje je bil razvit roˇ cni bralnik z osvetli- tvijo, ki omogoˇ ca zajem slike QR kode in njeno obdelavo. Iz slike razbere podatke o izdelku ter loˇ ceno informacijo o barvi in odtenku. Vse informacije prikaˇ ze na zaslonu bralnika, zajeto osnovno sliko ter podatke pa posreduje tudi streˇ zniku. Tako QR koda kot bralnik sta ˇ ze pripra- vljena na osnovno uporabo, potrebno pa ju je ˇ se nadgra- diti v smeri optimizacije in zaˇ sˇ cite podatkov. 8 Zahvala Zahvaljujem se podjetju MyCol za informacije v zvezi z termokromnimi pigmenti. Literatura [1] QR Code Error Correction. Dosegljivo : https://blog. qrstuff.com/2011/12/14/qr-code-error-correction December 2011. [Dostopano: 12. 4. 2022]. [2] Tan Jin Soon. Qr code. synthesis journal, 2008:59–78, 2008. [Dostopano: 12. 4. 2022]. [3] Sumit Tiwari. An introduction to qr code techno- logy. In 2016 International Conference on Informa-tion Technology (ICIT), pages 39–44, 2016. [Dosto-pano: 12. 4. 2022]. [4] Urˇ ska Bartol. Izdelava pametne embalaˇ ze z vkljuˇ citvijo indikatorja ˇcasa in temperature. Ma-gistrsko delo, Univerza v Ljubljani, naravoslovno-tehniˇ ska fakulteta, Ljubljana, March 2020. [Dosto-pano: 23. 5. 2022]. [5] Ondrej Pan´ ak, Barbara ˇ Sumiga, Boˇ stjan ˇ Sumiga, Petra Straˇzar, Aleksander Seˇsek, and Marta Klanjˇ sek Gunde. Colour measurements of thermo-chromic indicators with various colouration tempe-ratures. In Proceedings of the 2nd International Conference on Circular Packaging: Slovenj Gra-dec and online, 9th and 10th of September 2021, Proceedings of the 2nd International Conference on Circular Packaging: Slovenj Gradec and online, 9th and 10th of September 2021, page 261–268. Pulp and Paper Institute; Faculty of Polymer Technology, 2021. [6] MyCol – Temperaturni nadzor vsakega ˇzivila po ˇzeljah vsakega kupca. Dosegljivo: http://www.mycol.si/sl/ home/. [Dostopano: 23. 5. 2022]. [7] ESP32-CAM. Dosegljivo: http://www.ai-thinker.com/pro_ view-24.html.[Dostopano: 23. 5. 2022]. [8] ESP32-CAM Development Board. Dosegljivo: https://media.digikey.com/pdf/Data%20Sheets/DFRobot %20PDFs/DFR0602_Web.pdf. [Dostopano: 23. 5. 2022]. [9] OV2640: Specs, Camera, Datasheet & Alterna-tive (2022 Report). Dosegljivo: https://www. arducam.com/ ov2640/. [Dostopano: 23. 5. 2022]. [10]Software. Dosegljivo: https://www. arduino.cc/en/ software. [Dostopano: 23.5. 2022]. [11] 30V, 1.2a step-down high brightness led driver with 5000:1 dimming. Dosegljivo: https://www. electroschematics. com/wp-content/uploads/2014/07/ PT4115E-datasheet.pdf. [Dostopano: 2. 7. 2022]. [12] Tc4056a datasheet. Dosegljivo: https://datasheetspdf.com/ pdf/1309136/UMANELECTRONICS/TC4056A/1. [Dostopano: 2. 7. 2022]. [13] Mt3608 datasheet. Dosegljivo: https://datasheetspdf.com/ pdf/909246/AEROSEMI/MT3608/1. [Dostopano: 2. 7. 2022]. [14] Esp32qrcodereader. Dosegljivo: https://github.com/ alvarowolfx/ESP32QRCodeReader. [Dostopano: 2. 7.2022 [15] Raspberry Pi Ltd. Buy a Raspberry Pi 3 Model B. Dosegljivo: https://www.raspberrypi.com/products/ raspberry-pi-3-model-b/. [Dostopano: 2. 7. 2022]. [16] Rok Hrovat. Razvoj in detekcija pametne QR kode. Diplomsko delo, Univerza v Ljubljani, Fakulteta za elektrotehniko, Ljubljana, July 2022.