摘  要:为解决传统快递配送中取件效率低、管理不便捷等问题,设计并实现了一款基于单片机的智能快递柜控制系统。系统以STM32单片机为主控制器,融合RFID识别、键盘输入、电磁锁驱动、状态检测及液晶显示等技术,支持RFID卡片识别和4位数字取件码两种取件方式,可实时检测柜门开关状态,并通过OLED液晶屏展示快递柜整体运行信息,同时具备柜门未关超时报警、快递存放后自动生成取件码等功能。测试结果表明,该系统响应时间≤0.5秒,柜门开启超时报警触发逻辑准确,取件与存件操作流程简洁,界面交互直观,能满足社区、写字楼等场景的快递自助存取需求,具有成本低、稳定性高、扩展性强的特点。

关键词:单片机;智能快递柜;RFID识别;状态检测;LCD显示;电磁锁驱动

AbstractTo address issues such as low pickup efficiency and inconvenient management in traditional express delivery, an intelligent express cabinet control system based on a microcontroller is designed and implemented. The system uses an STM32 microcontroller as the main controller, integrating technologies such as RFID identification, keyboard input, electromagnetic lock driving, state detection, and liquid crystal display. It supports two pickup methods: RFID card identification and 4-digit pickup code. It can real-time detect the door switch status and display the overall operation information of the express cabinet through an OLED screen. Additionally, it features functions such as timeout alarm for unclosed cabinet doors and automatic generation of pickup codes after express storage. Test results show that the system has a response time of ≤ 0.5 seconds, accurate triggering logic for door opening timeout alarm, simple pickup and storage operation processes, and intuitive interface interaction. It can meet the needs of self-service express storage and retrieval in scenarios such as communities and office buildings, and has the characteristics of low cost, high stability, and strong scalability.

Key words:Microcontroller; Intelligent Express Cabinet; RFID Identification; State Detection; LCD Display; Electromagnetic Lock Driving

目  

1  绪论

1.1  研究背景与意义

1.2  国内外研究现状

1.3  研究内容与目标

1.4  论文结构

2  系统总体设计

2.1  系统设计原则

2.2  系统整体架构设计

2.3  系统功能模块划分

2.4  核心硬件选型

3  系统硬件电路设计

3.1  硬件电路整体设计思路

3.2  单片机最小系统电路

3.3  输入模块电路设计

3.3.1   RFID识别电路

3.3.2  键盘输入电路

3.4   OLED显示电路设计

3.5  电磁锁驱动电路设计

3.6  柜门状态检测电路设计

3.7  蜂鸣器报警电路设计

4  系统软件程序设计

4.1  软件设计整体思路与开发环境

4.1.1  整体设计思路

4.1.2  开发环境

4.2  系统初始化程序

4.3  输入模块程序设计

4.3.1   RFID识别程序

4.3.2  键盘扫描程序

4.4   OLED显示程序设计

4.5  取件码生成与验证程序

4.6  电磁锁与柜门状态检测程序设计

4.6.1  电磁锁控制程序

4.6.2  柜门状态检测程序

4.7  报警模块程序设计

4.8  主程序设计

5  系统调试与结果分析

5.1  系统调试方案

5.2  硬件调试

5.3  软件调试

5.4  系统联合调试与结果分析

5.5  系统设计的不足与优化方向

参考文献

致谢

附录

1  绪论

1.1  研究背景与意义

伴随着电子商务的迅速发展,快递业也进入了高速扩张期,末端配送环节的效率和服务水平成了影响整个行业发展的重要因素。传统的手工派送方式由于收件人不在家,重复派送次数多,临时保管混乱等问题愈加明显[1]。在此情况下,智能快递柜属于改善终端物流服务体系的关键设施,凭借着24小时存取服务的优势,很好地解决了快递派送的“最后一公里”问题,在提高作业效能的同时缩减了人力成本,极大地提升了资源的利用率。

本文以经济性和可靠性为主要的设计目标,专门为小型化、个性化快递柜系统设计了一个基于单片机的智能快递柜控制系统[2]。本系统硬件结构比市面上主流商用快递设备要简捷得多,在投入研发费和后期维护费方面都占有明显的优势,具备很好的环境适应性,可以被广泛地应用到社区服务站、高校宿舍区、商业楼宇等各种场景之中,有着非常高的实际应用价值。本系统的系统技术主要包含微处理器调度管理、传感器数据采集分析、RFID标签识别处理、用户界面交互四个部分,给嵌入式系统研究及工程应用给予了有力的技术支持和经验参照。

