前言

本文的目的是为了给将要制作的ESP32手环做技术储备

记录基于AIDAS软件,编写ESP32代码,使ESP32可以实时监控PC性能

硬件准备

  • ESP-WROOM-32E开发板

软件准备

  • VSCODE+PlatformIO
  • AIDA64

AIDA64 使用

安装AIDA64软件

打开 文件-设置-LCD-启用Remote-Sensor支持

选择LCD项目

添加几个PC性能参数,点击应用就可以在网页端查看了

打开命令行,用ipconfig命令查询自己的局域网IP地址,我的是192.168.1.104,然后分别用手机和电脑连接到同一个路由器局域网里输入这个ip地址查看是否正常

在电脑端检查网页,发现PC的性能数据是通过向192.168.1.104/sse这个URL发送GET请求就可以获得

发现界面是中文时现实的都是乱码,于是界面改成英文的再试一下

浏览器访问192.168.1.104/sse,出现如下内容,访问成功,下面用ESP32编写代码来获取这些数据

ESP32程序编写

ESP32 端的代码比较好写,用之前获取天气的代码改一下就可以用了,代码贴在下面,主要是要把WIFI名和密码改成自己的,IP地址也要改成自己电脑的,ESP32要和电脑连接在同一个路由器上。

#include <Arduino.h>
#include <ArduinoJson.h>
#include <WiFi.h>const char *ssid = "********";
const char *password = "********";
const char *host = "192.168.1.104";int16_t cpu_frequence;
int16_t cpu_usage;
int16_t ram_usage;
int16_t ram_avaliable;WiFiClient client;void setup()
{// put your setup code here, to run once:Serial.begin(115200);Serial.print("Connecting to ");Serial.println(ssid);WiFi.begin(ssid, password);while (WiFi.status() != WL_CONNECTED){delay(500);Serial.print(".");}Serial.println("");Serial.println("WiFi connected");Serial.println("IP address: ");Serial.println(WiFi.localIP());Serial.println("");Serial.println("WiFi Conected!");if (!client.connect(host, 80)){Serial.println("Connect host failed!");return;}Serial.println("host Conected!");
}void loop()
{// put your main code here, to run repeatedly:String getUrl = "/sse";client.print(String("GET ") + getUrl + " HTTP/1.1\r\n" + "Content-Type=application/json;charset=utf-8\r\n" + "Host: " + host + "\r\n" + "User-Agent=ESP32\r\n" + "Connection: close\r\n\r\n");Serial.println("Get send");delay(10);char endOfHeaders[] = "\n\n";bool ok = client.find(endOfHeaders);if (!ok){Serial.println("No response or invalid response!");}Serial.println("Skip headers");String line = "";line += client.readStringUntil('\n');Serial.println("Content:");Serial.println(line);int16_t dataStart = 0;int16_t dataEnd = 0;String dataStr;char cpuFreq[] = "CPU fequence";dataStart = line.indexOf(cpuFreq) + strlen(cpuFreq);dataEnd = line.indexOf("MHz", dataStart);dataStr = line.substring(dataStart, dataEnd);cpu_frequence = dataStr.toInt();char cpuUsage[] = "CPU usage";dataStart = line.indexOf(cpuUsage) + strlen(cpuUsage);dataEnd = line.indexOf("%", dataStart);dataStr = line.substring(dataStart, dataEnd);cpu_usage = dataStr.toInt();char ramUsage[] = "RAM usage";dataStart = line.indexOf(ramUsage) + strlen(ramUsage);dataEnd = line.indexOf("%", dataStart);dataStr = line.substring(dataStart, dataEnd);ram_usage = dataStr.toInt();char ramAvali[] = "RAM avaliable";dataStart = line.indexOf(ramAvali) + strlen(ramAvali);dataEnd = line.indexOf("MB", dataStart);dataStr = line.substring(dataStart, dataEnd);ram_avaliable = dataStr.toInt();Serial.print("CPU usage :");Serial.println(cpu_frequence);Serial.print("CPU usage :");Serial.println(cpu_usage);Serial.print("RAM usage :");Serial.println(ram_usage);Serial.print("RAM avaliable :");Serial.println(ram_avaliable);delay(1000);
}

