基于嵌入式STM32的防盗钱包设计
2022-04-13王瑞鹏段奇凯高程朱美芬刘欢
王瑞鹏,段奇凯,高程,朱美芬,刘欢
(甘肃农业大学信息科学技术学院,甘肃兰州 730070)
随着科技的发展以及人们日益增强的防盗意识,利用单片机系统实现钱包的防盗功能已成为可能。钱包是人们日常出行的重要物品之一,而它体积较小,极易被窃。防盗钱包在国内研究已有一定的基础,上海应用技术学院设计了一种基于无线电发射与接收技术为主控器的无线防盗系统,利用无线技术设计了一种基于无线电发射与接收技术为主控器的装置,将其应用于钱包防盗报警器,结构简单,易于实现,可以有效地解决人们在公共场合财物的安全问题[1]。而最新的研究是基于GPS 模块的新型防盗智能钱包模型设计,通过镶嵌的防水膜以及自密封卡接结构,能够有效防止钱包内部受潮,设置的硬币卡槽能够辅助固定硬币,避免硬币堆积而造成钱包损坏,在储存槽底部内壁的左右两端及中部分别通过弹簧连接橡胶条对放入手机的宽度进行调整,提高钱包的空间利用率,GPS 定位防盗模块可以对该钱包进行定位,具有很好的防盗性[2-3]。而近年来,STM32 单片机在国内外迅猛发展,频繁地运用于各种智能设计。文中设计了一款基于STM32 单片机的防盗钱包,同时运用了射频识别技术、TTS 文本转语音技术及红外传感器等硬件设备实现了钱包的防盗功能。
1 设计方案
1.1 总体设计
设计的系统由RFID 读卡器、人体热释电红外传感器等组成数据采集部分,STM32 单片机作为数据分析部分,将采集得到的信息进行分析,然后传输到TTS 语音报警器,报警器根据所接收到的信息,判断是否报警,如图1 所示。
图1 系统设计方案拓扑结构
RFID(射频识别技术)是一种自动识别技术[5],通过无线射频进行非接触式的数据传输,利用无线射频方式[6]对射频卡(RFID 卡)进行读写[7],当与RFID 读卡器距离达到检测距离时,RFID 读卡器就会自动读取RFID 卡中所包含的信息、数据。如果距离超出检测范围,则读卡器会自己返回相关数据,单片机接收到后会对数据进行分析,以此来判断RFID卡是否存在。在该项目中,将RFID 读卡器置于钱包中,将RFID 卡放于口袋,利用RFID 读卡器对RFID卡进行信息循环读取,循环发送数据给单片机,单片机进行数据分析。
RFID 模块工作频率大概为13.56 MHz,该频率的波长大概为22 m。除了金属材料外,该频率的波长可以直接穿过液体等大多数材料。因此对于该项目而言,波长足够穿过背包材料,同而增强了此项目的反映敏捷性,以及提高了此项目的抗干扰能力。
人体热释电红外传感器是一种将人体温度转换为高低电平的传感器,将传感器置于钱包内,钱包放在口袋中,此传感器将对人体进行红外测温,若温度为人体正常体温(36~37 ℃),则传感器输出高电平;若不在此温度区间,则电路自动延时关闭高电平[8],输出低电平。再将此数据传输到STM32 单片机,单片机进行下一步的分析和传输[9]。
STM32 单片机是基于ARM的32 位通用增强型微控制器,支持实时仿真和跟踪[10-11],是当下最流行的单片机之一,频繁地运用于各种智能设计以及各种嵌入式开发。STM32 单片机之所以如此火爆,是因为该控制器实时性能好、功耗低、数据处理能力强和集成整合能力强大,并且易于开发。STM32 单片机对于所接收的数据进行分析整理,然后将其发送到下一模块。
TTS 是Text-To-Speech的缩写,即文本到语音合成,处理过程:首先对文本内容进行分析;然后调用语音合成引擎,调用语音库,合成语音;最后通过扬声器播放语音[12]。TTS 文字转语音用途很广,比如电子邮件、手机短信的阅读以及人工智能方面的应用等。在该项目中,TTS 语音模块主要通过接收单片机所传输的信息,对所接收的信息进行数据分析、判断。如果背包未丢失,则不发出警报,同时将该信息返回单片机,反之,则发出警报,提醒失主。
1.2 性能要求
针对防盗钱包的特点,在设计过程中应当充分考虑到其性能要求。
1)实时性:防盗钱包对于实时性要求较高,应当将反馈时间控制在1 s 内,这样可以最大程度地保证钱包丢失之后报警的及时性。
2)方便性:防盗系统置于钱包中不能影响钱包的正常使用,同时也要方便用户携带。
3)准确性:防盗系统所传输的数据必须准确,否则无法为用户提供一个安全的使用环境。
2 硬件架构
2.1 数据采集
数据采集部分主要包括红外传感器对周围温度的采集,以及RFID 读卡器对RFID 卡是否存在的信息采集。其数据采集真值表如表1 所示。
表1 数据采集真值表
2.2 数据处理及传输
STM32 单片机通过接收来自数据采集部分的数据,进行数据的整理。项目使用STM32F103开发板作为核心数据处理主板,同时将配套的串口模块与开发板相连,实现了整个防盗系统的数据相连。之后STM32单片机将处理过后的数据传输到TTS语音警报器中,语音警报器再根据所接收的数据进行判断,若结果为真,则不发出警报;反之,则发出警报提醒失主。
而STM32 单片机与TTS 语音警报器之间的数据传输采用了全双工通信,STM32 单片机将采集到的数据处理后传输给警报器,同时警报器对得到的数据进行分析,之后反馈到单片机,然后再次进行循环,判定钱包是否丢失。
3 软件系统
3.1 Keil开发环境的建立
Keil 开发环境所生成的目标代码效率高,汇编代码很紧凑,便于理解,同时能体现出高级语言的优势[13]。与汇编相比,C 语言在结构上、功能上、可读性、可维护性上有明显优势[14-15]。而KeilμVision5 是Keil 为Windows 系统设计的集成开发环境,可以完成整个的开发流程,从编辑、编译,一直到连接、调试、仿真等一系列开发流程,均可由KeilμVision5 完成,极大地方便了用户,同时也最大限度地保证了开发过程的流畅性以及完整性。
3.2 软件实现
系统通过红外传感器和RFID 射频识别技术进行双重判定,二者之间若有一个条件不满足,则TTS语音报警器会发出警报,如图2 所示,这样大大提高了防盗的成功率,并为钱包提供更好的保护。以下是二者的具体功能实现。
图2 系统工作流程图
3.2.1 RFID的具体功能实现
当RFID 开始工作时,打开串口1,单片机会向RFID 模块发送16 位的查询码(例如:xx xxxxxxxxxxx xxxxxxxxxxxxxxxxxxx)当RFID 收到查询码时,随即会对RFID 卡进行读取,同时会通过串口1 将8 位数据码发送到单片机上(例如:xx xxxx 00/01 xx xxxxxx),而RFID 卡在与不在的区别是8 位数据码第4 位的不同:当第4 位为01 时,说明RFID 卡存在;当第4 位为00 时,说明RFID 卡不存在。之后将打开串口4,将相关的数据传输到上位机,如若卡存在,则显示“BAG EXIST”;反之,则显示“BAG LOST”,同时将信息传送到TTS 语音警报器,警报器通过对数据的判断分析,发出警报,从而起到提醒失主的作用,如图3所示。当以上数据传送结束后,单片机会继续向RFID模块发送查询码,持续循环,从而做到实时准确。
图3 RFID工作流程图
3.2.2 人体热释电红外传感器的具体功能实现
首先,该红外传感器将对周围环境温度进行自动感应,如果周围温度在设定范围内(36~37 ℃),说明该背包在人身上,则会产生高电平;如果不在此范围内,由高电平降为低电平,说明背包已经丢失,同时将数据传递到TTS 语音警报器,进行数据分析,然后发出警报,如图4 所示。
图4 人体热释电红外传感器工作流程图
同时,该项目中所使用的HC-SR501 红外传感器还具有以下相关功能:
1)光敏控制,白天/光线强时不感应,或者晚上/光线弱时不感应,可以根据个人需求进行设置。
2)温度补偿功能,在夏天当环境温度升高至30~32 ℃时,探测距离稍变短,温度补偿可作一定的性能补偿。
3)感应封锁时间,感应模块在每一次感应输出后(高电平变成低电平),可以紧跟着设置一个封锁时间段,在此时间段内感应器不接收任何感应信号,此功能可以实现对于个人特殊需求的满足[16]。
该项目需要RFID 模块与人体热释电红外传感器同时进行条件判定,只有二者的判定都为真时,报警器才不会发出警报;相反,若是二者中有一个条件不满足,则报警器就会发出警报,以此来提醒失主。所以,在一定程度上,二者的相互协作以及对于数据的判断处理是设计最核心的部分。
4 项目意义与实现功能
随着信息、电子、通信技术的快速发展,便捷、安全的生活成为了人们追求美好生活的迫切需要。是否便捷和安全可以双重提升或是只能选择其中一个呢?放眼当下,人们的生活水平不断提高,在努力让生活变得快速便捷的同时,身边的安全隐患也愈加严重。例如汽车被盗或是汽车内的财务被盗,小偷潜入房屋内以至于家庭财产被盗,又或是随身携带的物品在人们不留神的情况下被窃。截至目前,我国的财务失窃率处于逐年上升的状态,预防财务失窃仍是亟待解决的问题。那么如何才能在自己视觉盲区有效地避免财务丢失呢?
根据以上叙述,需要解决的根本问题是在自己的视觉盲区避免财物丢失。换句话说,在人们看不见的情况下,要防止自己的财务被盗,而且要快速高效,在财务被盗的同时能迅速作出反应,文中研究的是基于STM32的防盗钱包系统。在人们视线范围之外,一旦有人窃取钱包,传感器接收到信号,传入STM32 单片机中,单片机再发送命令到TTS 语音报警器,此时,报警器工作发出警报,引起人们注意从而实现防盗。
系统设计实现了钱包的防盗,采用了红外传感器和RFID 双重数据反馈,对钱包进行安全保护。当红外传感器或RFID 有一个返回数据为假时,单片机就会将信息传输到语音警报器,语音警报器发出警报,只有二者返回的数据都为真时,单片机将信息重新发送到开始端口,循环进行数据采集和数据分析,最大限度地保证了钱包的安全性。同时,上位机也会显示相关的数据,告诉用户钱包是否丢失。
5 系统创新
该系统的创新之处有以下几点:
1)该设计使用了STM32 单片机,在防盗设计中较为新颖,同时STM32 单片机采用当前移动端广泛使用的ARM构架,功耗低,技术成熟,并且STM32单片机相对于其他单片机而言,内存更大,处理速度更快。
2)应用了TTS 语音警报器,没有了传统警报器的机器生涩感,使听者听取信息时较为自然。
3)运用射频识别技术,对源代码进行循环识别,确保背包丢失后警报器报警的及时性。
4)运用热释电红外传感器和RFID 进行双重保障,大大提高了钱包的安全性能。
5)运用Keil 开发环境,保证了开发过程的完整性和流畅性。
6 结束语
系统基于STM32 单片机、射频识别技术、热释电红外传感器、TTS 语音警报器以及Keil 开发环境构成了防盗钱包系统,不仅实现了钱包的防盗功能,同时还可以对用户发出钱包丢失的警报,并且上位机也可以准确地观察到相关的信息。该系统方便便捷,较为灵活,精准度高且稳定性好。