Tiny Thing Blocks: Integrating Everyday Objects into IoT Context

  • Lucas Amorim UFAM
  • Márcio Alencar UFAM
  • Raimundo Barreto UFAM


The evolution of smart things technologies caused the growth in the popularity of concepts such as smart homes and industry 4.0. The Internet of Things (IoT) is the paradigm that encompasses and give a base for these topics. The development of devices that are used in this paradigm requires knowledge of subjects such as programming, embedded cyber-physical systems, web protocols, networking and others. This paper proposes a method to make it easier for people who do not have this knowledge to create smart IoT devices. To achieve this goal, we decide to create a visual language based on blocks that automatically generate code to Internet of Things devices. This language gives support to design the behavior of devices, which is represented by a model of a finite state machine. This model is generated using the tool Graphviz, which is a graph generator. We created a compiler for this language using the compiler generator Coco/r. The compiler translates the block code into the C language which is one of the programming language recognised by the Arduino IDE. We advocate that this process is more intuitive than the normal development process. after conducting tests with users, the first evaluation about this method is that it can be useful for people who understand the base concepts of it. However, there is just a few data about tests, turning it into a not definitive conclusion.

Palavras-chave: IoT, VLP, Internet of Things, Visual programming language


Márcio Alencar, Lucas Amorim, Eduardo Souto, and Raimundo Barreto. Tinything: Um módulo hardware/software de baixo custo para internet das coisas. Relatório Técnico - RT-GISE 001/2019. Universidade Federal do Amazonas. Instituto de Computação, pages 1–6, 2019.

Rajkumar Buyya and Amir Vahid Dastjerdi. Internet of Things: Principles and Paradigms. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1st edition, 2016.

Z. Cai, A. Bourgeois, and W. Tong. Guess editorial: Special issue on internet of things. In Tsinghua Science and Technology, 2017.

S.-K. Chang, T. Ichikawa, and P.A. Ligomenides. Visual Languages. Plenum Press, 1986.

Visualino: A desktop version of Roboblocks. A block-based programming environment for arduino [online]. Available at https://github.com/vrruiz/visualino/ (25/06/2019).

Martin Erwig, Karl Smeltzer, and Xiangyu Wang. What is a visual language? Journal of Visual Languages Computing, 38:9 – 17, 2017.

Google for Education Blockly. [online]. Available at https://developers.google.com/blockly/guides/get-started/web (25/06/2019).

D. Makoshenko and I. Enkovich. Iot development: Discovering, enabling and validation of real life iot scenarios. In 2017 Second International Conference on Fog and Mobile Edge Computing (FMEC), pages 159– 164, May 2017.

Node-RED. [online]. Available at https://nodered.org/ (25/06/2019).

Karen Rose, Scott D. Eldridge, and Lyman Chapin. THE INTERNET OF THINGS: AN OVERVIEW Understanding the Issues and Challenges of a More Connected World. Technical report, Internet Society, 10 2015.

Visuino. [online]. Available at https://www.visuino.com/ (25/06/2019).
AMORIM, Lucas; ALENCAR, Márcio; BARRETO, Raimundo. Tiny Thing Blocks: Integrating Everyday Objects into IoT Context. In: TRABALHOS EM ANDAMENTO - SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SISTEMAS COMPUTACIONAIS (SBESC), 9. , 2019, Natal. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2019 . p. 131-136. ISSN 2763-9002. DOI: https://doi.org/10.5753/sbesc_estendido.2019.8648.