QR Codes: From a Survey of the State of the Art to Executable eQR Codes for the Internet of Things - Scanzio, Stefano; Rosani, Matteo; Scamuzzi, Mattia; Cena, Gianluca (IEEE internet of things journal, 2024)
QR codes are increasingly used in a plurality of scenarios, and research activities are being successfully carried out to improve this technology and widen its contexts of applicability. After an extensive survey of the state of the art on the subject, this work presents the new, promising possibility to embed a programming language in a QR code. This new kind of executable QR codes, we named eQR codes, enable interaction with end users even in the absence of an Internet connection, and provide a sort of Internet of Things paradigm where intelligence is embedded in the object tag in the form of a program. Among all the possible languages that can be embedded, this work focuses on a powerful but compact (in terms of QR code storage occupation) dialect, termed QRtree, which is aimed at implementing decision trees. The eQR code technology makes a new class of applications possible, e.g., providing hints for navigation or instructions for using rescue devices in places with no network coverage like mountains and caves. Smart interactive user manuals are enabled as well. Besides defining the QRtree language and eQR code structure, this article describes all the steps needed to generate eQR codes and to manage their execution in end-user devices. A simple yet realistic example and the related code are also presented, to practically show how this technology can be used to solve real-world problems. For the example, the QRtree version of the code takes 234B, less than one-half the size of an equivalent program in Python bytecode (634B).