一種基于物聯(lián)網(wǎng)的公交車(chē)信息查詢系統(tǒng)設(shè)計(jì)
3.2 數(shù)傳終端的硬件設(shè)計(jì)
系統(tǒng)中單片機(jī)串口利用MAX232完成TTL/CMOS電平轉(zhuǎn)換后與GPRS模塊相連接,實(shí)現(xiàn)模塊初始化和數(shù)據(jù)收發(fā)。同時(shí)擴(kuò)展串口可與GPS接收機(jī)或其他嵌入式系統(tǒng)相連進(jìn)行數(shù)據(jù)處理與交換。MCU選用Atmel公司的AT89S51;GPRS模塊選用華為公司GTM900-C無(wú)線通信模塊。
3.3 數(shù)傳終端的軟件實(shí)現(xiàn)
系統(tǒng)軟件設(shè)計(jì)的核心部分是單片機(jī)與GPRS模塊的通信,兩者間需定義通信協(xié)議、規(guī)定幀格式,通過(guò)AT指令實(shí)現(xiàn)GPRS網(wǎng)絡(luò)的附著、PDP激活、Internet的接入及數(shù)傳。系統(tǒng)程序設(shè)計(jì)采用模塊化設(shè)計(jì)思想,主要分為系統(tǒng)初始化模塊、建立連接模塊、數(shù)據(jù)傳輸模塊、斷開(kāi)連接模塊4部分。
3.3.1 初始化及通信協(xié)議
通信協(xié)議功能:實(shí)現(xiàn)GPS模塊、藍(lán)牙模塊、GPRS模塊與單片機(jī)間的通信。此處信息由GPS、藍(lán)牙采集,經(jīng)過(guò)單片機(jī)處理后經(jīng)GPRS網(wǎng)絡(luò)發(fā)送。本文引用地址:http://www.ex-cimer.com/article/153504.htm
幀格式說(shuō)明:1,幀頭。0xff,一幀的起始位置。2,幀類(lèi)型。0x01,代表命令幀;0x02,代表數(shù)據(jù)幀。3,區(qū)別碼。0x11:模塊發(fā)送信息給單片機(jī);0x12:?jiǎn)纹瑱C(jī)發(fā)送信息給模塊。4,設(shè)備號(hào)。0x20:?jiǎn)纹瑱C(jī);0x21:GPS模塊;0x22:藍(lán)牙模塊;0x23:GPRS模塊。5,內(nèi)容長(zhǎng)度。
0x(xx),xx為適當(dāng)?shù)闹怠?,命令類(lèi)型。0x31:讀取目標(biāo)設(shè)備的當(dāng)前狀態(tài);0x32:讀取目標(biāo)設(shè)備的數(shù)據(jù)。7,內(nèi)容。在不使用它的命令格式中,它的值無(wú)意義,為通信方便,在不使用它的命令格式中,規(guī)定其值為0x00。8,校驗(yàn)碼。從第一個(gè)字節(jié)開(kāi)始到Xor的前一字節(jié),共N-1 Byte,作異或運(yùn)算。
3.3.2 建立連接
為方便程序設(shè)計(jì),將建立連接所需的AT命令以字符串形式存放于AT命令緩存區(qū),所需多條AT指令長(zhǎng)度不一且發(fā)送順序不可改變,為有效控制每條AT指令、提高CPU利用率需將AT指令緩存區(qū)設(shè)置為指針數(shù)組形式,在建立連接時(shí)通過(guò)循環(huán)調(diào)用字符串發(fā)送函數(shù)將AT命令發(fā)送,相鄰AT命令間需要2~3 s的延時(shí),每發(fā)送完一條AT命令調(diào)用一個(gè)3 s的延時(shí)子程序,然后通過(guò)串口中斷接收函數(shù)接收AT命令返回值來(lái)判斷連接是否成功。注意,AT命令均以回車(chē)符作為結(jié)束標(biāo)志,并以字符串形式傳送,因此在定義AT命令緩存區(qū)時(shí)應(yīng)注意轉(zhuǎn)義字符的使用。
3.3.3 數(shù)據(jù)傳輸
在與上位機(jī)連接成功后,通過(guò)字符串發(fā)送函數(shù)發(fā)送數(shù)據(jù)緩存區(qū)中的數(shù)據(jù),數(shù)據(jù)緩存區(qū)仍需設(shè)置為指針數(shù)組形式,發(fā)送數(shù)據(jù)的原理與建立連接時(shí)的基本相同,但數(shù)據(jù)的接收是通過(guò)串口中斷接收函數(shù)完成的,同時(shí)將接收到的數(shù)據(jù)必須先放入接收緩存區(qū)以便作顯示處理。需要指出的是,串口中斷程序既要接收指令返回值又要接收上位機(jī)傳來(lái)的數(shù)據(jù),這兩種接收信息的處理方式不同,所以在中斷函數(shù)中應(yīng)通過(guò)設(shè)置兩個(gè)不同的標(biāo)志來(lái)解決這一問(wèn)題。
3.3.4 斷開(kāi)連接
數(shù)據(jù)鏈路的釋放可通過(guò)發(fā)送數(shù)據(jù)結(jié)束標(biāo)志“+++”實(shí)現(xiàn),但必須延時(shí)一定時(shí)間后再發(fā)送斷開(kāi)連接指令:AT#CONNECTIONST;AT+OGATT=0。
4 綜合信息處理平臺(tái)的設(shè)計(jì)
綜合信息處理平臺(tái),包括網(wǎng)絡(luò)通信模塊,歷史記錄分析模塊、Web登錄管理界面模塊,該Web登錄管理界面模塊,用于登錄管理公交車(chē)查詢系統(tǒng)的綜合信息處理平臺(tái),該網(wǎng)絡(luò)通信模塊用于接收移動(dòng)通信終端傳輸?shù)膶?shí)時(shí)公交車(chē)信息,并將其數(shù)據(jù)傳輸至歷史記錄分析模塊進(jìn)行存儲(chǔ)和分析,待用戶登錄查看。綜合信息處理平臺(tái)結(jié)構(gòu)框圖如圖3所示。
系統(tǒng)中,綜合信息處理平臺(tái)當(dāng)接收到網(wǎng)絡(luò)通信模塊發(fā)來(lái)的公交車(chē)數(shù)據(jù)時(shí),首先對(duì)數(shù)據(jù)進(jìn)行分類(lèi),統(tǒng)計(jì)和儲(chǔ)存,當(dāng)有用戶通過(guò)Web界面連接到平臺(tái)之后,新建立一個(gè)子線程為其服務(wù),之后接收到用戶傳輸過(guò)來(lái)的查詢數(shù)據(jù),按照協(xié)議對(duì)數(shù)據(jù)進(jìn)行分類(lèi)、統(tǒng)計(jì)和分析,并將結(jié)果反饋給用戶。
5 結(jié)束語(yǔ)
系統(tǒng)完成了一個(gè)基于物聯(lián)網(wǎng)的公交車(chē)信息查詢系統(tǒng),很好地利用了物聯(lián)網(wǎng)的采集處理發(fā)送信息等相關(guān)理念,是一款使用簡(jiǎn)單、操作方便、查詢速度快、目標(biāo)車(chē)輛明確的信息查詢系統(tǒng)。系統(tǒng)基于物聯(lián)網(wǎng)是信息科學(xué)技術(shù)領(lǐng)域內(nèi)的新興研究方向,既是對(duì)物聯(lián)網(wǎng)技術(shù)的探索和應(yīng)用,又是對(duì)實(shí)際問(wèn)題的解決。
評(píng)論