Update readme and example config

master
Mark Jessop 2022-09-22 16:02:22 +09:30
rodzic 8f4a73245f
commit beb9db5b4e
2 zmienionych plików z 23 dodań i 20 usunięć

Wyświetl plik

@ -7,15 +7,14 @@ The primary purpose of chasemapper is to provide an easy-to-use mapping interfac
Chasemapper is intended to be run on a 'headless' machine like a Raspberry Pi and is accessed from a tablet or laptop computer via a web browser. Multiple clients can connect to the server to see what's going on, which is a nice way of keeping passengers entertained ;-)
It will quite happily run alongside other Project Horus applications such as [radiosonde_auto_rx](https://github.com/projecthorus/radiosonde_auto_rx).
It will quite happily run alongside other Project Horus applications such as [radiosonde_auto_rx](https://github.com/projecthorus/radiosonde_auto_rx/wiki), or [horusdemodlib](https://github.com/projecthorus/horusdemodlib/wiki)
### Contacts
* [Mark Jessop](https://github.com/darksidelemm) - vk5qi@rfhead.net
## Update Notes
* If you have previously had chasemapper or auto_rx installed, you may need to update flask-socketio to the most recent version. You can do this by running `sudo pip3 install -U flask-socketio`
* As of mid-April, there have been additions to the chasemapper configuration file format to enable interfacing with the new [v2 Sondehub Tracker](https://v2.sondehub.org/), including a selection for the online tracker in use. You will need to update your configuration files for chasemapper to continue working. Integration with Sondehub v2 is still in progress.
* Further updates to interface with SondeHub's payload recovery reporting system have been introduced in early June (v1.3.0).
* Chasemapper has now dropped support for the HabHub tracker, which is due to be retired later this year (2022). Chasemapper supports uploading chase-car position information to both [SondeHub](https://tracker.sondehub.org) (for radiosonde chasers), and [SondeHub-Amateur]((https://amateur.sondehub.org)) (for amateur high-altitude balloon launches)
## Docker Install
The fastest (and most recommended) way to get chasemapper up and running is to use the pre-built docker container. Information on using this is available here: https://github.com/projecthorus/chasemapper/wiki/Docker
@ -46,9 +45,8 @@ $ git clone https://github.com/projecthorus/chasemapper.git
To use the map, you need some kind of data to plot on it! The mapping backend accepts telemetry data in a few formats:
* 'Payload Summary', 'Chase Car Position' and 'Bearing' messages, via UDP broadcast in a JSON format [described here](https://github.com/projecthorus/horus_utils/wiki/5.-UDP-Broadcast-Messages#payload-summary-payload_summary). The standard ports used for these are 55672 (for hobbyist HAB payloads) and 55673 (radiosondes). These can be generated by:
* [radiosonde_auto_rx](https://github.com/projecthorus/radiosonde_auto_rx/wiki) - See [here](https://github.com/projecthorus/radiosonde_auto_rx/wiki/Configuration-Settings#payload-summary-output) for configuration info.
* Various 'bridge' utilities within the [horus_utils](https://github.com/projecthorus/horus_utils/wiki) repository. For example, [FldigiBridge](https://github.com/projecthorus/horus_utils/wiki#fldigibridge-processing-of-data-from-dl-fldigi) or [HabitatBridge](https://github.com/projecthorus/horus_utils/wiki#habitat-bridge)
* The [Horus-GUI](https://github.com/projecthorus/horus-gui) and [Horus Binary](https://github.com/projecthorus/horusdemodlib/wiki) 4FSK telemetry decoders will emit these messages on port 55672 by default.
* My [Kerberos-SDR fork](https://github.com/darksidelemm/kerberossdr) will emit TDOA bearing information in the appropriate UDP message format on port 55672. Note that the bearing functionality is very much experimental at this time.
* My [Kraken-SDR fork](https://github.com/darksidelemm/krakensdr_doa) will emit TDOA bearing information in the appropriate UDP message format on port 55672. Note that the bearing functionality is very much experimental at this time.
* 'OziMux' messages, via UDP broadcast in a simple CSV format [described here](https://github.com/projecthorus/oziplotter/wiki/3---Data-Sources#3---oziplotter-data-inputs).
* [radiosonde_auto_rx](https://github.com/projecthorus/radiosonde_auto_rx/wiki) - See [here](https://github.com/projecthorus/radiosonde_auto_rx/wiki/Configuration-Settings#sending-payload-data-to-chasemapper--oziplotter--ozimux) for configuration info, though I suggest using the 'Payload Summary' message as described above as it provides callsign information.
* Pi-in-the-Sky's [lora_gateway](https://github.com/PiInTheSky/lora-gateway) - Using the `OziPort=8942` configuration option.
@ -76,7 +74,7 @@ The server can be stopped with CTRL+C. Sometimes the server doesn't stop cleanly
You should then be able to access the webpage by visiting http://your_ip_here:5001/
## Live Predictions
By default, chasemapper will attempt to request flight-path predictions from the [Tawhiri Predictor API](https://tawhiri.readthedocs.io/en/latest/api.html), which requires an internet connection. If you have a semi-reliable internet connection during the flight, this might be all you need to get chasing!
By default, chasemapper will attempt to request flight-path predictions from the SondeHub instance of the [Tawhiri Predictor](https://github.com/projecthorus/tawhiri), which requires an internet connection. If you have a semi-reliable internet connection during the flight, this might be all you need to get chasing!
However, if you think you might be going out of phone coverage range, you may want to set up offline predictions:
@ -93,7 +91,7 @@ You can then click 'Download Model' in the web interface's setting tab to trigge
## Chase Car Positions
At the moment Chasemapper supports receiving chase-car positions via either GPSD, a Serial-attached GPS, or Horus UDP messages. Refer to the configuration file for setup information for these options.
This application can also plot your position onto the tracker.habhub.org map, so others can see when you're out balloon chasing. You can also fetch positions of nearby chase cars from Habitat, to see if others are out chasing as well :-) These options can be enabled from the control pane on the left of the web interface, and can also be set within the configuration file.
This application can also plot your position onto the tracker.habhub.org map, so others can see when you're out balloon chasing. You can also fetch positions of nearby chase cars from SondeHub/SondeHub-Amateur, to see if others are out chasing as well :-) These options can be enabled from the control pane on the left of the web interface, and can also be set within the configuration file.
## Offline Mapping
Chasemapper can serve up map tiles from a specified directory to the web client. Of course, for this to be useful, we need map tiles to serve!
@ -192,8 +190,8 @@ The above formats are accepted via a horus_udp listener, and so you must have a
Bearings are plotted on the map as thin lines, which slowly become transparent as they get older, and then disappear. The style of the line and the maximum age bearings shown can be configured in the new bearing settings tab on the left of the screen (click the compass icon). You can also filter bearings by the optionally supplied confidence level ('Confidence Threshold'). Bearings provided while the chase-car is stationary (i.e. when the heading is essentially unknown) are filtered out of the display by default, but can be enabled if desired ('Show stationary bearings'). Most of the filter settings will only take effect by clicking the 'Redraw Bearings' button.
My [Kerberos-SDR fork](https://github.com/darksidelemm/kerberossdr) will emit relative bearings in the above format on UDP port 55672, including the raw TDOA data, which is plotted on a polar plot on the bottom-right of the display. Bearing data will be emitted as soon as TDOA processing is started. Note that I have only tested with data from a Uniform Circular Array and do not currently handle forward/reverse ambiguities from a linear array configuration. I would *not* suggest running Chasemapper on the same device as the Kerberos-SDR software, due to the high processor load of the Kerberos algorithms.
My [Kraken-SDR fork](https://github.com/darksidelemm/krakensdr_doa) will emit relative bearings in the above format on UDP port 55672, including the raw TDOA data, which is plotted on a polar plot on the bottom-right of the display. Bearing data will be emitted as soon as TDOA processing is started. Note that I have only tested with data from a Uniform Circular Array and do not currently handle forward/reverse ambiguities from a linear array configuration. I would *not* suggest running Chasemapper on the same device as the Kerberos-SDR software, due to the high processor load of the Kerberos algorithms.
Note that the bearing display (in particular the TDOA data polar plot) does put a fairly big strain on some slower devices. Currently the polar plot is generated in a fairly naive way, and definitely has room for improvement.
I make no promises as to the usefulness and/or performance of this feature in chasemapper - it's essentially a re-implementation of a radio-direction finding mapping system developed by fellow Amateur Radio Experimenters Group members a very long time ago, and has yet to be used 'in anger'. It's also important to note that attempting to direction-find radiosonde/high-altitude balloon payloads which are located at high relative elevations (>40 degrees or so) is likely to lead to very inaccurate results due to coning angle limitations (where a bearing cannot be resolved due to insufficient phase-delta between receive antennae).
I make no promises as to the usefulness and/or performance of this feature in chasemapper - it's essentially a re-implementation of a radio-direction finding mapping system developed by fellow Amateur Radio Experimenters Group members a very long time ago. I've used it in a few local amateur radio direction finding competitions have found it to be useful. It's also important to note that attempting to direction-find radiosonde/high-altitude balloon payloads which are located at high relative elevations (>40 degrees or so) is likely to lead to very inaccurate results due to coning angle limitations (where a bearing cannot be resolved due to insufficient phase-delta between receive antennae).

Wyświetl plik

@ -3,7 +3,7 @@
#
# Copy this file to horusmapper.cfg and modify as required.
#
# This is the default config file for chasemapper 1.3.0, be aware there might be changes and it might not run on older/newer versions.
# This is the default config file for chasemapper 1.5.0, be aware there might be changes and it might not run on older/newer versions.
#
#
@ -32,12 +32,12 @@ telemetry_source_port = 55673
# Car Position Source
# none - No Chase-Car GPS
# horus_udp - Read Horus UDP Broadcast 'Car GPS' messages
# serial - Read GPS positions from a serial-connected GPS receiver.
# gpsd - Poll GPSD for positions.
# serial - Read GPS positions from a serial-connected GPS receiver. RECOMMENDED
# gpsd - Poll a local GPSD instance for positions. (Known to have some reliability issues...)
# station - Stationary position (set in the [map] section below)
car_source_type = gpsd
car_source_type = serial
# Car position source port (UDP) - only used if horus_udp is selected, but still needs to be provided.
car_source_port = 12345
car_source_port = 55672
# Online Tracker System
# Where to upload chase-car positions and balloon recovery notifications to.
@ -81,6 +81,7 @@ online_tracker = sondehubamateur
[gpsd]
# GPSD Host/Port - Only used if selected in a telemetry profile above.
# Note that GPSD support is somewhat buggy.
gpsd_host = localhost
gpsd_port = 2947
@ -129,7 +130,7 @@ stadia_api_key = none
# Enable Predictor (True/False) - This can also be enabled from the web client.
predictor_enabled = True
# Predictor defaults - these can be modified at runtime in the web interface.
# Predictor defaults - these can also be modified at runtime in the web interface.
default_burst = 30000
default_descent_rate = 5.0
@ -181,20 +182,24 @@ tile_server_path = /home/pi/Maps/
#tile_server_path = /opt/chasemapper/Maps/
#
# Habitat / SondeHub Chase-Car Position Upload
# If you want, this application can upload your chase-car position to the Habhub / Sondehub trackers,
# SondeHub Chase-Car Position Upload
# If you want, this application can upload your chase-car position to the SondeHub/SondeHub-Amateur trackers,
# for those follwing along at home.
# The settings below can be modified from the web interface, but they will default to what is set below on startup.
#
# Note - Variables in this section still refer to habitat to avoid breaking existing configurations.
[habitat]
# Enable uploading of chase-car position to Habitat (True / False)
# Enable uploading of chase-car position to SondeHub / SondeHub-Amateur (True / False)
# Which tracker positions are uploaded to depends on the online_tracker setting of the selected
# profile (further up in this config file).
habitat_upload_enabled = False
# Callsign to use when uploading. Note that _chase is automatically appended to this callsign
# i.e. N0CALL will show up as N0CALL_chase on tracker.habhub.org
# when displayed on the tracker maps.
# i.e. N0CALL will show up as N0CALL_chase on sondehub.org
habitat_call = N0CALL
# Attempt to upload position to habitat every x seconds.
# Attempt to upload position to SondeHub every x seconds.
habitat_update_rate = 30