Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2774225.2774835acmconferencesArticle/Chapter ViewAbstractPublication PageseicsConference Proceedingsconference-collections
research-article
Open access

fabryq: using phones as gateways to prototype internet of things applications using web scripting

Published: 23 June 2015 Publication History

Abstract

Ubiquitous computing devices are often size- and power-constrained, which prevents them from directly connecting to the Internet. An increasingly common pattern is therefore to interpose a smart phone as a network gateway, and to deliver GUIs for such devices. Implementing the pipeline from embedded device through a phone application to the Internet requires a complex and disjoint set of languages and APIs. We present fabryq, a platform that simplifies the prototyping and deployment of such applications. fabryq uses smartphones as bridges that connect devices using the short range wireless technology, Bluetooth Low Energy (BLE), to the Internet. Developers only write code in one language (Javascript) and one location (a server) to communicate with their device. We introduce a protocol proxy programming model to control remote devices; and a capability-based hardware abstraction approach that supports scaling from a single prototype device to a deployment of multiple devices. To illustrate the utility of our platform, we show example applications implemented by authors and users, and describe μfabryq, a BLE prototyping API similar to Arduino, built with fabryq.

References

[1]
6LoWPAN. http://en.wikipedia.org/wiki/6LoWPAN.
[2]
Ballagas, R., Memon, F., Reiners, R., and Borchers, J. iStuff mobile: Rapidly prototyping new mobile phone interfaces for ubiquitous computing. In Proceedings of CHI, ACM (2007), 1107--1116.
[3]
Bluetooth Low Energy Specification Adopted Documents. https://www.bluetooth.org/en-us/specification/adopted-specifications/.
[4]
Buechley, L., Eisenberg, M., Catchen, J., and Crockett, A. The lilypad arduino: using computational textiles to investigate engagement, aesthetics, and diversity in computer science education. In Proceedings of CHI, ACM (2008), 423--432.
[5]
Carter, S., Mankoff, J., Klemmer, S. R., and Matthews, T. Exiting the cleanroom: On ecological validity and ubiquitous computing. Human--Computer Interaction 23, 1 (2008), 47--99.
[6]
Chaudhri, R., Brunette, W., Goel, M., Sodt, R., VanOrden, J., Falcone, M., and Borriello, G. Open data kit sensors: Mobile data collection with wired and wireless sensors. In Proceedings of the ACM DEV, ACM (2012), 9:19:10.
[7]
Greenberg, S., and Fitchett, C. Phidgets: easy development of physical interfaces through physical widgets. In Proceedings of UIST, ACM (2001), 209--218.
[8]
Hartmann, B., Klemmer, S. R., Bernstein, M., Abdulla, L., Burr, B., Robinson-Mosher, A., and Gee, J. Reflective physical prototyping through integrated design, test, and analysis. In Proceedings of UIST, ACM (2006), 299--308.
[9]
Heydon, R. Bluetooth low energy: the developer's handbook. Prentice Hall, 2013.
[10]
Electric imp. http://electricimp.com/.
[11]
Java swing. http://docs.oracle.com/javase/7/docs/.
[12]
Kamath, S., and Lindh, J. Measuring bluetooth low energy power consumption. Texas instruments application note AN092, Dallas (2010).
[13]
Kaufmann, B., and Buechley, L. Amarino: A toolkit for the rapid prototyping of mobile ubiquitous computing. In Proceedings of MobileHCI, ACM (2010), 291--298.
[14]
Kindberg, T., Barton, J., Morgan, J., Becker, G., Caswell, D., Debaty, P., Gopal, G., Frid, M., Krishnan, V., Morris, H., Schettino, J., Serra, B., and Spasojevic, M. People, places, things: Web presence for the real world. Mob. Netw. Appl. 7, 5 (Oct. 2002), 365--376.
[15]
Kinoma create. http://kinoma.com/create/.
[16]
Kuo, Y.-S., Verma, S., Schmid, T., and Dutta, P. Hijacking power and bandwidth from the mobile phone's audio interface. In Proceedings of ACM DEV, ACM (2010), 24:124:10.
[17]
Lin, F. X., Rahmati, A., and Zhong, L. Dandelion: A framework for transparently programming phone-centered wireless body sensor applications for health. In Wireless Health 2010, ACM (2010), 74--83.
[18]
Marquardt, N., and Greenberg, S. Distributed physical interfaces with shared phidgets. In Proceedings of TEI, ACM (2007), 13--20.
[19]
Mellis, D., Banzi, M., Cuartielles, D., and Igoe, T. Arduino: An open electronic prototyping platform. In Proceedings of CHI, vol. 2007 (2007).
[20]
Newman, M. W., Ackerman, M. S., Kim, J., Prakash, A., Hong, Z., Mandel, J., and Dong, T. Bringing the field into the lab: Supporting capture and replay of contextual data for the design of context-aware applications. In Proceedings of UIST, ACM (2010), 105--108.
[21]
Spark core. https://www.spark.io.
[22]
Spark core hardware characteristics. http://docs.spark.io/hardware/.
[23]
Sterling, B., Wild, L., and Lunenfeld, P. Shaping things. MIT press Cambridge, MA, 2005.
[24]
Tessel. https://tessel.io.
[25]
Villar, N., Scott, J., Hodges, S., Hammil, K., and Miller, C. .NET gadgeteer: A platform for custom devices. In Proceedings of Pervasive, Springer-Verlag (Berlin, Heidelberg, 2012), 216--233.
[26]
Weiser, M. The computer for the 21st century. Scientific american 265, 3 (1991), 94--104.

