劉勇軍, 楊 勇, 程 磊, 謝星宇
(1 黃淮學院 智能制造學院, 河南 駐馬店 463000; 2 黃淮學院 機械與能源工程學院, 河南 駐馬店 463000)
在國內,每逢夏天就容易發生幼兒遺落校車造成死亡的事故。雖然國家出臺了校車安全管理條例[1],規定了校車的安全技術條件和隨車教師的配備,但由于管理的松懈和人員的疏忽,此類事故卻仍有間歇性發生概率可能。利用技術來預防事故的發生是解決這一問題的最好途徑。
研究人員對這一問題進行了廣泛的探究,取得了可觀的成果,但也存在一定的不足。金建設等人[2]提出了幼兒遺落校車時給老師和家長發送短信的構想并付諸實施,但報警短信不易被及時閱讀,致使不能及時展開施救。周蓋等人[3]、馬暄煒等人[4]又陸續提出了利用Android平臺對校車進行管理,該方案主要是從校車使用方的角度考慮,可以實時查看校車的位置和查詢校車的歷史運行軌跡,但該方案沒有研發學生遺落的報警功能,也并未闡明相應APP的開發過程。隨后,文獻[5-10]又就此課題紛紛提出了利用RFID射頻技術來識別學生的上下車,家長可以利用APP查看學生的狀態和校車的位置,該方案要求幼兒學生必須攜帶射頻IC卡,且不能在有危險發生時即刻報警,同時家長也不可能每天都能打開APP去查看校車的實時位置。張楊楊等[11]則研究了利用Android平臺和百度地圖結合的定位服務,該方案需要第三方服務器,設計過程復雜。
由于幼兒遺落校車是小概率事件,從技術角度講,發生事故時能及時報警并發送校車的位置信息才是亟待解決的關鍵問題。讓家長、幼兒園管理人員等實時查看校車的位置和幼兒的狀態的想法并不現實,人為的疏忽仍然會造成事故的發生。
考慮到現在信息的海量性,如果僅以短信報警,報警信息很可能會被眾多信息淹沒而導致錯失忽略。因此,本文利用APP Inventor軟件開發幼兒遺落校車預警系統APP,配合校車上的遺落檢測模塊、GPS定位模塊和GSM通信模塊,當出現幼兒單獨滯留校車即將發生危險事故時,在安裝有APP的手機上將強制發出聲音、振動、圖片、文本等多重形式的報警,并在地圖上顯示校車的當前位置,為營救爭取時間,降低事故致死的概率,提升幼兒乘坐校車的安全性。
手機通常會接收到很多短信,幼兒遺落校車報警系統需要分析接收的短信是否包含特定的字符,只有包含特定字符的短信才被認為是有幼兒遺落在校車上,需要激活報警系統。為了便于說明,本文設計的報警短信的樣式為“危險,經度000.0000,緯度00.0000”,實際使用時,報警短信的格式可以設計為較為復雜的、包含特殊字符的長字符串,以防止誤報警。
設計中,在界面Screen1上添加一個短信收發器組件,命名為ShortMessage,該組件為隱式組件。
手機每次收到短信時,觸發短信接收事件,在短信接收處理程序中首先分析短信中是否包含“危險”字樣,如果包含,利用APP Inventor軟件中的文本截取指令“segment text”提取短信中的經、緯度信息,并存儲在變量中,如圖1所示。

圖1 收到短信時的處理程序
“segment text”指令可以從一個字符串的指定位置開始截取指定長度的字符串,運行后可如圖2所示。

圖2 提取經緯度子程序
短信報警信息發送到幼兒家長和幼兒園老師的手機上時,由于短信是群發的,故而只要家長、老師中任何一位發現了報警信息即可及時處理。為了進一步增強報警信息及時傳送至家長和老師處的提示效果,在接收到報警短信后,啟動APP上的聲音、振動、文本、圖片報警,以確保安裝有幼兒遺落校車報警APP的機主第一時間就能獲知報警信息。
設計時,在界面Screen1上添加一個標簽LabelTitle,在標簽下添加一個圖像PictureAlarm,在圖像上添加一個畫布CanvasAlarm,在圖像的下方添加一個標簽LabelAlarm,在LabelAlarm的下方添加一個按鈕ButtonClear,分別添加隱式組件計時器Timer1、音效VoiceAlarm、對話框Dialog1、微數據庫DataBase。
當收到包含有特定字符串的報警短信后,啟動計時器、驅動手機振動、彈出報警對話框、發出報警警示音,則如圖1、圖3所示。在啟動計時器的同時,驅動圖像PictureAlarm和文本LabelAlarm閃爍,如圖4所示。在報警的同時,將經緯度信息保存到數據庫中,詳情如圖5所示。

