陳炳飛
(廈門大學(xué)嘉庚學(xué)院,福建 漳州 363000)
近年來,國民經(jīng)濟(jì)水平不斷上升,交通道路鋪設(shè)遍布甚廣,隨著低碳出行和節(jié)能減排等綠色理念深入人心[1-2],公交或地鐵出行成為人們重要的出行方式。然而,目前的公交或地鐵內(nèi)的到站提醒系統(tǒng)存在很多不足,無法滿足人們對智能化生活的要求。本文針對以往公交車報站系統(tǒng)的分析,探究其不足之處,設(shè)計(jì)了一套新型智能公交到站提醒系統(tǒng),為未來的公交或地鐵報站系統(tǒng)提供一定的參考。
據(jù)報道,2018年10月28日,重慶市萬州區(qū)的一輛公交車在橋面上行駛時,乘客與司機(jī)因“坐過站”產(chǎn)生激烈爭執(zhí),相互毆打,導(dǎo)致車輛失控墜入江中,致15人遇難[3]。近些年,乘客因坐過站而與司機(jī)發(fā)生沖突的事情屢見不鮮,嚴(yán)重危害了其他乘客的生命安全。
現(xiàn)階段的公交報站系統(tǒng)雖然造價低廉,但其提醒到站功能卻已無法滿足大眾的需求。目前國內(nèi)配備有電子線路圖的公交車數(shù)量極少,大多數(shù)公交車內(nèi)僅有紙質(zhì)版線路圖,未配備智能化、互動性設(shè)施[4]。
對乘客錯過目的站點(diǎn)的原因進(jìn)行歸納總結(jié),大概有以下3個因素:
(1)環(huán)境嘈雜,影響到站廣播提示音。高峰時期人流量大導(dǎo)致公交車內(nèi)擁擠、嘈雜[5],與道路周圍汽車噪音形成一種封閉的環(huán)境,使乘客無法聽清車內(nèi)的到站提示音,也導(dǎo)致司機(jī)因噪音無法了解個別乘客到站下車的需求而提前關(guān)閉車門,且公交公司有明文規(guī)定,不在公交車站臺停車范圍內(nèi),司機(jī)不能私自靠邊停車,大幅降低了乘客的出行效率和對所乘坐交通工具的滿意度。
(2)專注玩手機(jī)。根據(jù)中國互聯(lián)網(wǎng)中心2020年4月發(fā)布的相關(guān)報告顯示,我國網(wǎng)民用手機(jī)上網(wǎng)達(dá)8.9億人,其中大學(xué)生是主力軍[6-7]。在生活中,手機(jī)成癮已是一種普遍現(xiàn)象。雖然手機(jī)給生活帶來很多便利,但很多人也有因?yàn)樵诔俗卉嚮虻罔F等交通工具時低頭玩手機(jī)而錯過目的站的經(jīng)歷。
(3)勞累的工作者,瞌睡的老年人。工作忙碌的年輕人和行動遲緩的老年人,因?yàn)槟承┚壒剩玳L時間乘車等易犯困,對于到站提示音毫無差覺,從而錯過目的站點(diǎn)。
本系統(tǒng)適用于專線跨市公交、長途大巴等一些無人站立的交通工具,配置智能公交到站提醒系統(tǒng),解決因瞌睡、車廂內(nèi)噪音而導(dǎo)致乘客坐過站的問題。同時還可避免因下車擁擠而對乘客造成的身體傷害。
系統(tǒng)主要分為乘客端的座位系統(tǒng)設(shè)計(jì)和司機(jī)端的軟件系統(tǒng)設(shè)計(jì),系統(tǒng)架構(gòu)如圖1所示。乘客可以通過座椅上的按鈕預(yù)約站點(diǎn),并向司機(jī)端和本座椅系統(tǒng)提供目的站點(diǎn)信息;司機(jī)端將下一站點(diǎn)的到站信息通過ZigBee廣播給每個座椅;座椅接收到司機(jī)端的站點(diǎn)信息之后,判斷本座椅乘客預(yù)約的目的站點(diǎn)是否即將到達(dá),如果本座椅乘客的目的站點(diǎn)即將到達(dá),則通過座椅振動提醒乘客。
圖1 系統(tǒng)框架
座位系統(tǒng)的主控制器選用具有應(yīng)用廣泛、價格低廉[8]、功耗低、接口多和開發(fā)容易等優(yōu)點(diǎn)的51系列單片機(jī),型號為STC89C52。座位系統(tǒng)的硬件結(jié)構(gòu)包含時鐘電路、復(fù)位電路、按鍵模塊、顯示模塊、壓力檢測模塊和振動模塊,如圖2所示。其中時鐘電路、復(fù)位電路和51單片機(jī)組成單片機(jī)最小系統(tǒng);按鍵模塊使得乘客可以通過按鍵輸入預(yù)約車站點(diǎn);顯示模塊選用LCD1602字符液晶屏顯示下一站將到達(dá)的站點(diǎn)和乘客預(yù)約的下車站點(diǎn);壓力檢測模塊選用壓力傳感器檢測座位壓力,如果檢測到壓力達(dá)到一定值,則判斷該座位有乘客;振動模塊選用HX711,當(dāng)車輛到達(dá)乘客預(yù)約的站點(diǎn)后,振動模塊開啟振動模式提醒乘客下車,防止乘客錯過目的站點(diǎn);ZigBee模塊采用串口轉(zhuǎn)換方式,通過透傳模式與司機(jī)端的設(shè)備進(jìn)行數(shù)據(jù)傳輸。
圖2 座位系統(tǒng)硬件結(jié)構(gòu)
座位系統(tǒng)的軟件設(shè)計(jì)包括按鍵掃描檢測程序設(shè)計(jì)、LCD1602顯示模塊數(shù)據(jù)顯示設(shè)計(jì)、壓力檢測程序設(shè)計(jì)、振動模塊振動程序設(shè)計(jì)和串口數(shù)據(jù)收發(fā)設(shè)計(jì)。座位系統(tǒng)軟件工作流程如圖3所示。首先對單片機(jī)各模塊進(jìn)行初始化設(shè)置,如初始化和配置串口、初始化振動模塊和初始化顯示模塊LCD1602等。
圖3 座位系統(tǒng)軟件流程
串口接收數(shù)據(jù)使用中斷模式,首先判斷串口是否收到第一個字節(jié),如果沒有收到,則說明司機(jī)端未廣播數(shù)據(jù);如果收到第一個字節(jié),則進(jìn)入數(shù)據(jù)接收狀態(tài),每收到一個字節(jié)均需判斷一幀數(shù)據(jù)是否接收完成,如果一幀數(shù)據(jù)沒有接收完成,則繼續(xù)接收直到完整收到一幀數(shù)據(jù)。完整接收到一幀指令后,對幀數(shù)據(jù)進(jìn)行解析。如果幀數(shù)據(jù)是更新下一站點(diǎn)信息,則更新顯示模塊中需顯示下一站點(diǎn)的信息;如果是司機(jī)端提醒該座位乘客下車的信息,則振動模塊開啟振動模式,提醒乘客下車;如果是司機(jī)端請求更新相關(guān)乘客信息,則組幀將座位是否有人和乘客預(yù)約的站點(diǎn)信息上傳;如果幀數(shù)據(jù)錯誤,則丟棄。最后,實(shí)時掃描按鍵,檢測乘客預(yù)約站點(diǎn)信息,同時,實(shí)時檢測并判斷乘客是否到達(dá)預(yù)約的目的站點(diǎn),如果到達(dá)則開啟振動模式提醒乘客下車。
將所需各元器件模塊用導(dǎo)線聯(lián)通,需要安裝的模塊主要包含顯示模塊、壓力檢測模塊、按鍵檢測模塊和振動模塊。振動模塊嵌入座椅靠背部位,壓力傳感模塊嵌入座椅坐墊中,兩邊扶手處分別安裝顯示模塊和按鍵檢測模塊,如圖4所示。與傳統(tǒng)座椅相比,從外觀上看,與日常長途大巴座椅無異,只是在扶手處增加了顯示模塊和按鍵檢測模塊,即本系統(tǒng)可在傳統(tǒng)座椅的基礎(chǔ)上進(jìn)行簡單改造,使座椅更加智能。通過壓力傳感器判斷座位上是否有乘客,當(dāng)座位上有乘客且乘客預(yù)約的站點(diǎn)即將到達(dá)時,靠背部位將發(fā)出振動提醒。
圖4 座椅系統(tǒng)各模塊安裝圖
司機(jī)端硬件采用工業(yè)觸摸平板顯示屏,系統(tǒng)安裝Windows10,使用C++語言進(jìn)行軟件編程開發(fā)。軟件的工作邏輯流程如圖5所示。首先,對界面的所有控件進(jìn)行初始化。接著,開辟接收緩沖區(qū),存放從乘客系統(tǒng)接收的數(shù)據(jù)。司機(jī)端和乘客座位系統(tǒng)的通信模式采用主從模式,司機(jī)端為主機(jī),乘客座位系統(tǒng)為從機(jī)。司機(jī)端逐個發(fā)送查詢座位乘客預(yù)約站點(diǎn)信息指令,然后等待接收乘客座位系統(tǒng)返回的反饋信息。解析接收的數(shù)據(jù)并更新界面座位信息。同時,統(tǒng)計(jì)和更新界面上的乘客人數(shù)信息,便于司機(jī)了解乘客到達(dá)目的站點(diǎn)的下車情況。司機(jī)還可以通過查看界面上的人數(shù)統(tǒng)計(jì)信息,主動發(fā)送提醒指令給相關(guān)座位的乘客。最后,司機(jī)端發(fā)送下一站點(diǎn)信息給所有座位。
圖5 司機(jī)端軟件工作流程
司機(jī)端的操控界面中分布著多個座位按鈕和乘客人數(shù)統(tǒng)計(jì)信息,如圖6所示。已有乘客的座位會顯示該乘客的目的站點(diǎn),且用顏色區(qū)分不同座位乘客與即將到站的站點(diǎn)關(guān)系。紅色的座位表示該座位的乘客即將下車;白色的座位表示該座位為空,暫無乘客;綠色表示該座位已有乘客。司機(jī)可通過座位的顏色和目的站點(diǎn)來判斷乘客是否離座,是否到站,如遇上到站未離開的乘客,司機(jī)可按下相應(yīng)座位的按鈕,向該座位系統(tǒng)發(fā)出提醒指令,控制對應(yīng)座椅振動提示,減少因乘客失誤而坐過站的狀況出現(xiàn)。
圖6 司機(jī)端操控界面
對司機(jī)端和乘客端的通信采取自定義協(xié)議,為保證通信的準(zhǔn)確性和協(xié)議拓展性,數(shù)據(jù)協(xié)議一般包括幀頭、長度、類型、數(shù)據(jù)和校驗(yàn)部分。
司機(jī)端的指令格式見表1所列。司機(jī)端發(fā)送給乘客端的指令類型有3種:廣播數(shù)據(jù),用來同步乘客端顯示下一站站點(diǎn)信息;發(fā)現(xiàn)乘客到達(dá)目的站點(diǎn)未下車后,司機(jī)端主動發(fā)送提醒命令給乘客端;將乘客端的預(yù)約站點(diǎn)信息同步到司機(jī)端。
表1 司機(jī)端指令格式
如果乘客端收到司機(jī)端的廣播數(shù)據(jù),則乘客端顯示模塊更新下一站點(diǎn)的站點(diǎn)信息;如果接收到提醒乘客下車的指令,振動模塊進(jìn)行相應(yīng)的振動提醒;如果接收到需同步預(yù)約站點(diǎn)信息的指令,則乘客端回復(fù)一幀數(shù)據(jù)給司機(jī)端,回復(fù)的報文格式見表2所列。
表2 乘客端回復(fù)幀格式
本文通過對以往公交報站系統(tǒng)不足的分析,設(shè)計(jì)了一款新型智能公交到站提醒系統(tǒng),該系統(tǒng)具有實(shí)用性強(qiáng)、電路簡單、操作容易等特點(diǎn),且操作系統(tǒng)可復(fù)制,推廣性強(qiáng)。新型智能公交到站提醒系統(tǒng)的改進(jìn),從細(xì)微之處入手,增強(qiáng)了乘客乘車時的舒適感和滿足感,應(yīng)用前景廣闊。