Abstract
In recent years Wireless Sensor Networks (WSNs) have been deployed in wide range of applications from the health and environment monitoring to building and industrial control. However, the pace of prevalence of WSN is slower than anticipated by the research community due to several reasons including required embedded systems expertise for developing and deploying WSNs; use of proprietary protocols; and limits in scalability and reliability. In this paper we propose PyFUNS (Python-based Framework for Ubiquitous Networked Sensors) to address these challenges. PyFUNS handles low level and networking functionalities, using the services provided by Contiki, and leaves to the user only the task of application development in the form of Python scripts. This approach reduces required expertise in embedded systems to develop WSN based applications. PyFUNS also uses 6LoWPAN and CoAP standard protocols to enable interoperability and ease of integration with other systems, pursuing the Internet of Things vision. Through a real implementation of PyFUNS in two constrained platforms we proved its feasibility in mote devices, as well as its performance in terms of control delay, energy consumption and network traffic in several network topologies. As it is possible with PyFUNS to easily compare performance of different deployments of distributed application, PyFUNS can be used to identify optimal design of distributed application.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Alessandrelli, D., Petracca, M., Pagano, P.: T-Res: Enabling Reconfigurable In-network Processing in IoT-based WSNs. In: IEEE International Conference on Distributed Computing in Sensor Systems, pp. 337–344 (2013)
Carboni, D., Crs Parco Tecnologico Pula: PySense: Python Decorators for Wireless Sensor Macroprogramming. In: ICSOFT, pp.165–169 (2010)
Cao, Q., Abdelzaher, T., Stankovic, J., He, T.: The LiteOS Operating System: Towards Unix-Like Abstractions for Wireless Sensor Networks. In: International Conference on Information Processing in Sensor Networks, pp. 233–244 (2008)
Dunkels, A., Gronvall, B., Voigt, T.: Contiki - A Lightweight and Flexible Operating System for Tiny Networked Sensors. In: IEEE International Conference on Local Computer Networks, pp. 148–157 (2004)
Fangohr, H.: A comparison of C, Matlab and Python as teaching languages in engineering. In: International Conference in Computational Science, pp. 1210–1217 (2004)
Hui, J.W., Culler, D.: The Dynamic Behavior of a Data Dissemination Protocol for Network Programming at Scale. In: International Conference on Embedded Networked Sensor Systems, pp. 81–84 (2004)
Hojung, C., Sukwon, C., Inuk, J., Hyoseung, K., Hyojeong, S., Jaehyun, Y., Chanmin, Y.: RETOS: Resilient, Expandable, and Threaded Operating System for Wireless Sensor Networks. In: International Symposium on Information Processing in Sensor Networks, pp. 148–157 (2007)
Jaein, J., Culler, D.: Incremental network programming for wireless sensors. In: IEEE Communications Society Conference on Sensor and Ad Hoc Communications and Networks, pp. 25–33 (2004)
Koshy, J., Pandey, R.: Remote incremental linking for energy-efficient reprogramming of sensor networks. In: European Workshop on Wireless Sensor Networks, pp. 354–365 (2005)
Levis, P., Culler, D.: Mate: a tiny virtual machine for sensor networks. In: International Conference on Architectural Support for Programming Languages and Operating System, pp. 85–95 (2002)
Munawar, W., Alizai, M.H., Landsiedel, O., Wehrle, K.: Dynamic TinyOS: Modular and Transparent Incremental Code-Updates for Sensor Networks. In: IEEE International Conference on Communications (ICC), pp. 1–6 (2010)
Miller, J.S., Dinda, P.A., Dick, R.P.: Evaluating a BASIC Approach to Sensor Network Node Programming. In: ACM Conference on Embedded Networked Sensor System, pp. 155–168 (2009)
Mottola, L., Picco, G.P.: Programming Wireless Sensor Networks: Fundamental Concepts and State of the Art. ACM Comput. Surv. 43, 19:1–19:51 (2011)
Prechelt, L.: An empirical comparison of seven programming languages. Computer 33, 23–29 (2000)
PyMite (2013), http://code.google.com/p/python-on-a-chip/
Reijers, N., Langendoen, K.: Efficient Code Distribution in Wireless Sensor Networks. In: ACM International Conference on Wireless Sensor Networks and Applications, pp. 60–67 (2003)
Simon, D., Cifuentes, C., Cleal, D., Daniels, J., White, D.: Java on the Bare Metal of Wireless Sensor Devices: The Squawk Java Virtual Machine. In: International Conference on Virtual Execution Environments, pp. 78–88 (2006)
Tridgell, A., Mackeras, P.: The rsync algorithm (1998), http://rsync.samba.org/tech_report155-190
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Bocchino, S., Fedor, S., Petracca, M. (2015). PyFUNS: A Python Framework for Ubiquitous Networked Sensors. In: Abdelzaher, T., Pereira, N., Tovar, E. (eds) Wireless Sensor Networks. EWSN 2015. Lecture Notes in Computer Science, vol 8965. Springer, Cham. https://doi.org/10.1007/978-3-319-15582-1_1
Download citation
DOI: https://doi.org/10.1007/978-3-319-15582-1_1
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-15581-4
Online ISBN: 978-3-319-15582-1
eBook Packages: Computer ScienceComputer Science (R0)