Resolved merge conflict

pull/5/head
sh123 2020-05-31 13:15:51 +03:00
commit 13e7013605
1 zmienionych plików z 8 dodań i 2 usunięć

Wyświetl plik

@ -1,5 +1,5 @@
# LoRa APRS ESP32 APRSDroid bluetooth modem and LoRa APRS-IS iGate
Tiny experimental amateur radio ESP32 based LoRa APRSDroid KISS Bluetooth modem and LoRa APRS-IS iGate server.
Amateur radio ESP32 based LoRa APRSDroid KISS Bluetooth modem and LoRa APRS-IS iGate server.
![alt text](images/pinouts.png)
@ -7,6 +7,9 @@ Can be used in two modes:
- **as a LoRa APRS client**, you need to use APRSDroid application (https://aprsdroid.org), connect to the modem using bluetooth, data will be re-transmitted through the LoRa radio, this is similar to APRSDroid micromodem - https://unsigned.io/micromodem/, received data will be sent back to the APRSDroid using bluetooth. By having two clients you can not only send your position, but also send and receive APRS messages.
- **as a LoRa APRS iGate server**, which connects to your WiFI and forwards received LoRa APRS positions into the APRS-IS network, it also reports client signal level, by appending it into the APRS comment, so you can see your signal reports in different locations
# Compatible Boards
All work was done on ESP32-WROOM with custom made LoRa shield, if your ESP32 board is compatible then it should work, but there might be need to redefine pinouts to LoRa module if it differs (see further description in Software Setup section)
# Software Dependencies (install via libraries)
- Arduino ESP32 library: https://github.com/espressif/arduino-esp32
- LoRa arduino library: https://github.com/sandeepmistry/arduino-LoRa
@ -28,6 +31,7 @@ Can be used in two modes:
- lora spread factor **CfgSpread**, 12 (should decode down to -20dB, choosen with the goal for minimum signal decode)
- lora coding rate **CfgCodingRate**, 7
- lora output power **CfgPower**, 20 (max 20 dBm ~ 100mW, change to lower value if needed)
- sync word **CfgSync**, 0xf3
- consider minimum decode level based on on BW + SF ![alt text](images/bandwidth_vs_sf.jpg)
- use 80 MHz ESP32 frequency in Arduino, it will prolong battery life when operating portable, higher CPU speed is not required, there are no CPU intensive operations
- uses LoRa **built-in checksum** calculation to drop broken packets
@ -43,11 +47,13 @@ Can be used in two modes:
- **About 13 km** when server is 30m above the ground and client is at some higher point ~40m above the ground with rubber duck antenna
- **About 17km** maximum (non-reliable) between base and mobile station with antenna on the car roof
- Signal levels
- Successful decodes down to **-17.5dB** below the noise floor when using compressed APRS coordinates (smaller packets, about 50 bytes), see APRSDroid discussions on compressed corrdinates support and custom branches
- Successful decodes down to **-19.75dB** below the noise floor when using compressed APRS coordinates (smaller packets, about 50 bytes), see APRSDroid discussions on compressed corrdinates support and custom branches
- https://github.com/ge0rg/aprsdroid/pull/159
- https://github.com/ge0rg/aprsdroid/issues/170
- https://github.com/sh123/aprsdroid/tree/aprsdroid_compressed
- https://github.com/sh123/aprsdroid/tree/aprsdroid_compressed_gradle
- Polarization
- Using **horizontal polarization** improves successful decoding probability and receiving range
- Weather
- Rain and high humidity levels decrease signal level by about **~3-6 dB**