引 言
目前人們大多采用交通卡刷卡的形式乘坐公交,排隊上車刷卡或由檢票員人工詢問站點后刷卡 [1]。這種方式存在如下缺點 :
(1) 無法獲取公交信息以及道路擁堵情況,人車互動性不強 ;
(2) 在購票遇上客流量大的情況時,需要長時間排隊。
互聯(lián)網(wǎng)具有更新速度快、互動性強、不受空間限制且數(shù)據(jù)存儲量大,高效快速等特點,使得其在傳遞行車信息及檢測車內(nèi)乘客數(shù)據(jù)信息時可以做到快速、高效、及時。
通過設(shè)置在公交車上的 WiFi 探針設(shè)備 [2] 獲取每位 WiFi 使用者的手機信號和 MAC 地址 [3],并通過算法實現(xiàn)對手機的定位,及時獲知乘客在哪一站上車以及在哪一站下車 [4-5], 并基于此信息對乘客扣費。本文將介紹一種基于 STM32 單片機作為處理芯片并通過 WiFi 探針實現(xiàn)對手機信號進行檢測的裝置,由該裝置進行自動扣費。
1 系統(tǒng)設(shè)計
1.1 硬件設(shè)計
本系統(tǒng)的硬件部分主要基于 STM32 單片機開發(fā)板進行開發(fā),配合全球定位系統(tǒng)(GPS)模塊、ESP8266 無線網(wǎng)絡(luò)模塊以及串口轉(zhuǎn) USB 模塊使用。
1.1.1 STM32F103單片機
本設(shè)備采用意法半導(dǎo)體公司設(shè)計生產(chǎn)的 STM32 處理器作為單片機平臺,相比 51 單片機而言,STM32 單片機具有更豐富的函數(shù)庫,更多的引腳,更強大的計算能力和多任務(wù)處理能力。它采用 ARM 構(gòu)架,性能高、成本低、功耗低且體系結(jié)構(gòu)超前。
1.1.2 DHT11溫濕度傳感器
DHT11 數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器與單片機相連,以確保反應(yīng)速度 [6]。
1.1.3 NEO-6MGPS 模塊
NEO-6M GPS 模塊帶有外部天線, 內(nèi)置 E2PROM, 其默認(rèn)的波特率為 9 600 bps,支持標(biāo)準(zhǔn)的 NMEA(美國國家海洋電子協(xié)會)。它有四個引腳,分別為 VCC,RX,TX 和GND。該模塊使用 TX 和 RX 引腳與 STM32 單片機通信, 接線簡單,通過 nmealib 庫解碼就可以得到相應(yīng)的坐標(biāo)和速度信息。
1.1.4 ESP8266模塊
ESP8266 是一款超低功耗的串口無線透傳模塊,具有小尺寸的封裝和超低能耗等特點。它能實現(xiàn)用戶串口數(shù)據(jù)到無線網(wǎng)絡(luò)之間的交換,有如下兩種解決方案 :
(1) 使用內(nèi)部自帶處理器對芯片進行二次開發(fā),通過I/O 口控制設(shè)備,節(jié)省成本但難度大 ;
(2) ESP8266 模塊外接單片機,完成網(wǎng)絡(luò)相關(guān)任務(wù),使用 AT命令,通過串口和外接單片機通信,開發(fā)速度快,性能穩(wěn)定 [7-8]。
1.2 算法核心
1.2.1 乘車判定
在公交車進入公交站臺后,會利用車載 WiFi 探針設(shè)備來檢測用戶手機信號 [9],將檢測到的手機信號即 MAC 地址存儲到一個二維數(shù)組中。當(dāng)公交行駛了規(guī)定距離后,公交車的信號探測設(shè)備將繼續(xù)檢測,將第二次檢測到的手機信號再次存儲,并與第一次檢測到的數(shù)組進行比較,發(fā)現(xiàn)在公交站附近檢測到部分 MAC 地址,待公交駛離過后一段時間無法再檢測到,則證明此人可能沒乘車,或者第二次掃描時無手機信號,則需多次檢測,存儲對比數(shù)據(jù),若某 MAC 地址只在第一次檢測時出現(xiàn),后面幾次檢測均未出現(xiàn),則將此手機信號在數(shù)組內(nèi)刪除,同時判定此人未乘坐公交 [10]。
1.2.2 乘坐站點判定
在公交車駛進 A站進行信號檢測的同時,公交車 GPS 模塊檢測當(dāng)前公交車的位置并存儲。然后公交車到下一站臺 B時將再次檢測手機信號與位置信息并存儲。行駛到 C站, 仍舊搜索手機信號與位置信息并存儲,之后與 B站存儲的二維數(shù)組進行比較,若發(fā)現(xiàn)手機信號在 B 站有而 C 站無,則可判定此手機信號擁有者從 A站上車,B站下車。以此類推得出乘客的乘坐站點。
1.2.3 公交數(shù)據(jù)的統(tǒng)計
系統(tǒng)統(tǒng)計乘客上下車的情況可以通過組成一個站間到發(fā)客流表,見表 1所列。實驗中使用 4個站(A~D),其中橫向表示下車,縱向表示上車。表中(C,A)為 3,即表示有 3位乘客在 C站上車 A站下車。通過計算即可獲得各站上下車人數(shù)、全日及高峰時段客流信息等。再根據(jù)這些信息可以制定相應(yīng)的車輛開行計劃,在減少乘客等待時間的同時避免資源的浪費 [11]。
2 結(jié) 語
本文采用手機代替公交卡,高效便捷,提高了乘客乘車的體驗度。通過車載的 WiFi 探針設(shè)備不斷檢測乘客的實時位置,無需通過刷卡進行上客判斷。通過溫濕度傳感器檢測車內(nèi)溫濕度并告知乘客,方便乘客選擇合適的出行公交。
但不足之處依舊存在 :例如有的老年人未攜帶智能手機, 或者不會使用智能手機導(dǎo)致扣費失敗等。但我們相信,隨著智能手機的普及,本系統(tǒng)將得到更好的應(yīng)用。
在實際的單片機控制系統(tǒng)中,有時候會使用數(shù)字邏輯芯片對單片機和受控元件進行隔離,以保護單片機,或者令單片機更好地對后級進行控制。
關(guān)鍵字: 單片機 數(shù)字邏輯芯片 受控元件