吳僑,馬維華,魏金文
隨著信息技術尤其是近幾年物聯網技術的快速發展,人們正在不斷地對“物”的智能化進行深入探究。而節能歷來是社會關注的一大熱門話題,因此如何做到辦公樓宇有效的節能控制不僅符合當今社會節能化的需要和物聯網發展的趨勢,更成為公司減少開支的有效手段。而結合社會關注的節能話題,樓宇的智能化節能控制正成為研究的焦點。如何有效的在低成本的情況下實現樓宇的多功能智能節能監控正是本次設計的目的。
多功能網關節點的設計是樓宇節能控制系統的一個非常重要的組成部分,該節點負責與遠程上位機通訊和采集終端節點的數據,擔負著整個系統的管理和控制。終端節點并不具備以太網連接功能,由于各終端節點間是不需要直接進行的信息交互的,所以終端節點與中繼網關節點的連接考慮采用RS485通訊協議的總線型網絡結構,因此中繼網關控制節點的設計關系到整個系統的穩定性。由于網關節點需要通過以太網與上位機實現通訊,實現遠距離的控制與數據傳輸,因此該節點必須要實現TCP/IP協議。而這里主要采用LwIP作為TCP/IP協議棧的一種實現。LwIP是由瑞典計算機科學院提出的一個開源的輕量級TCP/IP協議棧,該協議棧主要是針對嵌入式領域資源有限的微處理器而提出的輕量型IP協議,很適合中低端的嵌入式系統使用。同時由于LPC1766資源相對豐富,為了充分利用資源,同時在網關節點集中了終端采集模塊的部分功能,并且可以通過繼電器對公司用電系統的直接控制,由此可見多功能智能樓宇節能控制系統的網關中繼節點需要擔負很重要的任務。整體系統設計,如圖1所示:

圖1 系統整體結構設計
中繼節點的微處理器采用的是LPC1766,LPC1766是恩智浦公司推出的基于Cortex-M3內核的微控制器,集成10/100M Ethernet MAC,CAN通道.SPI接口,I2C接口,ADC轉換模塊等,擁有豐富的外圍接口,適用于要求高度集成和低功耗的嵌入式場合,硬件設計主要包括以太網模塊,RS485模塊,傳感器模塊,繼電器模塊等。
為了充分利用LPC1766的資源,LPC1766完全可以兼顧終端節點的采集功能。因此,中繼節點并不僅僅是實現數據的中繼與協議的轉換,它還實現了信息的采集,從而實現網關節點的多功能性。設計時中繼網關節點上集成有溫濕度傳感器,這里采用了DHT11作為溫濕度傳感器,DHT11數字溫濕度傳感器是一款含有已校準熟悉信號輸出的溫濕度復合傳感器,它采用專用的數字模塊采集技術和溫濕度傳感技術,確保產品具有極高的可靠性和卓越的長期穩定性。DHT11供電電壓為3-5.5V,濕度測量范圍20-90%RH分辨率為1%RH,溫度部分測量范圍是0~50℃分辨率為1℃,參數可以符合樓宇節能控制的應用要求。DHT11與LPC1766之間的通信采用單總線的數據格式,DHT11的連接原理圖,如圖2所示:

圖2 DHT11原理圖
同時中繼網關節點還集成有光敏電阻,光敏電阻采用典型的阻容電路作為光線傳感器,輸出信號經過調理后接入LPC1766的AD轉換口,從而實現光線的采集。中繼節點上還增加了3路繼電器電路,從而實現對電燈,空調等辦公用電設備的直接控制。為了保證總線上的電器隔離,繼電器電路采用光電耦合器TLP781來控制繼電器,引出的Con2引腳可以直接接到220V電壓上控制樓宇電器的通斷,從而中繼節點也可以實現樓宇的節能控制,其中控制電燈的繼電器電路原理圖,如圖3所示:

圖3 繼電器電路原理圖
中繼節點與終端節點的通訊采用有線的RS485進行通信。RS485是由EIA(Electronic Industries Association)為了彌補RS-232通信中所暴露的缺點制定的標準,采用差分平衡系統,提高了傳輸速率,增加了傳輸的距離,并且改進了電氣特性是半雙工主從模式的多機通信系統[1]。這里完全可以實現中繼節點和終端采集節點的數據交互。終端節點考慮使用Cortex-M0。終端節點的設計除了有網關節點集成的基本的溫濕度光線采集傳感器和繼電器電路同時還加入了更加豐富的功能,帶有紅外人體感應,煙霧傳感器,并且集成有紅外收發模塊對空調進行集中的智能節能控制。整個節點設計完全考慮了在低成本的情況下實現樓宇的多功能節能控制。
LPC1766包含有功能齊全的10Mbps或100Mbps以太網MAC,因此這里需要外接物理接口收發器實現物理層的功能,這里選用DM9161AEP單芯片快速以太網PHY該芯片是10/100M自適應的以太網收發器。DM9161AEP通過可變電壓的MII或RMII標準數字接口連接到LPC1766的MAC層,而LPC1766的以太網MAC只具有RMII接口,所以,以太網模塊需要通過RMII和DM9161AEP連接。最后網絡變壓器采用HR601680來實現中繼節點的以太網功能[2],如圖4所示:

