标题 | 基于STM32的可穿戴导盲系统设计 |
范文 | 黎剑彬 吴中健 林祥辉 黄祖仪 阳韬 摘要:为解决盲人的日常生活出行问题,设计了一个基于STM32单片机的可穿戴式导盲器,系统运用了红外测距仪、超声波传感器、摄像头、陀螺仪、麦克风等,无线通信选择蓝牙,通过耳机和马达振动进行提醒,红外测距仪、超声波传感器、摄像头、陀螺仪、麦克风、百度地图模块等,无线通信选择蓝牙,实现对物体的识别,对路况的实时分析探测,并过耳机和马达振动进行提醒等功能。 关键词:可穿戴;导盲系统;无线通信;实时定位 中图分类号:TP311? ?文献标识码:A 文章编号:1009-3044(2021)10-0235-03 Abstract: In order to solve the daily travel problems of the blind, a wearable blind guide based on STM32 microcontroller is designed. The system uses infrared rangefinders, ultrasonic sensors, cameras, gyroscopes, microphones, etc., wireless communication selects Bluetooth, through Earphone and motor vibration reminder, infrared rangefinder, ultrasonic sensor, camera, gyroscope, microphone, Baidu map module, etc., wireless communication selects Bluetooth to realize object recognition, real-time analysis and detection of road conditions, and use earphone and motor Vibrate to remind and other functions. Key words: Wearable; Guide system; Wireless communication; Real-time positioning 據2019年世卫组织发布的首份《世界视力报告》其中表明全球至少有22亿人视力受损或失明,而中国在2016年,视障人数的数量已经迅速增长到了1731万人,大约每八十个人就有一名失明人士,我国的盲道设计得不合理、被占用、被破坏等一系列原因,导致视障人士的外出变得更加的困难,因此我们想设计制造一个可穿戴的导盲器,通过红外传感器的检测距离,计算机视觉对物体的检测,通过单片机、系统对各种数据的处理,分析出路面的实际实时状况,通过语音和振动等方法告知有视力障碍的使用者,最终达到安全顺利的出行。 1系统总体设计 可穿戴式导盲器系统是以单片机为主体,单片机使用的是STM32,传感器包括红外测距仪、超声波传感器、摄像头、陀螺仪、麦克风等,无线通信选择蓝牙,通过耳机和马达振动。 进行提醒,并集成GPS百度地图模块,进行实时定位,记录出行信息,通过语音模块,识别用户的指令,为其规划出行最佳路线,还有陀螺仪进行意外检测,检测到摔倒后通过蓝牙模块给手机里的APP发送警报消息进行联系家人,家人可以通过APP得知用户的实时位置,必要时还可以调用用户的摄像头,检测查看用户的实时状况。总系统框图如下(图1)所示。 2系统软硬件实现 2.1障碍物测距 障碍物测距使用到ATK-VL53L0X模块(图2),在STM32CubeMX上配置好串口,设置串口波特率、发送接收、中断使能。调用HAL_Transmit_IT()函数收到传感器发送过来的数据的时候发生中断(HAL_UART_RxCpltCallback()),判断障碍物是否过达到危险距离。传感器可以通过直接调取vl53l0x_api.c提供的API函数进行使用。 2.2摄像头 实验使用OV7725摄像头(图3),摄像头与单片机相应引脚相接,设置OV7725寄存器(一百多个),把寄存器的地址存在一个二维数组里面,初始化用for循环调用寄存器函数,采用QVGA分辨率。 2.3视觉识别障碍物、路况 本图像识别系统使用了摄像头、数据存储器、图像处理器和相关电子电路构成的,网络采用YOLOV3,可穿戴式导盲器系统具有实时监测并进行图像识别的能力,把识别到的物体结合红外探测模块获得物体的距离等数据,送到处理器,进行数据的综合处理,处理后的内容,通过语音告诉使用者前方什么位置有什么样的物体,需要怎么避开等内容。采用OV7725摄像头采集图像数据,采用的是QVGA ,即分辨率为640*480的输出格式,并用FIFO芯片(AL422B)z暂时存储图像数据,把视频分解成一帧一帧的图片,并进行尺寸的调整,来输入到YOLOV3的DARKNET53进行特征提取,需进行多次的卷积、残差、激活,获得三个不同尺度的中间输出结果,接着上采样、拼接或者卷积通道调整进行分类预测和回归预测等操作,V3为每种尺度设定三种先验框,一共有九个不同尺寸的先验框,用于检测不同尺寸大小的物体,最终获得三个不同尺度图片下的预测结果(其中yolov3的预测结果会对先验框进行调整,获得最终的预测框,为解码部分),最终把框画在图像的物体上,并进行类别注释等。(图4) 2.4麦克风,语音助手语音识别 使用者通过手机内置语音助手进行语音命令的输入,相当于在导盲器上增加一个蓝牙耳机,通过蓝牙耳机对手机上的语音助手进行对手机的操控,实现导航功能。单片机利用终端,在紧急情况时马上停止导航,提醒视障人士注意障碍物。 2.5扬声器、振动模块进行提醒 当摄像头和测距模块共同认定障碍物后,单片机给对应的震动模块串口高电平,使导盲器震动,并且通过扬声器播报障碍物距离。STM32利用SPI读取SD卡里面的音频,再通过SPI与音频解码器通信,最后播报给视障人士。(图5) 2.6手机APP 手机APP通过手机蓝牙连接导盲器,给导盲器提供导航服务,并且实时分享视障人士的位置给到他们的家人,并且记录下盲人一天为单位的行驶路线,记录常走路段的常见障碍物,提前提醒。为了方便盲人准确按键,在盲人端设计为简洁的大按键,而家属端设计为地图可视化的样式,可以通过联网,实时看到盲人所在位置。盲人和家属共用一个账号,方便盲人端和家属端的连接。 盲人使用:在APP制作时加入标准的盲人提示语音支持,在界面设计上减少页面跳转次数,提示语言使用简洁易懂的语言进行提示。 蓝牙连接:获取蓝牙访问权限,为了方便盲人使用,设置为自动式打开蓝牙,搜索周围蓝牙设备,获取目的设备信息:MAC地址、serviceUUID、charactersticUUID等,连接设备。根据所选用的通讯协议,编写相关进程,实现连接,设置相关监听器等,为数据传输做铺垫。 导航:申请KEY,导入相关开发包,选择高精度定位模式,支持室外精确服务,是导盲器能正确导航的基础。利用相关接口把获取到的经纬度信息转为文字地址,把行驶路线记录下来,保存至服务器,提供给有权限的账户查看。在家属端放置Map View 控件、MyLocationData().bulider类、BaiduMap类等相关方法,当定位到盲人端当前位置时,在OnReceiveLocation()方法中直接把BDLocation对象传给navigateTo()方法,目标所在位置就会显示在可视化地图中,直观、明了。盲人出发前提设置好目的地,由APP为其进行最佳路线规划。 数据库:利用数据库记录保存盲人行走路线,路线常见障碍物等信息。使用LitePal数据库进行数据存储,记录下时间、天气、路况、常见障碍物和常走路线等信息,也把从服务器获取的数据存储到本地。把相关信息从本地上传到服务器。 SOS功能:当其遇到突发状况时,可通过导盲器触发,或者路人帮忙SOS功能,手机发送消息到服务器,服务器再通知家属账号。(图6) 查找设备:盲人选择查找设备功能时,给导盲器发出信号,只要蓝牙还在连接状态下就能令其发出声响,从而引导盲人找到导盲设备。 联动提醒:在导盲器发现异常的时候,通过局域网连接的APP将发出信号唤醒机器,然后对使用振动、铃声等方式增强提醒的效果。 应用发布:生成正式签名的APK文件,在应用商店申请开发者账号,在上面发布应用程序。 2.7 web服务器设计 通过购买阿里云、腾讯云等云服务器的服务,实现长期及稳定的基础服务运作。 为了保证能在大部分情况下的可用性,将提供一个前端站点可视化展示可用的操作及数据,在站点设计上增加语音提醒功能使盲人可以正常使用站点的大部分功能。提供账号绑定、紧急联系人绑定、设备定位、轨迹图表等操作。 同时,提供可供编程调用的API接口,使导盲器能够通过网络上传数据至服务器,存储诸如设备当前位置、设备运行状态、设备移动轨迹等信息。同时在服务器存储的导盲器上传的信息,可以在设备后续开发时提供开发参考,此外通过站点的可视化图表,将数据整理成为人可以识别的信息,提供更多元化的信息展示。 当数据通过API接口传输到服务器之后,数据经由mysql数据库,对数据进行长期稳定的存储吗,同时在保证个人隐私的前提下,对数据进行分析、可视化展示。在使用者或其家属需要找到设备位置的时候提供可靠的数据支持。 考虑到导盲器不同于普通导航的复杂情况,故需要对导盲器传输的数据进一步处理成道路通畅度信息,后期使用程序对地图的相关道路进行标注,重新优化地图的路线配置,从而建立更优质的模型,输出专属于盲人的导航路线。 3外观设计 为了导盲器容易穿戴,方便携带并且能达到前后观测路况,我们把导盲器设计成围脖形状。视障人士只需要把设备套在脖子上即可使用(图7)。设备左方是SOS按钮,右方是开关按钮,前方有测距模块,前后皆有摄像头(图8),用于监测路况。内置振动模块,扬声器模块,用于提醒用户。 4结语 实验项目是以STM32为核心,利用红外测距仪、超声波传感器、摄像头、陀螺仪、麦克风等传感器,无线通信选择蓝牙,通过耳机和马达振动,手机APP的集合运用,达到实时采集数据,识别障碍物,识别红绿灯,识别日常使用的物品,使用语音控制指令等进行为盲人专门的导航、路况实时播报,达到为盲人的出行提供更加安全的出行方式和日常居家的物体识别。 参考文献: [1] 世卫组织发布的首份《世界视力报告》[OL]. https://www.who.int/zh/news/item/08-10-2019-who-launches-first-world-report-on-vision [2] 崔承毅,陈景,高庆华,等.单片机综合设计实验中的智能窗户设计[J].实验技术与管理,2020,37(9):71-74. [3] 朱鑫,黄艳,高飞跃,等.基于STM32的盲人导航系统设计[J].數字技术与应用,2019,37(11):122-123,125. [4]卢杰 基于STM32的多功能MP3设计[OL].中国计量学院光学与电子科技学院, 2014-03-17. 【通联编辑:梁书】 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。