ESP8266 ArduinoIDE 搭建web服务器与客户端开发

esp8266做网页服务器,ESP8266 – ESP8266WebServer库 位置导航: ESP8266库 / 本页ESP8266WebServer库用于HTTP协议通讯。通过ESP8266WebServer库,我们可以使用ESP8266开发板建立网络服务器,从而允许其它网络设备以及物联网设备通过HTTP协议访问并实现物联网信息交流。假如您需要了解如何使用ESP8266开发板拉通过ESP8266WebServer库建立网络服务器以实现物联网应用,欢迎您收看太极创客团队制作的... 阅读详情
AI摘要

文章介绍了ESP8266模块在无线终端模式和接入点模式下的WiFi配置,以及如何搭建HTTP网络服务器,包括HelloWorld程序和WebLED点灯案例。ESP8266WebServer库的API如创建服务器、配置路由和响应客户端请求等功能也得到了详细阐述。

一、wifi 相关配置

 

 

1.1 无线终端 wifi 模式

此模式中,esp8266 会连接到指定 wifi 进行工作。

#include <ESP8266WiFi.h>        // 本程序使用ESP8266WiFi库
 
const char* ssid     = "home";      // 连接WiFi名(此处使用home为示例)
const char* password = "12345678";          // 连接WiFi密码(此处使用12345678为示例)
                                            
void setup() {
  Serial.begin(9600);         // 启动串口通讯
  
  WiFi.begin(ssid, password);                  // 启动网络连接
  Serial.print("Connecting to ");              // 串口监视器输出网络连接信息
  Serial.print(ssid); Serial.println(" ...");  // 告知用户NodeMCU正在尝试WiFi连接
  
  int i = 0;                                   // 这一段程序语句用于检查WiFi是否连接成功
  while (WiFi.status() != WL_CONNECTED) {      // WiFi.status()函数的返回值是由NodeMCU的WiFi连接状态所决定的。 
    delay(1000);                               // 如果WiFi连接成功则返回值为WL_CONNECTED                       
    Serial.print(i++); Serial.print(' ');      // 此处通过While循环让NodeMCU每隔一秒钟检查一次WiFi.status()函数返回值
  }                                            // 同时NodeMCU将通过串口监视器输出连接时长读秒。
                                               // 这个读秒是通过变量i每隔一秒自加1来实现的。
                                               
  Serial.println("");                          // WiFi连接成功后
  Serial.println("Connection established!");   // NodeMCU将通过串口监视器输出"连接成功"信息。
  Serial.print("IP address:    ");             // 同时还将输出NodeMCU的IP地址。这一功能是通过调用
  Serial.println(WiFi.localIP());              // WiFi.localIP()函数来实现的。该函数的返回值即NodeMCU的IP地址。
}
 
void loop() {                                   
}

 27c4f97d812afd72e1e40d2e7d1a922e.png

 wifi 连接成功,esp8266 通过串口返回当前局域网 IP

 

1.2 接入点模式(热点模式 AP)

此模式中,esp8266 会开启一个指定名称和密码的热点进行工作。

#include <ESP8266WiFi.h>        // 本程序使用ESP8266WiFi库
 
const char *ssid = "taichi-maker"; // 这里定义将要建立的WiFi名称。此处以"taichi-maker"为示例
const char *password = "12345678";  // 这里定义将要建立的WiFi密码。此处以12345678为示例
 
void setup() {
  Serial.begin(9600);              // 启动串口通讯
  
  WiFi.softAP(ssid, password);     // 此语句是重点。WiFi.softAP用于启动NodeMCU的AP模式。

  Serial.print("Access Point: ");    // 通过串口监视器输出信息
  Serial.println(ssid);              // 告知用户NodeMCU所建立的WiFi名
  Serial.print("IP address: ");      // 以及NodeMCU的IP地址
  Serial.println(WiFi.softAPIP());   // 通过调用WiFi.softAPIP()可以得到NodeMCU的IP地址
}
 
void loop() {

}

 

二、搭建HTTP网络服务器

