ESP32-C3搭配0.96寸OLED:手把手教你打造本地温湿度监测站(附完整代码)
ESP32-C3与0.96寸OLED构建一个纯粹本地的环境数据监测终端最近几年身边玩物联网的朋友越来越多大家热衷于把各种传感器数据传到云端在手机App或者网页上看图表。这当然很酷但有时候我们可能只是想做一个简单、快速、不依赖网络、开机即用的本地小工具。比如在书桌上放一个实时显示温湿度的小屏幕或者在花盆旁放一个监测土壤湿度的小装置。这种需求其实不需要复杂的云平台一个微控制器加一块小屏幕就能完美解决。今天我们就来动手实现这样一个项目用一块小巧但性能不俗的ESP32-C3开发板搭配一块0.96英寸的OLED显示屏打造一个完全离线运行的温湿度监测站。整个过程就像搭积木从硬件连接到代码编写我会把每一步都拆解清楚即使你是第一次接触ESP32或者Arduino也能跟着做出来。这个项目的核心魅力在于它的“本地性”和“即时性”——数据产生、处理、显示都在你眼前这个小盒子里完成响应迅速没有延迟也无需担心网络中断或隐私问题。1. 项目核心组件选型与特性解析在开始动手焊接和写代码之前我们先花点时间了解一下手头的“积木块”。选择合适的组件并理解其特性是项目成功的第一步也能避免很多后续的麻烦。1.1 ESP32-C3为何是它ESP32系列芯片大家耳熟能详而ESP32-C3是其中一款性价比极高的RISC-V内核产品。对于我们的本地监测站项目它有几个关键优势足够的计算与内存资源ESP32-C3搭载单核32位RISC-V处理器主频高达160MHz内置400KB SRAM和4MB Flash。处理DHT11传感器的数据和驱动OLED屏幕刷新绰绰有余甚至为未来添加更多传感器或复杂逻辑留有余地。丰富的GPIO与标准接口它提供了足够多的通用输入输出引脚并且原生支持I2C、SPI、UART等通信协议。这正是我们连接OLED屏幕通常使用I2C或SPI和温湿度传感器如DHT11使用单总线所必需的。低功耗特性虽然本项目主要讨论有线供电但ESP32-C3优秀的低功耗管理能力意味着未来你可以轻松将其改造为电池供电的便携设备实现数周甚至数月的续航。开发环境友好它完美兼容Arduino IDE和PlatformIO等主流开发框架海量的开源库和社区资源使得软件开发门槛大大降低。与更常见的ESP32-S3或ESP8266相比ESP32-C3在保持足够性能的同时成本更具优势且RISC-V架构也代表了未来的一个趋势。对于这个注重实用和成本的小项目它是一个非常“称职”的大脑。1.2 0.96寸OLED屏幕小巧身躯清晰世界OLED有机发光二极管屏幕已经成为嵌入式项目显示界面的首选尤其是0.96寸这个规格在尺寸、功耗和显示效果上取得了很好的平衡。核心特性与选购要点自发光与高对比度OLED每个像素点独立发光无需背光板。这意味着显示黑色时像素点完全不工作可以实现极高的对比度和纯正的黑色视觉上非常清晰锐利尤其在环境光较暗时效果出众。接口选择市面上常见的0.96寸OLED模块主要提供两种接口I2C和SPI。为了简化连接我强烈推荐选择I2C接口的模块。I2C接口仅需2根信号线SDA数据线、SCL时钟线加上电源和地线总共4根线即可完成连接。接线简单占用GPIO少是大多数项目的首选。SPI接口速度更快但需要更多的信号线通常需要4-5根接线稍复杂。分辨率与颜色标准分辨率为128x64像素足够显示多行文字和简单的图形。颜色方面常见有蓝色、白色以及蓝黄双色上半部分黄色下半部分蓝色。选择哪种颜色纯属个人喜好代码驱动方式完全一样。为了方便对比我将两种接口的主要区别整理如下特性I2C接口SPI接口信号线数量2根 (SDA, SCL)4-5根 (MOSI, SCLK, DC, RES, CS)通信速度较慢 (标准100kHz快速400kHz)很快 (可达10MHz以上)接线复杂度非常简单相对复杂占用GPIO少多适用场景显示更新不频繁的文字、简单图形需要快速刷新、动画或复杂图形提示购买时请确认模块的I2C地址常见的是0x3C或0x3D我们的代码需要根据这个地址来初始化屏幕。商家通常会在商品描述中注明。2. 硬件连接从原理图到面包板理解了组件接下来就是物理上的连接。我们将使用面包板进行无焊接的原型搭建这非常适合调试和验证。2.1 所需材料清单在开始连接前请确保你手头有以下材料ESP32-C3开发板 1块0.96寸 I2C接口 OLED显示屏模块 1块DHT11温湿度传感器模块 1个面包板 1块公对公杜邦线 若干建议10根左右Micro-USB数据线 1根用于供电和程序下载2.2 接线图与引脚定义接线是项目的物理基础务必仔细。我们遵循先电源后信号的原则确保不会因接错电源而损坏设备。第一步连接电源VCC和GND这是最重要的一步。请将ESP32-C3的3.3V引脚和GND引脚分别用杜邦线连接到面包板的电源正极轨和负极轨。然后将OLED模块和DHT11模块的VCC和GND也分别连接到面包板对应的电源轨上。务必确保所有设备的VCC都接3.3VESP32-C3的IO口电平是3.3V接5V可能会损坏芯片。第二步连接I2C信号线OLED找到OLED模块的SDA和SCL引脚。我们需要将它们连接到ESP32-C3支持I2C功能的GPIO上。并非所有GPIO都支持I2C这是一个常见的坑。对于ESP32-C3一组常用的、且默认功能就是I2C的引脚是GPIO4-SDA(数据线)GPIO5-SCL(时钟线)将OLED的SDA连接到ESP32-C3的GPIO4SCL连接到GPIO5。第三步连接DHT11数据线DHT11模块通常有三个引脚VCC、GND、DATA。DATA引脚是单总线通信引脚可以连接到任何一个空闲的GPIO上。我们选择GPIO7。DHT11DATA- ESP32-C3GPIO7完成所有连接后你的接线应该如下图所示逻辑示意图ESP32-C3 Breadboard OLED DHT11 3.3V --------------- [] Power Rail -------- VCC (OLED) - VCC (DHT11) GND --------------- [-] Ground Rail ------ GND (OLED) - GND (DHT11) GPIO4 (SDA) -------------------------------- SDA (OLED) GPIO5 (SCL) -------------------------------- SCL (OLED) GPIO7 -------------------------------------- DATA (DHT11)注意在实物连接时请再次核对ESP32-C3开发板的引脚丝印。不同厂商的板子其GPIO4、GPIO5对应的物理引脚位置可能不同务必以板子上的实际标注为准。3. 软件开发环境搭建与库安装硬件准备就绪现在让我们来配置“软件工厂”。我们将使用最流行的Arduino IDE进行开发因为它对初学者非常友好库管理也很方便。3.1 配置Arduino IDE支持ESP32-C3如果你还没有安装Arduino IDE请先从官网下载并安装。默认的Arduino IDE并不支持ESP32系列需要手动添加开发板支持。打开Arduino IDE进入文件-首选项。在“附加开发板管理器网址”一栏中填入以下网址如果已有其他网址用逗号分隔https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json点击确定保存。打开工具-开发板-开发板管理器...。在搜索框中输入“esp32”找到由Espressif Systems发布的“ESP32”开发板包点击安装。这个过程可能需要一些时间取决于你的网络速度。安装完成后在工具-开发板列表中你应该能找到“ESP32C3 Dev Module”等选项。选择它。3.2 安装必要的库文件我们的项目需要两个关键的库一个用于驱动OLED屏幕一个用于读取DHT11传感器数据。安装OLED驱动库Arduino IDE内置的库管理器中有非常好用的SSD1306驱动库。点击项目-加载库-管理库...在搜索框中输入“SSD1306”。你会看到好几个相关库我推荐使用Adafruit SSD1306by Adafruit同时它通常也会依赖Adafruit GFX Library一并安装即可。这个库功能强大支持多种OLED控制器文档完善。安装DHT传感器库同样在库管理器中搜索“DHT sensor library”选择由Adafruit发布的那一个进行安装。这个库支持DHT11、DHT22等多种型号。安装完成后你可以通过文件-示例菜单找到这些库的示例代码这对于学习和测试非常有帮助。4. 代码逐行解析与实战编程环境配置好了库也齐了现在是时候让我们的项目“活”起来了。我将提供完整的代码并对其中的关键部分进行详细解释让你不仅会“用”更能“懂”。4.1 项目完整代码将以下代码复制到Arduino IDE的一个新项目中。在上传之前请务必根据你的实际接线检查代码开头的引脚定义是否正确。/* * ESP32-C3 本地温湿度监测站 * 硬件ESP32-C3, 0.96 I2C OLED, DHT11 * 功能读取温湿度并在OLED屏幕本地显示 */ // 1. 包含必要的库文件 #include Wire.h // ESP32-C3的I2C驱动库 #include Adafruit_GFX.h // Adafruit图形库 #include Adafruit_SSD1306.h // SSD1306 OLED驱动库 #include DHT.h // DHT传感器库 // 2. 硬件引脚定义 (请根据你的实际连接修改) #define DHTPIN 7 // DHT11数据引脚连接到的GPIO #define DHTTYPE DHT11 // 使用的传感器类型为DHT11 // OLED的I2C地址和引脚定义 #define SCREEN_WIDTH 128 // OLED显示宽度像素 #define SCREEN_HEIGHT 64 // OLED显示高度像素 #define OLED_ADDR 0x3C // OLED的I2C地址常见为0x3C或0x3D #define SDA_PIN 4 // I2C数据线引脚 #define SCL_PIN 5 // I2C时钟线引脚 // 3. 初始化传感器和屏幕对象 DHT dht(DHTPIN, DHTTYPE); Adafruit_SSD1306 oled(SCREEN_WIDTH, SCREEN_HEIGHT, Wire, -1); // 4. 屏幕启动测试函数画一个收缩的方框 void testOLEDAnimation() { for (int16_t i 0; i oled.height() / 2; i 2) { oled.drawRect(i, i, oled.width() - 2 * i, oled.height() - 2 * i, SSD1306_WHITE); oled.display(); delay(30); // 控制动画速度 } delay(500); oled.clearDisplay(); oled.display(); } void setup() { // 初始化串口用于调试输出 Serial.begin(115200); Serial.println(ESP32-C3 Local Monitor Boot...); // 初始化DHT传感器 dht.begin(); Serial.println(DHT11 Sensor Initialized.); // 初始化I2C通信指定引脚 Wire.begin(SDA_PIN, SCL_PIN); // 初始化OLED屏幕 if (!oled.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR)) { Serial.println(F(SSD1306 allocation failed)); for (;;); // 如果初始化失败程序停在这里 } Serial.println(OLED Display Initialized.); // 屏幕基础设置 oled.clearDisplay(); oled.setTextColor(SSD1306_WHITE); // 设置文本颜色为白色 oled.dim(false); // 关闭屏幕调暗true为调暗 // 运行屏幕测试动画 testOLEDAnimation(); // 显示启动完成信息 oled.setTextSize(1); oled.setCursor(10, 20); oled.println(System Ready); oled.setCursor(10, 35); oled.println(Reading Sensor...); oled.display(); delay(2000); // 显示2秒 } void loop() { // 每次读取前等待至少2秒DHT11传感器有约2秒的采样间隔 delay(2000); // 读取温湿度值 float humidity dht.readHumidity(); // 读取湿度百分比 float temperature dht.readTemperature(); // 读取温度摄氏度 // 检查读取是否成功如果失败返回NaN if (isnan(humidity) || isnan(temperature)) { Serial.println(Failed to read from DHT sensor!); // 在屏幕上显示错误信息 oled.clearDisplay(); oled.setCursor(0, 0); oled.setTextSize(1); oled.println(Sensor Error!); oled.display(); return; // 跳过本次循环的后续显示 } // 将数据输出到串口监视器方便调试 Serial.print(Humidity: ); Serial.print(humidity); Serial.print( %\t); Serial.print(Temperature: ); Serial.print(temperature); Serial.println( *C); // 准备在OLED屏幕上显示 oled.clearDisplay(); // 显示标题 oled.setTextSize(1); oled.setCursor(0, 0); oled.println(Environment Monitor); // 画一条分隔线 oled.drawFastHLine(0, 10, oled.width(), SSD1306_WHITE); // 显示温度数据 (使用大字体) oled.setTextSize(2); oled.setCursor(0, 15); oled.print(Temp:); oled.setCursor(70, 15); oled.print(temperature, 1); // 显示一位小数 oled.setTextSize(1); oled.print( *C); // 显示湿度数据 (使用大字体) oled.setTextSize(2); oled.setCursor(0, 35); oled.print(Hum:); oled.setCursor(70, 35); oled.print(humidity, 1); // 显示一位小数 oled.setTextSize(1); oled.print( %); // 显示底部状态和更新时间 oled.setTextSize(1); oled.setCursor(0, 55); oled.print(Local | ); // 简单的时间戳从启动开始的秒数 unsigned long seconds millis() / 1000; oled.print(seconds); oled.print(s); // 将所有缓存的内容一次性发送到屏幕显示 oled.display(); }4.2 关键代码逻辑深度剖析让我们深入看看代码中几个重要的部分理解其工作原理。库的包含与对象初始化代码开头包含了四个库。Wire.h是Arduino用于I2C通信的核心库。Adafruit_GFX.h和Adafruit_SSD1306.h共同负责驱动OLED。DHT.h则用于与DHT11传感器通信。随后我们使用这些库提供的类创建了dht和oled两个对象后续所有操作都通过这两个对象进行。setup()函数一次性的准备工作setup()函数在设备上电或复位后只运行一次。这里我们完成了所有硬件的初始化启动串口通信Serial.begin这是调试的“生命线”任何打印信息都通过它传到电脑。调用dht.begin()启动传感器。用Wire.begin(SDA_PIN, SCL_PIN)启动I2C总线并指定了使用的GPIO引脚。用oled.begin()尝试与屏幕建立通信。这里有一个非常重要的错误处理如果初始化失败比如地址不对或线没接好程序会卡在for (;;);死循环并通过串口输出错误信息而不是继续运行导致后续代码出错。进行屏幕基础设置并运行一个简单的动画这既能测试屏幕好坏也能给用户一个直观的设备启动反馈。loop()函数循环执行的核心逻辑loop()函数会不停地循环执行就像设备的心跳。延迟与采样delay(2000)是必须的因为DHT11两次有效读数之间需要至少2秒的间隔更频繁的读取会得到错误数据。读取与校验dht.readHumidity()和dht.readTemperature()函数返回浮点数。紧接着的if (isnan(humidity)...)判断至关重要它检查读数是否有效NaN表示非数字即读取失败。失败时我们在屏幕显示错误并return跳过本次显示避免显示乱码。串口输出将数据打印到串口监视器这是调试时观察传感器是否正常工作的最直接方法。OLED显示构建这是代码中最体现逻辑的部分。我们像在画布上作画一样组织屏幕内容oled.clearDisplay()清空显示缓存。oled.setTextSize()和oled.setCursor()设定文字大小和起始坐标以像素为单位。坐标(0,0)是屏幕左上角。oled.print()/oled.println()将文本或数字写入缓存。oled.drawFastHLine()画一条水平线作为视觉分隔。分层显示我们先显示标题和小字体的状态再用大字体突出核心数据温湿度最后在底部显示一个简单的本地运行时间戳。这种布局清晰易读。oled.display()这是最后且最关键的一步所有draw或print操作都只是在内存缓存中准备数据只有调用display()才会一次性将所有缓存内容发送到屏幕显示出来。这避免了屏幕刷新时的闪烁。4.3 代码上传与初步测试在将代码上传到ESP32-C3之前还有最后几步设置在Arduino IDE的工具菜单下确保开发板选择“ESP32C3 Dev Module”Upload Speed选择“921600”可以提高上传速度Flash Mode选择“DIO”通常默认即可Flash Frequency选择“80MHz”**Core Debug Level选择“None”Port选择你的ESP32-C3连接的串口如果没出现可能需要安装CP210x或CH340等USB转串口驱动点击左上角的“验证”对勾图标编译代码检查是否有语法错误。编译无误后点击“上传”右箭头图标。在上传过程中你可能需要手动让ESP32-C3进入下载模式。对于许多开发板这通常意味着按住板上的“BOOT”或“DOWNLOAD”按钮不放然后轻按一下“RST”复位按钮再松开“BOOT”按钮。具体操作请参考你的开发板说明书。如果IDE底部状态栏显示“上传成功”则代码已烧录。上传完成后打开工具-串口监视器或使用CtrlShiftM。将右下角的波特率设置为115200。你应该能看到“ESP32-C3 Local Monitor Boot...”等启动信息以及每隔2秒更新的温湿度数据。同时OLED屏幕也应该亮起显示动画后开始展示温湿度读数。5. 功能扩展与优化思路一个能显示温湿度的基础站已经完成了。但如果你觉得这还不够这里有几个可以尝试的扩展方向能让你的项目变得更加强大和个性化。5.1 增加更多传感器ESP32-C3的GPIO和计算资源还有富余完全可以接入更多传感器打造一个多功能环境监测站。大气压强传感器BMP280/BME280BME280甚至能同时测量温度、湿度和气压。通过I2C接口接入只需额外连接SDA和SCL可以和OLED共用同一组I2C总线设备地址不同即可。空气质量传感器SGP30检测TVOC总挥发性有机物和eCO2等效二氧化碳浓度了解室内空气状况。光线传感器BH1750检测环境光强度数据可以用于自动调节屏幕亮度如果OLED支持或触发其他操作。接入新传感器的一般步骤是1查找其Arduino库并安装2在代码中包含库并初始化对象3在loop()中读取数据4设计新的屏幕布局来展示这些数据。5.2 优化显示界面与用户体验当前的显示界面比较基础我们可以让它更美观、更易读。使用自定义字体Adafruit_GFX库支持使用自定义字体。你可以使用在线工具如GFX Font Converter将你喜欢的字体转换成位图字体库让显示更具个性。绘制图表利用Adafruit_GFX的绘图函数你可以绘制简单的折线图来展示温湿度随时间的变化趋势。这需要你在代码中开辟一个数组来存储历史数据。添加视觉反馈例如当温度超过某个阈值时用红色边框闪烁提示或者根据湿度值在屏幕一侧绘制一个简单的“水滴”填充动画。实现屏幕翻转或息屏添加一个物理按钮按下后可以翻转屏幕朝向oled.setRotation()或者让屏幕进入低功耗的息屏状态再按一下唤醒。5.3 深入电源管理与低功耗设计如果你希望设备能脱离USB线用电池长期运行那么低功耗设计就至关重要。硬件层面选择低功耗的传感器并确保在代码中能将其置于睡眠模式。对于ESP32-C3本身我们可以利用其强大的睡眠功能。软件层面修改代码运行逻辑。一个典型的低功耗循环可以是唤醒ESP32-C3从深度睡眠中。打开传感器电源可通过一个GPIO控制MOSFET管实现。读取传感器数据。点亮OLED屏幕并显示数据持续几秒。关闭传感器和OLED屏幕电源。让ESP32-C3进入深度睡眠esp_deep_sleep()一段时间例如5分钟。由定时器或外部中断如按钮唤醒进入下一个循环。通过这种设计设备大部分时间处于微安级的睡眠电流可以极大地延长电池寿命。实现这部分需要更深入地研究ESP32-C3的电源管理API但这将是把你项目提升到专业级别的关键一步。代码上传成功屏幕亮起温湿度数字稳定刷新——这个时刻的成就感是看十篇教程也比不了的。我最初做这个小玩意儿就是为了解决一个具体问题工作室角落的3D打印机对环境温湿度有点敏感我需要随时瞥一眼就能知道情况又不想专门开个电脑网页。ESP32-C3和0.96寸OLED这个组合在成本、功耗和实现难度上达到了一个很好的平衡。过程中最需要注意的就是I2C引脚的选择和DHT11读取间隔这两个细节很多奇怪的显示问题或数据不准都源于此。如果你在连接I2C设备时遇到问题第一件事就是用Wire库的扫描示例程序File-Examples-Wire-Scanner检查一下设备地址是否正确被识别这个工具能帮你省下大量排查时间。

