姚仲敏,林大偉
(齊齊哈爾大學通信與電子工程學院,黑龍江 齊齊哈爾 161006)
責任編輯:許 盈
隨著互聯網的普及,尤其是物聯網技術的興起讓虛擬和現實密切聯系,把實物連接到網絡中的應用越來越廣泛,隨著家用計算機、數字電視等當年昂貴的高科技消費品逐漸轉變為目前普遍的家用電器,成千上萬的老百姓家中都擁有此類產品。國家商業聯合會等機構發布數據顯示,近幾年,國內家電市場的營業額已超過幾千億元,所以大量的資本正不斷投入,物聯網等技術在智能家居系統應用中也顯得更具價值。智能家居的研究有助于解決普通家庭中種類繁多的家用電器的統一、快捷管理的問題。所以本文利用廉價的51系列單片機通過JSP技術實現串口通信來遠程測控家用電器,更具實用性[1-3]。
通過用戶把個人計算機使用花生殼等域名解析軟件設置成小型服務器,就可以在任何有Internet的地方訪問個人計算機的JSP頁面,JSP頁面通過串口對51單片機進行讀寫操作,對家中溫度變化進行查詢,再通過PT2262/2272無線收發模塊驅動空調、電水壺等家用電器的繼電器開關,框架如圖1所示。

圖1 系統總體結構
選用51系列單片機為主控核心,其特點是功耗低、價格低、可靠性高,通過串口線和家里的個人計算機連接,無線模塊選用PT2272/2262,DS18B20溫度傳感器也十分便宜,而且穩定性好,還有繼電器開關和無線接收模塊相連接,此模塊價格便宜,而且是收發開關量的優選,易于推廣。
硬件設備中較常用的接口是串口,而使用最為廣泛的是RS-232,它是20世紀后期由美國電子工業協會主導聯合知名計算機終端生產廠家共同制定的串口通信標準,而且是很全面的的通信協議,可以同時實現對數據的接收和發送功能。部分電路圖如圖2所示。

圖2 單片機連接串口和溫度傳感器電路
PT2262/2272是一套應用非常廣泛的遙控芯片,而且價格十分便宜,車庫等遙控器大多采用此模塊。由于它們帶地址、數據編碼的功能,這給實現一個發射模塊、多個接收模塊的組網設計帶來了方便。發射芯片2262集成了載波振蕩器、編碼器和發射器,其構成的發射電路非常簡單,接收芯片PT2272的數據輸出具有“暫存”和“鎖存”兩種模式,用戶可以根據使用場合選擇不同的接收模塊,比如在接收按鍵發來的信號時使用鎖存型接收,而此51系統發送數據時宜采用暫存型,部分電路圖如圖3所示。

圖3 發射和接收模塊部分電路
首先需要配置JSP與串口通信的壓縮包,可以在SUN公司的官網上免費下載rxtx-2.1-7-bins-r2.zip文件,解壓縮后,Windows系統配置如下:
1)將RXTXcomm.jar放到<jre_home>libext下;
2)把 rxtxSerial.dll動態庫放到 <jre_home>in下。
當編寫JSP代碼時把RXTXcomm.jar引入到相應的工程中即可。同時要把家里的個人計算機設置成外網可以訪問的小型服務器Oray,提供了花生殼域名解析軟件,并且用戶可以購買商業域名得到更穩定的服務,具體可以根據運營商提供的資料進行設置,在此不再贅述。
其次是編寫服務器端代碼。JSP是基于Web的開發技術,利用這一技術可以建立動態的、高性能的、安全的、跨平臺的先進動態網站。本系統采用myeclips為開發平臺,使用tomcat作為Web服務器,運行登錄界面和控制界面如圖4所示。

圖4 系統的用戶登陸和控制界面(截圖)
查詢溫度部分可以實時讀DS18B20傳到串口的數據,也可以通過把歷史數據以30 s采樣間隔存放在MySQL數據庫中,用戶點擊查詢按鈕可以看到數據以及溫度曲線圖。本設計使用JfreeChart繪圖API,其優點是開放源代碼的免費軟件,具有強大的功能和靈活性,在其官網下載開發包,并放在工程的lib目錄下。
本系統在80 m2的民居中進行了測試,由于家中有暖氣所以把空調設定為制冷模式并且最低溫度為10℃,當在實驗室登錄后點擊打開空調按鈕,10 min后點擊查詢按鈕,進行歷史查詢,起始時間為開空調的時間,可以看到空調開機后的環境溫度變化,如圖5所示。

圖5 溫度變化曲線圖
當用戶第一次訪問JSP頁面時,tomcat會把它進行一次實例化,所以顯示延時較長,當以后訪問時直接調用實例化對象,響應速度會加快,當點擊控制頁面開關機按鈕時,會隨著客戶端請求發送一個參數,在響應請求時會拿參數進行判斷以執行不同的寫串口程序,配置串口參數調用本地動態庫文件。此系統中主要有單片機中的C語言代碼和服務器端的JSP代碼。
單片機中的串口通信初始化代碼如下:


以上JSP代碼完成了將1以字符的形式寫到串口上,當用戶訪問時執行,服務器端的單片機響應中斷遙控打開用電器開關。
本智能家居控制系統在家中完成了試驗,顯示了家中的溫度變化,并成功地控制了空調的開關機操作,可以說效果比較顯著,為下一步更深入的研究打下了堅實的基礎。此系統的可移植性也比較好,適合用于其他遠程測控場所。但在實驗過程中也碰到了一些問題,如B/S架構的系統對網絡速度的依賴比較高,在遠程登錄時頁面響應比較慢等,相信隨著進一步研發,問題會得到解決。同時,希望本實驗能為開發低成本低復雜度的家居控制系統提供一些新的思路。
[1]徐敏,盧周平.單片機原理及應用課程教學改革與實踐[J].實驗室研究與探索,2006(1):180-182.
[2]賈少銳,王亞軍,薛紅梅,等.基于JSP的網絡控制家電軟件系統的實現[J].微計算機信息,2007,23(13):190-191.
[3]夏小東.基于單片機的遠程無線控制系統設計[J].煤礦機械,2011,32(8):222-224.