【《基于STM32的校园智能快递柜设计》9000字(论文)】_第1页
【《基于STM32的校园智能快递柜设计》9000字(论文)】_第2页
【《基于STM32的校园智能快递柜设计》9000字(论文)】_第3页
【《基于STM32的校园智能快递柜设计》9000字(论文)】_第4页
【《基于STM32的校园智能快递柜设计》9000字(论文)】_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于STM32的校园智能快递柜设计摘要随着国内消费水平的不断攀升,网上购物在市场中的占比也不断提高。在这样的大环境下,人们对快递的需求以及配送效率的要求正在不断提升。智能快递柜不仅可以提高配件配送效率和校内资源利用率,同时可以降低人工成本,减少取件时长,解决校内取件难、取件等待等问题。设计在传统快递柜的的基础之上增添了刷卡取件的方式。与校园一卡通建立关联,利用RFID模块获取校园卡信息,与快递信息相匹配后即可开柜取件。在提高取件效率的同时也可以提高校园卡的利用率,在校园内实现真正意义上的“一卡通”。关键词:校园;STM32;GPRS模块;RFID模块目录287621.绪论 .绪论1.1选题背景和意义近年来,各种电子商务平台的发展,使我们的生活越来越方便,极大地推动了我国快递业的发展。随着快递业的快速发展,快递业的问题也逐渐显现出来,特别是在配送末端。为了更好地解决末端配送造成的各种问题人们从服务和成本之间来权衡,寻找解决方案,这时智能快递柜开始出现到人们的视野。智能快递柜的发展非常迅速,国家相关部门为了顺应市场的发展,颁布了各项标准,以此来支撑快递柜的发展[1]。国务院颁发的标准鼓励了社区加强发展快递柜,将传统的快递收寄服务和互联网结合到一起,建立起多元化的运作体系,这也是快递业实现产业优化的最大的优势。快递柜自打投入使用以来,受到了客户、快递员等多方好评。可见,快递柜的发展形势越来越好,可以更好地满足客户的需求。我国快递物流行业发展蒸蒸日上,具有着非常广阔的发展前景,但同时也具有很大的挑战。为了提高快递业的服务能力和服务质量我们需要更加深入地考虑快递物流系统在细节优化的问题[2]。目前,我国已建成60余座大学城,高校数量总合达到数百所。我们大学生是网购的最主要群体,消费水平仍在不断提升,校内快递数量也越来越多,校园末端配送效率低下的问题随之而来[3]。研究表明,智能快递柜的使用可以有效减少学生等待时长,方便存取快递,更好地解决快递“最后一公里”问题。在校园内学生离不开校园卡,无论食堂、打水还是门禁处处需要校园卡,如果可以在智能快递柜中添加刷卡取件功能,就可以更具针对性地提高学生在校的取件效率,实现真正意义上的“秒取件”。1.2课题研究内容本课题是对智能快递柜的研究,是基于STM32的控制系统,主要是对如何精准控制柜子开关的研究。快递员存件时将快递信息存入时,改变此快递柜的状态变为已存件,数据上传到云,通过通信模块传输到STM32中进行处理,打开对应柜子的门。找到要存件的柜子号,点击存件,输入快递信息:姓名,学号,手机号。完成之后柜子门弹开放入快递,系统将会自动给用户发送取件的短信验证码。收件人可以使用短信内的验证码开柜子,也可以使用刷校园卡的方式开柜子,输入短信验证码与短信内随机生成的验证码相匹配,匹配成功则开锁。利用RFID模块刷卡时,读取到的信息与已存入的所有快递信息进行比较,匹配成功则打开对应的柜门。1.3技术概述1.3.1RFID技术RFID(RadioFrequencyIdentification)技术即是射频识别技术,RFID是兴起于20世纪90年代的非接触式的自动识别的技术。识别系统与特定目标不需要机械或光学接触,可以自动识别目标并获取相关信息数据,在使用RFID的过程中,不需要人为干预,可以适用于各种恶劣的环境条件,这对人们识别和管理[4]不同状态下的各种对象非常有用。面对告诉运动状态下的物体,仍可以正常工作,并且可以同时识别多个对象,操作快捷且方便。RFID技术具有以下一些特点[5]:1.快速扫描性。RFID读写器可同时读写多个对象。2.形状多、体积小。RFID读写器读取的时候并不受标签的大小、形状和运动状态的影响,所以说通信时数据的精准度并不之约标签的尺寸大小,只保证印刷的品质就足够。3.抗污损力和长寿命性。条形码一般都是使用纸张作为载体,而纸张及其易损且易受污染,但RFID对水、油和各种化学药品等物质具有很强抵抗性。4.可重复使用性。现今的条形码属于“一次性”的,印刷过后无法更改,但RFID标签却可以多次重复地增加、删除、修改存储空间中的数据,更加方便信息的更新。5.安全性。数据信息都是以电子式保存到标签当中,并且数据内容都会经过加密保护,所以RFID在安全性方面还是很出众的。1.3.2GPRS技术GPRS属于一种通用分组无线业务,GPRS是GSM向3G过渡的技术,所以它成为了连接GSM和3G的桥梁。GPRS是在原有的的GSM网络上引入两个新的网络连接的点:GPRS服务支持的连接点和网关支持的连接点,并且GMS网络未使用过TDMA信道[6],GPRS就是利用它提供了中速的数据传递,更好的提升了效率。有人将GPRS/GSM模块称为手机模块,这是由于手机是由CPU、GPRS/GSM模块和IO设备组成,我在学习的时候偶尔将GPRS模块与手机进行对比,有些问题就迎刃而解了。当我通过串口给GPRS模块发送AT指令时可以控制它进行发短信、打电话的操作。就像我们平时互发短信、发微信一样。发短信需要手机号,发微信需要指定对应联系人,控制GPRS模块也是通过AT指令告诉他要发给谁。GPRS可以让多个用户共享某些固定的信道资源。如果吧空中接口上的TDMA帧中的时隙都用来传送数据,那它的数据传输速率最高能够达到164kb/s[7]。空中接口信道资源可以被话音占用,也可被GPRS数据业务占用。信道充足的情况下,可以把一些信道定义为GPRS专用信道。1.4本文的安排详细阐述基于STM32的校园智能快递柜的是应用场景;由当前时代快递便利应用的痛点,引出校园智能快递柜的实际需求。根据物联网技术原理,由传感器、执行器、中控、网关、服务器、客户端组成的物联网架构。本文自产品背景意义,系统需求分析,系统详细制作流程,系统测试及量产推进,普及至校园应用的整体规划流程。目的为解决大学生网购快递取快递之便利性。细分出了课题绪论、智能硬件物料的选取、整体系统的软硬件设计流程及细节、系统的测试及最后课题的总结。2.所需硬件简介2.1控制核心STM32为意法半导体(STMicroelectronics)集团设计的一款针对16位MCU市场的32位的单片机。STM32基于的是ARMCortex-M3内核,Cortex-M3处理器是ARM的新一代的嵌入式处理器,它为满足MCU的需要,减低系统的功耗、降低成本、缩减管脚数目,同时还提供了卓越的计算机性能和先进的中断系统相应[8]。2.1.1STM32型号分类STM32按性能分成了几个不同类型的系列:STM32F101“基本型”STM32F103“增强型”STM32F105、STM32F107“互连型”表2-1STM32的命名规则STM32型号的命名规则如表2-1所示。设计采用了STM32F103xx,其引脚图如图2-1所示。图2-1STM32F103C8T6引脚图STM32单片机实物图如图2-2所示。图2-2STM32单片机核心板实物图STM32F103xx“增强型”系列基于的是32位的高性能ARMCortex-M3RISC内核,所有系列的器件都具有1个PWM定时器、3个通用16位的定时器和2个12位的ADC,不仅包含标准接口,还具有先进的通信接口:3个USART、2个I2C和SPI、一个USB和一个CAN[9]。一套完整的“增强型”系列产品有五种不同封装的形式,不同的封装形式使得器件外设配置会有差异。器件外设的基本介绍如表2-2所示。表2-2STM32“增强型”器件的功能和配置2.1.2STM32的优点(1)STM32使用的是ARM公司的Cortex-M3内核,这种内核架构是最新的、最先进的。(2)STM32的实时性能非常的优异。(3)STM32在功耗控制方面把控的很好。(4)STM32的外设丰富、出众。(5)STM32在开发方面相对简单,可以让产品更快地融入市场。2.1.3STM32发展前景随着时代的不断发展人们满足生活基本需求的同时也在追求生活质量。人们对事物的便捷性、智能性要求跟高。不仅如此,在工业生产中对人体危害大、危险系数高、繁琐的工作更是需要由机器代替人工。而智能化的发展离不开MCU,所以市场上对MCU的需求也在逐渐增长。市场上最常见的有4位机、8位机、16位机、32位机,随着需求增加数据包越来越大,处理数据的MCU也需要更加强大,在保证准确、快速处理数据的同时,增加处理数据量[10]。因此市场上需要高位MCU来满足,而STM32作为32位机,相比之下内存更大、处理能力强、数据运算也更快速。2.2刷卡模块本次课题的刷卡模块选取了MFRC522,MFRC522是高度集成非接触式的读写卡芯片。此模块可以将他们完全集成到各种非接触式通信协议中。这是都是由于它利用了调制和解调的原理。2.2.1MFRC522概述MFRC522的内部发送器部分不需要其它的电路就能够驱动读写器天线与ISO14443A卡和应答机之间的通信。接收器部分提供了一个译码电路,这个译码电路不仅功能强大而且可以高校的解调,用来处理兼容ISO14443A的卡和应答机信号。至于数字电路,它能够处理完整的ISO14443A帧和进行错误检测[11]。MFRC522实物图如图2-3所示。图2-3MFRC522实物图2.2.2MFRC522框图不同的主机接口可以满足不同用户的要求,我们可以利用模拟接口来对模拟信号进行调制和解调。使用非接触式UART来处理通信时用到的各种协议要求。利用FIFO缓冲区能够实现主机与UART间的数据传输,并且快速方便。图2-4为MFRC522的简化框图。图2-4MFRC522简化框图2.2.3MFRC522的数字接口MFRC522可以支持SPI,I2C和UART等多种接口。通过这些接口可以直接和各种类型的微控制器进行连接,每个接口都具有固定的管脚链接组合。表2-3给出了接口的固定管脚配置。表2-3MFRC522的管脚配置UART接口发送数据时有已经设计好的帧格式,它要有一位的起始位,然后发送八位的数据位,最后是一位的停止位[12],UART接口与控制器的连接如图2-5所示。图2-5MFRC522通过UART接口与控制器的连接图2.3通信模块2.3.1GPRS/GSM模块SIM800L我选择通信模块是SIM800L,他是一款4频的GSM/GPRS模块。主要优势是性能稳定,小巧,并且性价比非常高,可以最大限度的满足客户的各种需求。SIM800L非常省电,在SLEEP模式下的耗流仅为0.6毫安。GPRS由于编码格式和时隙的不同传输的速率也并不相同,查看表2-4一目了然,上行传输和下行传输时最大都可以达到85.6kbps。并且内嵌TCP/IP协议,功能非常的强大[13]。表2-4编码格式和最大网络数据速度率SIM800L实物图如图2-6所示。图2-6SIM800L实物图2.3.2数据传输SIM800L具有很多功能:GSM短信收发、GPRS数据传输、TCP/IP协议数据传输、LBS信息的定位、串口发送AT指令。这些功能都使用AT指令来控制。AT+CGATT?可以检测GPRS网络附着的状态。网络附着成功后,利用AT+CSTT=\来设置APN账号,AT+CIICR\r唤醒无线连接,获取联网后本地分配的IP地址,一切完备后利用AT+CIPSEND=length进行数据的传输写入。最后关闭TCP/IP连接通道[14]。3.系统设计3.1硬件设计3.1.1硬件设计流程本系统为物联网的“三端两流”基础构架,三端分别为硬件数据采集段端、客户数据显示端和服务器数据处理端,两流就是硬件端与服务器端通讯,客户端与服务器端通讯。单片机将采集到的所有数据整合一起,然后访问服务器,服务器接收应答后对数据进行解析,网页上就会显示数据,并且直接存储到数据库。手机端通过网络连接服务器,服务器将数据发送到手机上。快递员通过扫码打开APP,可以查看这片区域的快递柜的状态,点击存件,弹出输入信息的页面,需要输入取件人姓名、学号、手机号。点击确认之后通过SIM800L传送数据给STM32,给继电器通电打开柜门。系统自动发送短信验证码到收件人手机号,收件人可凭自己的校园卡刷卡打开快递柜取件,刷卡时MFRC522读取数据,发送到STM32后传输到云端,将读取的数据和快递柜内信息进行匹配,匹配成功则继电器通电打开柜门,也可输入自己短信收到的验证码打开柜门[15]。系统详细流程图如下图3-1所示。图3-1系统硬件设计流程图3.1.2系统硬件功能1.STM32F103C8T6是智能快递柜系统的核心,接收来自MFRC522和SIM800L传输过来的数据,并进行处理,执行响应的操作。2.MFRC522是作为系统的刷卡模块,当用户刷卡时,MFTC522读取卡内数据,将数据发送到STM32中,之后由STM32进行处理。3.SIM800L是系统的数据传输模块,STM32接收到MFRC522的数据,STM32会通过SIM800L将数据转发到云端。当快递员在APP内存件操作完成时,STM32同样需要通过STM800L接收数据,给对应的继电器通电。3.2软件设计扫描二维码进入APP登录界面,管理员登录后会进入后台页面,可以进行添加管理员操作和查看历史操作记录。快递员登录可直接看到快递柜的状态信息,并且可以点击存件弹出填写快递信息页面,点击确认之后继电器通电打开柜门、给用户发送短信、改变快递柜的状态信息。系统软件设计流程如图3-2所示。图3-2系统软件设计流程3.2.1Web部分—ServletServlet是运行于服务器上的应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。发送响应和处理请求的过程就是由Servlet的程序来完成的。通过Servlet可以获取用户在网页上输入的信息以及过往的搜索记录,并且还能够创建一个动态的网页。简单来说Servlet就是在服务器端自主运行的Java程序系统,处理来自客户端的请求。 优点:性能好、效率高;在Web服务器的执行范围内运行。无需另外创建一个复杂的进程来响应每个客户端需求,更简单;独立于平台的,与平台无关。服务器上的Java安全管理器会对一些操作进行限制,从而起到保护服务器中的数据的作用,使其更安全;Java类库的所有功能都可以用于Servlet。3.2.1Web部分—JavaServerPagesJavaServlet与JavaScript同样需要在服务器端执行,在执行过程中会返回一个HTML文本页数据,这使得客户端只要有浏览器就可以显示。本文中JSP的作用是为了数据的展示和页面的显示,作为表现前端的手法。 优点:JSP代码跨平台,一次编写,处处执行;支持多种网页格式;安全性高。并通过物联网+5G+通信大数据的模式,实现学习环境数据可视化,方便老师家长实时监控。3.3系统开发过程(1)首先调试RFID模块,连接好STM32和MFRC522并通电,移植好代码。利用串口调试助手查看是否成功读卡。RFID模块串口调试如图3-3所示。图3-3RFID模块串口调试(2)连接STM32和继电器,编写程序,利用串口调试助手发送信息给STM32,接收到不同数据时给不同的继电器通电。继电器通电点灯现象如图3-4所示。图3-4继电器通电点灯(3)通过USB转TTL对SIM800L进行连接,利用串口调试助手发送AT指令给SIM800L进行一些基础测试和设置。给SIM800L发送AT指令进行测试如图3-5所示。图3-5发送AT指令给SIM800L进行测试(4)利用VSCODE编译器和JavaScript语言搭建前端平台。(5)搭建阿里云平台购买。在云上创建设备,运行UDP服务程序来接收数据并将数据返回。设置端口号,通过查看相关文档,进行相关设置,利用串口调试助手进行进一步的调试。阿里云平台信息如图3-6所示。图3-6阿里云设备各个功能测试完毕之后,开始连接每个模块,编写STM32核心代码,将每个功能实现完毕。方案1:使用AT命令设置SIM800L模块,测试能否做为客户端正常连接至服务器。测试结果:计算机未能正常与模块通信。问题:波特率未设置正确,且跳线帽未插好。解决方案:经查阅模块文档后,使用正确波特率进行设置并将跳线帽调至串口透传模式。方案2:使用AT命令正确设置后,将SIM800L模块用串口连接,模拟CC2530与它进行串口通信,在服务器端接收一次访问时设置系统日志输出标志,观察是否能正常访问服务器程序。测试结果:服务器端未能正确接收请求。问题:AT命令设置有问题,模块固件版本升级后为2.2.6,使用了2.2.5版本通用的命令。解决方案:经查阅模块文档后,使用正确AT命令进行设置,成功解决该问题。3.4系统前端展示用户使用程序前,首先需要注册信息,用户根据系统提示填好用户名、密码,点击提交后进行注册,后台数据库检测注册信息填写是否合理,用户注册成功后会自动跳转到登录页面,失败则根据提示修改信息。系统前端主要页面展示如图3-7所示。(a)管理员界面(b)快递柜状态界面图3-7前端主要界面展示3.5系统设计原则(1)可靠性软件具备可靠性说明软件可以在测试运行的过程中尽量避免故障的发生,发生故障时可以及时排除故障和解决问题。(2)可修改性本系统具有完整的结构以及健全的文档,易于升级改造。(3)效率性本系统在研发的过程中,就要求其必须拥有实时检测周围环境的能力,所以对效率要求及其严格。(4)低成本性控制开发成本,努力提高性价比是本系统设计的原则之一。遵循社会发展原则,花最少的钱实现最高的价值。4.系统测试上一章节介绍了校园智能快递柜的设计流程和方式,本章节将对快递柜进行测试说明。给准备好的硬件上电外设初始化,由于系统板工作电压+5V,所以需要通过稳定的电源给系统介入+5V直流电。可以通过设备管理器查看到当前使用的串口情况。利用网络调试助手对通信模块进行调试,刷卡时在调试助手处读取数据。在保证网络正常的情况下对系统进行最后测试。①通过网页访问Web端服务器并查询数据库中数据方案:测试登陆注册项,分别输入正确与错误的用户名及密码,观察运行结果。测试结果:数据库数据返回正常。并且可以进行数据的增删改查操作。②采用Postman模拟错误数据类型及结构进行API接口访问方案:模拟出错误格式的Json串数据并调用后端API接口,观察返回请求结果。测试结果:数据处理错误,无法上传至数据库。③针对业务流程进行测试方案:模拟用户进行使用,从注册开始直至使用结束,观察运行过程。测试结果:可以完整运行,期间存在加载过慢的情况。解决方案:将图片直接存至缓存包中,而不是采用数据库访问的形式,这样可以有效提高加载速度。管理员添加快递员和查看历史记录如图4-1所示。图4-1添加快递员和查看历史记录测试存入快递后给继电器通电开锁。给2号柜存入快递,对应2号继电器通电,状态改变如图4-2所示,继电器点灯如4-3所示。图4-2存件快递柜状态改变图4-3继电器点灯手机端数据展示界面,进行了如下针对性测试。①针对页面布局进行测试方案:在不同屏幕尺寸的手机内打开App,观察页面布局。测试结果:由于采用矢量图,自适应布局,各个控件比例恰当,观感较好。②针对手机数据传输的测试方案:将采集人物信息录入,打开手机扫码拉取服务器数据,进行页面显示。测试结果:数据显示正常,但如果采集数据时间间隔较小,识别时间较短,则无法实时传输。解决方案:将API接口获取数据的url请求时间间隔改为1秒一次,增加查询频率使得刷新频率高,实时效果更为明显。③针对与Web端数据交互的测试方案:进行登录注册,观察获取个人信息情况。测试结果:能够正确发送url请求,并准确获取数据库中的数据。5.总结本次毕业设计我研究的课题是“基于STM32的校园智能快递柜”,主要应用到的场所是各大高校、大学城。主要解决高校内学生取件排队等待的问题,在添加RFID刷卡模块后更是让取件动作简化,基本上实现“秒取件”。APP上有相应的状态显示,并且可以通过操作发送对应的数据和指令到云端,NB-IoT模块将收取数据以及指令,发送到STM32上进行数据的分析和处理,RFID模块实时检测,当发现刷卡动作时将数据发送到STM32,与已存入状态的柜子里的快递信息相匹配,匹配成功则打开对应柜门。我对本次毕业设计的制作还是很有压力的,对于智能快递柜从出现到发展已经有了很长一段时间了,无论是从可视化、便利性和安全性上都已经非常的成熟完善了。自己想做到那种程度的作品还是具有极大挑战性的,但是我并不想放弃给快递柜添加刷卡模块的这个想法,所以我还是选择了继续做下去。起初的时候只有一腔热血毫无思路可言,不知道从哪下手,不知道要准备哪些东西,之后通过与指导老师交流和在网上查阅资料我也可以慢慢开始动起手来。首先想明白我需要展现出什么样的效果,为了实现这样的效果我都需要添加什么模块,在APP中需要有哪些事件。缕清思路后开始购买合适的元件,准备好用到的软件和开发环境。面对零零散散的原件和各种软件也是有些不知所措,只好不断向老师请教和上网查阅资料,终于慢慢出现了雏形。课堂上老师常常告诉我们要将系统模块化,之后按陆续实现每个模块的功能最终拼接在一起是比较容易实现的。系统控制核心我选择的是STM32。虽然我还没有STM32的开发经验,但是还好在学校中还是接触过单片机的,尽管接触的51单片机与STM32有些区别,但是大体的思路还是非常相似的。通过商家给的中文手册等资料和网上查阅学习,找到我需要用到哪些引脚,引脚和其他模块如何连接。跟着网上查阅的资料,一点一点摸索,搭建开发环境,烧录项目实例,测试单片机。测试完成之后开始调试RFID模块,MFRC522我买了一块板子调试,调试了很多次都没有成功通信,将IC卡放到上面没有任何反应,我开始认为是板子的问题,然后又买了一块仍是同样的现象。最后找到老师帮我查看代码才发现使用SPI的时钟空闲和上升、下降沿的问题。第三部分我是给继电器通电,这里比较简单,没用多长时间就能实现。之后我就开始实现通信模块,将SIM800L连接好插入移动手机卡准备就绪,使用AT+CPIN?指令就可以知道模块是否正常。通过其他AT指令不仅可以查看修改模块的一些设置,而且可以发短信和打电话操作。至于GPRS连接阿里云我花费了好长时间,在一些博客上都有说明如何进行GPRS和阿里云的连接,原本以为是非常简单地利用AT指令修改就可以了,没成想本地组网和链路调通搞得我是焦头烂额,无奈之下只能寻求老师的帮助,在老师的指导下我发现在连接云端时防火墙、端口问题和IP都会影响到我们顺利连接。并且不同的组网方式还是具有很大区别的,经过研究最后我选择了中心公网固定IP组网。经过长时间的调试和修改终于在最后连接成功。紧接着开始着手于前端的工作,虽说我的页面并没有多么华丽,但是中间的逻辑就足够我研究一阵子的了,从登陆页面到管理员页面和快递员页面,一些细小的部分加在一起就是很大的工程。但我深知自己能力不足,自己的作品想要真正的投入使用还是需要有进一步的改进。对前端页面进行优化使系统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论