邵星宇,陳偉華,方婉婷,趙旭輝,楊慧敏
(湖北工業大學機械工程學院,湖北 武漢430070)
中國盲人協會2019-05的數據顯示,目前全國共有1731萬視力殘疾人士。由于中國無障礙設施的不完善,殘疾人保障制度的不健全,導盲犬數量少成本高昂,視障人士出行難的問題并沒有得到很好的解決。據調查,約30%的視障人士基本不出家門,社會圈子封閉,無法進一步融入社會。隨著智能手機的不斷普及,各大主流操作系統都研發了無障礙操作系統,讓視障人士方便使用手機成為可能,但應用商城上針對視障人士應用數量還很少,多為聊天、閱讀等功能。目前中國交通管理設施已實現物聯網大數據管理,因此開發一款可導航視障人士出行,保障視障人士安全過馬路,適合視障人士家屬和社會監護的可移動設備十分有必要也具有可行性[1]。因此,本文基于APIcloud設計了一款幫助盲人出行并保障其出行安全的導盲軟件——芒果智行APP。APIcloud平臺具有低代碼開發優勢,且自身提供了許多界面類、菜單類、功能類、設備類等原生模板[2],減少部分代碼的重復編譯,大大提高了芒果智行APP開發的效率。
本文使用開放的APICloud移動應用服務平臺與“墨刀”原型設計協同工具,進行APP開發。APICloud Studio能夠基于HTML/CSS和JavaScript等Web技術,通過擴展API來進行低代碼客戶端開發,基于NoSQL數據庫進行數據模型設計和軟件API調試分析,并自動生成REST接口[3]。開發者可以在APICloud提供的開放SDK模塊基礎上進行開發,簡化了開發過程,提高了開發效率。開發者還可以在APICloudStudio平臺上進行XU、UI、代碼、AppLoader管理[4],進而實現對軟件開發、測試、發布、管理和運營等全周期管理?;凇澳丁逼脚_具有豐富的組件庫、圖標庫、動效庫和設計模板,并且可通過拖拽和設置操作即可讓開發者快速完成界面UI設計、頁面交互邏輯、Demo預覽演示[5]等。
本文開發的芒果智行APP主要包括“步行”“搭公交”“我的”三大主要界面,以語音播報、手機跌落報警、緊急聯系人作為輔助功能方便視障人士使用,芒果智行APP功能流程如圖1所示,其界面效果如圖2所示。該APP不僅能夠幫助視障人士使用者獨立過馬路、乘坐公交、完成出行活動,還可以讓視障人士的監護人遠程及時了解到視障人士當前的活動信息,發現問題能夠及時聯系,確保出行安全。此外,還可通過本APP收集掌握視障人士出行安全信息,更有針對性地保障殘疾人權益,方便視障人士出行,利用大數據對殘疾人實現智慧化、精準化幫扶。

圖1 芒果智行APP導航流程圖

圖2 芒果智行APP界面圖
在“步行”界面中,用戶可以利用雙擊任意音量鍵呼出語音鍵盤功能,語音輸入想要到達的地點,芒果智行APP根據地圖數據匹配最佳路線,為用戶提供語音導航。其中,APP通過Wi-Fi將自動與紅綠燈模擬系統進行連接,為用戶及時通報紅綠燈情況,讓用戶安全過馬路?!安叫小睂Ш浇缑嫒鐖D3所示。

圖3 “步行”界面
在“搭公交”界面中,當用戶選擇出行方式為公交地鐵時,芒果智行APP會根據地圖數據匹配應該搭乘的公交線路,APP會為用戶語音播報公交站當前來車、公交車當前到站等信息,幫助盲人正確乘坐公交車線路,避免出現誤站、錯誤乘車等情況?!按罟弧睂Ш浇缑嫒鐖D4所示。

圖4 “搭公交”界面
在“我的”界面當中,針對視障人士出行的特殊性,用戶可以設置監護人、手機跌落報警、盲人語音播報。在設置監護人后,監護人可以實時查看視障人士出行信息。當用戶長按任意音量鍵時可喚醒緊急聯系監護人,芒果智行APP將自動撥打電話向監護人進行聯系;當手機跌落報警打開時,若手機陀螺儀檢測到手機出現跌落碰撞時,揚聲器會自動發出聲音進行報警并向監護人發送提示消息,以此來防范手機跌落、行路摔倒的情況。用戶還可以在“我的”界面設置的昵稱、賬號等用戶信息并進行軟件設置。“我的”界面如圖5所示。

圖5 “我的”界面
ttsModule模塊:封裝了本地安卓的TTS語音合成模塊,實現文字轉換為語音的功能。部分代碼如下。

bMap模塊:bMap模塊封裝了原生地圖的SDK,與普通的js地圖相比有很多無可比擬的優點,能夠實現定位、導航、搭公交、路線規劃等功能。在使用之前必須單獨申請各自的apiKey,并同時配置在config文件中。使用此模塊之前必須先配置config文件,ios配置代碼如下。


wifiProxy模塊:wifiProxy封裝了設置Wi-Fi代理和取消Wi-Fi代碼的接口,調用該接口可以修改安卓手機“設置”里面的Wi-Fi代理信息。
示例代碼:

apk模塊:通過apk通訊模塊實現軟硬件的交互。
示例代碼:

本文利用STM32f103zet6單片機來模擬紅綠燈系統,且單片機上裝有Wi-Fi模塊用來實現紅綠燈系統與手機APP的信號連接。
如圖6所示,ESP8266是一款超低功耗的UART Wi-Fi透傳模塊,可將智能設備連接到無線網絡上,進行網絡通信,實現聯網功能。因為價格較低,性能穩定等受到很大關注。該模塊支持串口轉Wi-FiSTA、串口轉AP和Wi-FiSTA+Wi-FiAP的模式,可通過AT指令對系統參數進行更改設置,從而建立串口-Wi-Fi數據傳輸方案,做到設備通過互聯網傳輸數據。本文采用正點原子的ESP-01模塊,與開發板配合實現Wi-Fi傳輸功能。

圖6 ESP8266模塊
如圖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可語音播報當前公交信息;打開“我的”界面,設置列表某一聯系人為監護人后,監護人可接收到來自用戶的邀請。
芒果智行APP通過Wi-Fi模塊實現與紅綠燈信息的交互,并進行語音播報。芒果智行APP還可以結合百度地圖的導航功能使盲人的外出安全得到有效保障,并且加入其他封裝好的模塊能使芒果智行APP的功能更加齊全,方便盲人快速掌握和使用此APP。