基于APICloud的助盲智行APP设计*

2022-02-15 12:16邵星宇陈伟华方婉婷赵旭辉杨慧敏
科技与创新 2022年3期
关键词:智行监护人代码

邵星宇,陈伟华,方婉婷,赵旭辉,杨慧敏

(湖北工业大学机械工程学院,湖北 武汉430070)

中国盲人协会2019-05的数据显示,目前全国共有1731万视力残疾人士。由于中国无障碍设施的不完善,残疾人保障制度的不健全,导盲犬数量少成本高昂,视障人士出行难的问题并没有得到很好的解决。据调查,约30%的视障人士基本不出家门,社会圈子封闭,无法进一步融入社会。随着智能手机的不断普及,各大主流操作系统都研发了无障碍操作系统,让视障人士方便使用手机成为可能,但应用商城上针对视障人士应用数量还很少,多为聊天、阅读等功能。目前中国交通管理设施已实现物联网大数据管理,因此开发一款可导航视障人士出行,保障视障人士安全过马路,适合视障人士家属和社会监护的可移动设备十分有必要也具有可行性[1]。因此,本文基于APIcloud设计了一款帮助盲人出行并保障其出行安全的导盲软件——芒果智行APP。APIcloud平台具有低代码开发优势,且自身提供了许多界面类、菜单类、功能类、设备类等原生模板[2],减少部分代码的重复编译,大大提高了芒果智行APP开发的效率。

1 APP总体设计

1.1 开发工具

本文使用开放的APICloud移动应用服务平台与“墨刀”原型设计协同工具,进行APP开发。APICloud Studio能够基于HTML/CSS和JavaScript等Web技术,通过扩展API来进行低代码客户端开发,基于NoSQL数据库进行数据模型设计和软件API调试分析,并自动生成REST接口[3]。开发者可以在APICloud提供的开放SDK模块基础上进行开发,简化了开发过程,提高了开发效率。开发者还可以在APICloudStudio平台上进行XU、UI、代码、AppLoader管理[4],进而实现对软件开发、测试、发布、管理和运营等全周期管理。基于“墨刀”平台具有丰富的组件库、图标库、动效库和设计模板,并且可通过拖拽和设置操作即可让开发者快速完成界面UI设计、页面交互逻辑、Demo预览演示[5]等。

1.2 APP功能介绍

本文开发的芒果智行APP主要包括“步行”“搭公交”“我的”三大主要界面,以语音播报、手机跌落报警、紧急联系人作为辅助功能方便视障人士使用,芒果智行APP功能流程如图1所示,其界面效果如图2所示。该APP不仅能够帮助视障人士使用者独立过马路、乘坐公交、完成出行活动,还可以让视障人士的监护人远程及时了解到视障人士当前的活动信息,发现问题能够及时联系,确保出行安全。此外,还可通过本APP收集掌握视障人士出行安全信息,更有针对性地保障残疾人权益,方便视障人士出行,利用大数据对残疾人实现智慧化、精准化帮扶。

图1 芒果智行APP导航流程图

图2 芒果智行APP界面图

在“步行”界面中,用户可以利用双击任意音量键呼出语音键盘功能,语音输入想要到达的地点,芒果智行APP根据地图数据匹配最佳路线,为用户提供语音导航。其中,APP通过Wi-Fi将自动与红绿灯模拟系统进行连接,为用户及时通报红绿灯情况,让用户安全过马路。“步行”导航界面如图3所示。

图3 “步行”界面

在“搭公交”界面中,当用户选择出行方式为公交地铁时,芒果智行APP会根据地图数据匹配应该搭乘的公交线路,APP会为用户语音播报公交站当前来车、公交车当前到站等信息,帮助盲人正确乘坐公交车线路,避免出现误站、错误乘车等情况。“搭公交”导航界面如图4所示。

图4 “搭公交”界面

