提示:记录2022年4月做的毕设
文章目录
前言
基于STM32的智能快递柜,主控使用STM32F103ZET6,在正点原子的精英板上开发(本人也在野火板子上测试成功)。
一、任务书
1.1设计(研究)目标:
我们研究一种基于STM32的智能快递柜。该系统以STM32F103作为主控芯片﹐配备了红外传感器、电话通信﹑信息录入以及继电器模块等一系列模块,能够自动根据送货员提供的客户手机号,在合适的时间自行通知客户进行取件,保证时间不凑巧的客户也能安全领到自己的快递,在实现了安全便捷存取快递的同时,也提升了快递行业的服务质量。
1.2设计(研究)内容:
1.2.1硬件模块设计与实现
- 主控模块:STM32F103最小系统设计(时钟、复位、电源管理)。
- 存储检测模块:红外传感器(如HC-SR501)检测快递格口占用状态。
- 压力传感器:辅助检测包裹是否被取出。
- 通信模块:GSM模块(如SIM800C):用于短信通知用户取件(基于手机号)。Wi-Fi/4G模块(如ESP8266):可选,用于远程数据同步或APP通知。
- 用户交互模块:矩阵键盘/Touch Screen:用于输入取件码或手机号。
- OLED/LCD显示屏:显示取件信息、操作指引。
- 安全控制模块:继电器控制电磁锁,实现快递柜门的自动开关。
- 蜂鸣器+LED报警:异常操作(如暴力开箱)提醒。
1.2.2软件系统设计
- 嵌入式程序设计(Keil/STM32CubeIDE)
- 多任务调度:管理传感器检测、通信、用户输入等任务。
- 快递存取逻辑:快递员存入流程:扫描快递单号→选择空柜→录入收件人手机号→关门锁定。
- 用户取件流程:输入手机号/取件码→验证→开锁→取出快递。
- 智能通知系统:基于GSM模块的短信自动发送(如“您的快递已到,取件码:XXXX”)。
- 数据存储与管理:本地存储(EEPROM/Flash)记录快递信息(柜号、手机号、存入时间)。
- 云端数据库(MySQL/阿里云)实现多终端数据同步。
通信与远程管理
- 短信通知机制:研究如何通过AT指令控制GSM模块发送取件通知。
- 远程监控:通过Wi-Fi/4G模块上传快递柜状态至服务器。管理员可通过Web端查看各柜格状态(占用/空闲)。
- 安全机制:取件码加密存储(如MD5哈希)。
- 防暴力破解:限制错误输入次数,触发报警。
系统优化与测试
- 低功耗设计:在空闲时进入休眠模式,通过红外传感器唤醒。
- 抗干扰措施:硬件滤波、软件去抖(防止误触发)。
- 实验验证:模拟快递员存件、用户取件流程,测试系统稳定性。
- 压力测试:多用户并发操作、网络中断等情况下的容错能力。
二、代码思路
打开定时器2,作为系统运行时间;
为了保证通讯:GSM每1S刷新一次;
三、硬件
- ESP826601s
- GSM模块
- OLED
- 按键
- 蜂鸣器(板子自带)
- 继电器模块
四、设计
- 信息录入模块
本模块选用轻触式开关用直接法进行连接。该方法结构简单,清晰明了。将单片机PB1-PB10的IO口对应为数字“0”到数字“9”,从而实现手机号码和验证码的输入l6 - 继电器模块
继电器是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。在其运行机理上,则具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。 - GSM模块
本模块主要由GSM 网络的SIM800c芯片控制。SIM80Oc性能稳定,外观小巧,性价比高,能满足客户的多种需求。SIM80Oc工作频率为850/900/1 800/1900 MHz,可以低功耗实现语音、SMS、数据和传真信息的传输。SIM80Oc尺寸为2424 3 mm,能适用于各种紧凑型产品设计需求12-14。同时通过支持蓝牙等高级特性,可以为客户快速开发、节省成本带来更多便利。