欢迎光临
我们一直在努力

《ESP32 物联网全栈实战-13》量产 Checklist

第 13 篇:量产 Checklist——从原型到产品,一条都不能少

原型跑通了,Demo 给老板看了。下一步:把面包板上的飞线变成能卖的产品。中间隔着十几道工序,这篇给你一个完整的 Checklist。


1. 硬件量产流程

原型验证 → 原理图设计 → PCB Layout → 打样 →
PCBA 贴片 → 外壳设计 → 开模 → 组装 → 测试 → 包装

PCB 设计要点

检查项常见坑
天线区域净空 ESP32 模块天线下方不能铺铜,否则信号-10dB
电源去耦 每个 VDD 脚放 100nF + 10μF,位置靠近引脚
强电隔离 220V 侧和低压侧开槽隔离,爬电距离 ≥6mm
继电器反接保护 继电器线圈并联续流二极管(1N4148)
烧录接口 预留 UART0 的 TX/RX/IO0/EN 测试点
ESD 保护 USB 口、按键、对外接口加 TVS 管

外壳设计

方案 A:公模(淘宝买现成外壳)→ 成本 ¥2-5,适合小批量(<1000)
方案 B:3D 打印 → 成本 ¥15-30,适合验证
方案 C:开模注塑 → 模具费 ¥3000-8000,单件 ¥1-2,适合大批量

建议:先公模验证市场,日销 >100 再开模。


2. WiFi 配网——三种方案齐上

产品不能写死 SSID。需要让用户方便地配网。

方案用户体验稳定性推荐度
BLE 配网 ★★★★★ 极好 ★★★★★ ⭐⭐⭐ 首选
SmartConfig ★★★ 一般 ★★★ 70%成功率 ⭐⭐ 备选
AP 模式 ★★ 麻烦 ★★★★★ ⭐ 兜底方案

推荐组合:BLE 为主 + AP 模式作为兜底(长按按键 5 秒进入 AP 模式)


3. OTA 升级——必须稳定

量产设备必须支持 OTA,否则一个 Bug 就召回。

OTA 策略:
1. 双分区(ota_0 / ota_1)→ 升级失败自动回滚
2. 从服务器下载前先比对版本号
3. 校验 MD5/SHA256 → 避免下载损坏
4. 分批推送(先推 1% 设备 → 观察 → 全量)
5. 保留降级能力(旧版本固件在服务器永久存档)


4. 安全——IoT 产品的命门

2016 年 Mirai 僵尸网络感染了数百万 IoT 设备,就是因为默认密码没改。

安全措施必须/建议说明
MQTT 用户名密码 ✅ 必须 每个设备独立密码,不要用同一个
TLS 加密 ✅ 必须 MQTT over TLS (8883端口)
OTA 固件签名 ⚠️ 建议 防止恶意固件刷入
关闭调试口 ✅ 必须 量产固件关闭 UART 日志
Flash 加密 ⚠️ 建议 防止固件被读出反编译
安全启动 ⚠️ 建议 防止非授权固件启动
默认密码 ✅ 必须 AP 配网模式加密码

最小安全方案(小产品够用):

// 1. MQTT 用 TLS
esp_mqtt_client_config_t mqtt_cfg = {
.broker.address.uri = "mqtts://your-broker.com:8883",
.broker.verification.certificate = server_cert_pem_start,
.credentials = {
.client_id = device_unique_id(),
.username = device_unique_id(),
.authentication.password = device_password(),
},
};

// 2. 关闭调试日志
esp_log_level_set("*", ESP_LOG_NONE); // 量产版本,关掉所有日志

// 3. AP 配网加密码
wifi_config_t ap_cfg = {
.ap = {
.ssid = "SmartSocket_Setup",
.password = "setup123456",
.max_connection = 1,
},
};


5. 云平台——从自建到商业

方案成本适用规模
Docker 自建 服务器 ¥100/月 < 1000 设备
EMQX Cloud 免费版 ¥0 < 5 设备
阿里云 IoT ¥0.01/设备/月 不限
腾讯云 IoT ¥0.01/设备/月 不限
涂鸦智能 按模块收费 快速出产品

建议路线:Docker 自建(验证)→ 阿里云/腾讯云 IoT(量产)