1.2  国内外研究现状

相对于我国而言,国外智能快递柜的发展开始的更加早一些,它的技术体系以及商业模式也较为接近完全成熟[3]。亚马逊的Amazon Locker系统、德国DHL的Packstation服务都有典型代表,它们依靠精密传感技术、物联网通信网络和云端数据分析平台来达到功能集成的目的,具备明显的技术智能化、数字化特点。因为成本高、定制化需求大,所以在小范围内,其使用受到限制。

近几年来,我国智能快递柜产业飞速发展,以顺丰丰巢、中通兔喜为代表的龙头企业已经完成了大规模的商业化运营。主流设备大多使用的是将嵌入式系统和云端服务器结合起来的技术架构,可以提供各种取件方式(扫码、短信验证码、人脸识别等),但是存在硬件复杂度高、运维成本高的问题[1]。针对这种情况,陈晨等人提出一种以STM32F103ZE微控制器为基础设计出的一种智能快递存取柜的方案,在系统中集成了摄像头、GSM模块(Sim900A)、Wi-Fi模块(ESP8266)、触摸屏等各种组件,从而达到自动完成快递寄送和领取服务,还可以对系统进行远程监控的目的。该方案以触控屏为用户提供交互界面,用GSM模块发送取件提示短信;通过ESP8266 Wi-Fi模块进行实时状态的远程查看,又加上了16路PWM输出(PCF8574)和MP3语音播报功能,使得系统变得更加灵活、更加方便使用。王磊等人为STM32F103ZET6核心板设计了智能快递箱方案,利用HC-SR501红外传感器检测格口是否被占用了,并使用压力传感器准确地确定了物品取出的过程,部分设备上还装有SIM800C GSM模块来发出取件的提醒信息,并且有些设备内置ESP8266 Wi-Fi模块从而可以对数据进行远程传输[2]。软件设计使用多任务调度框架来改进操作流程,实现条形码/二维码扫描解锁储物仓门的功能,并且使用EEPROM或者Flash闪存单元作为本地存储介质来保证迅速反应,在条件允许的情况下还可以和互联网上的数据库进行在线更新。安全上李梦、张远提出了一个基于STM32F103微控制器指纹识别电子锁控制系统,用R305指纹感应模块采集信息,经过UART接口完成身份认证的过程[3]。系统采用XG-07型电磁驱动装置控制柜门开闭,并设蜂鸣器做为紧急信号;连续错误的次数超过设定的阈值,启动安全的方案,用LCD显示屏显示最新的运行情况。赵峰、刘畅对STM32单片机和其他外设协同工作是否可行进行了详细的研究,重点放在了将指纹识别技术和4×4矩阵按键结合起来做双重身份验证的方面[4]。从硬件上来说,指纹采集模块采用串行通信协议同主控单元交流;键控电路利用GPIO引脚来接通继电器实施物理解锁逻辑,进而形成起高效的、可靠的防护系统。刘洋、周敏共同设计了一款使用STM32F407型号单片机以及ESP8266Wi-Fi模块建立无线通讯方式来实现对各个地方商品库存变动情况和过往交易记录的一种系统,给管理员提供实时查看各类货物库存情况及历史订单信息的操作体验。同时增设红外光电传感器实时检测柜门开闭状态,出现非授权开锁的情况就会立刻发出报警声音、发出光信号,并将报警信息发送到移动终端上[5]。陈明带领的研究团队关注节能减排问题,针对传统快递柜待机耗电大、抗干扰差的问题展开专项研究,用编程手段控制系统在非高峰时段转节能模式延长电池寿命,使用屏蔽材料来抑制RFID标签和蓝牙模块的干扰,简化磁吸式电磁锁驱动电路的设计,把大部分负载放在MOSFET晶体管上,降低MCU的工作负担。吴婷另辟蹊径地把RFID射频识别技术用到STM32平台上,设计出一台带有RC522 RFID读写器和TFT液晶显示器的多功能终端设备,除了正常的刷卡、密码输入以外,还可以用智能手机APP来生成临时通行证进行开门。所有的敏感数据都用RSA公钥加密算法加密后存入到E2PROM非易失性存储单元当中,从而构筑起多层的安全防御体系来防范黑客的攻击[6]。实验结果表明,即便遭受物理上的破坏或者被恶意破解,也会保证核心的隐私信息不会泄露出去。高翔和林燕试图提高现有的产品智能化程度,由于传统快递柜只能完成基本的物流任务,在新的时代背景下无法满足各种各样的需求,因此重新考虑硬件的设计标准以及固件底层代码[7]。在硬件上使用先进的封装工艺来提高整机的可靠性,在软件方面则用深度学习算法来预测用户的日常行为模式,进而提前预知并做好相应的准备工作。综上所述可知,在我国科研人员正在积极解决智能快递柜领域出现的诸多技术难题,并开始形成具有竞争力的产品和新的服务模式[8]。

