以智能家居遠程監控系統為例,設計了一種以Web 技術為核心的遠程監控系統解決方案, 并實施建立在基于S3C2440微處理器和嵌入式Linux 操作系統的軟硬件平臺上。在嵌入式Linux操作系統中構建了Web 服務器和視頻服務器。在此基礎上使用CGI 技術處理HTML 表單,控制系統硬件,實現交互操作,完成用戶認證、門窗控制、照明控制、溫度監測、視頻監控等功能。遠程用戶可以通過IE瀏覽器進行實時監視,并對監測系統設備實現管理。
智能家居又稱為數字家庭, 一般是指以計算機接口技術和網絡技術為基礎, 將各種家用數字化設備有機結合為一體的智能化的網絡系統。這些家用數字化設備包括電話、計算機、數字化的視聽設備、數字化的家用電器及安全監控設備等, 通過有線或無線的方式將這些設備連接起來, 為家庭用戶提供簡單、安全、可靠、智能化的綜合服務。本文以Web 技術為核心, 在基于S3C2440微處理器和嵌入式Linux 操作系統的軟硬件平臺上構建了Web 服務器和視頻服務器,Web 服務器采用Boa, 視頻服務器采用Servfox, 結合CGI 技術處理HTML 表單, 完成用戶認證, 門窗控制等家居監控功能。
1 系統總體結構設計
圖1 為智能家居遠程監控系統的總體結構圖。室內部分主要包括家電控制、防盜報警、遠程監控、防火報警等功能模塊, 這些功能模塊通過Web 服務器接入Internet 網, 用戶可通過計算機登錄因特網, 遠程監控室內情況, 同時室內如檢測到火、盜等異常情況可通過Internet 向用戶報警。
2 系統硬件設計
智能家居遠程監控系統的硬件系統由YC2440-F 開發板、網絡接口、門窗控制、照明設備、溫度傳感器、USB攝像頭等組成。YC2440-F 開發板作為整個系統的控制核心, 負責信息的采集和處理, 并控制各個模塊協調工作, 如圖2 所示。
控制核心采用YC2440-F 開發板。該開發板是使用三星S3C2440處理器開發的ARM9 開發板。YC2440-F 開發板采用核心板+擴展板的結構。
門窗控制模塊可以讓用戶通過互聯網遠程控制室內門窗的開啟與關閉, 如有人以非正常方式通過門窗進入室內, 可向用戶報警。在實驗中選用一個步進電機來模擬門窗控制, 電機正轉表示門窗開啟, 電機反轉表示門窗關閉, 步進電機如強行被破壞則報警。步進電機通過集成芯片ULN2003 驅動,門窗控制電路如圖3 所示。
照明控制模塊可以讓用戶通過互聯網遠程控制室內照明系統的打開與關閉。在實驗中使用4 個發光二極管來模擬照明系統, 圖4 為照明控制模塊硬件電路圖。
溫度監測模塊可以實時監測室內溫度, 如果檢測到室內溫度超過50℃則報警。溫度監測電路采用DS18B20溫度傳感器來實現。DS18B20 使用1-Wire 技術, 具有線路簡單, 精度高、體積小、低功耗等特點。硬件電路只需將DS18B20 連接到通用I/O 端口GPB0 端即可。圖5 為溫度監測模塊電路。視頻監控系統可以通過攝像頭實時監控室內情況, 用戶可以通過互聯網隨時觀察室內的情況。視頻監控采用用普通USB 攝像頭實現。
3 系統的軟件設計
3.1 智能家居遠程監控系統的軟件組成
智能家居遠程監控系統的軟件系統由設備驅動程序、嵌入式Linux 操作系統和應用程序構成,如圖6所示。其中嵌入式Linux 操作系統采用2.6 版本的內核。
Web 服務器使用Boa , 視頻服務器使用Servfox5 , 這是兩款Linux 下的開源軟件, 將源碼進行適當修改就可以移植到嵌入式系統中。
3.2 驅動程序的開發
用戶進程是通過設備驅動文件控制硬件, 對設備文件的操作方式就是系統調用, 如open 、read 、write 、close等。編寫設備驅動程序的主要工作就是編寫子函數,并填充file_operations 結構體的各個域。步進電機、LED 和溫度傳感器DS18B20 都是通過通用I/O 控制的,做為字符型設備。USB 攝像頭屬于USB 設備。下面以步進電機驅動程序為例說明Linux 驅動程序的開發過程,具體步驟如下:
(1 ) 編寫驅動程序源代碼, 將程序源文件motor.c , 添加到內核的drivers/char 目錄下。
(2 ) 編輯drivers/char 目錄下的配置文件Kconfig,添加如下內容:config MOTOR tristate"Motor Driver"
(3 ) 在char 目錄下打開Makefile , 添加obj -$ (CONFIG_MOTOR)+=motor.o
(4 ) 在內核目錄下執行make menuconfig 命令, 進行內核配置: 在Device Driver -Character Driver 下將MOTOR 選為M, 模塊方式, 退出保存設置。
(5 ) 執行命令make modules , 編譯驅動模塊。在char目錄下產生motor.ko 的文件, 即所需的步進電機驅動模塊。通過NFS 方式傳到開發板上。
(6) 加載驅動模塊, 執行insmod motor.ko .
(7 ) 建立文件節點, 執行mknod/dev/MOTOR_Driver c228 0 .
3.3 實現基于Web 的遠程監控
智能家居遠程監控系統可以通過Web 服務器為用戶提供簡潔, 美觀的操作界面。網絡控制部分包括登錄界面、用戶認證、主界面、門窗控制、照明控制、溫度監測及視頻監控。
用戶認證是通過CGI 程序實現的。首先在登錄界面中使用HTML 語言添加表單:
用戶名:
密碼:
參數action 指明處理該表單的CGI 程序, 此表單所填的內容會通過Web 服務器以name=value1&pwd=value2的方式傳給logon.cgi 程序處理, 該程序對用戶名和密碼進行認證。用戶認證界面如圖7 所示, 門窗控制界面如圖8 所示。使用表單在網頁中添加2 個按鈕, 分別控制門窗的打開和關閉。對應的CGI 程序調用步進電機的驅動程序, 控制電機轉動, 模擬門窗控制。
照明控制界面如圖9 所示, 在網頁中添加4 個復選框, 分別配有4 個發光二極管。對應的CGI 程序調用LED 的驅動程序, 控制發光二極管。溫度控制界面如圖10 所示。CGI 程序調用DS18B20 的驅動程序, 讀取溫度傳感器的值, 然后計算溫度, 最后返回一個網頁顯示DS18B20 的信息和溫度。視頻監控界面如圖11 所示, 在網頁中添加Java 插件, 接收并顯示視頻服務器Servfox發送的視頻數據。添加2 個按鈕控制視頻服務器的打開與關閉。
以S3C2440 微處理器為控制核心, 完成了智能家居硬件平臺的設計。實現了嵌入式Linux 操作系統在S3C2440 微處理器平臺上的移植。編寫了步進電機、發光二極管以及DS18B20 溫度傳感器的驅動程序。完成了Web 服務器Boa 和視頻服務器Servfox 的移植。使用HTML 語言編寫靜態網頁, 完成基于Web 的智能家居遠程監控部分的主體框架。使用CGI 技術處理HTML 表單, 控制系統硬件, 實現交互操作, 完成用戶認證、門窗控制、照明控制、溫度監測、視頻監控等功能。
來源:機房監控系統 http://m.ycshaen.cn 本文采集于網絡,如有問題有聯系刪除
北京金恒智能系統工程技術有限責任公司 版權所有 Copyright 2007-2020 by Create-china.com.cn Inc. All rights reserved.
法律聲明:未經許可,任何模仿本站模板、轉載本站內容等行為者,本站保留追究其法律責任的權利!
電話:86+10-62104277/2248/4249 傳真:86+10-62104193-819 京ICP備10010038號-2網站XML
智慧機房
在線體驗