2.1 hello world 程序

#include <ESP8266WiFi.h>        // 本程序使用 ESP8266WiFi库
#include <ESP8266WebServer.h>   //  ESP8266WebServer库

ESP8266WebServer esp8266_server(80);  // 建立ESP8266WebServer对象,对象名称为esp8266_server

const char* ssid     = "home";        // 连接WiFi名(此处使用home为示例)
const char* password = "123456"; // 连接WiFi密码(此处使用12345678为示例)

void setup(void){
  Serial.begin(9600);          // 启动串口通讯
  WiFi.begin(ssid, password);  // 启动网络连接
  
  int i = 0;                                 
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.print(i++); Serial.print(' ');
  }
 
  // WiFi连接成功后将通过串口监视器输出连接成功信息 
  Serial.println('\n');                     // WiFi连接成功后
  Serial.print("Connected to ");            // NodeMCU将通过串口监视器输出。
  Serial.println(WiFi.SSID());              // 连接的WiFI名称
  Serial.print("IP address:\t");            // 以及
  Serial.println(WiFi.localIP());           // NodeMCU的IP地址
  
  esp8266_server.begin();                   //  开启web服务器
  esp8266_server.on("/", handleRoot);       //  访问根路由即调用 handlerRoot 函数处理
  esp8266_server.onNotFound(handleNotFound);        
  Serial.println("HTTP esp8266_server started"); //  告知用户ESP8266网络服务功能已经启动
}
 
void loop(void){
  esp8266_server.handleClient();     // 处理http服务器访问
}

void handleRoot() {   //处理网站根目录“/”的访问请求 
  esp8266_server.send(200, "text/plain", "Hello from ESP8266");   // 状态码 头报文 正文
}

// 设置处理404情况的函数'handleNotFound'
void handleNotFound(){                                        // 当浏览器请求的网络资源无法在服务器找到时,
  esp8266_server.send(404, "text/plain", "404: Not found");   // NodeMCU将调用此函数。
}

 

 

 4d78b5209c3821c993ebb2c0c9b1ab77.png

 8d882a78999bd747aab14535fa065c43.png

 

2.2 web LED 点灯案例

#include <ESP8266WiFi.h>        // 本程序使用 ESP8266WiFi库
#include <ESP8266WebServer.h>   //  ESP8266WebServer库

ESP8266WebServer esp8266_server(80);  // 建立ESP8266WebServer对象,对象名称为esp8266_server

const char* ssid     = "home";        // 连接WiFi名(此处使用home为示例)
const char* password = "123456"; // 连接WiFi密码(此处使用12345678为示例)

void setup(void){
  Serial.begin(9600);          // 启动串口通讯
  pinMode(LED_BUILTIN, OUTPUT); //设置内置LED引脚为输出模式以便控制LED
  digitalWrite(LED_BUILTIN,1);// 改变LED的点亮或者熄灭状态
  WiFi.begin(ssid, password);  // 启动网络连接
  
  int i = 0;                                 
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.print(i++); Serial.print(' ');
  }
 
  // WiFi连接成功后将通过串口监视器输出连接成功信息 
  Serial.println('\n');                     // WiFi连接成功后
  Serial.print("Connected to ");            // NodeMCU将通过串口监视器输出。
  Serial.println(WiFi.SSID());              // 连接的WiFI名称
  Serial.print("IP address:\t");            // 以及
  Serial.println(WiFi.localIP());           // NodeMCU的IP地址
  
  esp8266_server.begin();                   //  开启web服务器
  esp8266_server.on("/", handleRoot);       //  访问根路由即调用 handlerRoot 函数处理
  esp8266_server.on("/LED", HTTP_POST, handleLED);  // 设置处理LED控制请求的函数'handleLED'
  esp8266_server.onNotFound(handleNotFound);        
  Serial.println("HTTP esp8266_server started"); //  告知用户ESP8266网络服务功能已经启动
}
 
void loop(void){
  esp8266_server.handleClient();     // 处理http服务器访问
}

