Thesis (Diplom) 
Indoor Localization of Mobile Devices Based on Wi-Fi Signals Using Raytracing Supported Algorithms
Place and Date of Creation
Turn right 90°Turn left 90°
  
  
  
  
  
 
Download single image
 
  

5.2. Modules 67SL4AThe Scripting Layer For Android(SL4A) framework was used for programmingthe device software. The SL4A enables the use of Python on Android devices andprovides access to the larger part of the Java -based APIs. Only the Wi-Fi APIs havebeen accessed which has resulted in around 50 lines Android specific code. It can beexpected that the distribution of SL4A based Python scripts will have deploymentissues in contrast to native Java based applications. But it would be easy to get ridof the SL4A dependency if this becomes be necessary.Traits-UI and MayaViThe Traits-UI and MayaVi libraries are used to drive the core of the Fat Client.Traits-UI is a Python based GUI framework with a nice balance between the needfor configurability and the"beauty" of the results. The MayaVi library is a wrapperaround the VTK 3D visualization toolkit and provides the integration, of this excel-lent exploration tool for 3D data of different shapes, into the Traits-UI environment.Both have been shown to support a rapid prototyping style that was needed to adaptto the different ideas that have come up during the time of the thesis. The API ofthe 3D MayaVi plotting library is conveniently designed after the 2D plotting li-brary Matplotlib. This makes the mental overhead even smaller. The central Servercomponent has no dependency on the rather fat libraries.ConfigObjThe configuation of the localization server is driven by a.ini style config format thatis processed by ConfigObj library. Its is a pure Python library with the capability tomap the string represented config parameters to primitive Python types and simplecompound structures like intlists. For this mapping a specification file, also in.inistyle format, has to be defined which represents also a good place to document thebehaviour of these values. This is comparable to define a XML-Schema for somecustom XML configuration dialect but with readability included.JQuery The JavaScript that is executed in the browsers of the mobile devices and on somedebugging terminals is driven by the JQuery framework. Adding dynamic elementsto the HTML pages, for example the interactive recording of location annotatedRSSI readings, has not required much efforts due to convenient API of the library.JQuery has a memory footprint of 25kb which should not pose any problems forconsumer connection conditions.5.2 ModulesIn this section, the different major components of the framework are described. Theused data structure are focused and interesting algorithmic aspects highlighted.