View source for OpenBmap

From Openmoko

Jump to: navigation, search

You do not have permission to edit this page, for the following reasons:

  • The action you have requested is limited to users in the group: Administrators.
  • You must confirm your email address before editing pages. Please set and validate your email address through your user preferences.

You can view and copy the source of this page:

Return to OpenBmap.

Personal tools

OpenBmap is a free and open map of wireless communicating objects (e.g. cellular antenna, Wi-Fi, Bluetooth). It provides tools to mutualize data, create and access this map.

Help us build a free database! We hope many will upload!


Description

The purpose of this software is to log GSM data, together with GPS coordinate. This data are sent to the openBmap website, in order to build a free database. In order to keep a high quality of data, we store GPS quality, speed, GSM signal strength, etc... This is what makes us different from other similar projects: focus on quality.

At this time, only cellular networks are concerned. All the software code is AGPL v3 and data are Creative Commons License (creative commons Attribution-Share Alike 3.0 Unported), thus the data is free to use (in the same way as OpenStreetMap).

Privacy note: when you upload, exactly as with OpenStreetMap, your logs allow to know where and when you were. You have been warned  ;-)  !

Possible uses of this database

  • get your location based on the current GSM cell you are connected to.

(GPS needs extra power to function, GSM is always on. Less precise than GPS, but enough for a lot of usages. Instant location as database is located on your phone, GPS needs time to get a fix. This also protects your privacy: no need of sending your GSM data to third parties)

  • speed up GPS first time to fix by providing the location based on GSM data (the GSM gives less precise result as GPS)
  • geolocate your photos when taken
  • get a map of GSM coverage
  • get a map of 2, 2.5, 3G coverage (not yet implemented)
  • ...

Current tools and API

If you want to get located through your GSM data, at the moment you can use the Web API. There is a Web interface available to use this API and display zones on a map (e.g. KML for Google Earth).

A twitter feed let you know when uploads are being processed.

Versions

0.3.0

  • Beta Neighbour cells log now stable and activated!
  • Log files are now much bigger, you should have less files to upload.
  • If logs in memory when exiting, they will be written to disk.
  • Ignore neighbour cell if lac, cid or rxlev is 0.
  • GUI now says: GPS is active, and waiting for 3D fix.
  • Fix: GPS time in log is now based on GPS data.

Was using the locale time of the phone.

  • When MCC changes, write logs to file.

This means, a log file, only contains data related to a same MCC, that is to say, to one country.

  • Details in CHANGELOG.

0.2.1

Bug fix release: corrects the application displaying N/A for GSM even when obviously there is coverage.

0.2.0

  • The complete process is now done through graphical interface!
  • Neighbour cells logging code is present, but deactivated. The reasons are:
    • we need to clarify the meaning of some fields
    • we need to clarify if there is no risk of mixing cells and MCC/MNC at the borders.
  • Now displays GSM data at startup. No need to wait for network update.
  • Before upload, login/password graphical interface added.
  • After upload, asks about deleting all processed log files.
  • Requests CPU ressource to prevent phone from going to suspend (this depends on the configuration of the phone...).
  • Do not log if a call is ongoing. The reasons are:
    • when in a call org.freesmartphone.GSM.Network.GetStatus() returns a lower signal strength.
    • org.freesmartphone.GSM.Monitor.GetNeighbourCellInformation() returns garbage when in a call.
  • Software id and version added in generated logs

What you should expect

  • The complete process is done through graphical interface.
  • Requests CPU resource to prevent phone from going to suspend (this depends on the configuration of the phone...).
  • generation of logs (no log during a call).
  • logs serving and neighbour cells.
  • Graphical window to enter login/password before upload (possibility to cancel upload).
  • upload of logs.
  • Graphical window proposing to delete all logs already processed.

Manual

Interface is straightforward.

Note: The GPS is started as soon as the application is launched. And it keeps running if the application is logging or not. This is to prevent losing the GPS position if you pause your logging. You have to exit the application in order to stop the GPS.

  • A button to start generating logs.

Values will be displayed when valid. Logs are stored under HOME/.openBmap/Logs by default. GPS data is considered valid only when we have a 3D fix.

  • A button to stop generating logs.
  • A button to upload.

This pops a window up, which displays the current login/password. Please modify it before pressing 'ok' button if needed. You can cancel upload by pressing 'cancel'.

If you press 'ok', this will block the interface until every log has been uploaded. This means that if you do not have Internet connection up and running, the GUI will be frozen until timeout of the upload part.

After succesfull upload, the logs are moved to HOME/.openBmap/Processed_logs by default.

When upload is finished, the result is first displayed (how many logs have been uploaded out of how many available). Then a popup window will propose you to delete all (this includes possible logs from previous upload) the processed logs (located in HOME/.openBmap/Processed_logs by default).

Warning: you should create an account on openBmap website, and fill a correct login/password in the popup window displayed before upload works.

  • A button to exit (if logger is active, it will first stop it cleanly, and then exit).

Config file and application log are located under HOME/.openBmap directory by default.

You can modify values in the config files (by editing it). This way you can have a fine grained control of your logger:

  • change the locations of logs

'openbmap logs directory name', 'openbmap uploaded logs directory name'

  • change the rate of logging

openbmap logger default scanning speed (in sec.) = 10

  • set a minimal speed for logging

gps minimal speed for logging (km/h) = 0

  • set a maximal speed for logging

gps maximal speed for logging (km/h) = 150

  • please do not modify other values, this could prevent the logger from working correctly.

Troubleshooting

If you break your configuration file, just exit the application. Delete the configuration file (by default: HOME/.openBmap/openBmap.conf). Launch the application. The configuration file, if not found is generated with default values.

Known bugs

  • when you are generating logs, and you press 'Stop' button.
  A popup window let you know you should wait for the logger to
  finish stopping. Under FSO M5, if you press the power
  button, the phone suspends. You press it again it wakes up.
  Nevertheless the GUI is frozen. You will have to kill the
  process.

Source,Packages

Tar, ipk package can be found here. The package can also be found on opkg.org. Public git repository.