从零搭建智能温室环境监测系统:ESP32+传感器+MQTT自动控制全攻略

发布时间:2026/9/6 12:30:54

从零搭建智能温室环境监测系统:ESP32+传感器+MQTT自动控制全攻略
干农业物联网这行有些年头了经手的温室项目前前后后也有十来个。今天想聊的这套智能温室环境监测系统是我自己从传感器选型、电路接线、固件开发到监控平台完整从零搭出来的一套中间踩过的坑、返过的工、改过的方案都还历历在目。这套东西解决的核心问题就一句话让种棚的人不用天天蹲在地头看温度计坐在屋里打开手机或电脑就能知道棚里什么情况温湿度超限了、光照不够了、土壤干了系统自己就能把风机、水泵、遮阳网、补光灯这些东西管起来。适合正在搞设施农业的种植户、做农业物联网相关课题的学生以及想找个真实落地场景练手的硬件爱好者参考。1. 整套系统的设计思路先画清楚这张图再动手1.1 智能温室环境监测系统的四层架构我在动手之前先把整张系统图画了一遍。一个能落地、能长期跑的温室环境监测系统不是买几个传感器插在土里那么简单它应该分成四层来看。感知层是基础负责把棚里的温度、湿度、光照强度、二氧化碳浓度、土壤含水量这些物理量变成电信号。执行层是手和脚负责根据指令去开风机、关水泵、卷遮阳网、启动补光灯。传输层是神经负责把感知层采集到的数据送到处理端同时把控制指令下发到执行层。应用层是大脑和界面负责数据存储、展示、报警以及自动控制逻辑的运行。我把这个架构讲明白是因为很多新手上来就盯着传感器型号纠结反而忽略了整体。实际上一套系统能不能稳定运行瓶颈往往不在单个传感器上而在层与层之间的衔接供电够不够稳、通信会不会掉、数据到平台之后能不能真正被人看进去并产生动作。1.2 为什么用这套方案选型背后的逻辑确定了四层架构之后开始做方案选型。这里我给自己定了几个硬性要求。第一主控不要选太冷门的芯片。温室大棚现场环境复杂一旦主控出问题要能快速买到替换件、能重新烧录。第二通信优先考虑WiFi原因很现实现在绝大多数温室大棚园区都有手机信号场地里拉宽带或者架个路由器并不困难WiFi方案调试方便、成本低、带宽足够。如果是大田或者多个分散大棚再考虑LoRa或者4G DTU。第三系统一定要支持本地执行不能断网就瘫痪。温室控制最怕的就是网络一抖风机不转、水不浇一棚苗全废掉。综合这些考虑我选择了ESP32作为主控核心。这款芯片有WiFi和蓝牙AD采集、I2C、UART接口齐全价格便宜性能对传感器轮询和简单控制来说绰绰有余。传感器方面选了SHT30温湿度、BH1750光照、MH-Z19B二氧化碳、电容式土壤湿度传感器。执行端用的是4路继电器模块配合交流接触器去驱动大功率设备。这套配置不是最贵的但在可靠性和成本之间取了比较好的平衡。2. 传感器选型与部署数据准不准决定控制系统靠不靠谱2.1 五类核心传感器怎么选温湿度传感器我踩过最大的坑就是选了DHT22。便宜是便宜但在温室这种高湿、温差大的环境里长期运行漂移特别严重用了几个月测出来的湿度能偏出百分之十几。后来全部换成SHT30I2C接口精度大约±0.3℃和±2%RH价格十几块钱性价比很能打。如果你要更极限的精度可以考虑SHT35或者SHT40但对常规种植来说SHT30完全够了。光照传感器用BH1750这是一个数字型环境光传感器I2C接口量程1到65535 lx。温室里晴天中午光照能到五六万勒克斯阴天可能只有几千BH1750这个量程基本覆盖了需求。安装的时候要注意传感器感光面朝向和作物冠层高度一致避免被遮阴或者被补光灯直射造成虚高。二氧化碳传感器选的是MH-Z19B采用NDIR非色散红外原理UART接口量程400到5000ppm。这个传感器对于温室通风决策非常关键尤其北方冬季大棚为了保温长时间封闭二氧化碳浓度经常掉到300ppm以下作物光合作用受限这时候就需要联动通风或者启动二氧化碳发生器。选NDIR原理是因为它在高湿环境里稳定电化学的容易受水汽干扰。土壤湿度传感器强烈建议用电容式不要用那种两脚插在土里靠电阻测量的。电阻式在土壤里用不了几个月电极电化学腐蚀严重读数飘到没法看。电容式通过介电常数测量土壤水分不直接接触带电电极寿命长得多。如果还想测土壤温度加一个DS18B20防水探头一根线走单总线协议也不贵。2.2 部署位置不对再贵的传感器也是摆设传感器选好了只是第一步安装位置决定数据的有效性。这里有几个位置原则是拿真金白银换来的经验。温湿度传感器不能贴着棚膜放也不能放在风口正对的位置否则读数要么虚高要么偏低。我习惯把温湿度传感器放在离地面大概1.5米、离作物冠层上方30公分的位置同时加一个防辐射罩。这个防辐射罩特别重要它像一个微型百叶箱能挡住阳光直射。刚做第一版的时候没加结果中午传感器被太阳晒着温度读数比实际棚温高了将近5度控制系统疯了一样狂开风机白白浪费电。土壤湿度传感器要插在作物根系主要分布区一般深度在10到20厘米。不要贴着滴灌带出水口插也不要插在行间完全没根的地方前者读数永远饱和后者永远偏干。一个标准的做法是每块种植区域装两到三个取平均值使用单独一个传感器的数值很难代表整片地的真实水分分布。二氧化碳传感器的进气口要保持畅通定期清理灰尘。它最好放置在作物冠层附近因为作物呼吸和光合作用直接影响这个区域的二氧化碳浓度安装在棚顶测出来的是空气的浓度跟作物实际感受差别很大。2.3 校准与数据质量处理传感器用久了都会漂移这是物理规律。我自己的维护周期是温湿度传感器每季度标定一次方法很简单用一支经过校准的水银温度计或者工业级温湿度计放在同一个环境里读差值然后做软件修正。土壤湿度传感器每个月做一次对比测量用烘干称重法校准太麻烦我一般用手感判断捏一把土能成团松手散开这个含水率对应传感器读数大概在什么区间心里有数就行。在固件端我也做了数据质量处理。采集到的原始值先做个简单的滑动平均滤波连续采5次去掉最大值最小值再取平均。这个操作能有效滤掉传感器瞬间的毛刺和电磁干扰产生的跳变。另外在数据上报时我会带上一个置信度标志位本地判断传感器是否离线、是否超出合理量程异常数据单独标记不参与自动控制判断。3. 主控、通信与执行控制环境监测到自动调控的完整链路3.1 主控板选型与接线要点主控这块我选ESP32-WROOM-32模组做的开发板带USB转串口方便烧录和调试。板上引出大量的GPIO接I2C总线的SDA、SCLUART还有ADC引脚都够用。接线的时候有几个细节值得注意。传感器供电我单独用了一路3.3V的稳压输出与继电器电路完全隔离。继电器模块用5V供电控制信号通过光耦隔离后再驱动。为什么不直接用一个电源全部带起来因为继电器吸合瞬间电流波动很大如果跟传感器共地供电ADC参考电压会被拉偏测出来的模拟量数据会突然跳动尤其土壤湿度这种模拟量传感器特别敏感。ESP32的ADC本身线性度一般所以我很少直接用ADC量程换算物理量而是采集后用多点标定做一个拟合曲线。我的土壤湿度传感器就是霸蛮标了近十组数据点从干透到饱和然后做分段线性拟合换算出来的含水率跟实际情况比较吻合。有条件的可以加一个外部ADC芯片比如ADS1115精度会好很多但固件复杂度也会上一个台阶。3.2 数据上报用MQTT把传感器值送到平台通信这块我选择MQTT协议这是个轻量级的发布订阅消息协议特别适合物联网场景。温室环境监测的数据量不大一分钟上报一次足够用HTTP轮询反而浪费流量MQTT的维持连接开销极小。整个链路是ESP32通过WiFi连接路由器然后跟MQTT Broker建立长连接周期性地往主题发布传感器数据。Broker我用过本地的Mosquitto也用过EMQX看规模。如果只是单个大棚测试Mosquitto完全够用。数据格式我用的JSON{ nodeId: greenhouse-01, ts: 1716800000, temp: 26.4, hum: 68.2, light: 32400, co2: 612, soilMoisture: 42 }对应的关键固件代码如下这段是基于Arduino框架的ESP32实现#include WiFi.h #include PubSubClient.h const char* ssid your_wifi; const char* password your_password; const char* mqttServer 192.168.x.x; const int mqttPort 1883; WiFiClient espClient; PubSubClient mqtt(espClient); void setup() { Serial.begin(115200); WiFi.begin(ssid, password); while (WiFi.status() ! WL_CONNECTED) { delay(500); Serial.print(.); } mqtt.setServer(mqttServer, mqttPort); } void loop() { if (!mqtt.connected()) { reconnect(); } mqtt.loop(); float temp readSHT30Temperature(); float hum readSHT30Humidity(); float light readBH1750Light(); uint16_t co2 readMHZ19B(); int soil readSoilMoisture(); String payload {; payload \nodeId\:\greenhouse-01\,; payload \ts\: String(millis()) ,; payload \temp\: String(temp) ,; payload \hum\: String(hum) ,; payload \light\: String(light) ,; payload \co2\: String(co2) ,; payload \soilMoisture\: String(soil) }; mqtt.publish(greenhouse/sensors, payload.c_str()); delay(60000); }代码里要特别注意重连机制。温室环境里WiFi偶尔抖动非常正常固件里必须实现自动重连逻辑而且重连不能死循环卡住主程序。我用的方法是连接失败就记录失败次数指数退避隔5秒、10秒、30秒递增重试最多间隔5分钟同时设置一个看门狗定时器防止程序跑飞。3.3 边缘控制不依赖网络也能执行的联动逻辑温室控制最怕的一件事就是断网。网络断了云平台收不到数据但大棚里的环境不会停摆温度该升还是升苗该渴还是渴。所以我的设计是自动控制逻辑放在边缘端也就是ESP32本地执行云平台和手机App只负责远程监控和人工干预控制策略的最终裁决权在本地。执行端用的是4路继电器模块分别接风机、水泵、卷帘机、补光灯。实际接大功率设备时继电器输出端不带载直接接接触器线圈接触器再去驱动几千瓦的设备这个层级隔离是必须的不然继电器触点两三下就烧蚀了。控制逻辑不能写得太简单比如“超过30度就开风机”这种单阈值控制在真实现场会出现继电器频繁吸合的问题。传感器值在阈值附近抖动继电器跟着反复通断电机一天启停几百次很快烧接触器。我采用滞回控制也叫施密特触发器逻辑核心思想是启动阈值和停止阈值之间留一个差值。以风机为例const float FAN_ON_TEMP 30.0; const float FAN_OFF_TEMP 27.0; bool fanState false; void updateFanControl(float temp) { if (!fanState temp FAN_ON_TEMP) { digitalWrite(FAN_PIN, HIGH); fanState true; } else if (fanState temp FAN_OFF_TEMP) { digitalWrite(FAN_PIN, LOW); fanState false; } }这样温度要到30度才启动风机降到27度才停中间有3度的缓冲区间风机不会频繁动作。同时我在代码里加了一个最小动作间隔任何执行器状态切换之间至少要间隔30秒这是第二道保险。另外不同控制策略之间要做优先级和互斥判断。比如冬季早上棚温低CO2浓度也低这时如果同时触发通风换气和二氧化碳发生器一个往外排气一个往里补气完全是在对着干。我设置的逻辑是CO2浓度低于500ppm时优先关闭大功率排风启动增施气肥只有温度超过上限且CO2浓度正常时才允许大风量通风。4. 监控平台与可视化让数据变成判断依据4.1 本地看板还是云平台数据都有了接下来就是要把数据变成种植户看得懂、用得上的界面。我在实践中试过两条路。一条是纯云平台方案接国内几家物联网平台设备端通过MQTT上云平台自带数据展示、历史曲线和报警功能开发成本最低。不过缺点也很明显数据经过第三方平台控制指令要绕一圈而且平台功能偏通用农业场景里的专业分析基本没有。另一条是本地服务器加开源组件自建优势在于数据完全自主做定制化分析方便也便于后期接入更多棚。我现在的主要方案是本地服务器上用Node-RED做数据接入和处理InfluxDB做时序数据存储Grafana做可视化看板。这套组合纯开源社区资料多跑起来也相当稳。Node-RED内置MQTT节点从Broker订阅数据之后一条JSON解析节点就能把数据拆开再写入数据库再加一个判断节点做报警推送十几分钟就能把数据管道搭起来。Grafana的看板我做了一块大屏左边显示实时环境数据卡片中间是24小时温度湿度曲线右边是执行器的当前状态和最近动作记录。种植户早晨起来瞄一眼手机棚里当前多少度、昨天晚上风机转了几次、水分趋势怎么样一目了然。4.2 报警与规则配置的实用经验报警规则别设置得太灵敏否则天天被报警轰炸后面真正出问题的时候反而没人看了。我自己的原则是达到“需要人工介入”的程度才报警。温度报警我设了两级一级预警是棚温超过35度或者低于5度提醒种植户关注可能一小时后有风险二级报警是超过38度或者低于2度立即推送同时自动把能开的降温/保温设备全部打开。预警用微信公众号或者企业微信的消息推送报警除了推送还会同时给值班人员发短信确保能注意到。规则配置里还有一个小细节报警要带延时确认不能数据一超限就触发。比如温度超过35度连续持续2分钟以上才触发报警。为什么要延时因为打开温室大门的瞬间门口的冷空气会让附近传感器读值跳变一下或者卷帘机遮阴造成了短暂的局部降温这类瞬时波动不应该当成故障处理。5. 现场跑了一年后常见问题与排查技巧实录5.1 传感器数据漂移和异常跳变这是现场跑下来最常遇到的问题。我查过不少次经验教训如下。首先是SHT30在高湿环境里结露的问题。温室里早晨经常湿度饱和传感器探头结一层水膜这时候读数会长时间卡在95%RH以上。解决办法一是选择带防护涂层的探头型号二是让传感器有一点微小的自发热实在不行就在硬件上方加个小功率电阻持续发热形成微温差防止结露。其次是光照传感器被遮挡或者灰尘污染。有一次大棚里的人随手把一块农膜搭在了传感器上方都没注意连续一个礼拜光照数据只有正常值的一半整个补光系统都在误动作。现在我的做法是每个数据点都画在Grafana上每隔一阵子用肉眼对比同一时段的曲线看到光强峰值明显下降就派人去擦拭。5.2 通信丢包与掉线处理WiFi方案在温室里最大的问题就是金属棚架的屏蔽效应。特别是连阴雨天棚膜湿度大2.4G信号衰减得很快。我的处理策略是ESP32侧做好重连路由器放在温室中间偏高处不要摆在地面或者角落因为作物长高之后会遮挡信号路径。如果一个棚面积特别大建议加一对AP做信号覆盖或者干脆换成LoRa点对点加网关的方案。掉线的另一个常见原因是MQTT连接被服务器主动断开俗称“踢掉”。最常见的原因是客户端心跳间隔设置不合理。MQTT协议要求客户端定期发送PINGREQ心跳包如果服务器没收到会判定客户端死掉并清掉会话。这个心跳时间要根据实际网络稳定性设置我一般设60秒比许多教程默认的15秒宽松一些减少不必要的掉线重连。5.3 供电系统的坑和稳定性方案温室环境监测系统看起来功耗不大供电问题却是导致系统不稳定的一大元凶。我最初直接用普通的5V USB电源适配器给ESP32供电用了两个月出现一个诡异现象白天有阳光的时候系统一切正常一到傍晚就开始周期性重启。排查到最后发现是同一路插座上连着卷帘机卷帘机启动瞬间电流巨大把电压拉低到ESP32的欠压保护点以下。后来我的供电方案改成了储能式12V铅酸蓄电池常年浮充再通过DC-DC降压模块稳定输出5V和3.3V保证在电网波动甚至短时断电的情况下系统都能持续工作。这里有个容量计算的经验公式以ESP32加传感器平均工作电流大概100mA、电压5V来算一天功耗大约是12Wh。如果要求断电后系统继续运行24小时电池的可用容量至少需要12Wh考虑逆变和损耗按80%折算理论需要15Wh。用12V电池折算下来容量大概1.25Ah实际选型我建议两倍冗余选一个12V 3Ah就绰绰有余了。电源端还要加防雷和防浪涌。第一年夏天一场雷雨之后我烧掉了两块主控板和一块网口后来在所有进出温室的信号线上加了光电隔离和TVS瞬态抑制二极管电源入口装上了浪涌保护器从那以后再也没有因为雷雨出过问题。6. 这套系统的真实成本与后续扩展6.1 单节点成本清单很多朋友私信问我这一套下来得花多少钱这里列一个我目前的配置单供参考。模块型号/规格参考价格主控板ESP32开发板30元左右温湿度传感器SHT30模块15元左右光照传感器BH1750模块8元左右二氧化碳传感器MH-Z19B120元左右土壤湿度传感器电容式模块25元左右土壤温度探头DS18B20防水型10元左右执行器控制4路继电器模块18元左右电源系统12V蓄电池 DC-DC降压80元左右防护辅材防辐射罩、接线端子、外壳30元左右单个数据采集节点配置下来大概在350元以内一个标准温室如果布置三到四个采集点再加一套网关和云服务器成本总投入控制在两千多块钱对于设施农业的生产经营来说不算什么负担。6.2 后续还能怎么升级这套系统跑顺了之后实际上就是一个数字底座。我个人觉得最有价值的扩展方向有三个。一是图像识别联动。温室里装一个网络摄像头通过训练作物生长状态识别模型结合环境传感器数据判断是否有病虫害早期迹象。这个方向还在实验室阶段但思路很顺环境数据告诉你条件是否适宜图像数据告诉你作物长得怎么样两者结合才是完整的“作物状态感知”。二是多棚协同管理。一个园区里面有几座大棚每座棚单独一套系统然后把所有数据汇总到一个平台统一管理。这种情况下每个棚的配置可以做差异化比如育苗棚对温湿度要求更苛刻番茄棚和叶菜棚的参数上下限都不一样平台侧需要支持分组策略管理。三是水肥一体化的联动。土壤湿度传感器检测到根系区水分偏低时不只是打开水泵而是按照预设的灌溉策略把肥料和酸碱度调节一并做进去。这就是从“环境监测”升级成“闭环精作”了也是智能温室真正的长期价值所在。这套系统完整跑了一年多硬件和代码层面的坑其实都好填真正考验人的是长期维护的耐心。传感器要定期校准、防风防尘防滴水通讯模组要处理各种意外掉线执行器防锈防堵也不能马虎。我现在宁愿把预算多花在防护罩、屏蔽线和质量可靠的传感器上也不愿省这点钱之后一遍遍返工。另外也真心建议刚入手的同行不用一开始就把功能堆得很满先把温湿度、光照、土壤湿度这几路基础数据完整跑通让种棚的人先习惯看数据和用自动控制后面的扩展功能自然会一点点长出来。

