?

基于Linux的ARM-嵌入式智能家居網絡監控系統設計研究

2023-02-28 23:25柴晟陳良維林琳李明欣
中國新通信 2023年20期
關鍵詞:智能家居嵌入式

柴晟 陳良維 林琳 李明欣

摘要:隨著社會的發展與進步,人們的生活節奏在加快,對于安全訴求更高,如家里、工作場所等,建立適當的安全監控系統變得十分重要。在現有的智能監控系統中大多需要使用紅外、煙霧等傳感器,實施智能監控,會增加成本,降低系統效率。在此基礎上,本文結合嵌入式技術的發展,研究基于Linux智能家居網絡的嵌入式ARM監控系統的設計,以期可以為相關人員提供參考和幫助。

關鍵詞:嵌入式;智能家居;網絡監控系統

一、引言

隨著信息技術和互聯網技術的不斷發展,家庭網絡化和智能化的實現已成為研究熱點,而具有用戶界面、遠程控制和智能控制的設備成為未來的趨勢。在這種情況下,諸如ARM和PowerPC嵌入式互聯網之類的32位微處理器的出現已經成為現實,集成控制器可以完全實現傳統PC的互聯網服務。但基于嵌入式系統的智能家居系統在中國剛剛起步。

二、嵌入式的發展現狀

嵌入式系統的出現最初是基于單片機技術,并隨著單片機技術的發展而逐漸升級。英特爾的第一款8048微控制器于1976年發布,這些早期的單片機的出現使包括汽車、工業機械、家用電器和通信在內的各種產品擁有更好的性能,也為當時的工業發展作出貢獻。隨著生產水平的提高,接口、存儲器和串行接口等各種組件可以集成在一個芯片上。英特爾開發的基于8084的8051微控制器是最成功的。到目前為止,51系列微控制器仍廣泛應用于生活中。隨著I/O設計微處理器的出現,它們立即成為嵌入式設備領域的新星。這一時期已知的操作系統包括VRTX、PSOS、VXWorks等,這些系統的特點已經與現代嵌入式系統非常相似,響應時間快,內核小,內核配置能力強。與之前的系統相比,這些系統的可靠性也大大提高,這鼓勵了嵌入式系統的發展,并擴展了其應用領域。自21世紀初以來,經過多年的發展,世界上出現Palmos、VXWorks、WindowsCE等許多流行的嵌入式操作系統。然而,這些系統是商業化的、昂貴的,并且源代碼不開放,這導致了后期系統和應用程序遷移的困難等問題。目前,Linux作為一種免費的嵌入式開源操作系統,具有世界級的規格、易用性、強大的網絡性能等諸多優勢,被認為是最有前途的嵌入式操作系統[1]。

三、嵌入式系統具備的主要特點

嵌入式系統一般應用于特定的環境,相對于普通計算機系統更具多樣性和繁雜性,具體特點如下:

其一,具備系統內核相對較小的特點。相比于傳統操作系統的內核,嵌入式系統相對要小很多,大部分嵌入式內核僅有幾K至幾十K左右的系統內核。以ENEA公司為例,其OSE分布式系統僅有5KB的內核。嵌入式內核同樣能夠結合實際需求完成擴展與裁剪,因內核相對而言偏小,為此在進行擴展與裁剪時也相對較為便捷。

其二,具備專用性相對較強的特點。因嵌入式系統存在良好的擴展性與可裁剪性,所以能夠結合特定功能需求完成個性化定制系統任務。除此之外,如果硬件部分發生變化,需要對相應的軟件部分進行有效修改。因此,在確定硬件和軟件后,系統的功能也會被限制,從而具備相對較強的專用性特點。

其三,具備系統相對較為精簡的特點。由于嵌入式設備存在專業性較強、硬件資源較為有限的特點,所以系統占據的資源也不會太多。同時,系統具備高效與小巧的特點,所以其簡單性越高,可靠性同樣會更高。

其四,具備多任務的操作系統特點。相比于簡單的51單片機僅能處理一些簡單的任務,嵌入式系統能夠同時完成多項任務的運行,還可以對不同任務合理地分配系統資源,從而確保其更加安全穩固地運行。

其五,具備可靠性相對較強的特點。嵌入式設備通常應用于周邊環境惡劣、偏遠或者無人值守的區域,因此,對嵌入式系統開發的軟件代碼有著質量較高、可靠性較高的要求。其中,VxWorks就因具備較強的實時性與可靠性,在航空領域與軍事領域等精尖領域被廣泛應用。

其六,具有專屬的開發環境與工具。在開發嵌入式系統時,需要使用專業的開發工具和環境。由于嵌入式系統無法自主開發,如果想修改其內部功能程序,就需要具備相應的開發環境和工具,通常使用信號發生器、邏輯分析儀、示波器以及計算機軟硬件系統等設備。由于開發和開發是在不同的設備上進行,因此出現了目標機和主機的概念,開發是在主機上進行,執行則是在目標機上完成。

