本文面向希望复现或二次开发的读者,按「一、项目基本情况 → 二、系统架构设计 → 三、系统界面展示 → 四、系统视频展示 → 五、获取方法」组织。文中引脚分配取自项目原理图,通信参数与主题取自实机配置记录,界面数值取自系统实测截图,均未做推测性改写。
技术栈速览
| 层次 | 选型 | 说明 |
|---|---|---|
| 主控 MCU | STM32F103C8T6(Cortex-M3 @ 72 MHz) | Keil 5 开发;三类节点共用同一型号 |
| 称重采集 | HX711(24 位 ADC)+ 应变式称重传感器 | 两线串行时序;内置可编程增益放大器 |
| 节点间无线 | HC-14 无线 433 模块(串口透传) | MCU 侧按普通串口收发,无需射频协议栈 |
| 上云通道 | ESP8266(ESP-01S) | Wi-Fi + 内嵌 TCP/IP 协议栈,承载 MQTT 会话 |
| 本地显示 | OLED12864(I²C) | 两类节点各一块,共 3 块 |
| 告警与交互 | 蜂鸣器(PB1)+ 轻触按键(PA1,10 kΩ 上拉) | 仅网关节点带蜂鸣器;按键仅测量节点带 |
| 供电 | Type-C 5 V 直供 | 三块节点板各自独立取电并共地 |
| 服务端 | JeeSite 平台 + Java SpringBoot + MySQL | 内嵌 MQTT 客户端,双主题收发 |
| 管理前端 | Bootstrap | Web 管理端与移动端共享业务接口 |
| 移动端 | HBuilder 打包,webview 承载 H5 | 与 Web 端共用同一套接口 |
通信采用双链路:节点间走 433 MHz 无线串口透传 ,节点上云走 Wi-Fi 承载的 MQTT 发布 / 订阅。
一、项目基本情况
1.1 系统构成
系统由三块独立 PCB 构成,两个测量节点硬件同构、程序同源,仅以节点编号区分数据来源。
| 节点 | 主要器件 | 职责 |
|---|---|---|
| 网关节点 | STM32F103C8T6、OLED12864、ESP8266(ESP-01S)、HC-14 无线 433 模块、蜂鸣器 | 接收两路重量上报,累加求得总重量;本地显示与超重告警;经 Wi-Fi 以 MQTT 协议上云 |
| 测量节点 1(A) | STM32F103C8T6、OLED12864、HX711、HC-14 无线 433 模块、按键 | 采集本路重量,均值滤波与稳定判定,本地显示,经无线模块上报 |
| 测量节点 2(B) | 同测量节点 1 | 同上,以节点编号 B 区分数据来源 |
总重量口径为 累加求和 而非 单路等值:网关节点将两路数值相加得到总重量,与真实地衡「累加所有传感器」的计量方式一致。因此两路各自独立校准、独立补偿,测点数增加时只需继续累加。
1.2 关键技术特征
- 双链路分工:节点间链路只承载结构极简的重量报文,由 433 MHz 模块完成调制解调;上云链路承载带主题寻址的发布 / 订阅消息。两条链路在物理层彼此独立。
- 双主题方向隔离:上报与下发使用一对相互隔离的主题,服务端与设备各自订阅自己那一侧,不会出现回声。
- 均值滤波与稳定判定:对连续采样作均值滤波;仅当读数持续稳定达到设定时长(约 5 s)才判定为一次有效称重,云端写入以此为前置条件。
- 偏载容错:对两路分量的差异设置比较上限,超出时提示「偏载 / 摆放异常」,而不是把已失真的总和直接写入记录。
1.3 典型工作流程
- 空载待机:测量节点持续采样,OLED 末行显示「请放置物品」,不上报有效数据。
- 加载与稳定:读数持续约 5 s 稳定在同一值带内,OLED 末行切换为「称重稳定」。
- 无线上报:测量节点经 433 MHz 模块上报本路重量,网关节点按节点编号区分 A / B。
- 汇总与反馈:网关节点累加得到总重量并刷新 OLED;越限时驱动蜂鸣器发声。
- 上云与落库:网关节点发布至上报主题,服务端解析后写入数据库。
- 业务登记:用户在 APP 侧填写车辆牌照、是否超重、收费金额与货物信息后提交保存。
二、系统架构设计
2.1 系统总体架构
系统自下而上划分为四层:感知层(两块测量节点)、汇聚层(网关节点)、网络传输层(MQTT 双主题 + 公共 Broker)、应用层(APP 与云端服务)。

