锅炉温控系统优化

1.前言(废话与感慨)

很久之前(大概3年以前吧),我写过一篇文章: https://wshuo.blog.csdn.net/article/details/122660383

那时候我还没有去北京工作,而 现在我已经从北京的一家互联网大厂离职回老家了,这期间发生了很多事,不过所幸这点爱好还没有丢下。所有花了点时间重新优化了一些这个项目(也是确实用到了)。


2.之前项目不足:

之前单片机的软件是用micropython写的,硬件是开发板拼接成的,导致很不稳定。

现在回头看之前做的这个东西,就像学生时期的玩具,将几个模块拼凑一起解决问题就可以了。

虽然本次做和diy硬件大佬还有很大差距,但是对比我之前做的还是有很大进步的。


3. 项目产生原因

为了让不熟悉朋友了解一下,这里截图之前的文章:



4.结构

新版本原理很简单,俩个esp8266 硬件设备只负责上报温度(通过mqtt协议),然后所有逻辑运算处理都在 mqtt server主机完成,其是一台24小时运行的小主机,这样硬件和业务逻辑解耦方便去更新。

值得一提的是我没有单独去做一个switch 开关,之前淘了一个废品开关,我用wireshark抓包了其通信协议,让我可以远程控制其开关状态。当然要做一个联网开关也很简单(主要因为我没有塑料外壳,直接用现成的了),可以用esp-01和 继电器简单做一个联网开关。

俩个设备的热敏电阻,一个贴在锅炉上,一个贴在暖气上,这样只要温度差值达到一个值,就启动水泵,不是常规的高于一个温度再启动,更加合理。在实际使用场景热敏电阻贴的位置也会影响实际温度,因为热水往上走。

4.1 硬件

我想硬件主要有俩个功能,一个是能做温度显示,另外就是联网上报。

之前我用温度传感器实现的,这次降低成本直接用热敏电阻。

用的模块 是ESP12F , esp12 ADC采样只能获取 0-1V 超过1V会导致芯片烧毁,所以在设计电路时,需要串联个电阻分压后进行采样范围才能达到0-3V3。

显示直接用个数码管,驱动芯片使用 74HC595N,手里正好有几个插接封装的,否者我就用贴片节约些空间。

typec只负责供电,烧录直接使用烧录夹,为了节约成本我没有在pcb电路中加入uart自动下载电路(类似ch340c这类芯片),对于升级程序麻烦这类问题,后面我在软件部分解决。

原理图:

PCB图:

第一次画PCB, 俩层板轻松解决,这里数码管3d渲染和实际不太符合,可能是型号不太相同。

(这里也遇到个坑,开始时esp-12f天线部下面pcb部分也铺铜了,导致信号不好,后来修改了)

我也为其绘制了3D外壳:

实物图:

4.2 软件

主要分为俩部分:

  1. 单片机上固件

  2. 服务端业务控制逻辑

4.2.1 单片机上的固件

本次不用之前的micropython开发了,转向Arduino框+Platformio开发

我想做成一个通用的设备,所有在单片机软件可以进行配网,所以主要实现了一下功能:

1). wifi配网功能

2). 远程OTA

3). 温度显示及上报

后续我会把所有代码开源,这里就不贴了。

4.2.2 服务端

服务端是我24小时运行的linux低功耗主机,那么服务端需要安装mqtt server:

bash 复制代码
sudo apt install mosquitto
service mosquitto start #启动服务
systemctl enable mosquitto #设置开机自启动

这部分核心业务逻辑, 功能包括:

1). 发布几个可以设置的参数(温差,启动时长等等)

2). 对温差进行判断,启停switch。

3). 对数据记录保存绘制图表。

对数据保存后我可以进行统计,计算每天的水泵开启的时长,从而推算每天的耗电量,甚至大概可以看出什么时间加的煤 : )

4.2.3 手机端软件

这里我用的 IoT MQTT Panel , 可以对一些我定义的参数进行设置:


5. 其他

后续我会将所有代码以及PCB开源,方便想用的朋友复刻,我一直没敢将代码放到 github, 因为我总觉得代码写的不够好,放上太丢脸了,此外我还做了其他几个diy项目,后续分享。


相关推荐
alphaTao1 小时前
LeetCode 每日一题 2026/8/24-2026/8/30
python·算法·leetcode
草莓熊Lotso1 小时前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
苏灿烤鱼1 小时前
当 AI Agent 遇见真实科学环境:深度拆解 Scientific Agent Skills,把"聊天机器人"变成"AI 科学家"
python·开源·agent
张文君1 小时前
ubuntu26.04坏道坏块分区隔离急速版260831-V0.12
linux·python
贝锐10 小时前
从国产化信创设备到商用安卓终端,向日葵如何帮助企业实现统一运维管理?
linux·运维·远程控制
Julien200411 小时前
调查和解决 SELinux 问题
linux·运维·服务器·网络·学习方法
lupai12 小时前
手机在网状态接口实测效果与质量评估
大数据·python·智能手机·api接口
荷蒲13 小时前
【小白量化Qbuddy】用AI设计miniQMT指标公式计算量化平台
人工智能·python·机器人
阿童木写作13 小时前
跨境电商图片翻译工具,批量翻译视频字幕一键抠图
人工智能·python·音视频
小张同学a.14 小时前
Docker 容器实战 1—— docker 基础与镜像构建
linux·运维·docker·容器