(北部灣大學(xué) 電子與信息工程學(xué)院,廣西 欽州 535000)
如今,伴隨著互聯(lián)網(wǎng)的快速發(fā)展,各類旅游APP如雨后春筍般涌現(xiàn),旅游類APP正逐漸成為旅游業(yè)發(fā)展中不可或缺的一部分。智慧旅游是基于互聯(lián)網(wǎng)技術(shù),搭載便攜的移動(dòng)智能終端,以滿足游客日益增長(zhǎng)的個(gè)性化需求,提供高滿意度服務(wù)的旅游方式。隨著智能手機(jī)的普及和互聯(lián)網(wǎng)的迅猛發(fā)展,旅游類APP已成為人們實(shí)現(xiàn)智慧旅游的重要工具[1]。
目前對(duì)于團(tuán)隊(duì)旅游、自駕游等群體出行方式,會(huì)遇到許多問題,主要存在地理位置失聯(lián)、通信效率低下、車輛無(wú)法穩(wěn)定行駛等,造成時(shí)間和金錢的浪費(fèi)。產(chǎn)品不應(yīng)忽視用戶體驗(yàn),需要切實(shí)解決用戶旅游過(guò)程中存在的實(shí)際問題,為特定用戶提供定制化體驗(yàn)[2]。針對(duì)以上問題,提出了車聯(lián)網(wǎng)大家庭出行模式,多人共享各車的定位數(shù)據(jù),降低出行成本,提高出行效率,實(shí)現(xiàn)多機(jī)多人多車多定位的生活體驗(yàn)和服務(wù)。
本系統(tǒng)由車載定位終端和后臺(tái)服務(wù)器及安卓APP組成。車載定位終端由微控制器模塊、北斗GPS雙定位模塊、DHT11溫濕度檢測(cè)模塊、GSM模塊組成。車聯(lián)網(wǎng)體系結(jié)構(gòu)主要由三大層次結(jié)構(gòu)組成,按照其層次由低到高分別為采集層、網(wǎng)絡(luò)層和應(yīng)用層[3]。系統(tǒng)總體框架如圖1所示。
圖1 系統(tǒng)總體框架
采集層:使用STM32F103微控制器作為系統(tǒng)主控制器,負(fù)責(zé)各傳感器數(shù)據(jù)的統(tǒng)一處理和分析。通過(guò)串口控制北斗GPS雙定位模塊和DHT11溫濕度傳感器模塊,進(jìn)行位置信息和溫濕度信息的獲取與解析。通過(guò)串口控制GSM通信芯片,將解析后的信息無(wú)線傳遞到后臺(tái)服務(wù)器。同時(shí)LCD液晶屏實(shí)時(shí)顯示控制器狀態(tài)及通信信息,方便維護(hù)。
網(wǎng)絡(luò)層:后臺(tái)服務(wù)器實(shí)現(xiàn)采集層和應(yīng)用層系統(tǒng)之間的數(shù)據(jù)透明傳輸,采用網(wǎng)絡(luò)通信技術(shù)中常用的HTTP協(xié)議,車載終端通過(guò)GSM模塊上的SIM卡GPRS無(wú)線通信技術(shù)訪問服務(wù)器并上傳車載信息到服務(wù)器,車車互聯(lián)APP用戶端請(qǐng)求指定端口的TCP連接訪問服務(wù)器獲取車輛定位、速度、時(shí)間、溫濕度等數(shù)據(jù)。
應(yīng)用層:該層是車聯(lián)網(wǎng)的最高層,可以為聯(lián)網(wǎng)用戶提供各項(xiàng)服務(wù)。用戶登錄車車互聯(lián)APP,輸入車輛唯一標(biāo)識(shí)碼,從后臺(tái)服務(wù)器獲取車輛實(shí)時(shí)位置等數(shù)據(jù),并顯示在地圖上。應(yīng)用層還集成了即時(shí)通信服務(wù)、百度地圖等服務(wù),經(jīng)過(guò)對(duì)數(shù)據(jù)進(jìn)行相應(yīng)分析處理后,可以為用戶提供多人多車共享定位、實(shí)時(shí)監(jiān)控、即時(shí)通信等應(yīng)用服務(wù)。
微控制器選用STM32F103VET6作為主控芯片,使用3.2寸ILI9341液晶屏交互。STM32F103VET6 是意法半導(dǎo)體有限公司出品的32位基于Cortex-M3內(nèi)核的增強(qiáng)型微控制器,擁有100個(gè)引腳,80個(gè)通用I/O口,512 KB FLASH及64 KB SRAM,系統(tǒng)時(shí)鐘為72 MHz,具有3路12位的A/D轉(zhuǎn)換器,2路12位D/A輸出,4個(gè)通用定時(shí)器,2個(gè)高級(jí)定時(shí)器,2個(gè)基本定時(shí)器,2個(gè)SPI接口,2個(gè)I2C接口,3個(gè)USART接口和2個(gè)UART接口,片內(nèi)資源和外設(shè)接口豐富[4]。
GPS導(dǎo)航系統(tǒng)為無(wú)源被動(dòng)式偽碼單向測(cè)距三維導(dǎo)航,北斗導(dǎo)航系統(tǒng)為主動(dòng)式雙向測(cè)距二維導(dǎo)航。GPS的定位精度高于北斗定位系統(tǒng),但其使用受地形因素的影響,而北斗定位系統(tǒng)除具有定位功能外,還具有通信功能,可與外設(shè)進(jìn)行信息交流[5]。北斗GPS雙模定位模塊BH-ATGM332D的最大定位更新率可達(dá)10 Hz,具有高性能、低功耗等特點(diǎn),支持兩套系統(tǒng)同時(shí)在導(dǎo)航終端上運(yùn)行,可通過(guò)串口通信向單片機(jī)系統(tǒng)輸出GPS及北斗定位信息。通過(guò)NMEA庫(kù)解碼獲得車載實(shí)時(shí)定位信息,借助百度API技術(shù)顯示在地圖界面,可用于車輛追蹤。
BH-ATGM332D支持TTL電平串口通信標(biāo)準(zhǔn),STM32微控制器通過(guò)USART3接口與BH-ATGM332D模塊通信。引腳連接方式見表1所列。
表1 STM32與BH-ATGM332D引腳連接
DHT11是一種把溫度和濕度模塊融為一體的高度集成的傳感器,其性價(jià)比高、響應(yīng)迅速、抗干擾能力強(qiáng)[6]。濕度精度為±5%RH,溫度精度為±2 ℃,量程濕度范圍為20%RH~90%RH,溫度范圍為0~50 ℃。DHT11傳感器可實(shí)時(shí)監(jiān)測(cè)車內(nèi)環(huán)境的溫度與濕度,輸出已校準(zhǔn)數(shù)字信號(hào),借助安卓APP進(jìn)行車內(nèi)溫濕度的監(jiān)測(cè)與預(yù)警。
GSM模塊負(fù)責(zé)車載終端與后臺(tái)服務(wù)器的通信。GSM模塊使用的SIM800A無(wú)線收發(fā)芯片內(nèi)置SIM卡槽,內(nèi)嵌TCP/IP協(xié)議,支持Micro-SIM卡,可通過(guò)串口傳輸標(biāo)準(zhǔn)的AT命令對(duì)模塊進(jìn)行控制。將GPRS無(wú)線通信技術(shù)和GPS結(jié)合,可為應(yīng)用終端提供車輛行駛過(guò)程中的位置、時(shí)間、速度信息,未來(lái)還可以使用GSM語(yǔ)音、短信等實(shí)現(xiàn)車輛預(yù)警語(yǔ)音播報(bào),短信通知親屬等功能。
系統(tǒng)開發(fā)板使用5 V USB接口電源輸入,而GSM模塊需要9 V電源,為防止燒壞開發(fā)板,GSM模塊使用外部電源供電。SIM800A支持TTL電平串口通信標(biāo)準(zhǔn),STM32微控制器通過(guò)USART3接口控制GSM模塊。引腳的連接方式見表2所列。
表2 STM32與SIM800A引腳連接
STM32單片機(jī)程序使用Keil公司開發(fā)的Keil μVison5單片機(jī)C語(yǔ)言集成開發(fā)軟件編寫,該軟件自帶多種型號(hào)單片機(jī)的初始化函數(shù)庫(kù)[7],編譯生成的機(jī)器碼由DAP仿真器下載至單片機(jī)。
STM32微控制器主控制程序流程如圖2所示。連接電源,按“復(fù)位”按鈕后電路開始初始化,程序運(yùn)行。首先,初始化系統(tǒng)模塊,包括ILI9341液晶屏初始化與系統(tǒng)定時(shí)器初始化。ILI9341液晶屏實(shí)時(shí)顯示模塊數(shù)據(jù)及模塊運(yùn)行情況,當(dāng)某個(gè)模塊出現(xiàn)異常時(shí)能夠及時(shí)排查、解決問題;系統(tǒng)定時(shí)器用于產(chǎn)生時(shí)基,維持單片機(jī)系統(tǒng)的心跳。之后,初始化溫濕度檢測(cè)模塊,微處理器和DHT11間采用單總線數(shù)據(jù)格式,一次通信時(shí)間約4 ms。接著初始化GSM模塊,與服務(wù)器建立TCP連接,若連接失敗,可考慮兩個(gè)原因:第一,GSM模塊SIM卡未充值話費(fèi);第二,服務(wù)器未監(jiān)聽。最后,初始化GPS模塊。GPS模塊開始采集當(dāng)前地理位置經(jīng)緯度等數(shù)據(jù)信號(hào),經(jīng)相關(guān)模塊處理后,將采集到的數(shù)據(jù)通過(guò)串口傳送至單片機(jī)處理,并實(shí)時(shí)在ILI9341液晶屏顯示[8]。由主程序判別經(jīng)緯度信息是否有效,無(wú)效則重新獲取,有效則將溫濕度信息和GPS信息發(fā)送給GSM通信模塊,傳輸至服務(wù)器。
圖2 主控制程序流程
為解決車載終端系統(tǒng)車輛標(biāo)識(shí)碼的問題,用戶可以通過(guò)輸入SIM卡號(hào)獲取車輛信息,一個(gè)SIM卡號(hào)對(duì)應(yīng)一臺(tái)設(shè)備。由于新購(gòu)買的SIM卡與手機(jī)號(hào)碼并非一一對(duì)應(yīng),因此SIM卡只是電話號(hào)碼的存儲(chǔ)介質(zhì),需要事先使用USB轉(zhuǎn)串口線連接GSM模塊與上位機(jī),運(yùn)行GSM調(diào)試助手發(fā)送AT指令將本機(jī)號(hào)碼寫入電話本存儲(chǔ)區(qū),STM32微控制器通過(guò)串口發(fā)送指令到GSM模塊即可獲取本機(jī)號(hào)碼。上位機(jī)與GSM模塊連接如圖3所示,相應(yīng)的AT指令見表3所列。
圖3 上位機(jī)與GSM模塊連接圖
表3 配置本機(jī)號(hào)碼功能的AT指令
后臺(tái)服務(wù)器借助騰訊云服務(wù)器平臺(tái)提供信息傳輸服務(wù),采用TCP協(xié)議的Socket機(jī)制通信,使用Eclipse作為開發(fā)環(huán)境,借助Java語(yǔ)言的多線程機(jī)制實(shí)現(xiàn)并發(fā)服務(wù)器,滿足多個(gè)用戶的并發(fā)訪問需求。GPS信息和溫濕度信息保存為JSON格式,通過(guò)GSM模塊的GPRS無(wú)線通信方式上傳到后臺(tái)服務(wù)器,由服務(wù)器對(duì)數(shù)據(jù)進(jìn)行分析、加工、保存和傳輸,利用Tomcat服務(wù)提供應(yīng)用程序外網(wǎng)訪問資源。
車車互聯(lián)APP功能設(shè)計(jì)如圖4所示,包括首頁(yè)模塊、視頻模塊、“一路同行”模塊、個(gè)人模塊。首頁(yè)模塊提供旅游愛好者社交平臺(tái),用戶可以在論壇上交流與分享;視頻模塊展示大眾喜聞樂見的短視頻,瀏覽視頻已成為吸引用戶流量的重要手段;個(gè)人模塊主要用于用戶注冊(cè)、登錄以及管理用戶信息;“一路同行”模塊是軟件的亮點(diǎn),下面著重介紹。
圖4 車車互聯(lián)APP功能架構(gòu)
為了解決團(tuán)隊(duì)出行遇到的困難,提高出行效率,“一路同行”模塊設(shè)計(jì)了即時(shí)通信、共享定位、共享圍欄、快捷消息、車輛監(jiān)控5項(xiàng)功能。模塊程序流程如圖5所示。
圖5 “一路同行”流程
(1)即時(shí)通信功能借助環(huán)信即時(shí)通信云服務(wù),允許2個(gè)或多個(gè)用戶使用網(wǎng)絡(luò)實(shí)時(shí)傳遞文字消息、文件、語(yǔ)音與視頻,解決團(tuán)隊(duì)出行的交流問題。
(2)共享定位包括用戶位置共享以及車輛位置共享,使用Bmob后端云提供數(shù)據(jù)庫(kù)服務(wù),用戶位置信息通過(guò)百度地圖API接口實(shí)時(shí)獲取并保存在云端數(shù)據(jù)庫(kù),當(dāng)2個(gè)或多個(gè)用戶互為好友時(shí)即可共享定位;車輛定位通過(guò)用戶輸入車輛唯一標(biāo)識(shí)碼從后臺(tái)服務(wù)器獲取車輛定位信息,并根據(jù)百度坐標(biāo)系BD0911顯示在地圖上。共享定位解決了用戶失聯(lián)、車輛追蹤的難題,提升了駕駛安全。
(3)共享圍欄用于組織者給成員劃定活動(dòng)區(qū)域,成員接收組織者發(fā)來(lái)的地理圍欄可以明確自己的活動(dòng)區(qū)域,防止成員越界產(chǎn)生安全隱患。地理圍欄有兩種類型,一種是圓形圍欄,另一種是多邊形圍欄,可以快速準(zhǔn)確地畫出不同圖形的地理圍欄,適用于導(dǎo)游等群體。
(4)家庭出行時(shí)車輛、人員較多,在高速公路上常常會(huì)被車流淹沒,且車輛間很難同時(shí)溝通。為解決這一問題,在地圖頁(yè)面左下方設(shè)置有快捷消息按鈕,車主只需將手機(jī)固定在車載支架上并加入群組,并點(diǎn)擊按鈕彈出消息列表后,點(diǎn)擊消息即可快速發(fā)送給群內(nèi)其他成員,用戶也可以自定義消息內(nèi)容。
(5)車輛監(jiān)控功能方便駕駛員隨時(shí)監(jiān)測(cè)車內(nèi)環(huán)境狀況,降低意外發(fā)生幾率[9]。用戶輸入車輛唯一標(biāo)識(shí)碼可以從后臺(tái)服務(wù)器獲取車輛溫濕度、海拔、速度、定位等數(shù)據(jù)。軟件檢測(cè)數(shù)據(jù)后,一旦發(fā)現(xiàn)數(shù)值超出閾值,會(huì)立即提醒車主注意安全。
良好的APP界面設(shè)計(jì)能夠給用戶帶來(lái)舒適的使用體驗(yàn),滿足用戶在使用過(guò)程中對(duì)便利性、功能性和個(gè)性化的需求,提升軟件競(jìng)爭(zhēng)力[10]。車車互聯(lián)APP主界面在底部導(dǎo)航欄中設(shè)置有不同的按鈕或者滑動(dòng)ViewPager控件,通過(guò)點(diǎn)擊按鈕或滑動(dòng)控件可切換界面。圖6所示為即時(shí)通信界面,圖7所示為地圖定位界面。
圖6 即時(shí)通信界面
圖7 地圖定位界面
硬件實(shí)物如圖8所示。實(shí)驗(yàn)結(jié)果表明,車載定位終端系統(tǒng)能夠正常運(yùn)行,各模塊均可實(shí)現(xiàn)其相應(yīng)功能,具有實(shí)時(shí)性好、成本低、網(wǎng)絡(luò)連通性強(qiáng)、運(yùn)行穩(wěn)定等優(yōu)點(diǎn)。經(jīng)過(guò)市面上的不同安卓機(jī)型對(duì)APP進(jìn)行模塊用例測(cè)試,發(fā)現(xiàn)軟件正常運(yùn)行,響應(yīng)速度符合要求,未出現(xiàn)崩潰、閃退、卡頓等現(xiàn)象,用戶界面友好,系統(tǒng)預(yù)期結(jié)果與實(shí)際結(jié)果相符。車車互聯(lián)APP適用于安卓7.0以上版本,應(yīng)用軟件二維碼如圖9所示。
圖8 硬件實(shí)物
圖9 車車互聯(lián)APP二維碼
隨著車聯(lián)網(wǎng)架構(gòu)體系的不斷成熟,汽車不再是只能加油換擋的物體,而是變得越來(lái)越智能化。本文從車聯(lián)網(wǎng)的角度對(duì)硬件、軟件的應(yīng)用進(jìn)行了研究,對(duì)智慧旅游的生活體驗(yàn)和服務(wù)有一定的啟示作用。該系統(tǒng)解決了團(tuán)隊(duì)出行位置失聯(lián)、通信效率低下等問題,還提供了多項(xiàng)旅游出行服務(wù)。其性能良好,實(shí)時(shí)性較高,成本較低,適合在智能化市場(chǎng)上推廣應(yīng)用。