2016
Journal article  Open Access

Taking Arduino to the Internet of Things: The ASIP programming model

Barbon G., Margolis M., Palumbo F., Raimondi F., Weldin N.

MQTT  [INFO]Computer Science [cs]  Service discovery  Computer Networks and Communications  Communication middleware  Arduino  IoT 

Micro-controllers such as Arduino are widely used by all kinds of makers worldwide. Popularity has been driven by Arduino's simplicity of use and the large number of sensors and libraries available to extend the basic capabilities of these controllers. The last decade has witnessed a surge of software engineering solutions for "the Internet of Things", but in several cases these solutions require computational resources that are more advanced than simple, resource-limited micro-controllers.Surprisingly, in spite of being the basic ingredients of complex hardware-software systems, there does not seem to be a simple and flexible way to (1) extend the basic capabilities of micro-controllers, and (2) to coordinate inter-connected micro-controllers in "the Internet of Things". Indeed, new capabilities are added on a per-application basis and interactions are mainly limited to bespoke, point-to-point protocols that target the hardware I/O rather than the services provided by this hardware.In this paper we present the Arduino Service Interface Programming (ASIP) model, a new model that addresses the issues above by (1) providing a "Service" abstraction to easily add new capabilities to micro-controllers, and (2) providing support for networked boards using a range of strategies, including socket connections, bridging devices, MQTT-based publish-subscribe messaging, discovery services, etc. We provide an open-source implementation of the code running on Arduino boards and client libraries in Java, Python, Racket and Erlang. We show how ASIP enables the rapid development of non-trivial applications (coordination of input/output on distributed boards and implementation of a line-following algorithm for a remote robot) and we assess the performance of ASIP in several ways, both quantitative and qualitative.

Source: Computer communications 89-90 (2016): 128–140. doi:10.1016/j.comcom.2016.03.016

Publisher: IPC Science and Technology Press,, Guildford , Regno Unito