1.3  研究内容与目标

本文以STM32系列微控制器为基础,对小型智能快递柜的控制进行设计和实现。本研究主要从如下几个方面入手,即搭建以主控芯片、RFID读写器、人机交互部分、电磁锁驱动电路、状态检测单元、报警系统为基本组成元素的多模块整合型硬件平台,并同时创建嵌入式操作系统的软硬件结构框架,集中处理取件凭证生成、用户认证、柜门开关协调控制、运行状态动态检测、故障自我预警、人机交互提升等主要功能;之后经由系统测试来检验整套系统的性能,保证各个子系统之间互相配合达到所期望的目标。

本文的主要目的为实现以下几个目标,把RFID标签和四数字取件码结合起来,准确地识别出包裹并控制柜门开关,利用OLED显示屏保证响应时间小于0.5秒,实时显示快递柜工作状态和用户交互信息,提高柜门检测的准确性,在开门超过十秒的时候发出预警信号,增加存储后编码生成模块,建立快件和储位之间的对应关系,最后设计出高效、便捷、有实际应用价值的智能化快递收发管理系统,其整体性能要达到可靠性高、稳定性好的技术规范要求。

1.4  论文结构

本文一共分为五章,具体如下表所示。

2  系统总体设计

2.1  系统设计原则

本系统以实用性为设计核心,在满足低初始投资的基础上达到高效率、高可靠性的目的,并且考虑了操作方便以及功能拓展的需要。从应用层面来讲,它的目标就是精准地适配快递自助存取场景,依靠改良的人机交互逻辑来加强多用户群体的操作体验,在成本控制上,则依靠经济型硬件选型和精简电路架构的设计方法大大削减开发和制造的费用。就系统稳定性而言,主要研究运行过程中存在的各种问题,并努力提高各个组件的服务性能以及决策算法的可靠性。界面友好性属于决定用户体验好坏的重要因素,突出创建直观易懂的人机交互环境,给出明确的指引信息,使得用户无需再次学习就能迅速学会使用服务功能。系统具有较好的可扩展性,用模块化的设计思想来构造硬件平台和软件框架,给将来功能的扩充(增加新的存储单元或者集成新的识别技术等)提供技术上的支持。

2.2  系统整体架构设计

本嵌入式系统用本地化的控制系统结构,把STM32微控制器当作核心处理器单元,主要完成系统整个逻辑运算和调度管理工作。其大体上是由输入采集、主控中心、输出执行、状态监控、报警提示这五个主要的功能性模块所构成的。输入端加装了RFID读卡器、四键数字键盘,RFID读卡器可以用来对身份进行认证以及包裹的提取码读取,四键数字键盘可以对存包进行存包操作,输入模块用硬件接口采集数据,然后把数据传给主控单元。主控模块采用STM32高性能单片机进行开发,具有很强的计算功能,可以对各个模块传来的数据进行综合分析,并做出相应的判断和决策,最后通过串行通信协议将控制命令发送给下级设备。输出层主要包含显示驱动电路(OLED屏幕等)和驱动模块,其中显示模块主要是对实时信息进行可视化展示,驱动模块是保证柜门开关等机械部分准确工作的。状态监测部分用多个传感器节点对储物格的状态进行监测,在出现危险的时候可以及时做出反应。当出现开门时间过长的异常时,报警装置(蜂鸣器等)就会发出警示信号。整个系统依靠软硬件结合的方式完成了模块之间的高效互动合作,最终形成了一套完备的智能化物流管理方案。

