ESP32-WROOM-32U+vscode(platformIO)+Arduino 框架
#include <Arduino.h>
#include <WiFi.h>
#include <HTTPClient.h>
#include <ArduinoJson.h>
#include <ArduinoJson.hpp>
const char* apiEndpoint = "https://api.bilibili.com/x/relation/stat?vmid=672600531";
void setup()
{
Serial.begin(115200); // open the serial port at 115200 bps;
WiFi.begin("b1", "12345678");
while (WiFi.status() != WL_CONNECTED)
{ //这里是阻塞程序,直到连接成功
delay(300);
Serial.print(".");
}
delay(100);
Serial.print("Connecting.. ");
//WiFi_Connect();
Serial.println("WiFi connected1");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
// 发送API请求并获取响应
HTTPClient http;
http.begin(apiEndpoint);
int httpResponseCode = http.GET();
if (httpResponseCode == 200) {
String response = http.getString();
// 解析JSON响应
DynamicJsonDocument jsonDoc(1024);
deserializeJson(jsonDoc, response);
// 提取粉丝数量
int fansCount = jsonDoc["data"]["follower"];
// 打印粉丝数量
Serial.print("FANS: ");
Serial.println(fansCount);
} else {
Serial.print("HTTP GET request failed with error code: ");
Serial.println(httpResponseCode);
}
http.end();
}
void loop()
{
//让输出粉丝数量再循环一次
// 发送API请求并获取响应
HTTPClient http;
http.begin(apiEndpoint);
int httpResponseCode = http.GET();
if (httpResponseCode == 200) {
String response = http.getString();
// 解析JSON响应
DynamicJsonDocument jsonDoc(1024);
deserializeJson(jsonDoc, response);
// 提取粉丝数量
int fansCount = jsonDoc["data"]["follower"];
// 打印粉丝数量
Serial.print("FANS: ");
Serial.println(fansCount);
} else {
Serial.print("HTTP GET request failed with error code: ");
Serial.println(httpResponseCode);
}
delay(300);
}