Android DAQ

Embed Size (px)

DESCRIPTION

Android DAQ

Citation preview

  • SURF-IT SymposiumLuke HeidbrinkMentor: Mark BachmanAugust 26, 2011

  • Project OverviewDevelop a platform that connects Android applications to hardware devices:

  • Applications

  • Applications

  • MotivationCommunicating with hardware is complicated and time-consuming. Future projects can use this platform for rapid development.The Android operating system is becoming ubiquitous; our platform targets a large user base with many potential applications.People who want to develop Android applications with custom hardware don't always have the technical skill to do so.

  • MotivationAs of May 2011, 38% of U.S. phones owned are smartphones. Of smartphones, a plurality of 38% run the Android operating system1.1 In US, Smartphones Now Majority of New Cellphone Purchases The Nielsen Company, http://blog.nielsen.com/nielsenwire/online_mobile/in-us-smartphones-now-majority-of-new-cellphone-purchases/

  • MotivationCommunicating with hardware requires specific, thorough knowledge of programming and electronics:

  • GoalsCreate an Android service that handles the minutia of communicating with the hardwareCreate a development board with easy-to-use input/output channels and a pre-programmed microcontrollerIntegrate our Android code with popular development software so novice developers can use high-level environmentsSupport many hardware options and provide a variety of useful functions

  • Approach: GeneralAccessibleNovice users should be able to begin development quicklyAdvanced users should easily understand our set-up and use it to their advantageRobustOur middleware should support the largest possible number of ideasOur middleware should not become outdated by future releases of Android or our target development environments

  • Approach: Android ServiceThe Android service handles the USB connection with the development board.The end user sees simple functions like read, write, schedule, connect, and disconnect.The service performs handshaking, processes hardware malfunctions, stores received data in a buffer, and more.The service is written as a Android (Java) class, which can be used as a library in several high-level development environments.

  • ResultsAn Android class handles a connection to a development board via USB.Connects and reconnects automaticallySends and receives digital or analog dataTransmission via USB is very fastA program written in the popular scripting- language Processing uses the class to make an LED blink regularly.

  • Next StepsTest and support additional development environments, like 3D game enginesTest and support different communication protocols beyond analog and digitalAdd support for wireless communication, probably via BluetoothGive the platform to novice developers, see what they create, and improve our design based on their feedback

  • Acknowledgements and QuestionsThe Android Team:Prof. Mark BachmanNizan FriedmanJordan LinfordSean BurkeSURF-IT Staff and FellowsCalit2 Staff and MIDAS MembersQuestions?