[1] L. Atzori, A. Iera, G. Morabito, The internet of things: A survey, Computer networks 54 (15) (2010) 2787-2805.
[2] D. Guinard, V. Trifa, S. Karnouskos, P. Spiess, D. Savio, Interacting with the soa-based internet of things: Discovery, query, selection, and ondemand provisioning of web services, Services Computing, IEEE Transactions on 3 (3) (2010) 223-235.
[3] D. Guinard, V. Trifa, F. Mattern, E. Wilde, From the internet of things to the web of things: Resource-oriented architecture and best practices, in: Architecting the Internet of Things, Springer, 2011, pp. 97-129.
[4] Z. Sheng, S. Yang, Y. Yu, A. Vasilakos, J. Mccann, K. Leung, A survey on the ietf protocol suite for the internet of things: Standards, challenges, and opportunities, Wireless Communications, IEEE 20 (6) (2013) 91-98.
[5] J. Kim, J. Lee, J. Kim, J. Yun, M2m service platforms: survey, issues, and enabling technologies, Communications Surveys & Tutorials, IEEE 16 (1) (2014) 61-76.
[6] Cosm, accessed: 2016-01-29. URL https://cosm.com
[7] Thingspeak, accessed: 2016-01-29. URL https://www.thingspeak.com/
[8] Nimbits, accessed: 2016-01-29. URL https://www.nimbits.com/
[9] Evrythng, accessed: 2016-01-29. URL http://evrythng.com/
[10] Oneplatform by exosite, accessed: 2016-01-29. URL http://exosite.com/
[11] Axeda platform, accessed: 2016-01-29. URL http://www.axeda.com/
[12] Sensorcloud, accessed: 2016-01-29. URL http://www.sensorcloud.com/
[13] Neuaer, accessed: 2016-01-29. URL http://www.neuaer.com/
[14] idigi device cloud, accessed: 2016-01-29. URL http://www.digi.com/
[15] W. Colitti, K. Steenhaut, N. De Caro, B. Buta, V. Dobrota, Rest enabled wireless sensor networks for seamless integration with web applications, in: Mobile Adhoc and Sensor Systems (MASS), 2011 IEEE 8th International Conference on, IEEE, 2011, pp. 867-872.
[16] Z. Shelby, K. Hartke, C. Bormann, The constrained application protocol (coap).
[17] Sensinode, accessed: 2016-01-29. URL http://www.sensinode.com/
[18] M. Collina, G. E. Corazza, A. Vanelli-Coralli, Introducing the qest broker: Scaling the iot by bridging mqtt and rest, in: Personal Indoor and Mobile Radio Communications (PIMRC), 2012 IEEE 23rd International Symposium on, IEEE, 2012, pp. 36-41.
[19] P. T. Eugster, P. A. Felber, R. Guerraoui, A.-M. Kermarrec, The many faces of publish/subscribe, ACM Computing Surveys (CSUR) 35 (2) (2003) 114-131.
[20] T. Sheltami, A. Al-Roubaiey, A. Mahmoud, E. Shakshuki, A publish/subscribe middleware cost in wireless sensor networks: A review and case study, in: Electrical and Computer Engineering (CCECE), 2015 IEEE 28th Canadian Conference on, IEEE, 2015, pp. 1356-1363.
[21] C. Intanagonwiwat, R. Govindan, D. Estrin, J. Heidemann, F. Silva, Directed di usion for wireless sensor networking, IEEE/ACM Transactions on Networking (ToN) 11 (1) (2003) 2-16.
[22] E. Souto, G. Guimara˜es, G. Vasconcelos, M. Vieira, N. Rosa, C. Ferraz, J. Kelner, Mires: a publish/subscribe middleware for sensor networks, Personal and Ubiquitous Computing 10 (1) (2006) 37-44.
[23] P. Levis, S. Madden, J. Polastre, R. Szewczyk, K. Whitehouse, A. Woo, D. Gay, J. Hill, M. Welsh, E. Brewer, et al., Tinyos: An operating system for sensor networks, in: Ambient intelligence, Springer, 2005, pp. 115- 148.
[24] J.-H. Hauer, V. Handziski, A. Ko¨pke, A. Willig, A. Wolisz, A component framework for content-based publish/subscribe in sensor networks, in: Wireless Sensor Networks, Springer, 2008, pp. 369-385.
[25] O. OMG, Data distribution service for real-time systems, Tech. rep., Technical Report OMG Available Specification formal/07-01-01, OMG (2006).
[26] P. Boonma, J. Suzuki, Self-configurable publish/subscribe middleware for wireless sensor networks, in: Proceedings of the th IEEE Conference on Consumer Communications and Networking Conference (CCNC), pp.-, IEEE Press, 2009.
[27] A. Castellani, N. Bui, P. Casari, M. Rossi, Z. Shelby, M. Zorzi, Architecture and protocols for the internet of things: A case study, in: Pervasive Computing and Communications Workshops (PERCOM Workshops), 2010 8th IEEE International Conference on, IEEE, 2010, pp. 678- 683.
[28] Q. Zhu, R. Wang, Q. Chen, Y. Liu, W. Qin, Iot gateway: Bridgingwireless sensor networks into internet of things, in: Embedded and Ubiquitous Computing (EUC), 2010 IEEE/IFIP 8th International Conference on, IEEE, 2010, pp. 347-352.
[29] U. Hunkeler, H. L. Truong, A. Stanford-Clark, Mqtt-sa publish/subscribe protocol for wireless sensor networks, in: Communication systems software and middleware and workshops, 2008. comsware 2008. 3rd international conference on, IEEE, 2008, pp. 791-798.
[30] M. Franklin, S. Zdonik, data in your face: push technology in perspective, in: ACM SIGMOD Record, Vol. 27, ACM, 1998, pp. 516-519.
[31] A. Stanford-Clark, H. L. Truong, Mqtt for sensor networks (mqtt-sn) protocol specification (2013).
[32] iobridge - connect things, accessed: 2016-01-29. URL http://iobridge.com/
[33] Lord sensing microstrain, accessed: 2016-01-29. URL http://www.microstrain.com/
[34] Arduino, accessed: 2016-01-29. URL http://www.arduino.cc/
[35] Armmbed, accessed: 2016-01-29. URL http://mbed.org/
[36] nanode, accessed: 2016-01-29. URL http://www.nanode.eu/
[37] Lilypad arduino main board, accessed: 2016-01-29. URL https://www.arduino.cc/en/Main/ ArduinoBoardLilyPad/
[38] H. G. Cerqueira Ferreira, E. Dias Canedo, R. T. De Sousa, Iot architecture to enable intercommunication through rest api and upnp using ip, zigbee and arduino, in: Wireless and Mobile Computing, Networking and Communications (WiMob), 2013 IEEE 9th International Conference on, IEEE, 2013, pp. 53-60.
[39] P. Barsocchi, E. Ferro, F. Palumbo, F. Potorti, Smart meter led probe for real-time appliance load monitoring, in: SENSORS, 2014 IEEE, IEEE, 2014, pp. 1451-1454.
[40] A. Al-Fuqaha, M. Guizani, M. Mohammadi, M. Aledhari, M. Ayyash, Internet of things: A survey on enabling technologies, protocols, and applications, Communications Surveys & Tutorials, IEEE 17 (4) (2015) 2347-2376.
[41] D. Thangavel, X. Ma, A. Valera, H.-X. Tan, C. K.-Y. Tan, Performance evaluation of mqtt and coap via a common middleware, in: Intelligent Sensors, Sensor Networks and Information Processing (ISSNIP), 2014 IEEE Ninth International Conference on, IEEE, 2014, pp. 1-6.
[42] W. Colitti, K. Steenhaut, N. De Caro, B. Buta, V. Dobrota, Evaluation of constrained application protocol for wireless sensor networks, in: Local & Metropolitan Area Networks (LANMAN), 2011 18th IEEE Workshop on, IEEE, 2011, pp. 1-6.
[43] S. Nicholas, Power profiling: Https long polling vs. mqtt with ssl, on android, accessed: 2016-01-29. URL http://stephendnicholas.com/archives/1217/
[44] H. W. Chen, F. J. Lin, Converging mqtt resources in etsi standards based m2m platform, in: Internet of Things (iThings), 2014 IEEE International Conference on, and Green Computing and Communications (GreenCom), IEEE and Cyber, Physical and Social Computing (CPSCom), IEEE, IEEE, 2014, pp. 292-295.
[45] P. Derler, E. Lee, A. S. Vincentelli, et al., Modeling cyber-physical systems, Proceedings of the IEEE 100 (1) (2012) 13-28.
[46] M. Quigley, K. Conley, B. Gerkey, J. Faust, T. Foote, J. Leibs, R. Wheeler, A. Y. Ng, Ros: an open-source robot operating system, in: ICRA workshop on open source software, Vol. 3, 2009, p. 5.
[47] H.-C. Steiner, Firmata: Towards making microcontrollers act like extensions of the computer, in: New Interfaces for Musical Expression, 2009, pp. 125-130.
[48] Particle (formerly spark) - build your internet of things, accessed: 2016- 01-29. URL https://www.particle.io/
[49] F. Palumbo, J. Ullberg, A. Sˇ timec, F. Furfari, L. Karlsson, S. Coradeschi, Sensor network infrastructure for a home care monitoring system, Sensors 14 (3) (2014) 3833-3860.
[50] F. Palumbo, P. Barsocchi, F. Furfari, E. Ferro, Aal middleware infrastructure for green bed activity monitoring, Journal of Sensors 2013.
[51] F. Palumbo, D. La Rosa, S. Chessa, Gp-m: Mobile middleware infrastructure for ambient assisted living, in: Computers and Communication (ISCC), 2014 IEEE Symposium on, IEEE, 2014, pp. 1-6.
[52] P. Barsocchi, E. Ferro, L. Fortunati, F. Mavilia, F. Palumbo, Ems@ cnr: An energy monitoring sensor network infrastructure for in-building location-based services, in: High Performance Computing & Simulation (HPCS), 2014 International Conference on, IEEE, 2014, pp. 857-862.
[53] K. H. Ang, G. Chong, Y. Li, Pid control system analysis, design, and technology, Control Systems Technology, IEEE Transactions on 13 (4) (2005) 559-576. doi:10.1109/TCST.2005.847331.
[54] K. Androutsopoulos, N. Gorogiannis, M. J. Loomes, M. Margolis, G. Primiero, F. Raimondi, P. Varsani, N. Weldin, A. Zivanovic, A Racketbased robot to teach first-year computer science, in: 7th European Lisp Symposium, 2014, pp. 54-61. URL http://eprints.mdx.ac.uk/14027/
[55] RTCA, DO-178C, software considerations in airborne systems and equipment certification (2011).

Metrics



Back to previous page
BibTeX entry
@article{oai:it.cnr:prodotti:354145,
	title = {Taking Arduino to the Internet of Things: The ASIP programming model},
	author = {Barbon G. and Margolis M. and Palumbo F. and Raimondi F. and Weldin N.},
	publisher = {IPC Science and Technology Press,, Guildford , Regno Unito},
	doi = {10.1016/j.comcom.2016.03.016},
	year = {2016}
}