2.3  系统功能模块划分

按照系统设计的目标以及总体架构的要求,把它划分成六个相互独立但是又互相配合起来的子模块。各个单元都有明确的职能定位,依靠彼此间的密切合作来达到系统的整体性能改进目的。

为主控制系统提供中心控制单元的主控模块,其主要功能就是将各个输入模块采集到的数据进行综合分析,并根据处理结果作出判断,然后通过控制模块向输出模块、报警模块发出控制信号,使系统各子系统可以同步工作。

身份认证及取件码输入模块主要是由RFID读写装置和四键机械键盘两大部分组成。RFID读写器依靠电子标签得到用户的身份认证信息,机械键盘是快递寄收期间接收用户领取凭证或者寄件操作指令的设备。本模块所得到的信号经过转换成电信号形式之后,被传送到核心控制单元继续处理和执行。

OLED显示屏模块属于输出端口,它接收到主控单元下达的指令和数据信息之后,就会用实时更新的方式把快递柜所处状态及操作信息等信息呈现出来,给交互流程赋予直观且清楚的信息支撑[7]。

电磁锁执行机构,在主控模块发出的柜门开关指令的指挥下,利用驱动电路对电磁锁进行通断电控制,从而达到柜门开闭的目的,并且保证存取过程的安全性和可靠性。

柜门状态检测系统,在各个柜门关键部位布置传感装置来收集柜门开关动作的具体数据,再通过通信网络把采集到的数据传送到核心控制模块,进而达到实时跟踪柜门开闭状态、精准控制的效果。

该报警系统依靠的是蜂鸣器的触发响应,主要依靠主控单元检测到异常信号之后发出控制指令。如果柜门的打开时间超过了设定的10秒钟,而且没有马上闭合,则系统会自动发出蜂鸣器报警声,以达到提醒使用人的效果。

2.4  核心硬件选型

本研究选取STM32F103C8T6微控制器作为主控单元,STM32F103C8T6微控制器采用的是ARM Cortex-M3内核架构的设计方式,具有很好的运算性能、丰富的外设资源、低功耗管理特点。内部集成有各种通用的输入输出(GPIO)、串行外围设备接口(SPI),还有集成电路总线(I²C)等各种通信端口,可以满足各个模块间的数据交换以及准确控制的要求。与传统的STC89C52单片机相比,STM32F103C8T6因为具有处理速度快、稳定性强等优势,所以系统实现快速可靠运行有明显的优势。

本文采用的RFID读写模块核心部分为RC522芯片,工作频率范围为13.56MHz,严格控制在0到5cm的距离内,以达到更好的信号接收效果。本模块按照SPI总线通信结构设计,卡片识别精度高、响应速度快、体积小,在系统单片机环境中有很好的适配性。

本文采用的是128×64像素点阵OLED显示屏做为输出设备,该屏幕具有较好的兼容性以及直观性。其接口设计简单高效,可以实现快递柜工作状态和用户操作反馈的全方位可视展示。

干簧管传感器属于检测柜门开关状况的主要器件,它的工作机理依靠的是磁致效应对准技术。因为体积小、成本低、抗干扰好等特点,它被广泛应用于工业上。此种传感器可以通过单片机的GPIO接口进行数据交互,不需要再加复杂的信号调理电路就可以完成稳定的传输。

执行机构和报警系统设计方案中选用额定电压为12V的小型直流电磁铁作为主要驱动部件,衔铁吸引力可以满足快递柜门开关动作的要求,蜂鸣器部分采用内部电源模块的产品,通过单片机产生的PWM信号来完成启停控制和声光报警功能。

该键盘模块用4*1数字矩阵形式来接收四个码的取件输入和存储的指令数据。它既有着良好的信息录入功能,又很好地满足了系统要求。

5  系统调试与结果分析

5.1  系统调试方案

