OpenBmap

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(Updated to version 0.2.0)
(Current tools and API: fix links)
 
(14 intermediate revisions by 5 users not shown)
Line 2: Line 2:
  
 
'''Help us build a free database! We hope many will upload!'''
 
'''Help us build a free database! We hope many will upload!'''
 
  
 
==Description==
 
==Description==
The purpose of this software is to log GSM data, together with
+
[[Image:openBmapGTK-0.4.0-Main.png|x250px|left]]The purpose of this software is to log GSM data, together with
 
GPS coordinate. This data are sent to the [http://www.openbmap.org openBmap] website,
 
GPS coordinate. This data are sent to the [http://www.openbmap.org openBmap] website,
 
in order to build a free database. In order to keep a '''high quality'''
 
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...
+
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.
 
At this time, only cellular networks are concerned.
Line 14: Line 13:
 
(creative commons Attribution-Share Alike 3.0 Unported), thus the data  
 
(creative commons Attribution-Share Alike 3.0 Unported), thus the data  
 
is free to use (in the same way as OpenStreetMap).
 
is free to use (in the same way as OpenStreetMap).
 
Map status (last update 2009-03-31 00:45:10)
 
Cellular: 7 countries, 10 mobile networks, 390 location area codes, 10375 cells
 
  
 
Privacy note: when you upload, exactly as with [http://www.openstreetmap.org OpenStreetMap], your logs allow to  
 
Privacy note: when you upload, exactly as with [http://www.openstreetmap.org OpenStreetMap], your logs allow to  
 
know where and when you were. You have been warned  ;-)  !
 
know where and when you were. You have been warned  ;-)  !
  
==Possible use of this database==
+
==Possible uses of this database==
 
* get your location based on the current GSM cell you are connected to.
 
* 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
 
(GPS needs extra power to function, GSM is always on. Less precise
Line 34: Line 30:
 
==Current tools and API==
 
==Current tools and API==
 
If you want to get located through your GSM data, at the moment you can  
 
If you want to get located through your GSM data, at the moment you can  
use the Web [http://realtimeblog.free.fr/api/openbmap_api.php API]. There is a [http://realtimeblog.free.fr/cell_map.php Web interface] available to use this API and display zones on a map (e.g. KML for Google Earth).
+
use the Web [http://openbmap.org/api/openbmap_api.php5 API]. There is a [http://openbmap.org/with_osm5.php5 Web interface] available to use this API and display zones on a map (e.g. KML for Google Earth).
  
==What you should expect==
+
A [http://twitter.com/openBmap/ twitter feed] let you know when uploads are being processed.
* 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)
+
* Graphical window to enter login/password before upload (possibility to cancel upload).
+
* upload of logs
+
* Graphical window proposing to delete all logs already processed.
+
  
==What's new since 0.1?==
+
==Related Applications==
 +
* [[Cellhunter]]
 +
* [[openBmap-locator]]
 +
 
 +
==Versions==
 +
===0.4.0===
 +
* New graphical interface!
 +
* Glade file path not hardcoded anymore.
 +
* Application logging level now in config file.
 +
* Added cells seen statistics.
 +
* Details in CHANGELOG.
 +
 
 +
===0.3.3===
 +
The version number 0.3.3 has been used in logs uploaded to the server.
 +
It was meant as a testing number for version 0.4.0 only.
 +
 
 +
===0.3.2===
 +
(Version 0.3.1 has never been officially released.)
 +
* Debian package.
 +
* Button images do not embed any more text. The text is now a regular
 +
label under the image.
 +
* Button text is now "Start" instead of "Generate".
 +
* rxlev added to serving cell XML log, if available.
 +
* timing advance is available, but deactivated. It needs to be logged
 +
only on specific situation.
 +
* Application logging level set to INFO by default.
 +
* Logging level of some application messages have been changed.
 +
* In a loop, time is now limited to get all data necessary.
 +
 
 +
===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!
 
* The complete process is now done through graphical interface!
 
* Neighbour cells logging code is present, but deactivated. The reasons are:
 
* Neighbour cells logging code is present, but deactivated. The reasons are:
Line 57: Line 92:
 
** org.freesmartphone.GSM.Monitor.GetNeighbourCellInformation() returns garbage when in a call.
 
** org.freesmartphone.GSM.Monitor.GetNeighbourCellInformation() returns garbage when in a call.
 
* Software id and version added in generated logs
 
* 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==
 
==Manual==
 
Interface is straightforward.
 
Interface is straightforward.
  
Note: The GPS is started as soon as the application is launched.
+
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.
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.
 
You have to exit the application in order to stop the GPS.
  
* A button to start generating logs.
+
The main window displays data about:
Values will be displayed when valid. Logs are stored under HOME/.openBmap/Logs by default.
+
* GSM
 +
* GPS
 +
* GSM statistics
 +
Seen cells (servings / neighbours) counters:
 +
**total since launch
 +
**number of cells since last start (gets updated only when logging)
 +
 
 +
and the status of the logger (running or not). You can find a menu button which brings a new window.
 +
 
 +
This menu window is a grid of buttons:
 +
 
 +
* 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 stop generating logs.
  
 
* A button to upload.
 
* A button to upload.
This pops a window up, which displays the current login/password.
+
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'.
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
+
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.
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
+
After succesfull upload, the logs are moved to HOME/.openBmap/Processed_logs by default.
HOME/.openBmap/Processed_logs by default.
+
  
When upload is finished, the result is first displayed (how many logs
+
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).
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 [http://realtimeblog.free.fr openBmap]
+
Warning: you should create an account on www.openBmap.org website, and fill a correct login/password in the popup window displayed before upload works.
website, and fill a correct login/password in the popup window
+
 
displayed before upload works.
+
* A button to go back to main screen.
  
 
* A button to exit (if logger is active, it will first stop it cleanly, and then exit).
 
* 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
+
Config file and application log are located under HOME/.openBmap directory by default.
directory by default.
+
  
You can modify values in the config files (by editing it). This
+
You can modify values in the config files (by editing it). This way you can have a fine grained control of your logger:
way you can have a fine grained control of your logger:
+
 
* change the locations of logs
 
* change the locations of logs
 
'openbmap logs directory name', 'openbmap uploaded logs directory name'
 
'openbmap logs directory name', 'openbmap uploaded logs directory name'
Line 109: Line 151:
 
* set a maximal speed for logging
 
* set a maximal speed for logging
 
gps maximal speed for logging (km/h) = 150
 
gps maximal speed for logging (km/h) = 150
 +
* 'openBmap.log' contains the application logs, sets the level of output
 +
application logging level (debug, info, warning, error or critical)
 
* please do not modify other values, this could prevent the logger from working correctly.
 
* please do not modify other values, this could prevent the logger from working correctly.
  
If you break your configuration file, just exit the application.
+
==Troubleshooting==
 +
*If you break your configuration file, just exit the application.
 
Delete the configuration file (by default: HOME/.openBmap/openBmap.conf).
 
Delete the configuration file (by default: HOME/.openBmap/openBmap.conf).
Launch the application. The configuration file, if not found is
+
Launch the application. The configuration file, if not found is generated with default values.
generated with default values.
+
  
 +
*Please note that if you have your .openBmap folder located on your uSD card, setting the application logging output level to debug seems to make the logger take too much time for looping, thus rejecting the logs. By default, the level is set to info, and works well.
  
==Known bugs:==
+
==Known bugs==
 
* when you are generating logs, and you press 'Stop' button.
 
* when you are generating logs, and you press 'Stop' button.
 
   A popup window let you know you should wait for the logger to
 
   A popup window let you know you should wait for the logger to
Line 126: Line 171:
  
 
==Source,Packages==
 
==Source,Packages==
 +
 +
opkg install openbmap-logger
 +
 
Tar, ipk package can be found [http://sourceforge.net/project/showfiles.php?group_id=218065&package_id=310952 here].
 
Tar, ipk package can be found [http://sourceforge.net/project/showfiles.php?group_id=218065&package_id=310952 here].
 +
The package can also be found on [http://www.opkg.org/package_186.html opkg.org].
 
Public git [http://myposition.git.sourceforge.net/git/gitweb.cgi?p=myposition;a=summary repository].
 
Public git [http://myposition.git.sourceforge.net/git/gitweb.cgi?p=myposition;a=summary repository].
  
[[category:Application]]
+
== Weblinks ==
 +
[http://sourceforge.net/apps/mediawiki/myposition/index.php?title=Main_Page Wiki at SourceForge]
 +
 
 +
[[category:Applications]]

Latest revision as of 12:37, 17 September 2011

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!

Contents

[edit] Description

OpenBmapGTK-0.4.0-Main.png
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  ;-)  !

[edit] 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)
  • ...

[edit] 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.

[edit] Related Applications

[edit] Versions

[edit] 0.4.0

  • New graphical interface!
  • Glade file path not hardcoded anymore.
  • Application logging level now in config file.
  • Added cells seen statistics.
  • Details in CHANGELOG.

[edit] 0.3.3

The version number 0.3.3 has been used in logs uploaded to the server. It was meant as a testing number for version 0.4.0 only.

[edit] 0.3.2

(Version 0.3.1 has never been officially released.)

  • Debian package.
  • Button images do not embed any more text. The text is now a regular

label under the image.

  • Button text is now "Start" instead of "Generate".
  • rxlev added to serving cell XML log, if available.
  • timing advance is available, but deactivated. It needs to be logged

only on specific situation.

  • Application logging level set to INFO by default.
  • Logging level of some application messages have been changed.
  • In a loop, time is now limited to get all data necessary.

[edit] 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.

[edit] 0.2.1

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

[edit] 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

[edit] 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.

[edit] 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.

The main window displays data about:

  • GSM
  • GPS
  • GSM statistics

Seen cells (servings / neighbours) counters:

    • total since launch
    • number of cells since last start (gets updated only when logging)

and the status of the logger (running or not). You can find a menu button which brings a new window.

This menu window is a grid of buttons:

  • 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 www.openBmap.org website, and fill a correct login/password in the popup window displayed before upload works.

  • A button to go back to main screen.
  • 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

  • 'openBmap.log' contains the application logs, sets the level of output

application logging level (debug, info, warning, error or critical)

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

[edit] 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.

  • Please note that if you have your .openBmap folder located on your uSD card, setting the application logging output level to debug seems to make the logger take too much time for looping, thus rejecting the logs. By default, the level is set to info, and works well.

[edit] 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.

[edit] Source,Packages

opkg install openbmap-logger

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

[edit] Weblinks

Wiki at SourceForge

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...

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).

Map status (last update 2009-03-31 00:45:10) Cellular: 7 countries, 10 mobile networks, 390 location area codes, 10375 cells

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

Possible use 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).

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)
  • Graphical window to enter login/password before upload (possibility to cancel upload).
  • upload of logs
  • Graphical window proposing to delete all logs already processed.

What's new since 0.1?

  • 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

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.

  • 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.

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. Public git repository.