Android Companion App

WubbaLubbaDubDub!An Android app is used as an interactive environment that integrates the recording hardware with the processing software. Due to several bumps along the way, our final product differs slightly from what was originally planned.

Originally, an Android app was to be used to control the stethoscope and receive recorded sound files via WiFi from a TCP server hosted by the Arduino. The MATLab code for data processing was to be converted to C++ and merged into the Android app for convenient analysis. The app, therefore, was designed to have 3 main features accessible by 3 main tabs: Instructions, Recording, and Fetching and Analysis. With this in mind, the app was made using the online MIT App Inventor software, and saved in the form of an .apk file. However, we had difficulties converting this .apk file to a Java code on the desktop Android Studio application. As a result, we recreated the app using the Android Software Development Kit (SDK) while trying to retain most of the original design. A second problem arose, unfortunately, during the integration of the MATLAB code. We resorted to generating an .exe application using the MATLAB App Inventor, which is discussed further under Classification Algorithm. This left the Fetching and Analysis feature of the Android app a lost opportunity.

 

Our final Android app retains the Instructions and Recoding features, and still serves to make users more self-reliant in the process of self-auscultation.

Instructions

The Instructions tab serves to equip the user with general knowledge on the relevant human anatomy: The Rib Cage, The Heart and The Lungs. With regards to self-auscultation, understanding the rib cage (terminology, numbering) as hallmarks of the chest cavity is especially essential for the correct positioning of the stethoscope on the body, while heart anatomy (different valves) and lung anatomy (different lobes and areas) gives users the general idea of what to listen for and why.

Each selection provides basic anatomical knowledge and necessary descriptors relevant to specific instructions later in the recording process.

Recording

The Recording tab is subdivided into separate controls for Heart Recording and Lungs Recording.

           

Each heart valve and lung area selection provides both visual and word positioning instructions with respect to the rib cage. Record and Stop controls are placed at the bottom of the screen. The Record button activates recording by the Arduino. The stop button initiates saving of the sound file to the TCP server hosted by the Arduino.

Fetching involves downloading the recorded sound files into the app via WiFi. Since the MATLAB code could not be integrated, instead of analysing, the app now serves to store the sound files for convenient sharing between devices, and between the user and professionals if need be.