四、基于Linux的ARM-嵌入式智能家居網絡監控開發系統的相關技術

(一)微處理器

三星公司研發的ARM微處理器是S3C2440,其內核是ARM920T,使哈弗高速緩沖結構、AMBA BUS以及MMU得以實現,并且外設接口非常充沛,擁有130個多功能輸出/輸入口、24外部中斷和60個中斷源,還有APB總線與AHB總線,并支持USB與SPI主從設備、rS總線、FC總線、DMA控制以及NAND Flash啟動等。

(二)外圍電路

該系統的外圍電路包括了用于TCP/IP通信的DM9000、溫度檢測與采集的DS18B20數字溫度傳感器、室內安全監測的DYP-ME003紅外感應器以及用于模擬窗簾狀態的步進電機。

(三)操作系統

Linux是一種類似于Unix的操作系統,被廣泛運用于嵌入式系統。目前,大多數嵌入式系統選擇使用Linux,主要有原因有四點:其一,能夠提供對許多硬件驅動設備和各類嵌入式芯片驅動的支持;其二,具備完備的SDK開發包和開發工具以及豐富的軟件資源,同時還提供開放的源代碼,可以根據需求進行自由修改;其三,能夠支持多種CPU類型和體系結構;其四,具有穩定的系統性能,可以裁減內核以適應不同的任務需求,并提供全面的系統支持。

(四)Web服務器

隨著互聯網應用的普及,Web作為一種訪問方式也被廣泛應用于嵌入式設備的交互中。通過在嵌入式設備上運行Web服務器,用戶端可以使用Web瀏覽器來監控和管理嵌入式設備。BOA是一種單任務的Web服務器,它按順序處理用戶請求,但通過對CGI的支持,可以創建新的進程來執行相應的任務。

五、基于Linux的ARM-嵌入式智能家居網絡系統設計

(一)圖像采集設計

該系統使用內核編譯方法。在加載OV511相機驅動程序內核后,系統只需要編寫一個視頻錄制程序即可識別和操作相機。視頻捕獲軟件是在Linux內核上使用Video4Linux開發的。Video4Linux是一個為編寫視頻設備應用程序提供許多接口功能的Linux視頻設備驅動程序。在錄制視頻時,程序首先使用open()函數打開視頻錄制設備,并返回指示錄制設備硬件的文件描述符。成功打開設備文件后,調用ioctl()從設備文件中獲取適當的信息,并將接收到的信息粘貼到視頻函數的結構中。

(二)遠程監控系統設計

視頻監控模塊采用瀏覽器服務器模式。在拍攝結束后,該模塊會創建并安裝網絡服務器,將視頻服務器攝像頭上傳到網絡服務器,然后由視頻服務器上傳視頻。在客戶端上,它使用Java小程序來接收消息。該模塊的功能包括嵌入式網絡攝像頭的設計和視頻服務器的遷移。攝像頭拍攝的圖像必須通過網絡發送給另一方,并在瀏覽器中顯示,并且這一過程在視頻服務上執行。視頻服務器的主要任務是與客戶端進行通信,并根據客戶端的指令調用適當的功能,以支持客戶端的管理需求。網絡攝像頭是一款通用的視頻服務器軟件,與系統中使用的OV511攝像機完美配合,它基于GNU架構,并且Linux的服務器版本是完全免費且開源的。該項目使用了網絡攝像頭服務器0.50.tar.gz版本。在交叉編譯環境中修改makefile文件,并使用make命令進行編譯,然后將視頻服務器遷移到設備上,并將生成的相機固件下載到開發CD上的Linux/bin目錄中[2]。

(三)電器控制系統設計

無線通信可以為家用電器的控制提供極大的靈活性和范圍,同時節省了布線的成本和精力。但是,其缺點是需要一個住宅網關、一個無線路由器以及合適的接收器,這將增加成本。因此,本文考察的家電控制采用了I/O控制,以兼顧實用性和普及性。該方案利用已安裝系統的I/O端口來控制家用電器的功耗,通過監測S3C2400的I/O端口輸出信號的高電平和低電平并使用LED指示器,來控制和顯示家用電器的運行狀態(開啟或關閉)。大多數帶有受控模塊的家用電器使用220V交流電源和大電流電路,因此需要使用繼電器來控制設備。在芯片和繼電器之間添加一個驅動電路,可以通過光電通信開關或三極管來控制繼電器的開關狀態。當I/O端口處于低功率電平時,三極管處于飽和狀態并關閉;當向繼電器線圈施加+5V電壓時,繼電器關閉,狀態LED亮起。通常情況下,繼電器觸點閉合,相當于閉合開關。

(四)電路設計

1.晶體發生器的設計。

用于APB正常操作的PCLK時鐘生成各種外部設備所需的不同的時鐘信號,例如GPIO、ADC、RTC、WDT、IIC、USB設備、SD卡接口、5個定時器、4個PWM、3個UART、2個SPI等。

2.USB適配器設計。