6. 量产测试——治具 + 自动化

100 台还能手动测,1000 台必须自动化。

# 产测脚本(Python)
import paho.mqtt.client as mqtt
import serial
import time

def test_device(serial_port):
"""单个设备测试"""
ser = serial.Serial(serial_port, 115200, timeout=5)

# 1. 上电 → 等待启动日志
line = ser.readline().decode()
assert "WiFi connected" in line, "WiFi 连接失败"

# 2. 连 MQTT → 等状态上报
client = mqtt.Client()
client.connect("192.168.1.100", 1883)

msg_received = False
def on_message(client, userdata, msg):
nonlocal msg_received
data = json.loads(msg.payload)
assert 200 < data["voltage"] < 250, f"电压异常: {data['voltage']}"
msg_received = True

client.on_message = on_message
client.subscribe("device/test/status")
client.loop_start()

# 等 10 秒
time.sleep(10)
assert msg_received, "MQTT 数据未上报"

return True # PASS


7. 认证——合规才能卖

认证适用范围费用(参考)
SRRC 所有带无线电的产品 ¥2-5 万
3C 220V 市电产品(插座类) ¥3-8 万
CE (出口欧盟) 出口欧洲 ¥1-3 万
FCC (出口美国) 出口美国 ¥1-3 万
RoHS 出口欧盟 ¥0.3-0.5 万

对于 ESP32 产品:如果用乐鑫官方模组(ESP32-C3-MINI-1),模组本身已过 SRRC 和 FCC → 整机认证会简化很多。


8. 量产 Checklist 汇总

□ 原理图 Review(至少 2 人交叉检查)
□ PCB 天线净空区域检查
□ 强电爬电距离检查
□ EMC 预测试(传导、辐射)
□ BLE 配网 + AP 配网均测试通过
□ OTA 升级 + 自动回滚测试通过
□ 连续运行 72 小时不重启
□ 产测脚本跑通 50 台
□ 说明书 + 包装设计完成
□ 认证申请提交
□ 售后流程建立


下一篇:专栏总结——你已经是 IoT 全栈工程师了

第 13 篇:量产 Checklist——从原型到产品,一条都不能少

原型跑通了,Demo 给老板看了。下一步:把面包板上的飞线变成能卖的产品。中间隔着十几道工序,这篇给你一个完整的 Checklist。


1. 硬件量产流程

原型验证 → 原理图设计 → PCB Layout → 打样 →
PCBA 贴片 → 外壳设计 → 开模 → 组装 → 测试 → 包装

PCB 设计要点

检查项常见坑
天线区域净空 ESP32 模块天线下方不能铺铜,否则信号-10dB
电源去耦 每个 VDD 脚放 100nF + 10μF,位置靠近引脚
强电隔离 220V 侧和低压侧开槽隔离,爬电距离 ≥6mm
继电器反接保护 继电器线圈并联续流二极管(1N4148)
烧录接口 预留 UART0 的 TX/RX/IO0/EN 测试点
ESD 保护 USB 口、按键、对外接口加 TVS 管

外壳设计

方案 A:公模(淘宝买现成外壳)→ 成本 ¥2-5,适合小批量(<1000)
方案 B:3D 打印 → 成本 ¥15-30,适合验证
方案 C:开模注塑 → 模具费 ¥3000-8000,单件 ¥1-2,适合大批量

建议:先公模验证市场,日销 >100 再开模。


2. WiFi 配网——三种方案齐上

产品不能写死 SSID。需要让用户方便地配网。

方案用户体验稳定性推荐度
BLE 配网 ★★★★★ 极好 ★★★★★ ⭐⭐⭐ 首选
SmartConfig ★★★ 一般 ★★★ 70%成功率 ⭐⭐ 备选
AP 模式 ★★ 麻烦 ★★★★★ ⭐ 兜底方案

推荐组合:BLE 为主 + AP 模式作为兜底(长按按键 5 秒进入 AP 模式)


3. OTA 升级——必须稳定

量产设备必须支持 OTA,否则一个 Bug 就召回。

