dc.description.abstract | Mobile devices become increasingly more powerful, and can now connect to a variety of external sensors. However, different external sensors might use different communication channels and data protocols, which makes the use of different sensors burdensome. In this thesis, we propose a data acquisition system for Android to make application development easier. The proposed system hides the low-level sensor specific details from the application developer by separating the software into two components, i.e. providers and sensor wrappers. A sensor wrapper is created for a specific sensor supported by the system, and enables any application to use it to collect data from that sensor. The abstraction simplifies the development of applications (i.e. provider applications) that rely on data collected by external sensors by creating a interface that can control data acquisition with any of the sensor wrapper applications. Additionally, the abstraction reduces the amount of duplicate code by implementing sensor specific code once, and reuse the implementation across applications. As a part of the thesis a prototype sensor wrapper and provider application is created to show that the system is extensible, demonstrating that it can support current and future sensors. The created sensor wrapper is adapted to collect data from a biomedical sensor board named BITalino in a sleep monitoring scenario. Several experiments are performed to show that the implemented prototype is stable, resilient, suited for data acquisition during long periods where the device is stationary (i.e. sleep monitoring), and has moderate resource usage. The results show that the prototype developed in this thesis provides stable data acquisition from the BITalino sensor board, while making it feasible to perform further computation with the collected data by keeping the resource usage low. | eng |