图 1 系统总体架构图(四层划分与两条链路)
2.2 系统功能结构

图 2 系统功能结构图(硬件 / 软件 / 交付服务)
2.3 硬件系统原理框图

图 3 硬件系统原理框图(含实测引脚分配)
把三块节点的引脚分配汇总如下,可直接用于二次开发与故障排查。
| 节点 | 外设 | 主控引脚 |
|---|---|---|
| 测量节点 A / B | HX711(模数转换) | SCK → PB10,DT → PB11 |
| 测量节点 A / B | OLED12864(显示) | SCK → PB6,SDA → PB7 |
| 测量节点 A / B | HC-14 无线 433 模块 | TXD → PA10,RXD → PA9 |
| 测量节点 A / B | 按键(10 kΩ 上拉至 5 V) | PA1 |
| 网关节点 | HC-14 无线 433 模块 | TXD → PA3,RXD → PA2 |
| 网关节点 | ESP8266(ESP-01S) | RX → PA9,TX → PA10 |
| 网关节点 | OLED12864(显示) | SCK → PB6,SDA → PB7 |
| 网关节点 | 蜂鸣器(另一端接 GND) | PB1 |
易错点 :测量节点与网关节点的无线模块串口引脚分配并不相同 ------ 网关节点用
PA2 / PA3,测量节点用PA9 / PA10。两块板原理图独立,固件不可交叉烧录。
2.4 网关节点与测量节点电路

图 4 网关节点电路原理图(嘉立创 EDA 绘制)

图 5 测量节点电路原理图(与网关节点分属两套图纸)
2.5 数据交互时序

图 6 系统数据交互时序图(四泳道)
2.6 MQTT 主题结构与通信参数
上云链路以 MQTT 主题完成寻址,主题为三级结构:
| 主题层级 | 取值 | 含义 |
|---|---|---|
| 第一级 | mybs |
项目命名空间前缀 |
| 第二级 | bsdata / bsctr |
数据类别:上报数据 / 下发指令 |
| 第三级 | 2462AB65F2F2 |
设备标识 |
实机配置记录中的完整参数如下,可直接复制使用:
MQTT 主机名 : broker-cn.emqx.io
Wi-Fi SSID : 8266wifi
Wi-Fi 密码 : 123456789
数据上报主题 : mybs/bsdata/2462AB65F2F2
指令下发主题 : mybs/bsctr/2462AB65F2F2
串口参数 : 115200 / 8 / N / 1
终端标识 : ZDBH01
主题即路由:服务端无需维护设备连接表,新增终端只需在设备侧配置正确的主题;权限与限流可按主题前缀粒度下发,便于在公共 Broker 上做隔离。
2.7 硬件实物与联调
系统实物为三块独立节点板,通过杜邦线连接 HX711 模块与应变式称重传感器。传感器为金属应变梁结构,安装在亚克力承重盘下方;调试时以标准砝码或已知质量的物件作为加载对象。

图 7 整机联调现场(三节点板、承载托盘与加载物件)

图 8 网关节点主控板特写(OLED 显示两路分量与总重量)

图 9 双测量节点与称重传感器(OLED 显示两路独立读数)
三、系统界面展示
移动端 APP 由 HBuilder 打包而成,界面以 webview 控件承载 H5 页面实现,与 Web 管理端共享业务接口。以下数值均取自系统实测截图。
3.1 登录与首页

