盲用智能手机辅助交互设备的设计

2020-07-09 23:28朱慧媛房云龙赵顺吴旭东高梦婷
现代信息科技 2020年21期
关键词:人机交互盲人

朱慧媛 房云龙 赵顺 吴旭东 高梦婷

摘  要:该设备是基于单片机和Android的一款辅助盲人使用智能手机的设备,硬件端通过蓝牙模块接收Android APP发送过来的信息,通过盲文转译系统转译成特定的编码,进而控制微电机运动,推动顶针,显示盲人可以识别的盲文。盲人端Android APP除了可以将短消息转换为盲文外,还可以将盲人语音转换为文字发送到硬件端显示,还具有短消息读出、求助等功能。该设备可以帮助盲人使用智能手机,让盲人融入移动互联网时代。

关键词:盲人;蓝牙通信;人机交互

中图分类号:TN912.34     文献标识码:A 文章编号:2096-4706(2020)21-0152-04

Design of Auxiliary Interactive Equipment for Blind Use Smart Phone

ZHU Huiyuan,FANG Yunlong,ZHAO Shun,WU Xudong,GAO Mengting

(Suzhou Vocational University,Suzhou  215104,China)

Abstract:The device is a device based on MCU and Android to assist the blind to use smart phones. The hardware terminal receives the information sent by Android APP through Bluetooth module,and translates it into a specific code through Braille translation system,so as to control the movement of the micro-motor,push the thimble,and display the Braille that the blind can recognize. Android APP for the blind can not only convert short messages into Braille,but also convert the voice of the blind into text and send it to the hardware for display. It also has the functions of reading short messages and asking for help. The device can help the blind use smart phones and integrate them into the mobile internet era.

Keywords:blind;Bluetooth communication;human-computer interaction

0  引  言

目前,人類社会已经跨入了21世纪,随着科学技术的迅猛发展,我们都享受到了科技给我们带来的便捷,但盲人却很难享受到科技发展带来便利。中国有着数量庞大的盲人群体,据统计,2018年我国视力残疾患者人数达到1 700多万,相当于每80人中就有一个“黑暗中的行者”。而这些“黑暗中的行者”中还有无健康听力的人群。这个群体的在信息获取和信息交流方面都面临巨大困难。虽然现在的智能产品可以在一定程度上帮助到他们,例如说手机上的盲用语音播报功能、盲人模式为盲人这个大群体带来了极大的方便,但是信息更新迭代的较快,盲人群体并不能很好的享受这些智能产品发展带来的便利。例如盲人群体在无人辅助时会出现在电子产品上的输入信息存在困难或进行信息阅读困难、无健康听力的盲人群体无法接受语音播报信息和盲文阅读器价格昂贵难以购买等情况。针对盲人群体可能遇到的困难进行分析,设计一款面向盲人群体,能与智能手机进行交互,使盲人群体在大多数情况下无需他人辅助就能对智能手机进行信息获取,发送信息给他人,就显得尤为必要。对此,本文设计了一种盲用智能手机辅助交互设备,为盲人群体提供了一款更便携,价格更低且功能更好的盲用智能手机辅助交互设备[1,2]。

本设备可以帮助盲人独立使用智能手机,自主发送信息、自由选用语音或触摸盲文点显器来获取信息,无需担心会在公共场合泄露个人隐私。本设备研发团队是苏州市职业大学企业项目合作研发的重要组成部分,承担过多款电子产品的研发,在研发智能产品方面有一定的基础。

1  总体设计

盲用智能手机辅助交互设备包括硬件端和Android APP端,硬件端和Android APP端通过蓝牙进行连接和通信,本设备总体架构如图1所示。

盲人Android手机将收到的文本消息或文本资料转换为特定的编码,通过蓝牙将编码发送给硬件端,硬件端通过单片机控制相应的微型电机弹起,实现盲文显示。盲人Android APP端也实现了语音合成,即盲人也可以选择将文本转换为语音,直接听取信息。此外,盲人还可以通过Android APP发送语音消息,也可以将对方发送的语音消息播放或者转换为盲文读出。最后盲人端Android APP还设计了求助功能,在紧急情况下,盲人可以通过求助功能将当前位置发送给家人。

2  硬件端设计

2.1  硬件端构成

硬件端主要由STM32单片机、蓝牙模块、微型电机驱动、微型电机、电源等构成。硬件端的整体架构如图2所示。

STM32单片机作为主控制器,主要负责蓝牙模块的配置,接收蓝牙模块的消息,控制微型电机的升降。该设备选用了STM32F103C8T6芯片作为主控制器,该芯片基于ARM Cortex-M3内核,该芯片价格便宜,性能强大,支持串口、PWM、定时器等,可以满足该设备的需求。蓝牙模块本设备选用的是HC05,该模块支持经典蓝牙2.0协议,且可以串口收发,控制比较方便,通信速率可以满足本设备的需求。微型电机采用微型丝杆滑台行星减速电机,微型电机驱动则采用L298N为主控的模块[3]。

2.2  STM32单片机程序设计

硬件端结合Android APP的需求和设计原则的要求,设计了如图3所示的主控制器流程图。首先是对脉冲宽度PWM和串口进行初始化。由于HC05具有串口透传的特点,初始化完成后,Android APP与设备端一旦建立蓝牙连接,串口即可以收到Android APP端发送过来的信息。串口收到Android APP端发送过来的信息,接着将进行数据处理,将收到的编码信息与已存储的数据进行比对,得出需要升降的电机,接着控制电机升降就可以将盲文显示出来了。

2.3  盲文点显设计

