劉順財
(福州理工學院 工學院,福建 福州 350014)
隨著ARM嵌入式的發展,無線通訊網絡技術應用到了嵌入式系統當中,目前比較成熟的無線通訊網絡技術包括藍牙、紅外線、RFID、WiFi以及ZigBee等無線技術。而ZigBee無線通信網絡作為當前很成熟的技術,在各個領域都具有很廣泛的應用。ZigBee無線通信網絡技術具有很好的自動組網、安全性、可靠性,在網絡節點容量、功耗、成本以及復雜度等方面更有優勢[1]。因此,如何把ZigBee無線通信網絡應用到嵌入式系統成為了近幾年的熱門課題。
系統以CC2530芯片為核心控制器件,通過電路實現路由器、協調器和終端節點的功能。在Z-Stack協議棧的基礎上實現溫度、光照強度和瓦斯濃度監測,燈光、電器和電動窗簾控制以及通過人體紅外監測實現防盜功能。
因為嵌入式系統下具有很好的軟硬件可裁的特點,具有很強的靈活性。在ARM9上移植Linux操作系統和MJPG-streamer視頻服務器。通過USB攝像頭進行視頻采集,連接WiFi模塊實現聯網功能,從而對環境實時監控。
該系統由智能家居系統ARM9網關、ZigBee無線通信網絡和Android客戶端三部分組成。其中各種類型的家居設備連接到ZigBee無線通信網絡,因為不同的傳感器可以實現不同的功能,進而實時監控環境。ARM9網關是實現互聯網的交通樞紐,它通過串口與ZigBee協調器進行通信。Android客戶端通過移動網絡或者WiFi與ARM9聯網,從而實現Android客戶端控制ZigBee終端節點,達到通過Android手機對智能家居進行檢測和控制。總體架構如圖1所示。

圖1 總體架構
智能家居系統由ZigBee無線通信網絡、ARM9網關和Android客戶端部分組成,系統框圖如圖2所示。其中ZigBee無線通信網絡有三部分:一個協調器、一個路由器和四個終端節點設備組[2]。各個ZigBee無線通信網絡的硬件模塊主控芯片是CC2530芯片,終端節點設備通過不同類型的傳感器實現對智能家居環境的實時監控,路由器負責數據的轉發,協調器與ARM9網關通過串口建立連接;ARM9網關采用S3C2440A處理器作為主控制芯片,在此基礎上移植Linux操作系統,通過USB攝像頭和WiFi模塊實現ARM9網關,實現視頻監控功能;通過Android客戶端上的應用程序通過網絡訪問ARM9網關,實現對智能家居的監測和控制。

圖2 系統框圖
核心電路板CC2530芯片集成了是8051CPU內核。它是ZigBee無線通信網絡的核心芯片。它的供電電源是3.3V,可以通過CC2530芯片控制指示燈、RF電路、各種傳感器、驅動U2003芯片等。它的硬件電路圖如圖3所示。

圖3 核心CC2530系統電路
ZigBee硬件模塊采用CC2530芯片作為核心控制芯片,外圍需要電源供電、擴展USB轉串口、LED指示燈和RF模塊等電路,因為ZigBee終端節點設備要實現智能家居的監測與控制,所以連接不同的傳感器模塊單元。
CC2530芯片工作電壓是直流2~3.6V。通常我們采用5V電源或者USB線進行供電,所以選用REG1117-3.3穩壓芯片降壓之后再給CC2530芯片供電。此外這邊通過J1進行擴展,這樣以后別的硬件用到5V或者地可以直接通過這邊的插針進行連接。整個電源通過ON開關進行控制。具體電源電路如圖4所示:

圖4 電源電路圖
為了調試、下載程序,需要CC2530芯片和電腦進行通信。而CC2530芯片的串口通信協議電壓和USB協議電壓不一樣,所以需要CH340芯片實現電平轉換。USB轉串口電路如圖5所示:

圖5 USB轉串口電路
LED指示電路是用來顯示當前電路不同的工作狀態,與CC2530芯片相連,其中D4是指示電源接通與否,D1、D2是用戶自行定義,D3是指示連接ZigBee網絡成功與否。電路如圖6所示:

圖6 LED指示電路
在ZigBee無線通信網絡中的需要用到無線天線對數據進行收發,所以天線電路的質量十分重要。它關系到ZigBee無線通信網絡中通信距離、通信質量、系統功耗等指標。相比傳統天線,SMA接口在上述方面更好更穩定。RF電路設計如圖7所示。

圖7 RF電路
通過ZigBee組網上的不同傳感器模塊,可以實現溫度、光照強度和瓦斯濃度監測,燈光、電器和電動窗簾控制以及通過人體紅外監測實現防盜功能。傳感器電路如圖8所示。