相关新闻

实战演练:在快马平台构建一个应对复杂场景的电商智能客服团队

实战演练:在快马平台构建一个应对复杂场景的电商智能客服团队

最近在尝试用多智能体(agent teams)来构建一些复杂应用,发现这玩意儿在实战中真的挺有意思。就拿电商客服来说,用户的问题五花八门,从查物流到要优惠券,再到投诉产品质量,一个客服根本忙不过来。…

2026/7/8 13:30:24 阅读更多 →
修复快速分享无法正常工作的问题

修复快速分享无法正常工作的问题

“快速共享”是Android设备(尤其是三星手机)上的一项便捷功能,旨在让设备间的文件传输快速轻松。然而,就像许多科技功能一样,它并非总是万无一失。如果您在使用“快速共享”时遇到问题,例如连接失败、传输速…

2026/7/8 12:18:36 阅读更多 →
【2026年最新600套毕设项目分享】基于SpringBoot的蛋糕烘焙的分享平台(14109)

【2026年最新600套毕设项目分享】基于SpringBoot的蛋糕烘焙的分享平台(14109)

有需要的同学,源代码和配套文档领取,加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码(前后端源代码SQL脚本)配套文档(LWPPT开题报告/任务书)远程调试控屏包运行一键启动项目&…

2026/5/17 11:24:57 阅读更多 →