在系統構建過程中,有必要使用串行接口來調試終端。然而,大多數筆記本電腦不再有串行端口,只有USB端口。為了便于開發階段,可以直接連接計算機的USB接口進行本地調試。該芯片只需要幾個合適的外部電容器,就能夠在RS232和USB信號之間進行轉換,這有助于在各種設備中使用。并且,該芯片能夠在沒有軟件控制的情況下自動執行整個過程。

(五)儲存器設計

同步動態存儲器具有可選SDRAM訪問功能,作為已安裝系統操作內存的一部分,它為已安裝操作系統的順利運行提供存儲空間。S3C2440A有27條地址線,理論上可以尋址128M的空間。S3C2440A可以通過8128M內存線(根據ngcs0-ngcs7)達到1G/8內存。SDRAM芯片選擇信號連接到ngcs6S3C2440連接器,因此,SDRAM地址從0x300000開始。

系統中使用的SDRAM芯片型號為K4S561632C-TC75,其主要功能是使用標準的3.3V電源,由四個獨立的組件組成,并支持TTL級別的兼容多路復用地址的自動更新。K4S561632C-TC75具有16位數據位寬,而S32440CPU使用32位總線。為了提高內存訪問速度、讀寫速度、內存效率和防止數據連接丟失,系統使用兩個32M內存芯片數據連接擴展到32M,并創建64M的SDRAM范圍[3]。

(六)遠程訪問端模塊的有效設計

用戶可以通過計算機瀏覽器訪問嵌入式設備上搭建的嵌入式Web服務器來實時監測室內傳感器獲取的數據,并通過數據交換和網絡通信來操控室內家電狀態。在登錄后進入管理界面,用戶可以在界面模塊中完成各個子系統的操作。溫度監測界面的子系統可以顯示家電的運行狀態,并且可以在操作界面進行設置。此外,燈光管理界面可以操控和顯示各個房間的燈管狀態。各模塊可以通過指令操作、CGI傳輸數據和核心接口來保存和操控家電數據。

(七)溫度監測模塊軟件的有效設計

此模塊可以將溫度傳感器設置于各個房間,以檢測溫度情況,溫度的采集可借助溫度傳感器“DS18B20”來完成。當溫度沒有觸發報警,采集任務將每10s完成一次;當溫度達到報警值時,采集任務將每5秒執行一次,并觸發蜂鳴器和燈光進行報警;當溫度達到危險值時,CGI會將采集到的數據傳送到Web瀏覽器中,并實時顯示。同時,通過Web界面的操作可以在服務器端發送指令,執行與溫度相關的任務。

(八)紅外監測模塊軟件的有效設計

此模塊利用DYP-ME003硬件實現功能。啟動服務器時會自動加載驅動,并通過Web瀏覽器定時讀取紅外監測數據,實現對各房間狀態的實時觀察。當偵測到目標后,LED報警和報警蜂鳴器會立即觸發報警。

(九)燈光控制模塊軟件的有效設計

此模塊可以通過對燈光模塊的控制來響應Internet網絡控制指令實現對家中照明設備的開關控制。對照明系統的模擬通過板上LED燈來完成,并通過在“project-web-data”目錄下創建一個“led data.txt”文件來實時保存LED燈的狀態。每次對LED燈進行操作時,該文檔都會實時更新數據。

(十)窗簾控制模塊軟件的有效設計

此模塊利用步進電機并使用CGI語言傳輸控制指令,來實現對窗簾的控制??梢栽凇皃roject-web-data”目錄下創建一個“curtaindata.txt”文檔,實現對窗簾數據的保存和更新。同時,可以在瀏覽器Web上顯示該文檔,以便實時操控窗簾的開合狀態。

六、結束語

總而言之,該系統使用嵌入式Linux作為開發平臺,有助于系統的開發、測試、改進和增強,并提高系統的穩定性和可靠性。通過網絡服務器和GPRS無線傳輸上網,能夠實現智能家居監控系統,滿足家庭的需求。

作者單位:柴晟 陳良維 林琳 李明欣 成都航空職業技術學院

參? 考? 文? 獻

[1]王文強,李利,陳宇,等.基于ARM-A9和ZigBee技術的智能家居系統設計概述[J].科學與信息化,2021(2):17-17.

[2]郭詩霖,江業峰,侯俊博,等.基于Linux與ARM架構的嵌入式智能家居系統[J].軟件,2022,43(5):125-127.

[3]陳城,孫峰,曲金秋,等.基于嵌入式Linux的水位視頻在線監測系統設計[J].水利信息化,2021(3):41-44.

猜你喜歡
智能家居嵌入式
基于PLC的智能家居控制系統研究
TS系列紅外傳感器在嵌入式控制系統中的應用
嵌入式系統通信技術的應用
搭建基于Qt的嵌入式開發平臺
智能家居發展或將實現彎道超車
嵌入式軟PLC在電鍍生產流程控制系統中的應用
關于智能家居真正需求的探討
智能家居的發展趨勢分析
智能家居更貼心
Altera加入嵌入式視覺聯盟
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合