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