void handleLED(){
  digitalWrite(LED_BUILTIN,!digitalRead(LED_BUILTIN));
  esp8266_server.sendHeader("Location","/");
  esp8266_server.send(303);
}

void handleRoot() {   //处理网站根目录“/”的访问请求 
  esp8266_server.send(200, "text/html", "<form action=\"/LED\" method=\"POST\"><input type=\"submit\" value=\"Toggle LED\"></form>");
}

// 设置处理404情况的函数'handleNotFound'
void handleNotFound(){                                        // 当浏览器请求的网络资源无法在服务器找到时,
  esp8266_server.send(404, "text/plain", "404: Not found");   // NodeMCU将调用此函数。
}

 在这里改写了根目录,他会向客户端发送一个按钮的页面,点击即向 "/LED" 路由下发送 POST 请求。

void handleRoot() {   //处理网站根目录“/”的访问请求 
  esp8266_server.send(200, "text/html", "<form action=\"/LED\" method=\"POST\"><input type=\"submit\" value=\"Toggle LED\"></form>");
}

由于我们之前绑定了这个相应,即会触发:

void handleLED(){
  digitalWrite(LED_BUILTIN,!digitalRead(LED_BUILTIN));
  esp8266_server.sendHeader("Location","/");
  esp8266_server.send(303);
}

他在给 LED 取反后又重定向到根目录,即可实现我们的效果。

 f3028372efdfe51ae4f416f02bcfed68.gif

 

三、ESP8266WebServer 库

在之前我们基本使用了 ESP8266WebServer 库的功能,下面我们来配合案例详细了解这个库的 API。

de4a9dba3418f9bdac2035f727bd7e65.jpeg

 

3.1 创建并启动 Web Server

#include <ESP8266WebServer.h>   //  ESP8266WebServer库
ESP8266WebServer esp8266_server(80);  // 建立ESP8266WebServer对象,对象名称为esp8266_server

此时实例化了一个名为 esp8266_server 的webServer 的对象。当实例化完成后即自动启动这个服务。当然,此时我们的 8266 需要已经配置好 wifi 才能被外部访问。

 

3.2 配置路由处理

esp8266_server.on("/LED", handleLED);  // 无论GET 或POST请求都会触发
esp8266_server.on("/LED", HTTP_POST, handleLED);  // 无论GET 或POST请求都会触发

void onNotFound(THandlerFunction fn);    //配置无效的路由 用于404

void onFileUpload(THandlerFunction fn);    //配置处理文件上传的handler

 

3.3 获取请求类型与参数案例

先用一个案例来演示:

#include <ESP8266WiFi.h>        // 本程序使用 ESP8266WiFi库
#include <ESP8266WebServer.h>   //  ESP8266WebServer库

ESP8266WebServer esp8266_server(80);  // 建立ESP8266WebServer对象,对象名称为esp8266_server

const char* ssid     = "home";        // 连接WiFi名(此处使用home为示例)
const char* password = "123456"; // 连接WiFi密码(此处使用12345678为示例)

void setup(void){
  Serial.begin(9600);          // 启动串口通讯
  pinMode(LED_BUILTIN, OUTPUT); //设置内置LED引脚为输出模式以便控制LED
  digitalWrite(LED_BUILTIN,1);// 改变LED的点亮或者熄灭状态
  WiFi.begin(ssid, password);  // 启动网络连接
  
  int i = 0;                                 
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.print(i++); Serial.print(' ');
  }
 
  // WiFi连接成功后将通过串口监视器输出连接成功信息 
  Serial.println('\n');                     // WiFi连接成功后
  Serial.print("Connected to ");            // NodeMCU将通过串口监视器输出。
  Serial.println(WiFi.SSID());              // 连接的WiFI名称
  Serial.print("IP address:\t");            // 以及
  Serial.println(WiFi.localIP());           // NodeMCU的IP地址
  
  esp8266_server.begin();                   //  开启web服务器
  esp8266_server.onNotFound(handleNotFound);        
  Serial.println("HTTP esp8266_server started"); //  告知用户ESP8266网络服务功能已经启动
  Serial.println("---------------------------------------");
}
 
void loop(void){
  esp8266_server.handleClient();     // 处理http服务器访问
}

// 设置处理404情况的函数'handleNotFound'
void handleNotFound(){ 
  Serial.print("url:");
  Serial.println(esp8266_server.uri());

  Serial.print("method:");
  Serial.println(esp8266_server.method());

  Serial.print("arg count:");
  Serial.println(esp8266_server.args());

  Serial.print("request host:");
  Serial.println(esp8266_server.hostHeader());

  Serial.print("auth:");
  Serial.println(esp8266_server.authenticate("123", "456"));

  Serial.println("---------------------------------------");
  esp8266_server.send(404, "text/plain", "404: Not found");   // NodeMCU将调用此函数。
}

365fdaa93a19d8d6fc8dcc246cb6725a.png

使用 postman 工具发送消息

192.168.0.105/123、POST 请求、无参数、填入 authorization 账号:123 密码:456

a2e1c7bd5d6fa326cb003b1b269ab35b.png

串口即收到信息。对于这个库来说,POST 请求枚举类型是 3,所以返回了method:3,auth 也验证通过。

如果用浏览器访问 192.168.0.105 也会给出相应的返回值。

 

3.4 获取请求类型方法和参数合集

以下函数均是 ESP8266WebServer 的实例方法

ESP8266WebServer esp8266_server(80);
esp8266_server.url(); //这样调用即可
String url();                //获取请求的url
HTTPMethod method();         //获取请求方法
String arg(String name);     //获取请求参数的值 name:根据关键字name获取请求参数的值
String arg(int i);           //i:获取第i个请求参数的值
int args();                  //获取参数个数
bool hasArg(String name);    //是否存在某个参数

//设置需要收集的请求头 headerkeys[]:请求头的名字 headerkeysCount:请求头的个数
void collectHeaders(const char* headerKeys[], const size_t headerKeysCount);
String header(String name);  //获取请求头参数 name:请求头名称
String header(int i);        //i:获取第i个请求头参数
String headerName(int i);    //获取请求头名字 i:获取第i个请求头名字
int headers();               //获取请求头个数
bool hasHeader(String name); //判断是否存在某个请求头
String hostHeader();         //获取请求头Host的值
bool authenticate(const char * username, const char * password);    //认证校验

 

四、响应客户端请求

4.1 响应案例

在 2.2 的点灯案例中,我们编写了 handleLED 函数。在这里我们使用了 sendHeader 和 send 两个客户端响应类函数。

其功能是设置响应头,并且设置为 303 状态码提示浏览器进行刷新。

void handleLED(){
  digitalWrite(LED_BUILTIN,!digitalRead(LED_BUILTIN));
  esp8266_server.sendHeader("Location","/");
  esp8266_server.send(303);
}

 

4.2 响应客户端方法和参数合集

以下函数均是 ESP8266WebServer 的实例方法

ESP8266WebServer esp8266_server(80);
esp8266_server.esp8266_server.send(200); //这样调用即可
//设置响应头
//name: 响应头名
//value: 响应头值
//first: 是否需要放在第一行
void sendHeader(const String& name, const String& value, bool first = false);

//设置响应体长度
void setContentLength(const size_t contentLength);

//发送响应内容
void sendContent(const String& content);

//发送响应数据
void send(int code, const char* content_type = NULL, const String& content = String(""));
void send(int code, char* content_type, const String& content);
void send(int code, const String& content_type, const String& content);

 

 

ESP8266 NodeMCU:ESP-NOW Web 服务器传感器仪表板(ESP-NOW + Wi-Fi) 阅读详情

相关推荐

基于ESP32的简易web服务器

基于ESP32的简易异步web服务器。

xitianqu的博客 4856

ESP8266之ESP8266WebServer库学习

ESP8266WebServer库 文章目录ESP8266WebServer库1.webserver管理方法1.1 ESP8266WebServer() —— 创建web server1.2 begin() —— 启动web server1.3 close() —— 关闭web server1.4 stop() —— 关闭web server2. 配置client请求处理方法2.1 on() —— 请求响应回调2.2 onNotFound() —— 配置无效url的handler2.3 onFileUpl

