蔡雨宏, 陈湘萍
(贵州大学 电气工程学院, 贵阳 550025)
随着科技进步和经济飞速发展,“网购”和“快递”越来越多地走进了人们的日常生活中[1]。对于快递行业来说,这既是发展的契机,但随即带来的挑战也不容小觑。目前,人们更多关注的是快递的运输安全问题,并期望良好的服务态度[2]。但仅就时下的快递行业而言或多或少还存着着一些问题,比如说:快递签收困难,快递管理费时费力等。
综合以上分析,本文研究一种基于STM32的智能快递柜。该系统以STM32F407作为主控芯片,配备了红外传感器、电话通信、信息录入以及继电器模块等一系列模块,能够自动根据送货员提供的客户手机号,在合适的时间自行通知客户进行取件,保证时间不凑巧的客户也能安全领到自己的快递,在实现了安全便捷存取快递的同时,也提升了快递行业的服务质量。
本设计以STM32F407单片机主控模块作为核心,以红外传感器模块、电话通信模块、信息录入模块以及继电器模块等外围设备构成控制系统设计。该系统的整体框架如图1所示。
图1 系统结构图
图1中,信息录入模块主要负责用户信息和开锁码的录入,红外传感器模块负责监控柜内是否存在物品,GSM模块负责通信,继电器模块负责开关柜门。
控制模块选择单片机作为控制模块。采用的STM32F407ZGT6单片机是32位基于ARM的Cortex-M4微控制器,其功能多变,能够对采集到的信息进行接收及处理,而且还可以控制固化设备的功率[3-5]。在此功能讨论基础上,同时结合本系统的设计要求,因而将其选定为该系统的核心芯片。STM32F407ZGT6单片机主控最小系统原理电路设计如图2所示。
图2 单片机最小系统
本模块选用轻触式开关用直接法进行连接。该方法结构简单,清晰明了。将单片机PB1-PB10的IO口对应为数字“0”到数字“9”,从而实现手机号码和验证码的输入[6]。
本模块采用反射式红外传感器用于检测柜内是否存在物品,在检测中表现出高灵敏、高可靠性的特点[7-9]。该模块的设计工作原理如图3所示。
图3 工作原理框图
继电器是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。在其运行机理上,则具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系[10-11]。
继电器模块由继电器和锁芯组成。在未通电的常态,继电器断开,锁芯与柜体互相卡住,保证快递柜门无法打开。在得到控制模块传递的确认开门信号后继电器通电,并将锁芯吸附住,此时柜门就可自由开启。
本模块主要由GSM网络的SIM800c芯片控制。SIM800c性能稳定,外观小巧,性价比高,能满足客户的多种需求。SIM800c工作频率为850/900/1 800/1 900 MHz,可以低功耗实现语音、SMS、数据和传真信息的传输。SIM800c尺寸为24*24*3 mm,能适用于各种紧凑型产品设计需求[12-14]。同时通过支持蓝牙等高级特性,可以为客户快速开发、节省成本带来更多便利。本研发模块的设计流程如图4所示。
图4 短信通讯流程图
Fig. 4 Message communication flow chart
智能快递柜系统软件设计主要由3个部分组成,分别是:主程序部分,用户模式部分和快递员模式部分。对此可做阐释论述如下。
这一部分主要是选择进入不同的工作模式,整体设计流程如图5所示。首先,进行初始化,包括时钟、延时、串口波特率、LED显示以及按键等各个模块。接着将更新显示屏,显示出该作品的作品名等信息。继而通过检测按键的开关情况,来判断在2个不同选项中将转入何种工作模式。若有键按下,则进入快递员模式;若无,则进入用户模式。
图5 系统总流程图
该部分主要用于快递员存放物品,具体如图6所示。过程中,先对参数进行初始化,再对项目名称以及当前工作模式进行显示。接着由快递员通过按键输入用户的手机号码。若输入手机号码不足11位或超过11位,则返回输入手机号码这一步骤。若满足11位要求,便通过置1继电器信号,打开柜门。此后,将循环检测柜门是否关闭。当柜门关闭后,通过红外信号检测箱内是否有物品。若无物品,红外信号为0,返回输入手机号码界面;若有物品,红外信号为1,则通过开锁码模块随机生成验证码并通过SIM800c模块来发送验证码。
图6 快递员模式流程图
该部分主要用于用户取件,具体流程如图7所示。先是对参数进行初始化。然后对项目名称以及当前工作模式进行显示。接着由用户通过按键输入所获取的验证码。若输入验证码不正确,则返回输入验证码这一步骤。若验证码正确,便通过置1继电器信号,打开柜门。此后,始终检测柜门是否关闭。当柜门关闭后,通过红外信号检测箱内是否有物品。若无物品,红外信号为0,清空内部所保存的验证码信息;若有物品,红外信号为1,则保留验证码信息,以便下次继续使用该验证码。
图7 用户模式流程图
快递柜的工作流程如图8所示。
图8 工作流程图
在通电状态下,电源指示灯处于低电平状态;程序开始运行。首先通过按键切换到快递员模式,在快递员模式下放置快递物品。在关好箱门后通过按键输入手机号码,确认后通过SIM800c发送验证码。此后进入用户模式,通过按键输入收到的验证码,按下确认键后由主控芯片进行判断,若不匹配则提示验证码输入错误;若成功匹配则打开柜门。在取出快递、关闭箱门之后,芯片发送指令,红外芯片开始检测柜内是否在存有物品,若还存在物品将保留验证码。若物品不存在,则清除验证码。
(1)通过快递柜本身来发送GSM短信,当快递放入时同步执行此操作,可以有效避免快递员遗忘丢件事故、以及给客户漏发消息的问题。
(2)在快递柜内部设置红外传感器。每次操作后通过红外传感器确认柜内物品存在与否,方便在丢件时可以准确判定责任方。同时,若客户开柜未取走物品却误关了柜门,可以自行再次打开柜门,避免快递员多次反复操作处理。
(3)快递柜采用继电器控制开启,在断电的情况下可以保证柜门无法打开,有效防止恶意断电窃取快递的行为。
图9为简易装置的工作图。其中主要包含了SIM800c、按键模块、电池模块、红外模块、继电器模块、主控芯片模块、电磁锁和显示屏模块。
图9 简易装置图
本设计以STM32407ZGT6单片机为核心制作了一款智能快递柜。快递员可以通过输入客户手机号码由快递柜自主生成验证码并发送到客户手机上。而客户则可以利用收到的验证码取出柜内物品。若物品未完全取出,则验证码可在下次继续使用。从而避免误取或漏取快递。此次设计的新型智能快递柜系统具有空间利用率高、运营成本低、智能化程度高、存取快递方便快捷的优点。经过实验测试,从理论上验证了该新型智能快递柜管理系统的可行性。可降低快递公司的运营成本,提高服务质量。