在“我的”界面当中,针对视障人士出行的特殊性,用户可以设置监护人、手机跌落报警、盲人语音播报。在设置监护人后,监护人可以实时查看视障人士出行信息。当用户长按任意音量键时可唤醒紧急联系监护人,芒果智行APP将自动拨打电话向监护人进行联系;当手机跌落报警打开时,若手机陀螺仪检测到手机出现跌落碰撞时,扬声器会自动发出声音进行报警并向监护人发送提示消息,以此来防范手机跌落、行路摔倒的情况。用户还可以在“我的”界面设置的昵称、账号等用户信息并进行软件设置。“我的”界面如图5所示。

图5 “我的”界面

2 关键技术及部分代码

ttsModule模块:封装了本地安卓的TTS语音合成模块,实现文字转换为语音的功能。部分代码如下。

bMap模块:bMap模块封装了原生地图的SDK,与普通的js地图相比有很多无可比拟的优点,能够实现定位、导航、搭公交、路线规划等功能。在使用之前必须单独申请各自的apiKey,并同时配置在config文件中。使用此模块之前必须先配置config文件,ios配置代码如下。

wifiProxy模块:wifiProxy封装了设置Wi-Fi代理和取消Wi-Fi代码的接口,调用该接口可以修改安卓手机“设置”里面的Wi-Fi代理信息。

示例代码:

apk模块:通过apk通讯模块实现软硬件的交互。

示例代码:

3 系统测试

本文利用STM32f103zet6单片机来模拟红绿灯系统,且单片机上装有Wi-Fi模块用来实现红绿灯系统与手机APP的信号连接。

3.1 Wi-Fi模块ESP8266

如图6所示,ESP8266是一款超低功耗的UART Wi-Fi透传模块,可将智能设备连接到无线网络上,进行网络通信,实现联网功能。因为价格较低,性能稳定等受到很大关注。该模块支持串口转Wi-FiSTA、串口转AP和Wi-FiSTA+Wi-FiAP的模式,可通过AT指令对系统参数进行更改设置,从而建立串口-Wi-Fi数据传输方案,做到设备通过互联网传输数据。本文采用正点原子的ESP-01模块,与开发板配合实现Wi-Fi传输功能。

图6 ESP8266模块

3.2 简易信号灯电路

如图7所示,在信号灯电路中,东南西北4个方向的信号灯以E、S、W、N表示,颜色用G(绿色)、Y(黄色)、R(红色)表示,两条车道的斑马线绿灯用G1、G2表示。当红灯ER和WR亮起时,绿灯G1亮起,同样当红灯NR和SR亮起时,绿灯G2亮起。当G1或者G2亮起时,STM32会通过串口控制ESP8266模块向与其连接的手机的APP发送代码,以告知东西方向或南北方向的行人可以通过路口。程序采用KeiluVision5编写,并通过FlyMcu烧录开发板的STM32芯片中。

图7 信号灯电路图

测试时,当装有芒果智行APP的手机靠近该单片机时,芒果智行APP和单片机会通过Wi-Fi模块自动连接。单片机将信号灯信息通过Wi-Fi模块发送给手机APP,并语音播报实现交互功能,用户根据红绿灯信息可判断当前是否可通行。芒果智行APP还可加载百度地图,双击任意音量键呼出语音输入键盘搜索功能,语音输入目的地后,此APP可以及时匹配到最佳路线并语音播报;语音输入搭乘公交后,APP可语音播报当前公交信息;打开“我的”界面,设置列表某一联系人为监护人后,监护人可接收到来自用户的邀请。

4 结论

芒果智行APP通过Wi-Fi模块实现与红绿灯信息的交互,并进行语音播报。芒果智行APP还可以结合百度地图的导航功能使盲人的外出安全得到有效保障,并且加入其他封装好的模块能使芒果智行APP的功能更加齐全,方便盲人快速掌握和使用此APP。

猜你喜欢
智行监护人代码
为养老如何自行选定日后监护人
选择意定监护人,为养老未雨绸缪
长城汽车毫末智行完成 Pre-A 轮融资
智行2.0版威马EX5
SUV操控不行?绅宝智行Say No!
开启智行未来 日产智行科技体验营盛大启幕
神秘的代码
一周机构净增(减)仓股前20名
重要股东二级市场增、减持明细
近期连续上涨7天以上的股