qq_41477556的博客 9121

esp8266实现网络连接与esp8266实现网络控制led灯

综上所述,ESP8266实现网络连接控制LED灯时需要注意硬件连接、软件开发环境设置、网络连接设置、编程与代码实现以及测试与调试等方面的问题。只有确保这些方面都得到了妥善处理,才能实现稳定可靠的网络控制LED灯功能。ESP8266是一款低功耗的32位微控制器,具有内置的Wi-Fi功能,因此非常适合用于实现网络连接。通过遵循上述步骤,你应该能够使用ESP8266成功连接到Wi-Fi网络,并为其编写各种网络通信程序。

2301_82121023的博客 1222

从零开始的ESP8266探索(09)-更加方便的ESP8266WebServer使用介绍

目的 在之前的文章《从零开始的ESP8266探索(06)-使用Server功能搭建Web Server》中已经实现的基本的Web Server功能,但是该文中的方式写起来不那么简洁,代码耦合度较高,不适合复杂应用的开发。对此在Arduino for esp8266中提供了更加直接的ESP8266WebServer功能,这将大大简化代码,提高开发速度。 官方例程:https://github.com...

Naisu的各种笔记 1万+

NodeMCU ESP8266构建Web Server网页端控制设备

内部集成了TCP/IP协议栈,可以快速构建网络功能,搭建联网应用的硬件平台;Station本文我们将把ESP8266配置为接入点(Station),自动连接到局域网中,实现通过网页端控制板载LED的亮和灭。

一名热爱技术的工程师的博客。分享技术干货,记录美好生活。永远相信美好的事情即将发生。 5161

使用ESP8266与MQ系列氧化碳传感器搭建Web服务器的单片机应用

在物联网应用中,传感器起着至关重要的作用,它们能够收集环境数据并将其传输给控制器或服务器进行处理。本篇文章将介绍如何使用ESP8266单片机与MQ系列氧化碳传感器相结合,搭建一个简单的Web服务器来实时监测和显示氧化碳浓度。我们将提供相应的源代码,帮助您快速搭建起这个应用。这个简单的例子演示了如何通过将ESP8266与MQ系列氧化碳传感器结合,并使用Web服务器技术来实时监测和显示氧化碳浓度。请注意,这里只是一个示例,您可能需要根据您使用的具体传感器型号和网络环境进行适当的修改和调整。

UoEmacs_Lisp的博客 307

esp8266搭建web服务器

esp8266搭建web服务器

weixin_55838038的博客 1589

ESP8266-Arduino网络编程实例-Web页面显示DS18B20数据

本次实例实现将DS18B20温度传感器数据在Web页面显示。

视觉与物联智能 1015

ESP8266 ArduinoIDE 物联网web客户端开发

所谓请求报文,即是基于 TCP/IP 协议发送的一串规范字符,这串规范字符描述了当前请求的具体细节。一个 HTTP请求报文至少要包括请求行和头部字段是一个动词,如 GET/POST,表示对资源的操作;通常是一个 URI,标记了请求方法要操作的资源;表示报文使用的 HTTP 协议版本。这三个部分通常使用空格(space)来分隔,最后要用 CRLF 换行表示结束。

nullccc的博客 2403

ESP8266作为TCP服务器的设计与实现

ESP8266是一款低成本、低功耗的Wi-Fi模块,由乐鑫信息科技有限公司设计。它集成了完整的TCP/IP协议栈,可以使用AT指令直接控制,也可以编程实现更多功能。ESP8266系列模块具备广泛的应用场景,从简单的Wi-Fi接入点到复杂的网络通信,都能够轻松应对。无论选择哪种开发环境,基础的编程语言语法都是必须掌握的。对于Python(例如MicroPython),需要了解变量声明、控制流(if语句,for/while循环)、函数定义等基础概念。

weixin_42451850的博客 1064

