潘曄


[摘 要]在通信、互聯網、傳感器等技術的推動下,能夠實現人與人、人與機器、人與物以及物與物之間直接溝通的全新網絡架構——“物聯網”正在普及。本文旨在構建一種“智慧物體”(Things of Intelligence,TOI)模型,它是物聯網中的主體元素,這種TOI不僅具有智能的傳感器及無線通信模塊,而且結構簡單、便捷連入互聯網中。串口無線技術(Uart-Wifi)是實現此模型的關鍵技術,此技術的應用,在“物”與“互聯網”之間搭建了經濟、便捷的橋梁,實現了“物”與“互聯網”間信息發送和共享,同時對“物”即時監測與控制。本文以Android系統下的智能終端監測物體或其周圍環境的溫度為例,研究以串口無線技術為通信手段的“智慧物體”模型,開發此模型下如何應用智能設備(手機等)對其軟硬件進行監測與控制的技術和方法。
[關鍵詞]串口無線;安卓應用;智慧物體;Socket
[DOI]10.13939/j.cnki.zgsc.2015.11.037
物聯網作為新興的物品信息網絡,其應用領域很廣,其中,對于物品溫度及周圍環境溫度的監測與控制最為廣泛,包括農業大棚測溫、彈藥庫測溫、高爐水循環測溫、機房溫度管理、物品冷藏倉庫及其流通等方面。在這些測溫的系統中要求集中管理、實時管理,實現管理的網絡化和智能化,但存在測溫物體本身的限制、地理環境的限制、網絡環境限制及開發成本等的限制,使這種智能化的推廣很難向中低端應用普及。
物聯網中智能設備的應用存在兩大核心要素,第一是構造“智慧物體”(TOI),即具有感知能力(感知溫度、濕度、壓力等)和自我識別能力(標識,定位)及信息傳輸能力的物體;第二是易于通信的手段。因此,在設計方案、實施開發的過程中,把握智慧、互聯、移動及兼容的特點,設計一種易于維護、易于融合的方案和產品便是本文本的宗旨。
1 溫度監測系統的結構框
2 系統開發的軟件環境及硬件要求
2.1 系統中所涉及的硬件功能及參數
2.1.1 串口無線模塊(Uart-Wifi)
Uart-Wifi 是基于Uart接口的符合Wifi無線網絡標準的嵌入式模塊,內置無線網絡協議IEEE802.11協議棧以及TCP/IP協議棧,通過Uart-Wifi模塊,傳統的串口設備能輕松接入無線網絡。接口類型:通用串口、Uart接口、SPI接口。通過Uart/SPI直接接入單片機的IO引腳上,實現數據通信。這種無線模塊嵌入物體中或環境中,使物體和環境可以直接連入網絡中,進行數據通信(見下表)。體積不會超過一個火柴盒大小,價格十幾元左右。
2.1.2 單片機(MCU):STC89C52RC
STC89C52RC是采用8051核的ISP(In System Programming)在系統可編程芯片,最高工作時鐘頻率為80MHz,片內含8K Bytes的可反復擦寫的Flash只讀程序存儲器,器件兼容標準MCS-51指令系統及80C51引腳結構,芯片內集成了通用8位中央處理器和ISP Flash存儲單元,具有在系統可編程(ISP)特性。具有通用異步串行口(UART),單片機能通過此接口與串口無線模塊連接。
2.1.3 數字溫度傳感器DS18B20
DS18B20數字溫度傳感器接線方便,封裝成后可應用于多種場合。封裝后的DS18B20可用于,鍋爐測溫,機房測溫,農業大棚測溫,冷藏庫測溫等各種場合。耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設備數字測溫和控制領域。DS18B20在與微處理器連接時僅需要一條DQ引腳即可實現微處理器與DS18B20的雙向通信。測溫范圍 -55℃~+125℃。
2.1.4 智能設備
安卓系統下的各種平板及手機(本系統測試用SAMSUNG I9100)。
2.2 軟件開發、測試集成環境
2.2.1 單片機、無線串口、溫度傳感器驅動開發集成環境Keil C51
Keil C51是51系列兼容單片機C語言軟件開發系統。
2.2.2 Android平臺下APP開發環境
APP(應用程序,Application的縮寫),Android平臺下APP開發語言是JAVA,所以使用eclipse集成開發環境,是一個開放源代碼的、基于Java的可擴展開發平臺。
3 溫度監測系統中各單元之間的通信方式
3.1 Andriod手機與單片機的通信方式
采用基于 AP(無線訪問接入點)組建的基礎無線網絡,這種類型的網絡的特點以AP為整個網絡的中心,網絡中所有的通信都通過 AP 來轉發完成。將串口無線模塊網絡設為服務器模式,IP:192.168.2.1,端口:8000,設置串口無線模塊網絡SSID(無線網絡名稱)為“uartwif”,同時啟用DHCP。手機WLAN設為串口無線網“uartwifi”,獲取動態IP地址(如:192.168.2.2)。
3.2 單片機與數字溫度傳感器DS18B20的通信方式
圖2 單片機與數字溫度傳感器DS18B20的通信方式
4 軟件中監測、通信的算法實現
4.1 Andriod APP中通信算法
(1)通信類TcpSocket設計。網絡上的兩個程序通過一個雙向的通信連接實現數據的交換,這個雙向鏈路的一端稱為一個Socket。Socket通常用來實現客戶端和服務端的連接。本例中使用JAVA提供的Socket技術來設計一個用于通信的TcpSocket類,進行數據通信雙方的連接、發送與接收。
圖3 TcpSocket類的實現
(2)算法實現(見圖3):
第一,通信類初始化TcpSocket(“192.168.2.1”,8000),并與單片機連接;
第二,使用sendMessage(byte[])方法發送查詢數據0x02和0xFF;
第三,使用readMessage(byte[])方法接收單片機返回的溫度數據。
4.2 單片機發送溫度信息算法
(1)串口初始化:void Serial_Reg(u8 BaudRate)。
(2)接收串口信息(UART接收中斷程序):void Serial_Interrupt()interrupt 4;if((Buf[0]==0x02)&&(Buf[1]==0xFF))//通過查詢是否為0x02和0xFF來返回溫濕度采集值。
(3)發送溫度至串口緩沖區buf:void UART_SendData(u8 *data_buf)//串口發送數據。
4.3 單片機讀取數字溫度傳感器算法
Void ReadData(void),功能描述: 溫度讀取子程序。
5 物聯網中“智慧物體”模型的建立
在上述對物聯網中物體環境溫度監測的系統設計中會發現,此類應用中存在幾個要素:第一,感知模塊(傳感器);第二,通信模塊(Uart-Wifi);第三,數據處理模塊(單片機MCU)。只要將三者有機集成在一起,嵌入到物體中,就成為網絡中的“智慧物體”。TOI通過傳感器實時采集自身及環境的各種屬性,在MCU協調控制下進行數據的處理,并利用通信模塊將信息發布到互聯網中,實現信息的分析、共享、監控(見圖4)。
圖4 “智慧物體”模型
6 結 論
系統中的傳感器選擇了數字溫度傳感器,如果將其換為其他傳感器,如濕度、壓力、氣體等傳感器,則可以設計出更多的監測控制系統,同時集成流行的APP應用,通過Wifi方式快速、簡單地接入Internet,并充分利用當今互聯網的先進技術與手段,徹底地將被感知物體融入到人們的互聯網生活中,與網中的人一樣平等,這樣互聯網的主體對象不斷增加、應用范圍不斷擴大,那時物聯網即是互聯網,互聯網即是物聯網。