一、背景

某电子制造企业的原材料仓库,物料以“库位 → 载物托盘 → 取样盒”三级载体进行流转。每个生产任务对应唯一的任务码(系统生成)。库位、托盘、取样盒均配备RFID标签,支持系统读写。

实际作业中存在以下痛点:

作业员从托盘取料放入取样盒时,可能多取(超出任务所需数量),需要将多余物料快速归还到正确的托盘中。
归还时,操作员容易因记忆模糊或仓位标识不清,将物料放错托盘(例如放回相邻仓位),导致库存混乱。
需要一种直观的引导方式,让操作员扫描取样盒RFID后,货架上对应原托盘的LED立即亮起,指引归还位置。

本题目要求参赛者在实现完整的多层级出入库与任务追溯的基础上,增加快速归还引导功能。

 

二、任务

设计并制作一套基于RFID的多层级智能仓储与快速归还系统。系统需以Wi-Fi联网MCU(如ESP32-S3)为核心,配备RFID读写模块(读取托盘、取样盒标签)、WS2812 LED灯带(每个仓位/托盘对应一组灯珠),实现以下核心能力:

四码关联绑定:库位ID、托盘RFID、取样盒RFID、任务码,四者可在系统中建立动态关联。
分批取料与余量管理:支持按任务码取料(从托盘到取样盒),自动更新托盘库存。
快速归还引导:操作员扫描取样盒RFID,系统自动查询该取样盒最后一次是从哪个托盘取料,然后点亮对应托盘位置的LED灯珠,引导操作员将多余物料放回正确托盘。
归还确认与库存恢复:操作员归还物料后,在界面确认,系统自动增加对应托盘的库存数量,并解除取样盒与当前任务的绑定(或标记为已归还)。

 

三、关键技术说明

1、快速归还的数据流设计
● 取料记录表字段:record_id, task_code, sampling_box_uid, source_tray_uid, source_location, take_quantity, timestamp, is_returned(默认False)
● 扫描取样盒时,查询该盒最近一条 is_returned=False 的记录 → 获取 source_tray_uid → 查找该托盘绑定的库位 → 控制LED点亮
● 确认归还后,更新该记录的 is_returned=True,并更新托盘库存(增加 take_quantity)


2、LED灯带与仓位映射
● WS2812灯带:每个托盘/库位对应一组灯珠(例如3个灯珠为一个仓位)
● 系统维护一个映射表:tray_uid → led_index(或 location_id → led_index)
● 点亮方式:使用ESP32的RMT驱动,发送指定颜色(如绿色)到对应索引的灯珠


3、硬件最小系统建议
● 主控:ESP32-S3-DevKitC-1
● RFID模块:MFRC522(SPI接口)
● LED灯带:WS2812B(8位或16位,GPIO任意)
● LCD触摸屏:3.5寸SPI电容屏(可选,但推荐)
● 电源:Type-C 5V 2A


4、操作系统与开发框架
● 推荐使用 ESP-IDF(官方IoT框架)或 Arduino-ESP32(快速原型)
● 数据库:可使用 SPIFFS + JSON 或 SQLite3 for ESP32(需移植)
● Web前端:使用 ESPAsyncWebServer 提供 REST API + HTML/JS 页面


四、适用对象
综合了嵌入式、数据库、RFID、LED控制、前后端全栈;适合已修完单片机课程、具备一定嵌入式开发经验(ESP-IDF/Arduino)、了解数据库设计的人群。