相关新闻

2026企业级AI数据分析平台选型指南:从BI到数字同事

2026企业级AI数据分析平台选型指南:从BI到数字同事

2026/9/6 12:30:54

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

弱电施工最考验基本功的环节,就是综合布线

弱电施工最考验基本功的环节,就是综合布线

2026/9/6 12:30:54

综合布线看起来是一项比较基础的弱电工程,但真正做过项目的人都知道,布线工程最考验的并不是“把网线拉过去”这么简单。从前期规划、线缆选型,到桥架施工、线缆敷设、模块端接,再到后期测试和资料整理,每一个环节都会影响网络系统最终的稳定性。 尤其是在办公楼、园区、…

Claude Code接入8个MCP Server,打造全能AI开发助手

Claude Code接入8个MCP Server,打造全能AI开发助手

2026/9/6 12:30:54

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

DeepSeek Harness插件化实战:从环境搭建到IDE接入全指南

DeepSeek Harness插件化实战:从环境搭建到IDE接入全指南

2026/9/6 13:50:57

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

AutoCAD Plant 3D 2026规格编辑器深度解析:从CS150标准到高效管道设计

AutoCAD Plant 3D 2026规格编辑器深度解析:从CS150标准到高效管道设计

2026/9/6 13:50:57

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

量化数据开发实战系列(第 10 篇):炸板股池实战:提取炸板时间、炸板次数,统计炸板行为特征

量化数据开发实战系列(第 10 篇):炸板股池实战:提取炸板时间、炸板次数,统计炸板行为特征

2026/9/6 13:50:57

量化数据开发实战系列(第 10 篇):炸板股池实战:提取炸板时间、炸板次数,统计炸板行为特征 前言 前面第 7‑9 篇,已经完成涨停、跌停、强势股、次新股四大股池的数据采集清洗入库,并且搭建起每日…

当绿色转型成必答题,大厂和中小企业咋破局

当绿色转型成必答题,大厂和中小企业咋破局

2026/9/6 13:50:57

《ESG合规已死,经营价值崛起》——真正的分水岭,不是会不会写报告,而是能不能把责任变成经营能力写报告的时代没有结束,但只会写报告的时代结束了。9月,北京一场ESG活动把信号摆得很明白:数字安全、氢能储能…

企业级大模型 API 网关怎么搭?我用 New-API 从 0 到 1 的经验总结

企业级大模型 API 网关怎么搭?我用 New-API 从 0 到 1 的经验总结

2026/9/6 13:50:57

团队要同时接 DeepSeek、豆包、通义几家大模型,一开始每家用一套 SDK 和鉴权,切模型还要改代码,很痛苦。后来我把接口网关(New-API)整套跑通了,一个 OpenAI 兼容端点统一接入,几件事收益很大&am…