Cited By

View all
  • (2024)Proto.IoT: supporting IoT prototype ideation for non-experts in the classroomInteractive Learning Environments10.1080/10494820.2024.2351182(1-18)Online publication date: 23-May-2024
  • (2024)Development methodologies for IoT-based systems: challenges and research directionsJournal of Reliable Intelligent Environments10.1007/s40860-024-00229-910:3(215-244)Online publication date: 9-Aug-2024
  • (2023)VisionAPI: An API for Offline and Online Segmentation and Identification of Hand-Sketched Graphical User InterfacesCompanion Proceedings of the 2023 ACM SIGCHI Symposium on Engineering Interactive Computing Systems10.1145/3596454.3597184(59-67)Online publication date: 27-Jun-2023
  • Show More Cited By

Index Terms

  1. fabryq: using phones as gateways to prototype internet of things applications using web scripting

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    EICS '15: Proceedings of the 7th ACM SIGCHI Symposium on Engineering Interactive Computing Systems
    June 2015
    316 pages
    ISBN:9781450336468
    DOI:10.1145/2774225
    Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 23 June 2015

    Check for updates

    Badges

    • Best Paper

    Author Tags

    1. prototyping
    2. swarm devices
    3. toolkits
    4. ubiquitous computing

    Qualifiers

    • Research-article

    Funding Sources

    Conference

    EICS'15
    Sponsor:

    Acceptance Rates

    EICS '15 Paper Acceptance Rate 19 of 64 submissions, 30%;
    Overall Acceptance Rate 73 of 299 submissions, 24%

    Upcoming Conference

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)70
    • Downloads (Last 6 weeks)9
    Reflects downloads up to 26 Sep 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Proto.IoT: supporting IoT prototype ideation for non-experts in the classroomInteractive Learning Environments10.1080/10494820.2024.2351182(1-18)Online publication date: 23-May-2024
    • (2024)Development methodologies for IoT-based systems: challenges and research directionsJournal of Reliable Intelligent Environments10.1007/s40860-024-00229-910:3(215-244)Online publication date: 9-Aug-2024
    • (2023)VisionAPI: An API for Offline and Online Segmentation and Identification of Hand-Sketched Graphical User InterfacesCompanion Proceedings of the 2023 ACM SIGCHI Symposium on Engineering Interactive Computing Systems10.1145/3596454.3597184(59-67)Online publication date: 27-Jun-2023
    • (2023)Design of a distributed offloading and real-time data unified access platform for IoT within command and control communication networksCluster Computing10.1007/s10586-023-04081-z27:3(2313-2327)Online publication date: 29-Jun-2023
    • (2022)Model-based fleet deployment in the IoT–edge–cloud continuumSoftware and Systems Modeling10.1007/s10270-022-01006-z21:5(1931-1956)Online publication date: 3-May-2022
    • (2021)Active Learning for Effectively Fine-Tuning Transfer Learning to Downstream TaskACM Transactions on Intelligent Systems and Technology10.1145/344634312:2(1-24)Online publication date: 11-Feb-2021
    • (2021)Active Learning for Inference and Regeneration of Applications that Access DatabasesACM Transactions on Programming Languages and Systems10.1145/343095242:4(1-119)Online publication date: 22-Jan-2021
    • (2021)ChocolaACM Transactions on Programming Languages and Systems10.1145/342720142:4(1-56)Online publication date: 27-Jan-2021
    • (2021)Relative Worst-order AnalysisACM Computing Surveys10.1145/342591054:1(1-21)Online publication date: 2-Jan-2021
    • (2021)Towards a Sustainable IoT with Last-Mile Software Deployment2021 IEEE Symposium on Computers and Communications (ISCC)10.1109/ISCC53001.2021.9631250(1-6)Online publication date: 5-Sep-2021
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media