Sunday, July 31, 2011

Version 3.6 - Frequency

Version 3.6 adds Wi-Fi frequency (MHz) to the results screen, collected from ScanResult Android class.  This class also can be used to retrieve dBm, so I decided to get signal strength from this class rather than from the old way.  It did not seem to make any difference in my testing.

The code seems very stable, but the database change I made to store frequency might cause errors in your AirYarde install.  The short story is that I had to make changes to the database but did want to write an upgrade database code at this time.  You will have to uninstall and reinstall from the Android market.

RSSI versus dBm / WifiManager versus ScanResult.

When AirYarde receives a RSSI change broadcast it stores the accompanying  WifiManager.EXTRA_NEW_RSSI value.  The Android developer reference says this is in fact the dBm value.  Android also has an object called ScanResult that returns the "detected signal level in dBm. At least those are the units used by the TI driver."  I updated AirYarde in my test environment to report signal strength using both methods.  On my device the results were always the same.

Friday, July 22, 2011

Version 3.4 - Active or Passive Monitoring

AirYarde can now track changes to signal strength actively or passively.  In active mode AirYarde samples signal strength every x seconds.  In passive mode AirYarde waits for Android to alert it to changes in signal strength.  In active mode   You choose the mode and (if you pick active mode) how often to sample the signal strength.  To implement active scanning I created a new Android service and refactored the code a little bit in the original service. 

To track how the application is being used I added the Google Analytics API to the code base.  The API for Android helps developers know how the app is being used.  In AirYarde the API records how many times each screen (Android activity) is viewed, how many times the services are started, and how many times the services are stopped manually.

No information from the Google Analytics API can be traced back to specific users and as always, none of your signal or GPS data leaves your phone.

Saturday, July 16, 2011

How does it work?

When you turn on RSSI recording AirYarde starts an Android service that listens for RSSI change broadcasts sent by the OS.  I suspect Android does not broadcast every change to RSSI, it likely waits until some range is surpassed.  I am thinking about creating an "active mode" option that samples the RSSI every second.  That would use more power, but it might be worth it for many of you.  Stay posted for more updates to AirYarde.

AirYarde Launch!

This week the first version of AirYarde was posted to Android market.  WifiYarde keeps a record of Wi-Fi connection signal strength over time, so you can compare your Wi-Fi experience in different places and conditions.  You can also get a count of the BSSIDs that your device is using as it moves around.

A few minor updates this week, right away I noticed that I did not put my Google maps API key in so the maps just showed a grey grid.  I also fixed two screens that did not scroll to the bottom.  Today I added a save to SD card feature, it did not work on my CyanogenMod 7 device, but I put it out there anyway to see how it does.