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