chasemapper/README.md

74 wiersze
4.2 KiB
Markdown
Czysty Zwykły widok Historia

# Project Horus - Browser-Based HAB Chase Map
2018-07-27 12:33:55 +00:00
**Note: This is a work-in-progress. Features may be incomplete or non-functional!**
2018-07-17 13:31:01 +00:00
This folder contains code to display payload (and chase car!) position data in a web browser:
![ChaseMapper Screenshot](https://github.com/projecthorus/chasemapper/raw/master/doc/chasemapper.jpg)
2018-07-29 08:48:31 +00:00
The general idea is this application is run on something like a Raspberry Pi (could be the same one that's running [radiosonde_auto_rx](https://github.com/projecthorus/radiosonde_auto_rx)?) and is accessed from a tablet or laptop computer via a web browser.
For this to run, you will need the horuslib library installed. Refer to the [Installation guide](https://github.com/projecthorus/horus_utils/wiki/1.-Dependencies-&-Installation).
2018-07-17 13:31:01 +00:00
You also need flask, and flask-socketio, which can be installed using pip:
```
$ sudo pip install flask flask-socketio
```
2018-07-27 12:33:55 +00:00
You can then clone this repository with:
```
$ git clone https://github.com/projecthorus/chasemapper.git
```
**Note: When updating this repository with git pull, make sure to update [horuslib](https://github.com/projecthorus/horus_utils/) as well!**
2018-07-19 12:47:52 +00:00
## Configuration & Startup
2018-07-27 12:33:55 +00:00
Many settings are defined in the horusmapper.cfg configuration file.
2018-07-19 12:47:52 +00:00
Create a copy of the example config file using
```
2018-07-19 12:47:52 +00:00
$ cp horusmapper.cfg.example horusmapper.cfg
```
2018-07-27 12:33:55 +00:00
Edit this file with your preferred text editor. The configuration file is fairly descriptive - you will need to set:
* At least one telemetry 'profile', which defines where payload and (optionally) car position telemetry data is sourced from.
* A default latitude and longitude for the map to centre on.
2018-07-19 12:47:52 +00:00
You can then start-up the horusmapper server with:
```
2018-07-19 12:47:52 +00:00
$ python horusmapper.py
```
2018-07-29 08:48:31 +00:00
The server can be stopped with CTRL+C. Sometimes the server doesn't stop cleanly and may the process may need to be killed. (Sorry!)
2018-07-29 08:48:31 +00:00
You should then be able to access the webpage by visiting http://your_ip_here:5001/
## Live Predictions
2018-07-19 12:47:52 +00:00
We can also run live predictions of the flight path.
To do this you need cusf_predictor_wrapper and it's dependencies installed. Refer to the [documentation on how to install this](https://github.com/darksidelemm/cusf_predictor_wrapper/).
2018-07-19 12:47:52 +00:00
Once compiled and installed, you will need to:
* Copy the 'pred' binary into this directory. If using the Windows build, this will be `pred.exe`; under Linux/OSX, just `pred`.
2018-07-27 12:33:55 +00:00
* Copy the 'get_wind_data.py' script from cusf_predictor_wrapper/apps into this directory.
You will then need to modify the horusmapper.cfg Predictor section setting as necessary to reflect the predictory binary location, the appropriate model_download command, and set `[predictor] predictor_enabled = True`
2018-07-27 12:35:18 +00:00
You can then click 'Download Model' in the web interface's setting tab to trigger a download of the latest GFS model data. Predictions will start automatically once a valid model is available.
2018-07-29 08:48:31 +00:00
## Chase Car Positions
At the moment Chasemapper only supports receiving chase-car positions via Horus UDP messages. These can be generated by the [ChaseTracker](https://github.com/projecthorus/horus_utils/wiki#chasetracker--chasecar_nogui) application from horus_utils. This application can also plot your position onto the tracker.habhub.org map, so others can see when you're out balloon chasing.
Eventually support will be added to get car positions from either GPSD, or from the client's device.
## Offline Mapping
(This is a work in progress)
By default Chasemapper is configured to use the online OSM and ESRI Satellite tileservers. There is also an 'offline OSM' entry in the map layer list (top right of the page), which attempt to gather maps from `http://server_ip:8080/roads/{z}/{x}/{y}.png`. I've been doing some testing with using [Tilestache](http://tilestache.org/) as a lightweight tileserver, serving tiles from mbtiles files. A guide on how to cache up OSM data for use with Tilestache is TBD...
(If anyone has managed to get ECW support working in GDAL recently, please contact me! I would like to convert some topographic maps in ECW format to tiles for use with Chasemapper.)
2018-07-27 12:35:18 +00:00
## Contacts
* [Mark Jessop](https://github.com/darksidelemm) - vk5qi@rfhead.net
You can often find me in the #highaltitude IRC Channel on [Freenode](https://webchat.freenode.net/).