基于arduino的ESP32 学习笔记(四)基于AIDA64的电脑性能监控相关推荐

  1. 基于arduino的ESP32 学习笔记(一) 基于ESP32的智能花盆

    前言 本文的目的是为了给将要制作的ESP32手环做技术储备 准备学习下ESP32,还有嵌入式GUI框架LVGL,通过做几个小项目练手是不错的选择,最终目标是做一个ESP32的手环 做一个ESP32手环 ...

  2. 基于arduino的ESP32 学习笔记(二) TFT_eSPI和LVGL库使用笔记

    前言 本文的目的是为了给将要制作的ESP32手环做技术储备 记录基于arduino的ESP32驱动TFT-LCD屏幕的配置过程,并且进一步使用LVGL这个GUI框架 硬件准备 ST7789 240x2 ...

  3. 基于arduino的ESP32 学习笔记(六)LVGL文件系统移植,中文字库和图片显示

    前言 本文的目的是为了给将要制作的ESP32手环做技术储备 记录移植LVGL文件系统,制作LVGL中文字库,将图片和字库放在SD卡里,通过移植好的LVGL文件系统,读取SD卡中的中文字库和图片,并显示 ...

  4. 学习笔记四.基于HAL库的stm32f103硬件读写EEPROM(CUBEMX)

    基于cubemx的stm32f103硬件读写EEPROM 今天介绍一种可擦除存储器. EEPROM (Electrically Erasable Programmable read only memo ...

  5. 基于ZYNQ的嵌入式学习笔记四(矩阵键盘实现电子琴)

    本次要实现的是利用ZYNQ-7000板子上自带的16个矩阵键盘来实现每按一次发出一个音符的声音,从而实现电子琴的效果. 一.原理部分: 矩阵键盘:用8位来存储4*4的矩阵键盘的信息,初始化的值为000 ...

  6. Flask学习笔记(四):基于Flask网页显示图片

    原图如下 代码如下 from flask import Flask, request, make_response from datetime import datetime import osapp ...

  7. ESP32学习笔记(七) 复位和时钟

    ESP32学习笔记(七) 复位和时钟 目录: ESP32学习笔记(一) 芯片型号介绍 ESP32学习笔记(二) 开发环境搭建 VSCode+platformio ESP32学习笔记(三) 硬件资源介绍 ...

  8. esp8266舵机驱动_arduino开发ESP8266学习笔记四—–舵机

    arduino开发ESP8266学习笔记四-–舵机 使用时发现会有ESP8266掉电的情况,应该是板上的稳压芯片的限流导致的,观测波形,发现当舵机运转时,电源线3.3V不再是稳定的3.3V,大概是在3 ...

  9. ESP32学习笔记(一) 芯片型号介绍

    ESP32学习笔记(一) 芯片型号介绍 目录: ESP32学习笔记(一) 芯片型号介绍 ESP32学习笔记(二) 开发环境搭建 VSCode+platformio ESP32学习笔记(三) 硬件资源介 ...

  10. 学习笔记之——基于深度学习的图像超分辨率重建

    最近开展图像超分辨率( Image Super Resolution)方面的研究,做了一些列的调研,并结合本人的理解总结成本博文~(本博文仅用于本人的学习笔记,不做商业用途) 本博文涉及的paper已 ...

最新文章

  1. Cracking the coding interview--Q2.2
  2. AI构图:AI摄影的新未来
  3. android学习笔记Fragment的使用
  4. 科大星云诗社动态20220115
  5. 鸟哥的 Linux 私房菜7 -- 首次开机关机与基本指令执行
  6. 20周年献礼:Visual Studio 2017正式版3月7日发布
  7. tf.reduce_mean
  8. LVS的四种模式的实现
  9. 2019年中国IaaS公有云市场排名及份额出炉
  10. Mysql学习总结(45)——Mysql视图和事务
  11. sip协议详解 系列(二)
  12. 亚马逊条码打印_使用亚马逊的条形码扫描仪轻松从手机上购买任何东西
  13. sql计算表中计算机的最高分,关于SQL查询面试题,会这些基本够用了
  14. linux find命令 括号,Linux中find命令细节详解
  15. Microsoft Word2010 中设置和取消英文首字母大写
  16. 学校快递代领PHP源码_PHP校园帮忙领取快递平台
  17. penInfra峰会回归线下,彭博、沃尔沃、Adobe等用户将进行演讲交流
  18. 数据采集与管理【13】
  19. h3c怎么设置虚拟服务器,h3c设置虚拟服务器
  20. SecureCRT 使用rz上传文件报错 Zmodem transfer canceled by remote side或失败

热门文章

  1. 计算机基础表格函数基础知识大全,计算机基础-EXCEL公式和函数
  2. 司法官论托普的“倒掉” (转,深刻揭示软件公司经营之路)
  3. 用python做一个抖音上很火的罗盘时钟
  4. 解决数据库不能更新或数据库或对象为只读
  5. Cathy学Java——数据库
  6. 【模拟器】网工福音!华三模拟器HCL升级,部分功能超越eNSP和EVE!
  7. 弯管机程序使用三菱FX系列 PLC和昆仑通态触摸屏,也可以用三菱F940系列触摸屏
  8. html文件嵌入到reportlab,Django Reportlab使用HTML
  9. 三凌PLC源码,STM32F205VCT6主控PLC控制器板,已批量生产
  10. 关于二叉树前中后序遍历的常见问题