From 20188d9220b6b74de9b22dbfec70c0b8042a486b Mon Sep 17 00:00:00 2001 From: gvanem Date: Tue, 17 Dec 2024 15:30:32 +0100 Subject: [PATCH] Fix some Markdown: *) replace '
' with ''. *) mention SAPI5 speech option. --- README.md | 48 +++++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index d81c5b1..dff983d 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,11 @@ [![MSBuild](https://github.com/gvanem/Dump1090/actions/workflows/msbuild.yml/badge.svg?branch=main)](https://github.com/gvanem/Dump1090/actions/workflows/msbuild.yml) -A simple **ADS-B** (*Automatic Dependent Surveillance - Broadcast*) receiver, decoder and web-server.
+A simple **ADS-B** (*Automatic Dependent Surveillance - Broadcast*) receiver, decoder and web-server. It requires a RTL-SDR USB-stick (the **librtlsdr** interface is **[built-in](src/externals/rtl-sdr/)**). This *Mode S* decoder is based on the original *Dump1090* by **Salvatore Sanfilippo** -which is **[here](https://github.com/antirez/dump1090.git)**.
+which is **[here](https://github.com/antirez/dump1090.git)**. Most of the text below is written by him. In this `README.md` file, I've mostly fixed the MarkDown and added some more references and screen-shots. But in the source-code I've done a lot of changes. @@ -22,7 +22,7 @@ and added some more references and screen-shots. But in the source-code I've don improved range compared to other popular decoders. * Network support: *TCP* port 30003 stream (*MSG5* ...), Raw packets and HTTP. * An embedded **[Mongoose](https://www.cesanta.com/)** HTTP server that displays - the currently detected aircrafts on an OpenStreet Map.
+ the currently detected aircrafts on an OpenStreet Map. Hopefully WebSocket support is coming soon (JScript and Json transfer is rather chatty). * Single bit errors correction using the 24 bit CRC. * Ability to decode *DF11*, *DF17* messages (**Downlink Format**). @@ -33,8 +33,10 @@ and added some more references and screen-shots. But in the source-code I've don * Interactive command-line-interface mode where aircrafts currently detected are shown as a list refreshing as more data arrives. Planes that haven't been seen last 60 seconds are removed from the list (key/value `interactive-ttl = sec` to change). +* In `--interactive` mode, the planes entering or leaving can be spoken out using SAPI5. + Ref. `speech-enable = true` in the [**config-file**](dump1090.cfg). * *CPR* (**Compact Position Reporting**) coordinates decoding and track calculation from velocity. -* TCP server streaming and receiving raw data to/from connected clients
+* TCP server streaming and receiving raw data to/from connected clients (options `--net` or `--net-only`). * Many command-line options are now in the `dump1090.cfg` file. See below. @@ -47,8 +49,8 @@ and added some more references and screen-shots. But in the source-code I've don * `c:\dev\Dump1090\src> make -f Makefile.Windows CC=cl` (or `CC=clang-cl`). * Or using Visual Studio tools: * `c:\dev\Dump1090\src> msbuild -p:Configuration=Release -p:Platform="x86" Dump1090.sln`. - * or start the Visual Studio IDE, open `Dump1090.sln`, right-click and `Build Solution`.
- The project may have to be retargeted. *Devenv* would do this automatically and print
+ * or start the Visual Studio IDE, open `Dump1090.sln`, right-click and `Build Solution`. + The project may have to be retargeted. *Devenv* would do this automatically and print `Configuration 'Release|x64': changing Platform Toolset to 'v143' (was 'v142')` when finished. ## Normal usage @@ -145,7 +147,7 @@ to your browser to **http://localhost:8080**, use this command: In this interactive mode there is a more compact output. Where the screen is refreshed up to 4 times per second displaying all the recently seen aircrafts with some additional information such as call-sign, registration-number, country, altitude, speed, heading and position. -Most items are extracted from the received *Mode S* packets.
+Most items are extracted from the received *Mode S* packets. Except for: * *Cntry* (2 letter ISO3166) taken from the *official* range of ICAO address/country mapping. * *RSSI* (logarithmic *Received Signal Strength Indicator*) is calculated from the 4 last messages. @@ -166,7 +168,7 @@ Running with `web-page = %~dp0\web_root-Tar1090\index.html` in the `dump1090.cfg will show a much more advanced Web-page thanks to [**Tar1090**](https://github.com/wiedehopf/tar1090/) and data from [**Tar1090-DB**](https://github.com/wiedehopf/tar1090-db/): **![tar1090 output](dump1090-tar1090-web.png)** -Building with a *packed Web-filesystem* is also possible. Then **all** web-pages are built into a `web-pages.dll` file.
+Building with a *packed Web-filesystem* is also possible. Then **all** web-pages are built into a `web-pages.dll` file. Ref. `USE_PACKED_WEB = 1` in [**Makefile.Windows**](https://github.com/gvanem/Dump1090/blob/main/Makefile.Windows#L22) and a `web-page = web-pages.dll;N` in the [**config-file**](dump1090.cfg). @@ -244,7 +246,7 @@ Use key/value `aircrafts = NUL` to avoid loading this huge (approx. 82 MByte) `.CSV` file. The latest version of this file is available from: **https://opensky-network.org/datasets/metadata/** -The option `--update` will check and download
+The option `--update` will check and download **https://opensky-network.org/datasets/metadata/aircraftDatabase.zip** and extract using the internal [**zip**](https://github.com/kuba--/zip) functions. And also rebuild the `aircraft-database.csv.sqlite` file using the internal bundled @@ -252,9 +254,9 @@ And also rebuild the `aircraft-database.csv.sqlite` file using the internal bund ## Additional options -*Dump1090* now has limited command line options. Seldom used settings are now in the default [**config-file**](dump1090.cfg).
-This can select gain, frequency, and so forth.
-The option `--config ` can select another custom `.cfg` file.
+*Dump1090* now has limited command line options. Seldom used settings are now in the default [**config-file**](dump1090.cfg). +This can select gain, frequency, and so forth. +The option `--config ` can select another custom `.cfg` file. Full list of options use is shown using `dump1090 --help` or `dump1090 -h`. A setting like `freq = 1090.001M` is possible for cheap RTL-SDR devices with @@ -292,17 +294,17 @@ for clients connections on port 30002 and 30001 (you can change both ports `net-X-port = Y`. Look in `dump1090.cfg` for details). * **Port 30002** connected clients are served with data ASAP as they arrive from the device - (or from file if `--infile` is used) in the raw format similar to the following:
- `*8D451E8B99019699C00B0A81F36E;`
+ (or from file if `--infile` is used) in the raw format similar to the following: + `*8D451E8B99019699C00B0A81F36E;` Every entry is separated by a simple newline (LF character, hex `0x0A`). * **Port 30001** is the raw input port, and can be used to feed `dump1090` with data in the same format as specified above, with hex messages starting with `*` and - ending with a `;` character.
+ ending with a `;` character. So for instance if there is another remote *Dump1090* instance collecting data it is possible to sum the output to a local *Dump1090* instance with the help of -NetCat or NCat:
+NetCat or NCat: `nc remote-dump1090.example.net 30002 | nc localhost 30001` It is important to note that what is received via port 30001 is also @@ -312,13 +314,13 @@ In general everything received from port 30001 is handled exactly like the normal traffic from RTL devices or from file when `--infile` is used. If your feed *Dump1090* with data from the internet, one can use this command to -see on the console what's happening:
+see on the console what's happening: ``` c:\dev\Dump1090> dump1090 --net-only --interactive ``` * **Port 30003** connected clients are served with messages in - **[SBS1 (BaseStation) format](http://woodair.net/sbs/article/barebones42_socket_data.htm)**, similar to:
+ **[SBS1 (BaseStation) format](http://woodair.net/sbs/article/barebones42_socket_data.htm)**, similar to: ``` MSG,4,,,738065,,,,,,,,420,179,,,0,,0,0,0,0 MSG,3,,,738065,,,,,,,35000,,,34.81609,34.07810,,,0,0,0,0 @@ -386,7 +388,7 @@ used to visualize packets using a web browser, you can use ## How this program works? -The code is very documented and written in order to be easy to understand.
+The code is very documented and written in order to be easy to understand. For the diligent programmer with a *Mode S* specification at hand, it should be trivial to understand how it works. @@ -401,17 +403,17 @@ are aircrafts flying over your head, just run the program and check for signals. If however you don't have an RTL-SDR device, or if in your area the presence of aircrafts is very limited, you may want to try it with the sample file under -the **[testfiles](testfiles/)** directory. Run it like this:
+the **[testfiles](testfiles/)** directory. Run it like this: ``` - c:\dev\Dump1090> dump1090 --ifile testfiles/modes1.bin + c:\dev\Dump1090> dump1090 --infile testfiles/modes1.bin ``` ## What is `--strip` mode? A simple filter that will take raw 8-bit IQ samples on input and output a file missing the I/Q parts that were below the specified `--strip level`. And if -those I/Q samples were below limit for at least 32 samples.
-Can be used like: `type big.bin | dump1090 --strip 25 > small.bin` +those I/Q samples were below limit for at least 32 samples. +It can be used like: `type big.bin | dump1090 --strip 25 > small.bin` The `--strip` mode was used to create e.g. **[testfiles/modes1.bin](testfiles/modes1.bin)**.