圖8 傳感器模塊電路
溫度傳感器選擇DS18B20芯片,它可以測量環境中-55°C~+125°C的溫度范圍。它具有不同位數的分辨率,系統選擇默認的12位分辨率,硬件上把它和CC2530芯片的P0.0引腳連接。
系統選擇MQ-2芯片作為煙霧傳感器,可以有效的檢測出液化氣、煤氣、天然氣。它的工作原理是當氣體濃度增加時,電導率增大。根據物理公式可知:電阻和電導率成反比,而電壓和電阻成正比,所以可以知道電壓的大小和氣體濃度成反比。電路上采用MQ-2模擬電壓輸出端和CC2530芯片的P0.6引腳連接。
當在夜間或者家中無人的情況下,為了實時檢測屋內的安全,在系統當中搭載了人體紅外傳感器。選用HC-SR501作為人體紅外傳感器,達到當檢測到有非法進入的人時,發出警報并提醒用戶。因為人體會向外產生紅外線,而HC-SR501可以檢測出紅外線,所以它適用于工作在不同的檢測人體場合。當它接收到人體紅外線后,會對外釋放電荷,輸出高電平信號。它需要干電池提供電源,具有靈敏度高和穩定性強等優點。電路上采用HC-SR501輸出端和CC2530芯片的P0.7引腳連接。
系統選用5516光敏電阻,通過光照強度的強弱,實現控制窗簾的升降。白天光照強度大,需要打開窗簾實現通風換氣,當晚上的時候,因為光照強度比較小時候,則關閉窗簾從而讓用戶休息。因光敏電阻阻值和光照成反比,而電壓和電阻成正比,所以通過測量兩端的電壓大小就可以知道光照強度。電路上采用光敏電阻5516輸出端和CC2530芯片的P0.1引腳連接。
選擇匯科HK繼電器HK4100F-DC5V-SHG來控制家用電器。當智能家居環境發生異常的時(例如住宅起火或者瓦斯泄漏),系統需要啟動保護措施,及時的切斷家用電器的電源。電路上采用中繼電器和CC2530芯片的P0.5引腳連接。
窗簾的升降是通過步進電機來控制的,早上的時候通過步進電機的正轉來控制窗簾的打開;晚上的時候通過步進電機的反轉來控制窗簾的關閉。系統選用四相步進電機28BYJ-48。它有5根接線,藍線是D相、粉線是C相、黃線是B相、橙線是A相、紅線接5V電源。因為CC2530芯片的驅動電流比較小,所以需要用CC2530芯片的P1.7、P1.6、P1.5、P1.4四個I/O口連接ULN2003芯片進行功率放大[3],再接28BYJ-48步進電機。其中ULN2003芯片是由7個NPN三極管組成,輸入5V電平,輸出500mA/50V,正好可以驅動步進電機。電路如圖9所示。

圖9 ULN2003驅動電路
智能家居ARM9網關采用S3C2440處理器作為核心器件,通過使用USB Host電路和串口電路,連接USB攝像頭和WIFI模塊實現視頻監控和聯網的功能。S3C2440處理器有UART0、UART1和UART2三個串口,都是TTL電平。系統把ARM9網關的UART1接收(RXD1)引腳、發送引腳(TXD1)分別與ZigBee協調器串口的發送(TXD)引腳、接收(RXD)引腳相連;實現ARM9網關和ZigBee協調器的串口通信。為了使用方便,采用MAX3232芯片對UART0串口進行電平轉換,從而實現USB轉串口讓ARM9與WiFi模塊通信,具體電路如圖10所示。

圖10 WiFi模塊接口電路
系統使用谷客HD10作為攝像頭,它支持UVC協議接口。在Linux系統下是免驅動的,最高分辨率640×480,最高可以支持30幀視/每秒的視頻圖像采集,輸出YUV格式的圖像。YUV格式是USB Org標準之一。V4L2接口是針對USB攝像頭開源的驅動程序[4],它可以實現USB攝像頭進行圖像采集。當USB攝像頭連接到USB Host接口時,在超級終端中可以看到系統多了一個主設備號是81的/dev/video0設備文件。USB攝像頭和S3C2440處理器通過USB Host接口相連接,電路如圖11所示。

圖11 USB Host接口電路
系統采用無線的WiFi模塊[5]進行數據傳輸的,具有很好的可移動性和組網靈活性,實現聯網。系統采用BL-150UA無線網卡,它支持WPA/WPA2加密與64/128位WEP數據加密,采用分離式的天線設計,提供更穩定更強的信號。
通過實驗測試,基于ZigBee和ARM9的智能家居系統可以實現穩定的工作,并且可以準備的實現無線通訊。可以通過安卓手機實現溫度、光照強度和瓦斯濃度監測,燈光、電器和電動窗簾控制以及通過人體紅外監測實現防盜功能。
本系統由Android客戶端、ARM9網關和ZigBee無線通信網絡三部分組成的。系統實現實現溫度、光照強度和瓦斯濃度監測,燈光、電器和電動窗簾控制以及通過人體紅外監測實現防盜功能。最終結果顯示,基于ZigBee和ARM9的智能家居系統不僅功耗低且具有很高的穩定性、可靠性;ARM9嵌入式處理器具有軟硬件可裁的特點讓開發過程具有很高的靈活性;而Android手機系統作為當前主流的操作系統具有很高的普遍性,適合當前的市場環境。