使用ESP8266和OLED屏幕实现一个小型电脑性能监控

前言

最近大扫除,发现自己还有几个ESP8266MCU和一个0.96寸的oled小屏幕。又想起最近一直想要买一个屏幕作为性能监控,随机开始自己diy。

硬件:

  • ESP8266 MUC
  • oled小屏幕
  • 杜邦线
  • 可以传输数据的数据线

环境

  • Windows系统
  • Qt6
  • Arduino

Arduino 库:

  • ArduinoJson
  • Adafruit_SSD1306
  • ESP8266

设计方案

ESP8266设置为STA模式,然后作为服务端;

Qt开发的桌面程序作为客户端;

客户端连接服务端,将自身获取的PC性能信息通过网络通信传输到服务端,服务端解析并展示;

在这里ESP8266连接路由器WiFi(必须和PC连接的是同一路由器,不然桌面程序无法连接ESP8266),然后电脑通过桌面程序连接ESP8266上的服务器(算是吧); 

效果图

 

 

不足:

  1. CPU占用率计算有一定误差;
  2. 暂时不支持显卡、显存信息
  3. 桌面程序还需要优化 

代码后续将上传github 

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
您可以使用ESP8266OLED屏幕的I2C接口来连接它们。您需要使用适当的库来连接它们,并使用天气API获取天气数据。然后,您可以将数据显示在OLED屏幕上。以下是一个简单的示例代码: #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #include <ESP8266WiFi.h> #include <WiFiClient.h> #include <ESP8266HTTPClient.h> #include <ArduinoJson.h> #define OLED_RESET 0 Adafruit_SSD1306 display(OLED_RESET); const char* ssid = "your_SSID"; const char* password = "your_PASSWORD"; const char* serverName = "http://api.openweathermap.org/data/2.5/weather?q=your_CITY&appid=your_API_KEY&units=metric"; void setup() { Serial.begin(9600); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); display.clearDisplay(); display.display(); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Connecting to WiFi..."); } Serial.println("Connected to WiFi"); display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0,0); display.println("Weather in your_CITY:"); display.display(); } void loop() { if (WiFi.status() == WL_CONNECTED) { HTTPClient http; http.begin(serverName); int httpResponseCode = http.GET(); if (httpResponseCode > 0) { String payload = http.getString(); DynamicJsonDocument doc(1024); deserializeJson(doc, payload); float temp = doc["main"]["temp"]; String description = doc["weather"][0]["description"]; display.setCursor(0,10); display.println("Temperature: " + String(temp) + "C"); display.setCursor(0,20); display.println("Description: " + description); display.display(); } else { Serial.println("Error on HTTP request"); } http.end(); } delay(60000); }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一直在找资料的菜鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值