圖3 對話框報警

圖4 計時器計時時間到的觸發程序
設計聲音、振動、圖片、文本等多個報警組件的組合以增加手機用戶獲知報警信息的概率。手機用戶在獲知報警信息后,可以按下ButtonClear按鈕,以清除報警,即如圖6所示。

圖5 保存經緯度信息至數據庫

圖6 清除報警程序
雖然已有規定禁止校車從事載運學生之外的其它業務,但考慮到部分校車是由專業校車服務公司運營的,也有部分校車是改裝的。因此,校車將學生運送至目的地后并非都會停放在幼兒學校內。而在幼兒園老師和家長獲取報警信息后,最迫切急需的信息就是校車目前停在哪里,為營救指明方位。
設計中,在界面Screen1的最下端添加一個按鈕ButtonBusLocation,按鈕的顯示文本修改為“查看校車當前位置”。新建一個界面Screen2,在Screen2的頂端添加一個標簽Label1,在標簽的下方添加一個水平滾動布局HorizontalScroller1,在水平滾動布局上添加一個豎直滾動布局VerticalScroller1,于其上再添加一個圖片PictureBusMap,設置圖片的像素為600*600,用于顯示地圖圖片。在Screen2的下方添加一個按鈕ButtonReturn,用于返回主界面。而后添加一個隱式組件Web客戶端WebClient,用于與高德地圖API進行通信。
為了快捷、簡便地顯示地圖并在地圖上標明校車的位置,本文選擇高德地圖的靜態地圖顯示功能。首先,開發者將在高德地圖網站上注冊,申請一個密匙key,用于身份識別。然后向高德地圖開發平臺發送一個包含經、緯度和key的網址,即可返回一個靜態地圖圖片。
當“查看校車當前位置”按鈕被點擊時,就打開Screen2,并將數據庫中的經、緯度信息傳送到Screen2中,具體如圖7所示。

圖7 點擊“查看校車當前位置”的事件
Fig.7Programwhenthe‘currentlocationoftheschoolbus’buttonisclicked
當Screen2初始化時,從數據庫讀取前8位作為經度信息、讀取從第9位開始的7位數據作為緯度信息,分別保存在變量BusLongitude和BusLatitude中,并將校車當前的經緯信息顯示在地圖上方的標簽Label1中,同時調用校車位置地圖顯示子程序“BusLocation”,界面效果如圖8所示。

圖8 界面2初始化的處理
校車位置地圖顯示子程序“BusLocation”如圖9所示,該子程序的主要功能是利用APP Inventor軟件中的拼湊字符串指令,將高德地圖開發平臺網址、經緯度、圖片大小、標示符大小、標示符顏色、標識符字符、標示經緯度、key等組合為一個網址,利用Web客戶端WebClient發送給高德地圖API,高德地圖API會返回一個圖片,并顯示在手機上。

圖9 地圖顯示子程序
幼兒遺落校車報警APP的運行結果如圖10所示。在APP啟動時,進入主界面,如圖10(a)所示。如果沒有報警短信,主界面中的圖片是靜止的,圖片下方的文本信息不顯示。當接收到報警短信時,主界面中的圖片閃爍、圖片下方的文本閃爍,在主界面上會彈出一個報警對話框(圖中未做顯示),按下報警對話框中的“確定”后,方可進行其它操作。當按下“清除報警”按鈕時,報警消除,圖片和文本停止閃爍。
按下“查看校車當前位置”按鈕,APP進入地圖顯示界面,如圖10(b)所示。在界面的最上方顯示當前經緯度信息,界面的主體部分顯示一張600*600的圖片,圖片中標示出校車當前的位置,可以通過左/右、上/下滑動以瀏覽校車附近的地理信息。按下圖片最下方的“返回”按鈕,APP返回到主界面。

(a)主界面 (b)地圖顯示界面
針對幼兒遺落校車事故備受關注的問題,利用APP Inventor軟件開發了幼兒遺落校車報警APP。APP可以進行短信分析,在接收到報警短信時觸發聲音、振動、圖片、文本報警,并可用地圖顯示校車的位置,為營救提供便利。本文設計的APP可以安裝在幼兒家長、幼兒園老師等相關人員的手機上,有效配合組裝在校車的報警短信發送裝置,可以大幅降低幼兒遺落校車造成死亡事故的發生率,提升幼兒乘坐校車的安全性。