Untitled
unknown
c_cpp
a year ago
1.0 kB
3
Indexable
LteClass Lte;
String LteClass::getSignalStrength(void) {
String response = "";
Serial1.println("AT+CSQ"); // Send AT command to query signal strength
// Wait for a response from the module
unsigned long start = millis();
while ((millis() - start) < 1000) {
if (Serial1.available()) {
char c = Serial1.read();
response += c;
}
}
// Parse response to extract signal strength
int rssi = -1; // default value if parsing fails
if (response.startsWith("+CSQ:")) {
int commaIndex = response.indexOf(',');
if (commaIndex > 6) {
String rssiValue = response.substring(6, commaIndex);
int rssiInt = rssiValue.toInt();
if (rssiInt >= 0 && rssiInt <= 31) {
rssi = -113 + (rssiInt * 2); // Convert CSQ value to dBm
}
}
}
if (rssi != -1) {
return String(rssi) + " dBm";
} else {
return "Signal strength not available";
}
}Editor is loading...
Leave a Comment