170 likes | 335 Views
WiFi Usability. Reg Arvidson. Idea. Track signal variances throughout the day Get a feel for the “usability” of a WiFi access point (or location) Present this as a map to easily spot “lagging” areas. Implementation. Create a client program to collect WiFi/GPS data and submit to a server
E N D
WiFi Usability Reg Arvidson
Idea • Track signal variances throughout the day • Get a feel for the “usability” of a WiFi access point (or location) • Present this as a map to easily spot “lagging” areas
Implementation • Create a client program to collect WiFi/GPS data and submit to a server • Server catalogues data into a database while waiting to serve map requests • Clients can request a map from the server showing WiFi data for GPS points
High-Level Architectural View Client Server GPS WiFi GPS/WiFi Data Map! If it was only that easy…
Client View (Data Collection) GPS Serial Data COM_Access GPS_Parser WiFiGPSDataUnit cURL Internet WiFi Signal Data WLAN_Access
Server View (Data Collection) Internet Apache Web Server postdata.php MySQL Database
Server View (Data Service) Internet Apache Web Server index.php testdisp.php MySQL Database kml.kml
Client View (Data Service) Your favorite web browser! http://shyguy2.mine.nu Or Google Earth… http://shyguy2.mine.nu/kml.kml Internet
Data Collection • Flag a GPS fix if at least 3 satellites in view • Utilize fix data to time 5 second intervals • If fix, poll WiFi interface for access points • Tag SSID and signal strength to GPS fix • If internet available, submit data, else store for later! • Runs in background, works even when using any access point or the Internet
cURL Library • Created a URL to pass data to PHP script • http://shyguy2.mine.nu/postdata.php?datetime=1234&lon=-84.5675&lat=23.4326&ssid=UCF&sig=23... • cURL library allows easy usage of GET • If GET fails then we leave data in buffer and try again later
Data Buffering • A cURL failed GET leaves data in a buffer • Allows roaming off the network, across town, local pub, etc • Upon reconnecting with friendly access point will push data to server
Displaying Mapped Data • Going to homepage, index.php, triggers creation of KML file, kml.kml through use of testdisp.php, with all collected data from MySQL database • Automatically loads map using this freshly created KML file • Mapped data shows signal strength of SSID tagged to a GPS point, marker colors reflect signal strength • Can also load KML into Google Earth for a much more interactive view
Problems • Laptop Died • Created new database • Recovery of project files • Rebuilt for new target machines • Recollection of data • Lack of data (due to stated death)
Improvements • Can easily add additional data in minutes • Security algorithm (if used), for example • Better data transfer method • Direct connection to SQL server for instance • DATA DATA DATA DATA DATA