本研究所用到的调试方法为模块化调试和系统级联调相结合的调试方式,对所要测试的目标系统进行功能性以及性能参数方面的测试。整个测试过程包含硬件检测、软件调试和整机联调这三个主要部分。在硬件方面,主要是检测各个功能模块之间的电气连接是否可靠,利用专业的测试仪器观察元件工作是否正常,排除一些由于电气原因导致的故障(例如短路、断路等),软件方面则采用Keil MDK-ARM集成开发环境进行仿真调试,在虚拟环境和实际运行中寻找源代码中的语法错误和算法问题,并对其进行修正,对各个功能模块在实际运行中所表现出来的效果进行评价,最后将软件和硬件结合起来,在一个接近真实场景的环境下创建一个实验平台,对系统的综合协同情况以及各项技术指标是否达到预期要求做出全面验证。针对问题提出相应的解决办法并促使后续的设计优化以及技术革新。如图所示:

5.2  硬件调试

硬件调试采用万用表检测+模块单独测试的方法进行:

电路连通性检测时用万用表对各个节点及接线端子进行准确的测量及性能检测,从而找出有无短路、开路等隐患并评定硬件模块同微控制器之间电气连接是否可靠。

电源模块检测环节的核心要素是,在接通5V直流电源之后,测量AMS1117-3.3V稳压器的输出电压是否准确稳定在3.3V,检查各个功能模块的供电情况,保证其工作参数符合标准,并达到目的。如下图所示:

模块化独立测试阶段主要是对RC522 RFID读写芯片、OLED显示屏、电磁锁驱动机构、干簧管传感器、蜂鸣报警单元等主要部件进行单个供电检查和功能检验。测试主要目的为对RC522模块进行RFID标签数据读取性能的评价,对OLED屏幕显示功能的检查,电磁锁通电和失电时锁闭解锁的动作稳定性,干簧管对柜门开闭状态的反应是否灵敏以及蜂鸣器发出声响的频率、音量是否满足设计指标的要求。

硬件调试阶段因为部分按键出现虚焊的情况而造成功能单元失效,干簧管传感器的位置不准还会导致柜门开闭状态不能准确地被检测到。重新焊接按键之后,干簧管和磁铁的相对位置被调整,并且信号的传输也变的更加可靠。

5.3  软件调试

软件调试分为仿真调试与在线硬件调试:

在使用Keil MDK-ARM集成开发环境的时候,需要首先用编译器对源代码进行全面的检查,从而找出其中存在的语义错误和语法错误。然后可以利用软件仿真功能,调试模式下设置断点,逐步执行程序运行过程,观察变量和寄存器值变化情况来评价程序实际执行的效果是否满足预期设计要求。对取件编码生成算法、用户身份验证逻辑、储物箱状态检测机制、超时管理等各个功能单元做详细的测试分析。

硬件在环测试方法使用ST-Link仿真器把目标代码直接写入STM32微控制器来进行在线调试。该种方式采用动态监控外部接口状态变动及信号传递状况的方式来评定软件程序对于硬件架构是否具备兼容性,而且会表现出相应的性能情况。重点检测环节有RFID数据读取准确度、按键信号解析准确度和LCD显示内容一致性等几个主要的功能模块的检测效果。

软件调试阶段主要是对取件码生成模块中随机数重复问题的处理。利用优化的种子初始化算法加上多重去重校验来解决上述问题。就LCD显示屏响应迟滞问题而言,运用精简刷新指令,改良数据传输线路等方式,把显示时延控制在0.5秒以内。各个功能单元的运行比较稳定,逻辑运算的结果没有出现错误,也没有发现异常的情况。

5.4  系统联合调试与结果分析

本文利用仿真技术创建了快递存取系统集成测试平台,可以准确地再现实际的运营环境。选取储物格数量为10的样本群体,主要对RFID身份认证取件、二维码扫描取件、快递员投递作业、箱体状态监测、超时异常报警等功能模块的技术指标和性能参数进行检验,并用定量的方法来评价系统响应速度和人机交互体验。相关实验数据已经整理成表的形式供参考。

RFID取件模块的主要作用就是,用户拿上带有唯一标识符的RFID卡片靠近RC522读卡器的时候,这个设备可以在0.3秒内快速完成数据采集的任务。单片机接收到信息之后就开始进行身份验证处理,在0.5秒内控制相应的电磁铁执行解锁动作,并且同步到LCD屏幕上显示出“认证通过,第X号储物格已经开启”的信息提示。用户取出物品之后,柜门关好之后电磁铁就会再次被激活,然后实时显示当前库存信息。经多次测试证明,本模块没有出现误读、多开的情况,具有较好的可靠性、稳定性。