最新新闻

当Golang遇见LLM:构建高并发推理服务的工程实践

当Golang遇见LLM:构建高并发推理服务的工程实践

一、为什么是Golang?AI基础设施层的"新宠" 过去两年,AI应用的部署形态正在发生显著变化。如果说2023年是"大模型元年",那么2024年后就是"AI智能体落地之年"。然而,在这一波技术浪潮中,语…

2026/7/8 13:29:28 阅读更多 →
开发成本直降90%,艾络迅OEM App方案助力客户10分钟打造品牌专属App

开发成本直降90%,艾络迅OEM App方案助力客户10分钟打造品牌专属App

随着IoT加速普及,App已不只是设备控制工具,更是品牌连接用户、承载服务与推动增长的重要入口。对智能硬件企业来说,拥有一款自有品牌App,正成为提升用户体验与市场竞争力的关键能力。然而,传统App开发普遍存在周期长、…

2026/7/8 13:29:28 阅读更多 →
2026跨境电商新手避坑指南:从选品到获客的5个冷门实操技巧别踩雷

2026跨境电商新手避坑指南:从选品到获客的5个冷门实操技巧别踩雷

不少刚入局跨境电商的新手,总觉得跟着网上的热门攻略抄作业就能稳赚,真等到把货发出去、广告投出去才发现,钱花了流水漂,半点水花都没见着。其实很多被忽略的冷门细节,才是决定新手能不能熬过前三个月存活期的关键。 第…

