测量 ESP32 CPU 利用率

Afs*_*han 2 cpu-usage esp32

我正在通信连接到 Wifi 网络的两个 ESP32 板。一块 ESP32 板是服务器,另一块是客户端。我想测量客户端 ESP32 上的 ESP32 CPU 使用率。我不知道该怎么做,还没有在互联网上找到任何有用的资源。有人可以帮我弄这个吗?

这是服务器上的代码

#include <WiFi.h>
#include <ESPAsyncWebServer.h>
const char* ssid = "XXXXX";
const char* password = "XXXX";
AsyncWebServer server(80);
void setup() {
Serial.begin(115200);
WiFi.begin(ssid,password);
while (WiFi.status()!= WL_CONNECTED){
delay(200);
Serial.println("Connecting to Wifi...");
}
Serial.println("Connected to Wifi");
Serial.println(WiFi.localIP());
server.on("/test", HTTP_GET, [](AsyncWebServerRequest *request){
Serial.println("Request received from esp32client");
request->send(200, "text/plain", "Hello from ESP32Server to ESP32Client");
});
server.on("/test1", HTTP_GET, [](AsyncWebServerRequest *request){
Serial.println("Request received from PC-Client");
request->send(300, "text/plain", "Hello from ESP32Server to PC");
});

server.begin();

}

void loop() {
// put your main code here, to run repeatedly:

}
Run Code Online (Sandbox Code Playgroud)

这是客户端的代码

#include <WiFi.h>
#include <HTTPClient.h>
const char* ssid = "XXXXX";
const char* password ="XXXXX";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid,password);
while (WiFi.status()!= WL_CONNECTED){
delay(500);
Serial.println("Connecting to Wifi...");
}
Serial.println("Connected to Wifi Network...");
Serial.println(WiFi.localIP());

}

void loop() {

HTTPClient http;

http.begin("http://192.168.43.35/test");
int httpCode = http.GET();

if (httpCode > 0) {

String payload = http.getString();
Serial.println(httpCode);
Serial.println(payload);
}

else {
Serial.println("Error on HTTP request");
}

http.end(); 

delay(30000);

}
Run Code Online (Sandbox Code Playgroud)

Vik*_*ttu 5

使用此函数获取 CPU 负载

vTaskGetRunTimeStats(char *buffer);
Run Code Online (Sandbox Code Playgroud)

它通过当前在 esp32 上运行的任务来告诉 CPU 利用率。

API 文档在这里