kopia lustrzana https://github.com/sh123/esp32_loraprs
Merge branch 'master' of https://github.com/sh123/esp32_loraprs
commit
c0184dd2bf
|
@ -42,7 +42,7 @@ All work was done on ESP32-WROOM with custom made LoRa shield, if your ESP32 boa
|
|||
- lora module SS, **CfgPinSs**, GPIO_5
|
||||
- lora module RST, **CfgPinRst**, GPIO_26
|
||||
- lora module DIO0, **CfgPinDio0**, GPIO_14
|
||||
- if you are planning to experiment with different bandwidths/spread factors then modify values in `initializeConfig()`, with current parameters APRS packet time on air is around **1-2 seconds** @ 292bps/36Bps, to decode with as lower level as possible with reasonable speed (comparable to 300bps HF APRS), use https://github.com/tanupoo/lorawan_toa to make further calculations
|
||||
- if you are planning to experiment with different bandwidths/spread factors then modify values in `initializeConfig()`, with current parameters APRS packet time on air is around **1-2 seconds** @ 292bps/36Bps, to decode with as lower level as possible with reasonable speed (comparable to 300bps HF APRS), use https://github.com/tanupoo/lorawan_toa or https://www.rfwireless-world.com/calculators/LoRa-Data-Rate-Calculator.html to make further calculations
|
||||
- lora bandwidth `cfg.LoraBw`, 125 kHz (also tested with 20.6 KHz and SF9 with frequency correction)
|
||||
- lora spread factor `cfg.LoraSf`, 12 (should decode down to -20dB, choosen with the goal for minimum signal decode)
|
||||
- lora coding rate `cfg.LoraCodingRate`, 7
|
||||
|
@ -94,7 +94,7 @@ It is possible to use modem **in client mode** with other generic Linux ax25/apr
|
|||
- Connect to another client as `sudo axcall -s NOCALL-1 ax25 NOCALL-10`
|
||||
|
||||
# CSMA Usage
|
||||
LoRa library, which is in use by this project does not implement CAD, but CSMAp is utilized by this project as per KISS specification. TX path is executed only when there is no incoming data returned by `LoRa::parsePacket` and TX path is executed with probability p (CSMA persistence), configured by const `Loraprs::Service::CfgCsmaPersistence` in `loraprs_service.h`. Random value is picked between 0 and 255 and TX is executed only when it is lower than `CfgCsmaProbBoundary`. To decrease TX probability in case of high traffic use lower value. `Loraprs::ServiceCsmaSlotTimeMs` configures the amount of time in milliseconds to wait if transmission was not performed due to persistence, select lower value for lower TOA (time on air). It is also possible to dynamically override these parameter with KISS P 0x02 and SlotTime 0x03 command codes from the client.
|
||||
LoRa library, which is in use by this project does not implement CAD, but CSMAp is utilized by this project as per KISS specification. TX path is executed only when there is no incoming data returned by `LoRa::parsePacket` and TX path is executed with probability p (CSMA persistence), configured by const `Loraprs::Service::CfgCsmaPersistence` in `loraprs_service.h`. Random value is picked between 0 and 255 and TX is executed only when it is lower than `CfgCsmaProbBoundary`. To decrease TX probability in case of high traffic use lower value. `Loraprs::ServiceCsmaSlotTimeMs` configures the amount of time in milliseconds to wait if transmission was not performed due to persistence, select lower value for lower TOA (time on air). It is also possible to dynamically override these parameters with KISS P 0x02 and SlotTime 0x03 command codes from the client.
|
||||
|
||||
# Digital voice communication by using Codec2
|
||||
This modem could be used in conjuction with [Android Codec2 Walkie-Talkie](https://github.com/sh123/codec2_talkie), when application connects to the modem, instead of sending AX25 APRS packets it sends Codec2 speech encoded frames. This enables digital voice communicaiton between one or multiple modems. Select appropriate lora spread factor `cfg.LoraSf` and bandwidth `cfg.LoraBw` depending on Codec2 speech rate from 450-3200 bps. For example, if you are using 450 bps mode and 20 kHz bandwidth then set spreading factor to 6,7 or 8. See data rate table above. When using modem for voice communication `Loraprs::Service::CfgCsmaPersistence` must be set to maximum 255 value to disable CSMA, otherwise real time voice communication won't be guaranteed. Android codec2_talkie application automatically sets this parameter to 255 by using KISS P command code.
|
||||
|
@ -122,4 +122,5 @@ This modem could be used in conjuction with [Android Codec2 Walkie-Talkie](https
|
|||
- Monitor your planned frequency, such as 433.775 MHz for ISM device activity, if there is strong interference from other users tune up or down it to minimize interference
|
||||
- Weather
|
||||
- Rain and high humidity levels decrease signal level by about **~3-6 dB**
|
||||
- Could not get modems communicate with each other when using spreading factor 6
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue