2024年4月1日发(作者:笔记本联想电脑价格是多少)
ELECTRONICS WORLD
・
探索与观察
免通讯与低功耗的共享单车密码锁
广东石油化工学院电子信息工程学院 伍思源 马远佳 罗 佩
密码锁在我们生活中并不少见,无论是高功率、高成本的
GPRS开锁,还是芯片数量大、差异大等问题的蓝牙解锁。通过了
解当前共享单车智能锁存在的很多问题,我们研发了免通讯与低功
耗的共享单车密码锁,有效的解决共享单车密码锁中存在的低安全
性、高功耗、高成本等问题。针对目前共享单车密码锁中存在的这
些痛点进行探索和研究,作为本项目的主要方向。故通过结合App
Inventor开发软件和单片机技术设计了一种免通讯模块、密码伪随
机性、低功耗的共享单车密码锁。其中密码锁硬件设计部分使用低
功耗MSP430的单片机可以进行免通迅从而减少繁锁的开锁、太阳
能电池板给电池充电从而给单片机和模块供电、按键模块输入密
码、AT24C02存储器模块储器密码、蜂鸣器提示等模块;软件通过
开发一款基于App Inventor的Android出行应用程序,其主要功能是
实现人脸识别注册与登录、扫描获取解锁密码、定位与计时等。
随着我国在“互联网+”和“中国制造2025”两大战略上不断
取得的突破,我国人们的生活正在呈现出数字化、网络化、智能
化。与此同时,随着优步、滴滴打车的出现以及它们在市场经济中
取得的巨大成功,共享经济的兴起和发展受到了全社会的广泛关注
和热议,同时掀起大量的市场资本投入到共享经济的狂潮。
当前我国正在解决人们出行的最后一公里的难题,共享单车
能够很好的解决这一问题,但是单纯依靠机械锁降低单车成本的做
法在运营中的缺点日益突出。试图使用传统的机械锁运营的共享单
车,在具体的实践中逐渐被证明是不可能的,并且现在的无线通讯
过于麻烦,带来了一系列的问题。蓝牙开锁,原理是通过业务层校
验,手机下载指令加密包,再将包发送到蓝牙,从而完成解锁的。
但蓝牙的芯片版本兼容太差,华为能开的话,魅族和小米不一定能
开,何况市场上数十种的安卓手机,同样是华为的在不同的版本都
有兼容问题,目前的主要原因是因为采购的蓝牙芯片差异太大。因
此通讯过于繁琐,给我们开锁带来不便。我们通过去研究低功耗的
智能密码锁,使用更低功耗的单片机MSP340去产生与手机相同的
密码,且密码是复杂可变的。以密码锁在共享单车行业中所出现的
各种问题为出发点,通过结合App Inventor开源开发软件和单片机
开发技术,设计了一种免通讯模块、高安全性、低功耗的共享单车
密码锁,它能够有效的解决共享单车中的密码锁出现的密码单一、
低安全性能、高功耗等问题。而且我们的密码是随机产生的,安全
性能高。智能锁在共享单车中的作用也是越来越明显,智能锁的性
能影响着整个共享单车的利益链。除了密码锁的基本功能外,使用
微处理器的智能电子密码锁还可以引入智能化管理,使电子密码锁
具备更高的安全性和可靠性。
1 共享单车密码锁硬件设计
其中硬件设计部分由MSP430F413单片机、按键模块、
AT24C02存储器、蜂鸣器等构成。采用MSP430F413单片机,是TI
推出的超低功耗混合信号16位单片机系列中的一种。单片机的三
种工作模式分别为:正常工作模式、空闲模式、休眠模式。单片
机的空闲模式能够有效的降低系统的功耗,提升了电源的续航能
力。当单片机处于空闲模式时,单片机的某些寄存器都会保留着
原来的数据,如随机存取机器、堆栈指针、程序计数器、程序状
态字、累加器等。单片机正常工作模式利用其做密码控制系统,
我们可以通过手机扫描已经做好的二维码,从而在手机获取一个
随机不同的密码,再输入密码给MSP430单片机开锁。当输入的
密码与单片机已经产生伪随机码相同时,便可以开锁。而且利用
AT24C02是一种串行E2PROM,它遵循I2C-BUS的存储元件,遵
循二线制协议,由于它有许多优点如体积小,接口便利,数据在
掉电之后不会无缘无故的丢失等优点,从而可以储存好随机密
码,做好相关密码储存。
2 共享单车密码锁软件设计
使用App Inventor网站进行Andord手机客户端的设计。手机客
户端主要是实现用户注册与登录界面、扫码获取解锁密码模块算
法、用户骑行定位与计时等的开发。该智能锁的手机端APP有人
脸识别登录的功能,使用户方便登录使用。APP还通过调用高德
地图搜索中静态地图URL显示用户的位置,能够给用户准确的位
置信息。这将大大提高用户对该智能锁及APP的体验和认可。
2.1 用户注册
用户点击的是“注册”按钮时,拍照完后,调用“TaifunImage”
组件将图片修改为小于500×500px尺寸的图片。首先我们要对人脸
进行识别(Detect Face),并获得这个人脸的标识值,根据api文
档,我们将使用base64编码上传图片,于是调用“SimpleBase64”
组件对图片进行Base64编码,然后执行POST文本请求提交相应的
请求参数“api_key”“api_secret”“image_base64”。将图片上
传至Face++旷视平台建立人脸集合即完成用户的注册。
2.2 用户登录流程
当用户点击登录按钮拍照获得图片后,获取SearchAPI返回值,
首先根据列表长度判断是否识别到人脸,然后从返回的列表中提取
拍照的脸和人脸集合中的脸的匹配度confidence,范围为[0,100],这
里的逻辑设计中设置是匹配度达到85则登录成功。如图1所示。
•
105
•
ELECTRONICS WORLD
・
探索与观察
图1 人脸注册与登录
2.3 扫码获取解锁密码
制作了特定的二维码,二维码主要作用是标注车辆的编号信
息。当用户点击“扫码骑车”按钮时会调用“二维码”组件扫描制
作好的二维码。获取到车辆信息后进行处理随机生成五位数的密
码,再将五位数的解锁密码传递给“密码文本”。如图2所示。
图2 扫码获取密码及车辆信息
2.4 用户定位
用户进入扫码界面时,手机客户端会根据位置传感器获取当前
位置的经纬度,通过高德地图的静态地图URL将位置传感器获取的
经纬度信息传输进行搜索,将搜索所得的图片显示在“地图”组件
之中。如图3所示。
2.5 按键开锁
通过手机客户端扫描共享单车上的二维码获取解锁密码,这样
做的方法虽然给平凡枯燥的生活带来许多的便利和方便。同时,在
•
106
•
共享单车上输入获得的解锁密码即可使用共享单车。如果输入密码
不正确会进行报警,提醒用户当前输入的密码是错误的。也是当前
主流的方案。如图4所示。
图3 用户骑行时的导航、定位与计算骑行时间
图4 按键开锁流程图
3 系统搭建与测试
本项目的类型为软硬件开发,软件运行在Android手机APP上,
硬件使用低功耗MSP430单片机。然后将硬件部分和软件部分这两
部分分开进行调试与测试,将每个部分的具体功能进行测试,检查
是否能够正常运行。每个功能都能够实现的情况下,再进行整个项
目的整体调试。通过这样的方法,可以尽量减小开发的难度、缩小
项目的设计周期从而更好的实现所需要的功能。即使在调试过程中
ELECTRONICS WORLD
・
探索与观察
遇到了问题,也能快速找到问题出现的原因并进行处理。然后一一
去排除软件和硬件的问题,这样不仅大大的改善了系统调试效率,
而且也能确保系统更加稳定,后期的维护与完善也比较方便。
3.1 共享单车智能锁APP功能模块测试
(1)登录进入软件后显示的人脸注册与登录页面上是否有注
册与登录的按钮;
(2)点击注册按钮能否调用手机的相机;
(3)上传照片至“Face++旷视”人工智能平台能否完成注册;
(4)点击登录按钮能否调用手机的相机;
(5)点击登录按钮拍照后能否与“Face++旷视”人工智能平
台的数据库进行对比;
(6)“Face++旷视”人工智能平台的数据库与对比后能否成
功登录;
(7)定位与计时页面是否有在地图上显示当前位置的标识。
3.2 密码智能锁测试解锁与上锁
共享单车智能锁APP生成智能锁解锁密码具有一定的随机
性,同时也存在着前后两个密码一致的可能。因为解锁密码的生
成机制中有两个数字车辆的编号和三个伪随机的数字所确定的,
如果在同一辆车扫描两次共享单车上的二维码则存在一定概率是
相同的。在APP生成解锁密码功能初步实现的情况下,增加前后
两次生成的解锁密码对比的算法,进一步降低解锁密码重复的概
率提升智能锁的安全性。经过软件端和硬件系统的各个功能模块
作者简介:伍思源(1998—),男,广东云浮人,大学本科,
现就读于广东石油化工学院电子信息工程学院,研究方向:单片机
嵌入式设计。
通讯作者:罗佩(1983—)女,湖南湘潭人,硕士,广东石油
化工学院高级实验师,研究方向:嵌入式设计。
本文受到广东石油化工学院2019年大学生创新创业校级培育计
划项目NO.733486的资助。
测试后,再对密码锁的解锁功能进行全面的测试,通过这种方法
发现仍存在的问题,并可以避免各个模块功能不兼容的问题。经
过反复的调试与完善,共享单车密码锁的解锁功能已基本实现。
解锁功能是共享单车智能锁最重要的功能,关系到整个项目能否
正常工作的关键。本部分是针对密码锁的解锁进行硬件系统和软
件端的同步测试,以检验是否实现密码同步、密码锁解锁是否有
反馈信号等问题。
结论:本文设计了一个基于免通讯与低功耗的共享单车密码
锁,低功耗、无线通信的特点,将大大减少了共享单车的成本及后
期的维护成本。通过不断探索和完善共享单车的密码锁,更好突出
共享单车的优势,促进共享单车市场朝着更好、更快、更高的方向
发展。所以是本项目的不仅仅只能应用在共享单车上,我相信,在未
来,要需要“锁”的地方,就有本项目及以后设计的智能锁出现。
(上接第104页)
可作为一种解决接收机信号检测的处理方式,通用Matlab软件仿
4
FPGA
硬件仿真
图6显示给出了检测算法的仿真结果图,仿真采用modelsim
软件,可以真实的仿真
verilog
程序的时序关系,图中
DataIn
是检
测算法输入信号,信号由MATLAB软件产生,产生的数据导入到
verilog
工程文件内,
DataOut
是检测算法输出信号,当没有检测到
有用信号时,输出为0,当检测到有用信号时,输出输进来的有用
信号。
Frame
是检测算法输出信号的判决位,图中可以看出,当
Frame
标志位为0时,
DataOut
没有输出,当
Frame
标志位为1时,
输出有数据,并且数据开始输出到接收机。
结语:根据分组检测算法原理及特点,在工程实际应用中,
真分组检测算法,并用
FPGA
仿真验证,给出了硬件时序仿真结
果,具有工程应用意义。
作者简介:
陈妹(1984-),女,安徽蚌埠人,硕士,中级工程师,现供职于
四川九洲空管科技有限责任公司,研究方向:数字信号处理/射频收发。
郑超(1979-),男,浙江湖州人,硕士,高级工程师,现供职于
四川九洲空管科技有限责任公司,研究方向:信号与信息处理。
杨志强(1988-),男,内蒙古赤峰人,硕士,中级工程师,现供
职于四川九洲空管科技有限责任公司,研究方向:数字信号处理。
•
107
•
发布者:admin,转转请注明出处:http://www.yc00.com/num/1711931071a1979689.html
评论列表(0条)