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