- Timestamp:
- 05/02/08 12:28:32 (8 months ago)
- Files:
-
- 1 modified
-
trunk/README (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/README
r1 r28 1 This is freimap release alpha-1. 2 3 Licence is GNU GPL. 1 This is a freimap svn release. 2 The Licence is GNU GPL. 4 3 5 4 Copyleft by: … … 7 6 * Robert Schuster <robertschuster@fsfe.org> 8 7 9 Freimap is a visualization environment for community mesh networks with 10 an OLSR infrastructure. Think "freifunk.net". 8 Freimap is an Open Source visualization and analysis framework for (mostly) mesh networks, such as for example Freifunk.net. It can read many a different data source and display them as different layers. The network can be browsed and queried in real time, and a time bar allows to trace back to past events. Some statistics of the topology and network traffic may also be generated. 11 9 12 Documentation of the project is still expected to fall from the sky. 13 Until then, here's a small outlook of what you can get running and how. 10 A thorough documentation of the project is still expected to fall from the sky. Until then, here's a small outlook of what you can get running and how. 14 11 15 12 == Requirements == 16 13 17 * Java 1.5.0 (Java2) or better (GCJ and GNU Classpath+Cacao works, but is slow and unstable) 18 * Either19 ** olsr daemon running with the dot_draw plugin in the network 20 ** a database containing topology data, according to the provided SQL structure. 21 ** a server running the FreifunkMap software (http://www.layereight.de/software_freifunkmap.php) 22 * A few, rather common java libraries which are also provided in a separate convenience package 23 *# jFreeChart (1.0.4 checked) and jCommon (1.0.8 checked) from jfree.org 24 *# Mysql J/Connector if database access is used (version 5.0.5 checked) 25 *optional: an OpenStreetMap mapnik server providing tiles 14 * Java JDK 1.5.0 (Java2) or better. 15 * A few, rather common java libraries, which are provided in the svn version. 16 17 To make good use of freimap, you would need some data sources. Some of these are 18 19 * Olsrd running with the dot_draw plugin, somewhere in the network. 20 * A latlon.js file, generated by the nameservice plugin. 21 * XML files containing node information, such as in certain freifunk maps. Some examples are provided in the data/ directory. 22 * A database containing node information, topology data, or flow data, according to the provided SQL structures. 26 23 27 24 == Installation == 28 25 29 === from convenience JAR archive === 26 Download the latest precompiled build: 30 27 31 Assuming that you have the file freimap-all-*.jar in a convenient location. 28 * http://relet.net/trac/freimap/browser/freimap-latest.tbz?format=raw 32 29 33 > unzip freimap-all-*.jar lib/* 34 :(will create a ./lib subfolder and extract libraries) 30 or get the sources using 'svn': 35 31 36 You're done.32 * svn checkout http://relet.net/svn/freimap/trunk freimap 37 33 38 === Compil e from source jar archive ===34 === Compiling (svn only) === 39 35 40 > mkdir freimap 41 * Copy the jar file into this folder. 42 > jar xvf freimap-dev-*.jar 43 :(will create many a subfolder) 44 > ./compile 45 :(should compile the necessary files with a well-defined classpath, and create a jar file freimap.jar. If not, you'll have to adjust the file) 36 * ./compile (or "compile.bat") 46 37 47 === Get the latest from SVN === 38 or, if ant is available: 48 39 49 * Follow the instructions at http://developer.berlios.de/svn/?group_id=8309 to obtain an up-to date source tree. 50 > ./compile 51 or, if you have ant installed: 52 > ant 40 * ant 53 41 54 42 == Running freimap == 55 43 56 By now, you should have the file freimap*.jar and a lib subfolder. 44 1. Configuration 57 45 58 Copy config.yaml.example to config.yaml. Edit to taste. The configuration defaults to read a dot topology on localhost:2004. 46 This is probably the trickiest part of the process. The configuration for freimap is stored in the configuration file "config.yaml" in the YAML markup language. An example file is provided as "config.yaml.example". Read the Configuration Manual in the freimap wiki for up-to-date details on the available options. 59 47 60 > ./run 61 or 62 > java -Xmx500m -jar freimap-*.jar 48 The example config file will create two layers: A list of nodes read from the provided xml file, and one displaying topology information from an olsrd dot_info plugin listening on localhost:2004. This is probably the most common and easiest to provide set of data sources. Another simple option would be to get a latlon.js file generated by the nameservice plugin of your olsr daemon. There's an example in the configuration manual, too. 63 49 64 If you have got less than 500mb free memory, you may want to adjust the 65 -Xmx parameter. Freimap does not necessarily need that much unless you 66 evaluate many months of collected data using the MysqlDataSource. 50 2. Starting 67 51 52 * ./run 53 54 or 55 56 * java -Xmx500m -jar freimap.jar 57 58 If you have got less than 500mb free memory, you may want to adjust the -Xmx parameter. Freimap does not necessarily need that much unless you evaluate many months of collected data. 68 59 69 60 == Using freimap == 70 61 71 You need geo-information for your network. Currently, this can be read 72 either from a Mysql Database, a nodes.dump file in the jar package or 73 from a FreifunkMap server. 62 When freimap starts, the first thing it will do, is to parse the config file config.yaml. Beware, for since YAML is not very picky with its syntax, some typing errors in the structure may not be detected, and freimap will not necessarily complain if you made a mistake there. From the YAML data found in the config file, freimap will try to identify the Background and DataSource? layers to load, and initialize them with the given parameters. Layers will first be loaded, and initialized in a second run. Hence, cross-references should work from any layer to any other. 74 63 75 The nodes.dump file however only provides data for nodes for a few 76 networks around Berlin and Leipzig currently. Importing from other 77 sources is on my to do list, suggestions are welcome. 64 Freimap will output status information and error messages on the console while loading the layers and initializing data sources. For example 78 65 79 In the main window, you will therefore see a number of white clouds at 80 first. They are the big node concentrations around Berlin and Leipzig. 81 Drag and zoom using your left and right mouse buttons to get closer to 82 the area where you expect to see your network. Press the play button at 83 the bottom of the screen to get live updates and display topology. (If you 84 don't see anything, try to zoom in near Berlin, Alexanderplatz where a big 85 green c-base logo is located. Any node which could not be located is currently 86 placed there - see [[Freimap/Troubleshooting]]) 66 fetching node data from URL: file:latlon.js 67 This may take a while ... finished. 87 68 88 ======= 69 would be the output of successfully loading node coordinates using a LatLonJsDataSource. 89 70 90 In the main window, you will therefore see a number of white clouds at 91 first. They are the big node concentrations around Berlin and Leipzig. 92 Drag and zoom using your left and right mouse buttons to get closer to 93 the area where you expect to see your network. Press the play button at 94 the bottom of the screen to get live updates and display topology. (If you 95 don't see anything, try to zoom in near Berlin, Alexanderplatz where a big 96 green c-base logo is located. Any node which could not be located is currently 97 placed there - see [[Freimap/Troubleshooting]]) 71 * The Graphical User Interface * 98 72 99 === Configuration options === 73 Once the freimap window appears, you should see a black-greenish screen, with some decorations and -if you have selected the OpenStreetMap? backdrop- a world map in the center. 100 74 101 Obsolete. The new YAML syntax differs slightly but significantly. 102 I am keeping this here, as the options are basically the same. 75 ** Status Information ** 103 76 104 ==== DataSource ==== 105 Set this to either net.relet.freimap.OLSRDDataSource, net.relet.freimap.MysqlDataSource 106 or net.relet.freimap.FreifunkMapDataSource. 77 The second green bar on the top of the window displays your current location (longitude and latitude) and the map zoom factor. On the left side, where the URL of this site is displayed, at some point in the future, you might be able to see an actual place name. 107 78 108 When using OLSRDataSource the dotdraw plugin of a running OLSR daemon is accessed to 109 retrieve live stats about the mesh-net. 79 The bottom bar displays the currently selected time, and the memory usage of the software. When the 'resource usage' runs towards 100%, you may experience some OutOfMemoryErrors. This would usually happen when you work with larger quantities of data, which freimap currently seeks to keep in memory. 110 80 111 When using MysqlDataSource a MySQL database retrieves this information. 81 ** The Map / Navigation ** 112 82 113 When using FreifunkMapDataSource the data is retrieved from a server running the 114 FreifunkMap scripts. 83 The main portion of the screen is occupied by the map. At the beginning, you will find that it zoomed out to the maximum, so that you will have to zoom in to your preferred location first. If your data source has provided some node coordinates, you should be able to identify that location easily. 115 84 116 ==== background ==== 117 Set this either to blank, images, openstreetmap in order to paint the application's 118 background with nothing, some images which are specified in the config file or 119 pre-rendered tiles of OpenStreetMap. 85 Mouse control: 120 86 121 ==== ffmds.url ==== 122 URL for a server running the FreifunkMap scripts or a local file which contains the 123 data the server would normally create. 87 * Left mouse button drag: Move the map 88 * Mouse wheel, or right button drag up/down: Zoom the map 89 * Double click: Print the current longitude/latitude to the console. 90 * Right click on a link or node: Begin fetching additional information (see section "Layers" below) 124 91 125 The default configuration uses some sample data. 92 Keyboard control - Currently supported: 126 93 127 This is only needed if you use the FreifunkMapDataSource. 94 * '+' - Zoom in 95 * '-' - Zoom out 128 96 129 ==== yaml.url ==== 130 No idea. 97 ** The Time Bar ** 131 98 132 ==== olsrd.host, olsrd.port ==== 133 IP address and port of an OLSR daemon running the dotdraw plugin. 99 The time bar at the bottom of the screen displays which data source has provided information for which time interval. A dark green bar represents the total interval where any data is available. Lighter green bars stacked on top represent the various data sources. You may directly click on the time bar to select a specific data set. 134 100 135 This is only needed if you use the OLSRDDataSource.101 A red/green play button to the left of the bar allows you to replay the recorded data in order. Currently, the replay speed is a bit arbitrary. 136 102 137 ==== olsrd.nodefile === 138 A file providing geographic information about OLSR nodes. The string 139 specifies a Java system resources. If unsure do not change the default. 103 *Layers * 140 104 141 This is only needed if you use the OLSRDDataSource.105 On the top left of the screen is a list of layers. Clicking on an item in this list will select it as the active layer, which reacts on your mouse actions. You may drag and drop layers to change the order of drawing. The eye icon to the left of the layer allows you to cycle between different display types of this layer - usually "on", "off" and "semi-transparent". More or less display types may be supported. 142 106 143 ==== mysql.host, mysql.user, mysql.user, mysql.pass, mysql.db, mysql.tables.nodes, mysql.tables.links ==== 144 Credentials and table names for a MySQL database providing node data. 107 Data Layers may react differently on your mouse actions. Their usage will be described in the following. 108 ** Node/Link Layers ** 145 109 146 This is only needed if you use the MysqlDataSource.110 When moving over the displayed nodes and links, you will discover that the closest node or link to your mouse cursor will be highlighted. Additionally, an information pane is displayed on the top right of the screen. This information will display an identifier of the node or link, as well as more or less information provided by the data source. This list is usually followed by the words "+ right click for more +". 147 111 148 ==== image.count ==== 149 The number of image entries in the config file. 112 If you do right click, the data source will try to fetch further information concerning the given element. Depending on the element, this may include some statistics, generated over the available data, or add further elements to the information pane. This process may take some time. During this time, the information pane will display the message "retrieving information". When the process is finished, the additional information will be displayed automatically when hovering over the link. 150 113 151 ==== image.X.gfx, image.X.lat, image.X.lon, image.X.scale ==== 152 An image entry where 'X' is a number. 'image.X.gfx' is a Java system resource string. 153 This means that your images must be available via the application's classpath. 114 Another right click on the node or link may refresh the information, for example in the case of statistics and charts. 154 115 155 === Interface === 116 * The Menus * 156 117 157 The main screen is a map where you can zoom and drag around. Status bars at the top and bottom will tell you about the currently displayed time and the geographical position equivalent to your mouse cursor. 118 A menu bar is on top of the application. Currently, the only useful menu entries are the following. 119 > View 120 > Hide unlocated nodes 158 121 159 * Left mouse button: Click and drag to move around the map 160 * Double click left on any place in the screen to center onto that place. 161 * Move your mouse over a node or a link to display basic information 162 * Right click onto a node or link to display advanced statistics. The displayed graphs require a certain minimum of time samples to be available, so that they may not work until after a certain while. 163 * Click and drag along the time line on the bottom of the screen to display information about another point in time. 164 * Click on the play/stop button to display a singe time or move forward within it. 165 * A drop down box at the top left of the screen allows you to center on a certain node. Since there are more than thousand registered nodes, it's not that useful currently. 122 Stops/Starts interpolation and display of unlocated nodes. 123 > Display Filter 124 125 Selecting this menu will show a popup window which allows you to specify a display filter for nodes and links. To enable a filter, enter a string, select "enable display filter" and click on the "Apply" button. Now, only nodes containing (normal mode) or matching (regular expression mode) the specified string will be displayed. 126 127 == Final Words == 166 128 167 129 Enjoy! 168 130 Comments and bug reports are welcome. Either use the Bug reporting system 169 at http:// freimap.berlios.deor contact me at the address above.131 at http://relet.net/trac/freimap or contact me at the address above. 170 132