图 10 登录界面与首页功能入口(九宫格布局)
3.2 实时数据监测与稳定判定
实时数据页上方为状态栏(刷新倒计时 + 设备在线状态),其下依次为终端选择、总重量、测量点 A 与测量点 B 的分量、当前状态与更新时间。实测一组数据为:总重量 140,测量点 A 113,测量点 B 27,状态「测量中」,更新时间 2026-04-18 11:55:05。
页面下方的「业务管理」区承载写入所需的业务字段。系统对写入设有前置条件:仅当重量判定为稳定时才允许保存,否则弹出「重量稳定后才能保存!」提示 ------ 这与节点侧的稳定判定逻辑形成前后呼应。

图 11 实时数据监测界面与「重量稳定后才能保存」校验提示
3.3 历史称重记录与重复校验
历史数据查询页按时间倒序列出记录,单条记录含终端编号、测量时间、总重量(括号内为两路分量)、车辆、货物与是否超重六项字段。实测四条记录可用来交叉验证累加口径。
| 测量时间 | 总重量(A / B) | 车辆 | 货物 | 是否超重 | 校验 |
|---|---|---|---|---|---|
| 2026-04-18 11:55:29 | 140(113 / 27) | 陕A66552 | 蔬菜 | 超重 | 113 + 27 = 140 ✓ |
| 2026-04-18 11:48:28 | 218(114 / 104) | 陕A99954 | 蔬菜 | 超重 | 114 + 104 = 218 ✓ |
| 2026-04-18 11:47:53 | 190(114 / 76) | 陕A99955 | 蔬菜 | 超重 | 114 + 76 = 190 ✓ |
| 2026-04-18 10:56:22 | 923(730 / 193) | 陕A99885 | 机械设备 | 超重 | 730 + 193 = 923 ✓ |
除记录留痕外,系统对同一车辆的重复过磅设置提醒:检测到短时间内再次过磅时弹出「该车辆已记录,请确认是否再次记录?」确认框,可避免因车辆未及时驶离承载面造成的重复记录。

图 12 历史称重记录查询与同一车辆重复过磅提醒
3.4 终端管理
终端管理页字段为终端编号、终端名称与终端状态。实测终端编号 ZDBH01,终端名称「地衡系统」,终端状态「在线」。

图 13 终端列表与终端详情(编号 ZDBH01 / 在线)
3.5 个人中心与账号安全

图 14 个人中心与个人信息页(含账号安全入口)
3.6 界面与后端能力的对应关系
| 界面板块 | 交互 | 对应后端能力 |
|---|---|---|
| 登录 / 注册 | 账号密码登录,注册校验手机号唯一性 | 用户认证、账号管理、权限分配 |
| 首页九宫格 | 四个功能入口导航 | 各业务模块入口路由 |
| 实时数据 | 查看总分与两路分量,填写业务字段并保存 | MQTT 上报解析、实时推送、记录写入 |
| 历史数据 | 按时间浏览、按车辆牌照检索、重复过磅提醒 | 记录分页查询、条件检索、去重校验 |
| 终端管理 | 查看编号 / 名称 / 在线状态,进入详情修改 | 终端注册、在线状态维护、参数下发 |
| 个人中心 | 修改姓名与电话、修改密码、退出 | 用户信息维护、密码校验与更新 |
四、系统视频展示
配套演示视频采用「屏幕录制 + 实机拍摄」的双画面形式:左侧为 EDA 中的原理图与界面操作录屏,右侧为三块节点板与称重传感器的实机画面,两侧画面同步推进。