OTA 策略:
1. 双分区(ota_0 / ota_1)→ 升级失败自动回滚
2. 从服务器下载前先比对版本号
3. 校验 MD5/SHA256 → 避免下载损坏
4. 分批推送(先推 1% 设备 → 观察 → 全量)
5. 保留降级能力(旧版本固件在服务器永久存档)


4. 安全——IoT 产品的命门

2016 年 Mirai 僵尸网络感染了数百万 IoT 设备,就是因为默认密码没改。

安全措施必须/建议说明
MQTT 用户名密码 ✅ 必须 每个设备独立密码,不要用同一个
TLS 加密 ✅ 必须 MQTT over TLS (8883端口)
OTA 固件签名 ⚠️ 建议 防止恶意固件刷入
关闭调试口 ✅ 必须 量产固件关闭 UART 日志
Flash 加密 ⚠️ 建议 防止固件被读出反编译
安全启动 ⚠️ 建议 防止非授权固件启动
默认密码 ✅ 必须 AP 配网模式加密码

最小安全方案(小产品够用):

// 1. MQTT 用 TLS
esp_mqtt_client_config_t mqtt_cfg = {
.broker.address.uri = "mqtts://your-broker.com:8883",
.broker.verification.certificate = server_cert_pem_start,
.credentials = {
.client_id = device_unique_id(),
.username = device_unique_id(),
.authentication.password = device_password(),
},
};

// 2. 关闭调试日志
esp_log_level_set("*", ESP_LOG_NONE); // 量产版本,关掉所有日志

// 3. AP 配网加密码
wifi_config_t ap_cfg = {
.ap = {
.ssid = "SmartSocket_Setup",
.password = "setup123456",
.max_connection = 1,
},
};


5. 云平台——从自建到商业

方案成本适用规模
Docker 自建 服务器 ¥100/月 < 1000 设备
EMQX Cloud 免费版 ¥0 < 5 设备
阿里云 IoT ¥0.01/设备/月 不限
腾讯云 IoT ¥0.01/设备/月 不限
涂鸦智能 按模块收费 快速出产品

建议路线:Docker 自建(验证)→ 阿里云/腾讯云 IoT(量产)


6. 量产测试——治具 + 自动化

100 台还能手动测,1000 台必须自动化。

# 产测脚本(Python)
import paho.mqtt.client as mqtt
import serial
import time

def test_device(serial_port):
"""单个设备测试"""
ser = serial.Serial(serial_port, 115200, timeout=5)

# 1. 上电 → 等待启动日志
line = ser.readline().decode()
assert "WiFi connected" in line, "WiFi 连接失败"

# 2. 连 MQTT → 等状态上报
client = mqtt.Client()
client.connect("192.168.1.100", 1883)

msg_received = False
def on_message(client, userdata, msg):
nonlocal msg_received
data = json.loads(msg.payload)
assert 200 < data["voltage"] < 250, f"电压异常: {data['voltage']}"
msg_received = True

client.on_message = on_message
client.subscribe("device/test/status")
client.loop_start()

# 等 10 秒
time.sleep(10)
assert msg_received, "MQTT 数据未上报"

return True # PASS


7. 认证——合规才能卖

认证适用范围费用(参考)
SRRC 所有带无线电的产品 ¥2-5 万
3C 220V 市电产品(插座类) ¥3-8 万
CE (出口欧盟) 出口欧洲 ¥1-3 万
FCC (出口美国) 出口美国 ¥1-3 万
RoHS 出口欧盟 ¥0.3-0.5 万

对于 ESP32 产品:如果用乐鑫官方模组(ESP32-C3-MINI-1),模组本身已过 SRRC 和 FCC → 整机认证会简化很多。


8. 量产 Checklist 汇总

□ 原理图 Review(至少 2 人交叉检查)
□ PCB 天线净空区域检查
□ 强电爬电距离检查
□ EMC 预测试(传导、辐射)
□ BLE 配网 + AP 配网均测试通过
□ OTA 升级 + 自动回滚测试通过
□ 连续运行 72 小时不重启
□ 产测脚本跑通 50 台
□ 说明书 + 包装设计完成
□ 认证申请提交
□ 售后流程建立


下一篇:专栏总结——你已经是 IoT 全栈工程师了

赞(0)
未经允许不得转载:171主机测评 » 《ESP32 物联网全栈实战-13》量产 Checklist
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址