ESP8266桌面时钟制作与编程指南

OLED(有机发光二极管)技术是一种自发光显示技术,每个像素都可以独立发光,无需背光源。这与传统的液晶显示屏(LCD)形成对比,后者需要背光源透过液晶来显示图像。OLED的这种自发光特性使得它在对比度、响应速度、视角和功耗方面具有明显优势。由于每个像素是独立控制的,OLED能够实现更高的对比度和更真实的黑色表现。此外,OLED屏幕的响应时间极快,几乎不存在拖影现象,而且即使从侧面观看,色彩和对比度也不会有太大变化。网络时间协议(NTP)是一种用于在计算机网络中同步网络时间的标准。

weixin_42561464的博客 943

Arduino开发[1].ESP8266_TCP连接【1】

Arduino作为客户端连接服务器 服务器工具下载及配置 ArduinoIDE书写代码 调试及TCP后续具体作用 服务器工具下载及配置 下载服务器调试工具NetAssist 协议类型-TCP Server 本地主机地址-你的电脑IP地址(不知道自行cmd-ipconfig) 本地主机端口-1000到65535都行 点击打开。 ~~~~按打开按钮没反应,更换端口再试,或检测软件是否...

qq_32620791的博客 2263

C#图表开发避坑指南:Chart控件的Series和Points属性详解

本文深入解析C#图表开发中Chart控件的Series和Points核心属性,提供避坑指南。详细阐述了Series的数据序列管理、Points的高效操作与空值处理,以及多Series与ChartArea的协同配置,帮助开发者避免常见错误,实现稳定、高性能的数据可视化应用。

weixin_29313239的博客 365

esp8266 css,如何连接和编程ESP8266

步骤1:为Arduino设置ESP8266有很多使用ESP8266的方法,包括使用它作为简单的WiFi调制解调器,连接到Arduino或在其上运行脚本语言(“ Lua”)。在此指导中,我们将使用带有Arduino核心的ESP8266来代替。本质上,这意味着一旦设置好,您就可以从常规Arduino IDE编程ESP8266。这有很多优点:它提供了很好的性能,有大量的用户,您会发现大量的代码示例以及用...

weixin_31574891的博客 578

RK3568驱动XS9922B:AHD/CVBS双模摄像头兼容性实战

在嵌入式视频开发中,摄像头驱动的稳定性与兼容性往往决定项目交付质量。Linux内核的V4L2框架提供了统一的视频采集抽象,从v4l2_subdev子设备到media controller链路,再到用户态视频节点,每一层都需要精确配置。对于RK3568这类边缘计算平台,其MIPI CSI接口和自研ISP配合RKCIF,构成了完整的多路视频接入通路。当需要接入模拟视频解码芯片时,驱动设计就需同时考虑AHD高清协议与CVBS标清信号的模式切换、格式协商以及寄存器配置。XS9922B作为支持双模输入的解码芯片,可与

weixin_34216614的博客 350

汽车氛围灯 PCBA 方案开发:从技术底层解析车载光效的核心逻辑

摘要: 车载氛围灯PCBA方案开发需兼顾性能与车规要求。主控芯片选型应关注运算能力、温度适应性和低功耗(如NXPS32K344、复旦微FM33FG065A)。电路防护需采用TVS二极管等组合设计,满足ISO7637-2浪涌防护标准。通信协议分层应用(CAN+LIN),调光需解决色准与温漂问题,动态灯效通过FIFO队列实现。开发中需进行温度循环、振动、EMC等可靠性测试,细节处理(如三防涂覆)至关重要。该领域开发需熟悉车规标准并积累实车经验。

2401_87454052的博客 1132

使用ESP32搭建简单的WiFi控制LED的Web服务器

使用ESP32搭建简单的WiFi控制LED的Web服务器

m0_63715549的博客 1113

Comsol超声空化气泡仿真:从基础理论到工业应用实践

本文详细介绍了Comsol超声空化气泡仿真的基础理论及工业应用实践。通过解析超声空化现象、Comsol模型搭建流程及求解器优化技巧,帮助工程师掌握气泡仿真技术,提升超声波清洗和乳液制备等工业应用的效率与质量。