2026/7/8 13:29:28 阅读更多 →
医疗设备智能防漏费管控系统整体说明

医疗设备智能防漏费管控系统整体说明

整套系统采用去传感器化,依靠智能图像识别分析一体化管控方案,操作简单实现无感操作,长期运行稳定可靠。一、管理软件核心优势软硬件一体管控,形成事前校验、全程监控、事后追溯的全流程分段管理体系。支持多类操作系统兼容&#…

2026/7/8 13:27:27 阅读更多 →
MP2672A芯片与STM32F373VC的电池管理系统设计

MP2672A芯片与STM32F373VC的电池管理系统设计

1. MP2672A芯片深度解析与选型考量MP2672A是MPS公司推出的一款专为双节锂离子串联电池设计的高度集成开关电池充电器IC。这款芯片在便携式设备电源管理领域具有显著优势,其核心功能可概括为三大模块:升压充电管理、NVDC电源路径管理和集成电池平衡电路。…

2026/7/8 13:21:25 阅读更多 →
直流电机高精度控制:TLE 6208-6 G与dsPIC33EP方案解析

直流电机高精度控制:TLE 6208-6 G与dsPIC33EP方案解析

1. 项目背景与核心组件选型在工业自动化和机器人控制领域,直流电机因其结构简单、控制方便、成本低廉等优势被广泛应用。但传统PWM调速方案存在响应速度慢、转速波动大等问题,特别是在负载变化频繁的场景下表现尤为明显。这正是我们需要使用TLE 6208-6 G…

2026/7/8 13:19:25 阅读更多 →

日新闻

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: …

2026/7/8 0:00:48 阅读更多 →
MyBatis 批量操作深度优化——从 N+1 到批处理的全路径

MyBatis 批量操作深度优化——从 N+1 到批处理的全路径

MyBatis 批量操作深度优化——从 N1 到批处理的全路径 一、从"功能正确"到"性能可接受"——MyBatis 批量操作的三段式进化 MyBatis 在日常增删改查场景中几乎是无感的——实体映射直观、SQL 控制灵活。但当数据量从千级上升到十万级、百万级,许…

2026/7/8 0:00:48 阅读更多 →
工业负载控制方案:TPD2015FN与PIC18F45K22应用解析

工业负载控制方案:TPD2015FN与PIC18F45K22应用解析

1. 工业负载控制方案概述在工业自动化、电机驱动和照明控制等高需求场景中,可靠地控制电感和电阻负载是核心挑战之一。TPD2015FN作为东芝的8通道高端智能功率开关IC,配合PIC18F45K22微控制器,能够构建一套稳定、高效的负载控制系统。这套组合…

2026/7/8 0:02:48 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/7 14:24:45 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/7 12:34:47 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/7 15:59:06 阅读更多 →

月新闻