取件码认证和执行模块设计中给出的是一组具有特殊含义、并以此作为身份鉴别手段的字符序列。单片机接到输入数据之后,在0.4s内对输入的数据进行校核,根据结果驱动相应的储物柜门打开,并用LCD显示器显示状态提示信息。输入的内容不符合预设规范的时候,系统马上发出“取件码无效,请重新输入”的提示指令。完成一次有效的认证之后,该取件码的信息就会被标记成失效状态,从实验数据可以看出它的识别准确率以及运行稳定性都达到了预期目标,稳定值为100%。

快递物品编码生成模块当用户发起存件操作的时候,在0.3秒之内就能依靠算法自己产生带有指定标识信息的四位数字取件码。该取件码会通过液晶显示屏显示出来,并且和储物格位一一对应。为了保证取件码数据的安全、准确,系统用内部Flash存储器保存数据来防止重复输入、丢失等问题的发生,从而保证各个模块的正常运行。

OLED显示屏具有很好的刷新频率和画质,在快递柜存取状态显示、操作指引显示以及用户行为数据方面,都能很好地完成。其响应时间比0.5秒短很多,没有显示滞后或者画面失真的情况出现,界面布局也符合预先的设计规范并且达到预期的效果。

柜门状态监控及超时报警功能的实现原理为,干簧管传感器可以精确地对各个柜门的开合进行感知,在状态发生变化的时候,能在0.5秒之内通过液晶显示器显示相关信息。如果某一个柜门在10秒以上没有被关闭,那么系统就会发出警报。柜门重新关闭之后,报警信号就会停止。经过实验可知该模块具有较好的可靠性,在测试过程中没有出现误报、漏报的情况,各项性能指标也都满足预设标准。

经过系统综合性能的测试结果发现,系统在连续运行了24小时以后仍然能够满足各个功能模块之间的交互以及匹配的要求,具有很强的稳定性以及实用性。实验中没有出现过由于硬件故障、响应缓慢或者服务停止而导致的异常情况,说明其稳定性能达到现实应用的要求。

从整体的评价来看,本系统各项功能均达到预定的目的,各项性能指标都达到了行业的标准要求,运行稳定可靠,界面设计简单易懂,可以很好地完成快递自助存取以及全流程智能管理的主要任务。

5.5  系统设计的不足与优化方向

本文所开发的基于单片机的智能快递柜控制系统虽然已经取得了初步的效果,但是仍然存在许多需要解决的主要问题。一方面,目前的系统只能以本地的方式运行,没有相应的网络通信接口来完成远程操作、取件码即时通知、数据同步等远程功能,因此大大限制了系统的实用性以及应用范围;另一方面,从硬件上讲,设备配置较为简单,储物格数量较少,并且凭证信息是局部存储,不仅存储空间小,而且不能进行动态扩展。就安全方面而言,身份认证机制比较传统,大多采用RFID标签加四维数字密码的方式完成身份的确认,没有加入二维码扫码或者指纹识别这些先进的技术,这就会降低用户体验并且减弱系统的安全性保证水平。

根据以上分析,本文从以下几个主要方面来改进现有的体系:第一,在硬件上集成交叉板WiFi或者蓝牙模块(比如使用ESP8266主流开发板),搭建起物联网架构,完成设备同云端平台之间的数据交流,增添远程监测以及智能预警的功能,给予取件码推送、即时配送信息回馈、历史数据备份这些附加服务;第二,加入SD卡或者EEPROM存储部件,明显加大用户信息和物流轨迹的储存空间,按照环境状况恰当调节储物单元安排,满足各类场所的应用需求;第三,嵌入二维码解析装置并加入生物识别算法(例如面部识别),大大改善身份认证的安全性与方便程度;第四,用电策略上采取可拆卸电池的设计方式,可以支持AC电源供电和无线充电两种模式,提高系统可靠性和灵活性。

以上为部分内容节选,如您需要获取完整版,欢迎随时联系我们

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