This commit is contained in:
richonguzman 2023-03-26 18:29:43 -03:00
parent 1a0fffcdfb
commit a2167b3b11
4 changed files with 25 additions and 13 deletions

View File

@ -1,6 +1,7 @@
{
"callsign": "CD2RXU-11",
"comment": "LoRa_APRS_iGate https://github.com/richonguzman/LoRa_APRS_iGate",
"beacon_interval": 15,
"wifi": {
"active": true,
"AP": [
@ -20,7 +21,10 @@
"active": true,
"passcode": "23201",
"server": "radioaficion.pro",
"port": 14580
"port": 14580,
"software_name" : "ESP32_LoRa_iGate",
"software_version" : "0.0.9",
"reporting_distance" : 30
},
"lora": {
"frequency": 433775000,
@ -31,6 +35,6 @@
},
"display": {
"always_on": true,
"timeout": 5
"timeout": 2
}
}

View File

@ -77,7 +77,7 @@ void APRS_IS_connect(){
Serial.println("Tried: " + String(count) + " FAILED!");
} else {
Serial.println("Connected with Server: '" + String(Config.aprs_is.server) + "' (port: " + String(Config.aprs_is.port)+ ")");
aprsauth = "user " + Config.callsign + " pass " + Config.aprs_is.passcode + " vers " + AprsSoftwareName + " " + AprsSoftwareVersion + " filter " + AprsFilter + "\n\r";
aprsauth = "user " + Config.callsign + " pass " + Config.aprs_is.passcode + " vers " + Config.aprs_is.software_name + " " + Config.aprs_is.software_version + " filter t/m/" + Config.callsign + "/" + (String)Config.aprs_is.reporting_distance + "\n\r";
espClient.write(aprsauth.c_str());
delay(200);
}
@ -88,7 +88,7 @@ String createAPRSPacket(String unprocessedPacket) {
int two_dots_position = unprocessedPacket.indexOf(':');
callsign_and_path_tracker = unprocessedPacket.substring(3, two_dots_position);
payload_tracker = unprocessedPacket.substring(two_dots_position);
processedPacket = callsign_and_path_tracker + ",qAO," + Config.callsign + payload_tracker;
processedPacket = callsign_and_path_tracker + ",qAO," + Config.callsign + payload_tracker + "\n";
return processedPacket;
}
@ -201,7 +201,7 @@ void loop() {
show_display(firstLine, secondLine, thirdLine, fourthLine, 0);
uint32_t lastTx = millis() - lastTxTime;
if (lastTx >= BeaconInterval) {
if (lastTx >= Config.beacon_interval*60*1000) {
beacon_update = true;
}
if (beacon_update) {

View File

@ -21,6 +21,9 @@ public:
int passcode;
String server;
int port;
String software_name;
String software_version;
int reporting_distance;
};
class LoraModule {
@ -43,6 +46,7 @@ public:
String callsign;
String comment;
int beacon_interval;
std::vector<WiFi_AP> wifiAPs;
APRS_IS aprs_is;
LoraModule loramodule;
@ -81,12 +85,16 @@ private:
callsign = data["callsign"].as<String>();
comment = data["comment"].as<String>();
beacon_interval = data["beacon_interval"].as<int>();
aprs_is.active = data["aprs_is"]["active"].as<bool>();
aprs_is.passcode = data["aprs_is"]["passcode"].as<int>();
aprs_is.server = data["aprs_is"]["server"].as<String>();
aprs_is.port = data["aprs_is"]["port"].as<int>();
aprs_is.software_name = data["aprs_is"]["software_name"].as<String>();
aprs_is.software_version = data["aprs_is"]["software_version"].as<String>();
aprs_is.reporting_distance = data["aprs_is"]["reporting_distance"].as<int>();
loramodule.frequency = data["lora"]["frequency"].as<long>();
loramodule.spreading_factor = data["lora"]["spreading_factor"].as<int>();
loramodule.signal_bandwidth = data["lora"]["signal_bandwidth"].as<long>();

View File

@ -3,17 +3,17 @@
#include <Arduino.h>
#define VERSION "V.0.0.1" //MEGA BETA
//#define VERSION "V.0.0.1" //MEGA BETA
#define BeaconInterval 900000 // 15 minutes = 900000 seg
//#define BeaconInterval 900000 // 15 minutes = 900000 seg
#define WifiCheckInterval 60000 // wificheck after one minute
const String AprsSoftwareName = "ESP32_LoRa_iGate";
const String AprsSoftwareVersion = "0.0.9";
//const String AprsSoftwareName = "ESP32_LoRa_iGate";
//const String AprsSoftwareVersion = "0.0.9";
const String iGateCallsign = "CD2RXU-11"; // use your own iGate Callsign
const int AprsReportingDistance = 20; // kms
const String AprsFilter = "t/m/" + iGateCallsign + "/" + (String)AprsReportingDistance;
//const String iGateCallsign = "CD2RXU-11"; // use your own iGate Callsign
//const int AprsReportingDistance = 20; // kms
//const String AprsFilter = "t/m/" + iGateCallsign + "/" + (String)AprsReportingDistance;
const String Latitude = "3302.02S"; // write your own iGate latitude and longitude
const String Longitude = "07134.42W";