上周帮朋友的小超市设计了一套汽水自动补货系统,用最基础的硬件和代码就解决了他们每天手动盘点库存的痛点。这个方案特别适合夫妻店、小卖部这类场景,成本控制在200元以内,但能节省每天1-2小时的人工盘点时间。
核心解决三个问题:
对比了三种方案后选择了ESP32-C3开发板(单价25元),理由很实在:
注意:不要选ESP8266,虽然便宜5块钱但断电容易丢配置,后期维护成本反而高
测试了三种传感器方案:
| 方案 | 成本 | 准确率 | 安装难度 |
|---|---|---|---|
| 称重传感器 | 120元 | 95% | 高 |
| 红外对射 | 35元 | 88% | 中 |
| 激光雷达 | 280元 | 99% | 低 |
最终选择红外对射方案,虽然要手工调整发射/接收器的位置,但考虑到:
核心逻辑是通过红外遮挡次数计算存量,但实际测试发现两个坑:
解决方法:
python复制# 添加防抖逻辑
def count_bottle():
last_state = 0
bottle_count = 0
while True:
current_state = read_sensor()
if current_state != last_state:
time.sleep(0.3) # 防抖延时
if read_sensor() == current_state:
bottle_count += 1
last_state = current_state
没有用企业微信API(要营业执照认证),而是通过:
code复制{{time.DATA}}
{{name.DATA}}冰柜告急!
当前库存:{{num.DATA}}瓶
建议补货:{{items.DATA}}
发现早晚温差会导致计数漂移,解决办法:
code复制实际数量 = (当前读数 - 基准值) * 温度补偿系数
实施三个月后的数据:
后续准备升级的功能: