Tiny Thing Blocks: Integrating Everyday Objects into IoT Context - Amorim, Lucas; Alencar, Márcio; Barreto, Raimundo (Anais Estendidos do Simpósio Brasileiro de Engenharia de Sistemas Computacionais (SBESC), 2019)
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.