Taking Arduino to the Internet of Things

Computer Communications(2016)

引用 49|浏览0
暂无评分
摘要
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 large number of sensors and libraries available to extend 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 basic ingredients of complex hardware-software systems, there does not seem to be a simple and flexible way to (1) extend 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 hardware I/O rather than services provided by this hardware.In this paper we present Arduino Interface Programming (ASIP) model, a new model that addresses 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 code running on Arduino boards and client libraries in Java, Python, Racket and Erlang. We show how ASIP enables 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 performance of ASIP in several ways, both quantitative and qualitative.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要