圖4 網絡模塊示意圖
軟件開發環境為keil uvision4,設計分3各模塊,分別是中繼節點自身傳感器繼電器模塊,與上位機通訊模塊,與終端節點通訊模塊。中繼節點主要負責收集各終端節點的數據信息,然后傳到上位機,上位機可以實時的觀測到各個終端節點的采集數據,并且上位機可以通過人機交互界面發出指令。網關中繼節點通過以太網收到指令后進行分析,然后自定義一個data_rec數據結構把信息轉換為RS485數據包傳遞到相應的終端采集節點,終端節點接收到相應的控制信息后通過繼電器,紅外發送單元等來實現樓宇的節能控制。
溫濕度傳感器DHT11一次完整的通訊的數據傳輸為40bit,高位優先,數據傳送的順序為“8bit濕度整數數據+8bit濕度小數數據+8bit溫度整數數據+8bit溫度小數數據+8bit校驗和”校驗和等于前四個字節數據相加的末八位。開始由LPC1766發送一開始信號,再由DHT11發送響應信號,形成握手后,DHT11開始傳送數據,其中每一bit數據都以50us低電平開始,高電平的長短決定了數據時0還是1,當高電平為26us-28us時為邏輯0,當高電平維持70us則為邏輯1,這里采用定時器中斷的方式來產生時間基準來判斷邏輯電平。大約每4秒采集一次溫濕度數據,經過校驗比較后確認數據無誤再通過以太網傳到上位機,對于數據的準確性由校驗值來確定,在實驗過程中也可以使用邏輯分析儀根據DHT11的數據傳輸協議來對溫濕度數據進行觀測,觀測結果,如圖5所示:

圖5 DHT實際測試溫濕度時序圖
將其結果與程序數據進行比較,確認程序的正確性。對于光線傳感器,直接接入到微處理器的AD轉換模塊進行采樣分析。這里我們可以設置一個閾值。當溫濕度和光線超出閾值則通過MCU觸發繼電器模塊進行直接的節能控制。
與終端采集節點的通訊是通過RS485方式來實現的,網關節點采用中斷的方式接受終端采集節點的數據,當有數據送來時觸發中斷,接受RS485傳送過來的數據,這里由于終端采集節點需要傳輸多種采集的信息,我們自行定義一個自定義數據結構來存放需要傳輸到上位機的數據。中繼網關節點采用中斷方式接受到終端采集節點的信息后,將數據以UDP報文格式進行封裝并且發送到上位機,如圖6所示:

圖6 UDP數據流圖
與上位機通訊采用LwIP協議棧來實現,這里考慮使用UDP協議,圖六是LwIP協議中UDP數據流圖。因為嵌入式系統資源有限,TCP傳輸相對開銷較大,而UDP是簡單和快速的,但同時也是無連接并且不可靠的[3][4]。UDP數據不可靠的缺點可以通過UDP的請求-應答應用來彌補,客戶端發送一個報文后必須等待服務器的應答,而如果這時有數據包丟失了,客戶將永遠收不到服務器的應答報文,所以客戶端就可以請求重發報文。這樣我們就可以檢測到丟失的數據報并且可以重新發送該數據報[5]。網絡傳輸函數由udp_Init()負責創建UDP進程控制塊綁定本地主機和設置回調函數,
Void udp_recv(struct udp_pcb*pcb,
void(*recv)(void*arg,struct udp_pcb*upcb,
struct pbuf*p,struct ip_addr *addr,u16_t port),
void*recv_arg)
udp_recv用來綁定回調函數,在回調函數中設置對接收到的UDP數據進行處理,回調函數中需要判斷數據的目的地址,直接在回調函數中根據接收到的數據結構中的終端節點的地址來判定,如果是傳給自己的數據,則送給CPU做相應的處理,如果數據是傳送給終端節點的就把數據轉換為RS485需要的數據格式轉發到相應的終端節點上去。網關節點的數據處理流程圖,如圖7所示:

圖7 網關節點數據轉換流圖
通過中繼網關節點的控制,使得整個樓宇節能控制可以遠程化,智能化,中繼節點的設計本身也集成部分終端采集和控制功能,使得中繼網關節點得以充分利用,通過實踐測試證明系統可以可靠地運行,并且完成終端節點的遠程控制。樓宇的用電控制實現了智能一體化,可以為公司節省一大筆開支。
[1]李朝青,劉艷玲,沈怡麟.單片機與PC機網絡通信技術[M].北京航空航天大學出版社.2007(2)
[2]周立功.深入淺出Cortex-M3—LPC1700[M].廣州致遠電子有限公司.
[3]W.Richard Stevens.TCP/IP詳解卷1[M]:協議.機械工業出版社.2009(11)
[4]北京瑞斯康達科技有限公司.嵌入式TCP/IP協議在ARM上的實現及其應用[J].微計算機應用.2005(11)
[5]Sergio Scaglia.嵌入式InternetTCP/IP基礎、實現及應用[M].北京航空航天大學出版社.2008(10)