美文网首页
ESP8266+SSD1306显示B站粉丝数量

ESP8266+SSD1306显示B站粉丝数量

作者: Lengff | 来源:发表于2023-02-15 22:34 被阅读0次
1.png

说明

太久没更新博文了,生活和工作让我迷失了方向,一直都停滞不前。可能是过完年口袋里又没钱了,又想起来要努力了吧,从新开始更新博客内容。

这次给大家带来通过8266 + SSD1306显示屏来显示bilibili粉丝数量,这个其实网上都能找到一大把,但是我还是贡献一篇较为完整的内容吧。

接线图

我买的是下图这种四脚的SSD1306显示屏

接线方式如下:

GND—G
VCC—3V
SCL—D1
SDA—D2

接线图如下:

3.png

代码

  • 获取代码之前,需要先去获取B站用户的UID,这个点到UP主的主页,浏览器地址栏就可以看到。
    如:https://space.bilibili.com/385237224 ,其中【385237224】就是我的bilibili粉丝UID,将代码中的UID改成自己的即可。

  • 注意:代码烧录过程中可能会报缺少库的错误,这些【ArduinoJson,Adafruit_GFX,Adafruit_SSD1306】库是需要自己手动去搜索库文件安装一下就可以了。


#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
#include <ESP8266HTTPClient.h>

#include <WiFiClient.h>
#include <ArduinoJson.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <WiFiClientSecureBearSSL.h>

#define SCREEN_WIDTH 128 // OLED显示器宽度(像素)
#define SCREEN_HEIGHT 64 // OLED显示器高度(像素)
// 初始化SSD1306
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

const uint8_t fingerprint[20] = {0x40, 0xaf, 0x00, 0x6b, 0xec, 0x90, 0x22, 0x41, 0x8e, 0xa3, 0xad, 0xfa, 0x1a, 0xe8, 0x25, 0x41, 0x1d, 0x1a, 0x54, 0xb3};

// 这里设置B站的用户ID
#define BILIBILI_UID 385237224

ESP8266WiFiMulti WiFiMulti;

void setup() {
  Serial.begin(115200);
  if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    Serial.println(F("SSD1306初始化失败"));
    while (true) {};
  }
  display.clearDisplay();
  display.setTextColor(WHITE);
  // 开始连接wifi
  WiFi.mode(WIFI_STA);
  WiFiMulti.addAP("你家wifi名称,只支持2.4Gwifi", "你加wifi密码");

}

void loop() {
  // 等待WiFi连接
  if ((WiFiMulti.run() == WL_CONNECTED)) {
    std::unique_ptr<BearSSL::WiFiClientSecure>client(new BearSSL::WiFiClientSecure);
    client->setFingerprint(fingerprint);
    client->setInsecure();

    HTTPClient http;
    Serial.print("开始调用接口获取bilibili粉丝接口!\n");
    http.begin(*client, "https://api.bilibili.com/x/relation/stat?vmid=" + BILIBILI_UID);
    int httpCode = http.GET();
    // 出错时httpCode将为负数
    if (httpCode > 0) {
      // HTTP标头已发送,服务器响应标头已处理
      Serial.printf("[HTTP]code: %d\n", httpCode);
      if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {
        String json = http.getString();
        Serial.println(json);
        DynamicJsonDocument doc(2048);
        deserializeJson(doc, json);
        // 获取bilibili粉丝数量
        long follower = doc["data"]["follower"];
        showBilibiliFollower(follower);
      }
    } else {
      Serial.printf("[HTTP] 调用获取bilibili粉丝接口失败,失败原因: %s\n", http.errorToString(httpCode).c_str());
    }
    http.end();
  }
  delay(1000);
}

/**
   显示bilibili粉丝数量
*/
void showBilibiliFollower(long follower) {
  // 显示
  display.clearDisplay();
  display.setTextSize(4);
  display.setCursor(0, 15);
  display.print(follower);
  //刷新显示
  display.display();
}


相关文章

  • 快乐由自己|吃货大V的开心套路

    这周关注了B站美食区的UP主——翔翔大作战,自称小翔哥,305万粉丝关注,B站3.5亿总播放量,从粉丝数量和播放量...

  • B站10年,1亿青年离不开这个“小破站”,谁还敢说它“非主流”?

    “前方高能,一发入魂,B站如风,常伴我身。”这是“小破站(B站爱称,中文名:哔哩哔哩)”粉丝对它的总结。 数据显示...

  • 对山东大葱哥的5万粉丝进行分析

    粉丝数量统计 大葱哥简书主页显示粉丝数量为52940个 但通过数据爬取统计,拿到的粉丝数量为 52698 个 双0...

  • B站UP主11种赚钱方式

    B站COO李旎称,B站的创作生态机制,首先由UP主对B站产生感情,并由此创作内容,吸引了粉丝,在与粉丝的互动中激励...

  • 2020年,想要了解00后一定要逛B站

    最近有个话题很火,了解00后,就一定要去逛B站 喜欢它的粉丝都爱叫它“小破站”,然而,现在粉丝们都说,B站已...

  • 2021年度总结

    2020年度总结 工作方面 2020B站运营 1.物理做到6700粉丝 2.数学1900粉丝 3.个人b站144粉...

  • 嗨害嗨

    B站粉丝一千了 ID是“圣曲哟” 话说一千粉丝了粉丝牌子叫啥好

  • 2022年1月涨粉计划

    各平台粉丝数量 B站 Now:1.3万 Goal:2-5万 找一些好的英语视频(真正高质量的视频),持续输出并学习...

  • B站粉丝达20!

    这算是一个突破,以后我会当个好 up主

  • 推荐一个读书节目

    《但是,还有书籍》。B站做的一个关于读书的节目。 这段时间B站的跨年晚会是火了,连带着很多的粉丝和流量都涌向B站。...

网友评论

      本文标题:ESP8266+SSD1306显示B站粉丝数量

      本文链接:https://www.haomeiwen.com/subject/khwukdtx.html