盲文是专为盲人设计、靠触觉感知的文字。这样显示信息的方式可以让盲人精准的获取信息,当盲人在公共场合或者嘈杂的环境中时,依旧能帮助到盲人获取信息,并且保护了盲人的隐私,不必为个人信息泄露而担忧。一般一个盲文点字是由六点组成,左侧从上到下为123,右侧为456。因此,本设备的盲文点显器也是由6个点构成,需要6个微型电机来控制6个点是否突出。图4是本设备盲文点显器触点工程图。

本设备已研制出样品,样品工作稳定,实现了文中所述功能,图5是设备硬件端展示“你”字时的顶针工作状态。

2.4  数据处理流程

如图6所示的交互流程是本设备的数据处理流程。盲人端Android APP上位机与硬件端建立连接后,可以自动接收数据。盲人端Android APP接收到短消息后,会将消息转换为独特的编码,然后通过蓝牙发送十六位进制数给硬件端。硬件端收到消息后,可以选择何时阅读消息,等待盲人读取完当前信息后再进行下一个音节的读取,如果有需要,也可以退回上一步再读取信息[4]。

3  盲人端Android APP的设计

盲人端Android APP使用Android Studio软件进行编程,程序设计语言采用Java。本APP主要使用对象为盲人,由于盲人看不见,所以本盲人端APP的界面设计较为简易,将手机屏幕分为四个区域,对应四个不同功能的按钮,分别为“摸”“听”“说”“助”,如图7所示。按下“听”功能按钮后Android手机能将亲友发送过来的短信转换成对应的编码并通过蓝牙向硬件端传输,再由硬件端转换成盲文显示。按下“听”功能按钮后,Android手机会自动播报出亲友发送过来的信息。由于盲人无法自己在Android手机上打字,所以本APP设计了“说”这一功能,当按下“说”这一功能按钮时,Android手机会自动听盲人说的话,并转化为文字。当按下“助”这一功能时,Android手机会自动拨打电话给预先设定好的电话号码。

盲人端Android APP主要包括语音合成模块、语音输入模块、手机短信转编码模块、一键拨号模块。盲人端Android APP的设计采用自上而下的方法。盲人Android APP工作流程图如图8所示,首先是软件初始化,进入到APP界面,初始化过程中会启动短消息的广播接收者,一旦收到短消息广播,手机会将收到的信息呈现在APP的显示框中,接着会自动将信息文字转化为拼音,再将拼音转化为自定义编码,最后将自定义编码传输到硬件端。

“听”分为两种情况,如果本身是语音消息,则直接将原本语音消息播出;如果本身是文本消息,则采用科大讯飞的语音合成技术,将文本转换为语音,然后再播出。科大讯飞语音合成API通过Speech Synthesizer类来实现语音合成。首先需要创建合成器,设置合成参数,然后设置合成监听器Synthesizer Listener,实现合成监听器Synthesizer Listener,合成监听器的关键方法有:

onEvent(int eventType,int arg1,int arg2,android.os.Bundle obj):合成会话事件,扩展应用接口,由业务进行约定;

onCompleted(SpeechError error):结束SDK回调此接口,通知应用,将结束会话;

onSpeakProgress(int progress,int beginPos,int endPos):播放进度SDK回调此接口,通知应用,当前的播放进度。

“说”功能主要是将语音转化为文字并进而转化为盲文。文字转盲文在“摸”功能里已经实现,语音转文字,即语音识别,本APP也是采用科大讯飞的技术,科大讯飞提供了Speech Recognizer类来实现语音识别。首先需要先调用SpeechUtility.createUtility(Context context,String string)进行SDK初始化,然后通过createRecognizer(Context context,InitListener listener)创建识别器,然后设置语音识别监听器Recognizer Listener,实现语音识别监听器Recognize rListener,语音识别监听器的关键方法有:

onResult(RecognizerResultresult,booleanislast):返回的语音识别结果,一次识别会话的结果可能会多次返回,通過参数islast,判断是否是最后一个结果,true时为最后一个结果,否则不是;

onVolumeChanged(int volume,byte[] data):识别开始后该方法会一直监听音量变化直到识别接收,用于告知应用层当前的音量值;

onError(SpeechError error):错误回调,当次会话出现错误时会调用该方法,会话录音均会自动结束。

“助”功能主要是盲人在需要帮助的时候,会发送盲人的当前位置到紧急联系人的手机,并会拨打紧急联系人的电话。获取位置主要通过Location Manager类中的方法来实现。

4  结  论

本设备主要基于Android应用技术、单片机技术、电机技术等,基本实现了辅助盲人使用智能手机的功能,本设备不仅可以让一般的盲人通过语音播报来听世界,还可以让自身缺陷更为严重的聋哑盲人通过触摸来了解世界。

参考文献:

[1] 刘鑫,秦富康.盲人使用点字打印机及标示系统设计 [J].艺术科技,2016,29(2):275-276.

[2] 王一,滕召胜,温和,等.适合于盲人使用的信息输入方法的研究与实现 [J].计算机系统应用,2009,18(12):117-120.

[3] 梁小廷.单片机技术的发展及应用研究 [J].民营科技,2018(6):9.

[4] 姚越,吴宝庆.关于单片机技术应用的研究 [J].科技资讯,2018,16(9):112-113.

作者简介:朱慧媛(2000—),女,汉族,江苏淮安人,本科在读,主要研究方向:电子与通信技术。

猜你喜欢
人机交互盲人
随声附和的盲人
盲人推拿
盲人节
某型柴油机虚拟维修系统研究
基于虚拟现实技术的九江城市交通事故模拟系统设计
人机交互课程创新实验
多点噪声远程自动采集系统设计
盲人分衣服
盲人
盲人水杯