角膜地形图报告怎么解读?一张图教会你

角膜地形图报告怎么解读?一张图教会你

2026/9/6 13:40:57

系列三 临床应用角膜地形图报告怎么解读?一张图教会你拿到 Scheimpflug 报告,曲率图、厚度图、高度图、BAD 图、ABCD 分级——该先看哪个?本文用一张图的结构逻辑帮视光师和眼科医生快速建立解读框架。OPV-30 报告自动生成,包含以…

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

2026/9/6 1:19:56

本文首发于“生态学者”!从“湿地面积”到“土壤碳密度”:为什么需要重新认识潮汐湿地蓝碳变化?潮汐湿地位于陆地与海洋的交汇地带,包括红树林、盐沼和潮滩,是全球重要的蓝碳生态系统。其土壤能够长期储存大量有机碳&a…

adb抓包

adb抓包

2026/9/6 1:19:56

前言 本文介绍如何通过 tcpdump 在 Android 手机上抓取网络数据包,并在电脑端使用 Wireshark 进行分析。适用于需要排查 App 网络请求、分析接口调用或调试网络问题的开发与测试场景。1. 手机要有 root 权限2. 下载 tcpdump3. adb push C:\Users\zhangkuixun\Downlo…

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

2026/9/6 1:19:56

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战 在云原生基础设施中,容器镜像体积直接决定了服务的部署速度与弹性扩容敏捷度。对于传统的 Go / Java 微服务,镜像体积通常被严格控制在 50MB 到 200MB 以内,拉取镜像只…

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

2026/9/6 1:19:56

本文首发于“生态学者”!从“湿地面积”到“土壤碳密度”:为什么需要重新认识潮汐湿地蓝碳变化?潮汐湿地位于陆地与海洋的交汇地带,包括红树林、盐沼和潮滩,是全球重要的蓝碳生态系统。其土壤能够长期储存大量有机碳&a…

adb抓包

adb抓包

2026/9/6 1:19:56

前言 本文介绍如何通过 tcpdump 在 Android 手机上抓取网络数据包,并在电脑端使用 Wireshark 进行分析。适用于需要排查 App 网络请求、分析接口调用或调试网络问题的开发与测试场景。1. 手机要有 root 权限2. 下载 tcpdump3. adb push C:\Users\zhangkuixun\Downlo…

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

2026/9/6 1:19:56

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战 在云原生基础设施中,容器镜像体积直接决定了服务的部署速度与弹性扩容敏捷度。对于传统的 Go / Java 微服务,镜像体积通常被严格控制在 50MB 到 200MB 以内,拉取镜像只…

远程协作的工作台整理

远程协作的工作台整理

2026/9/3 6:56:24

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/4 7:42:10

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/5 23:14:13

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…