weixin_27966471的博客 253

Arduino D1/Esp8266网页控制舵机旋转和复位-实现智能开关

Arduino D1/Esp8266网页控制舵机旋转和复位----实现智能开关

m0_63715549的博客 2878

因果强化学习:优化决策策略的因果方法

1. 背景介绍 1.1 传统强化学习的局限性 强化学习(Reinforcement Learning, RL)是一种通过与环境交互来学习最优决策策略的方法。然而,传统强化学习方法在面对复杂、动态和不确定的现实世界问题时,往往存在以下局限性: 数据效率低:传统强化学习方法

AI天才研究院 659

【ESP 保姆级教程】玩转emqx数据集成篇④ ——数据桥接之HTTP服务

主要是学习数据桥接功能以及构建自己的http服务器,这是一个非常有用的功能。包括各种传感器上报基本上都需要数据桥接功能支持,所以还是希望认真学习这一块开发,然后结合数据库存储等等知识点进行进一步学习。

单片机菜鸟哥的博客 1307

ESP32 ESP8266 WebServer登录保护 身份验证:密码保护

ESP8266 登录密码验证

b59553的博客 2608

手把手教你学Simulink实例:基于Simulink的超级电容器充放电仿真

超级电容器(Supercapacitor)是一种高容量电容器,具有快速充放电能力、长寿命和高功率密度等优点。它在能量存储系统、电动汽车、不间断电源(UPS)等领域有广泛应用。为了更好地理解和设计超级电容器的应用系统,通常需要进行详细的仿真分析。Simulink 提供了一个强大的仿真环境,可以用来设计、分析和验证超级电容器充放电系统的控制策略。本教程将详细介绍如何使用 Simulink 进行超级电容器充放电的仿真实例。通过本教程,我们详细介绍了如何使用 Simulink 进行超级电容器充放电的仿真实例。

MHD0815的博客 581

基于STM32F103C8T6与ESP8266的物联网智能温度采集与蓝牙OLED数字钟的设计与实现

此项目旨在开发一款,集万年历,温度检测,数字显示,且较为智能的产品 故罗列出以下开发需求 具有12/24小时切换的万年历 通过蓝牙及手机APP进行时间的设置 具有温度检测的功能 数据可以在云端储存和查看

qq_61026911的博客 4925

【重识云原生】第四章云网络4.9.5.1节下一代智能网卡——DPU综述

随着数据中心的高速发展,通信能力和计算能力成为数据中心基础设施的相辅相成的两个重要发展方向。若数据中心仅关注计算能力的提升,通信基础设施的提升跟不上,那么数据中心的整体系统性能依然受限,无法发挥出真正的潜力。DPU的提出背景就是应对这些数据量和复杂性的指数级增长。未来,需要将计算移至接近数据的位置,这是目前业界所公认的以数据为中心的体系结构下的创新。综上,DPU对数据中心来说,是通过更明细的分工来实现效率的提升、实现总体系统的成本最优化。...

junbaozi的专栏 1725

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

arduinoWebSockets服务器开发实战:构建多客户端实时通信系统

arduinoWebSockets是一款强大的开源库,专为Arduino平台设计,支持WebSocket协议的客户端和服务器功能。通过它,开发者可以轻松实现ESP32、ESP8266等开发板与多客户端之间的实时双向通信,适用于智能家居控制、远程监控、实时数据传输等多种场景。 ## 📋 准备工作:环境搭建与依赖安装 在开始开发前,需要确保你的开发环境已正确配置: 1. **安装Arduino

gitblog_00595的博客 534

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

上一篇: stm32 笔记 PWM及HAL库应用
下一篇: ESP8266 ArduinoIDE 闪存文件操作系统
崔佳宇_
崔佳宇_ 优质创作者: 嵌入式与硬件开发技术领域 优质创作者: 嵌入式与硬件开发技术领域
博客等级 码龄10年 1万+粉丝 173原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值