Overview of Architectures with Arduino Boards as Building Blocks for Data Acquisition and Control Systems - Cvjetkovic, Vladimir M; Matijevic, Milan (International Journal of Online and Biomedical Engineering (iJOE), 2016)
Standard SBCs (Single Board Computer) with number of standard shields and sensors can be used as building blocks for rapid development of network of intelligent devices with sensing, control and Internet access. Arduino family of boards having high popularity and large number of sold units featuring open access, reliability, robustness, standard connections and low prices, possesses large potential for implementation of autonomous remote measurement and control systems of various levels of complexity. As Arduino boards can function independently, they are complete small computer platforms that can perform various tasks requiring some kind of interaction with the outer world. Arduino boards can be used and programmed in various ways, and can be arranged in various combinations forming some typical implementation architectures that this paper discusses. Starting from basic and simple configurations, more advanced are gradually considered from the aspects of chosen way of programming and combining with other boards. Special attention is devoted to NodeJS as programming platform for Arduino boards and considerations of libraries used with Arduino boards like Johnny-Five, Galileo-io firmata equivalent, mraa library and other ways of program access to GPIO like Linux Sysfs. As typical representatives of Arduino boards’ family, the Arduino Uno, Arduino Due and Arduino Galileo were selected, with justification that all other not mentioned boards are somewhere between those selected, according to official hardware specifications.