图 15 演示视频封面(左:原理图与界面录屏;右:实机联调画面)
建议观看顺序:① 硬件连接与上电 → ② 空载与加载(观察「请放置物品」与「称重稳定」的切换)→ ③ 网关汇总(两路分量与总重量同步更新、超阈值蜂鸣器动作)→ ④ APP 实时数据与历史记录(刷新、稳定判定提示、重复过磅提醒)。
五、获取方法
5.1 交付清单
| 类别 | 内容 |
|---|---|
| 硬件实物 | 网关节点 1 块、测量节点 2 块,含 HX711 模块、应变式称重传感器、HC-14 无线 433 模块、ESP8266(ESP-01S)、OLED12864、蜂鸣器与按键 |
| 程序源码 | STM32 侧边缘程序(测量节点与网关节点两套 Keil 5 工程)与 Java 服务端程序 |
| 硬件资料 | 主节点与子节点两套原理图(嘉立创 EDA 源文件与 PDF / 图片导出)、PCB 打样文件 |
| 文档资料 | 数据库还原说明、Wi-Fi 与通信参数说明、软件环境下载说明 |
| 演示材料 | 系统演示视频(含无水印版与水印版)、项目介绍文档与配图 |
| 技术服务 | 远程协助环境搭建、程序烧录与调试,交付后的小修答疑 |
5.2 获取方式
在 CSDN 博客下方留言或发送私信,注明项目编号 X604061 与项目名称「基于无线传输的地衡系统」;收到后按「程序源码 / 硬件资料 / 文档资料」三类分别交付。
5.3 技术支持
源码获取、技术支持请联系 绿泡泡 xswzls
附录 A 参数速查(可直接复制)
# 无线节点与云端
Wi-Fi SSID : 8266wifi
Wi-Fi 密码 : 123456789
MQTT 主机名 : broker-cn.emqx.io
上报主题 : mybs/bsdata/2462AB65F2F2
下发主题 : mybs/bsctr/2462AB65F2F2
串口参数 : 115200 / 8 / N / 1
终端标识 : ZDBH01
# 引脚(测量节点 A / B)
HX711 SCK -> PB10 DT -> PB11
OLED SCK -> PB6 SDA -> PB7
无线 TXD -> PA10 RXD -> PA9
按键 -> PA1(10 kOhm 上拉至 5V)
# 引脚(网关节点)
无线 TXD -> PA3 RXD -> PA2
ESP8266 RX -> PA9 TX -> PA10
OLED SCK -> PB6 SDA -> PB7
蜂鸣器 -> PB1
附录 B 调试要点
- 节点间链路为 433 MHz 串口透传:MCU 写入无线模块串口的字节会被自动调制发出,接收侧模块解调后从串口吐出。因此排查链路时先确认两侧波特率一致,再确认引脚未接反(模块 TXD 接 MCU RX、模块 RXD 接 MCU TX)。
- 上云链路排查顺序建议为:Wi-Fi 是否连上默认热点 → 能否解析 MQTT 主机名 → 主题是否与设备标识一致 → 服务端是否已订阅上报主题。
- 称重读数异常时的排查顺序:先确认 HX711 的
DT / SCK未被互换,再核对单路校准系数,最后确认两路共地是否可靠。 - 出现「偏载 / 摆放异常」提示时,说明两路分量差异超过比较上限,应检查载荷在承载面上的摆放位置,而不是直接调整校准系数。
附录 C 素材说明
- 配图 15 张:自绘 4 张(图 1 系统总体架构、图 2 系统功能结构、图 3 硬件系统原理框图、图 6 系统数据交互时序),真实素材 11 张(2 张原理图、3 张硬件实拍、5 张 APP 双屏、1 张视频封面)。
- 原理图为嘉立创 EDA 导出的 PNG,已裁去白边并放大至 1400 宽;配图文件夹中另存同分辨率原图,可按需替换。
- APP 界面采用两块 1170×2532 手机截图横向拼接为一张,以在正文栏宽下保留表单文字的可辨识度。
- 界面截图中的车辆号牌、货物名称、用户姓名与手机号均来自演示环境,用于说明字段结构,不具备现实对应关系。
- 项目目录下另有
APP全景图.png(16703×2532,14 屏横向拼合),因缩放后文字不可辨识,未用于本稿配图。