楊代利,陸川,汪怡梅
(1.四川文理學院 計算機學院,達州 635000;2.成都市六二五科技有限公司;3.成都金網安泰信息技術有限公司)
基于物聯網的智能燈光場景切換控制系統
楊代利1,陸川2,汪怡梅3
(1.四川文理學院 計算機學院,達州 635000;2.成都市六二五科技有限公司;3.成都金網安泰信息技術有限公司)
摘要:現有燈光控制系統普遍采用有線控制方式,無法遠程控制且燈光亮度不能根據場景智能調節,存在浪費電能的情況。通過融合ZigBee無線通信技術、遠程服務器和安卓技術,將硬件和軟件有機的結合起來,設計開發了智能燈光控制系統。實現了手機APP遠程控制燈光節點,并設計了手動模式和自動模式兩種切換模式,提高用戶體驗。
關鍵詞:ZigBee;遠程控制;服務器;APP;燈光控制系統
引言
隨著科學技術的不斷發展,人類社會迎來了電子信息時代。而智能家居燈光控制技術隨著智能化住宅的蓬勃興起而飛速發展,成為燈光控制技術發展的一個重要方向。隨著社會的不斷進步,照明系統已經完成由傳統的可燃物燃燒到電力供電照明的轉變,而今,電燈進入了我們生活的方方面面,能源消耗也成為時代越來越重視的問題,同時隨著人們生活質量的不斷提高,人們不斷追求著更加舒適,便捷的生活方式,智能的概念應運而生。
當前,樓宇照明系統的照明方式普遍采用線路控制方式,鋪設線路工程量大,常常會遇到線路穿墻和跨越距離大的困擾,而且線路上電能損失增加,會造成不必要的電能浪費,對遠程控制有很大的障礙。
另外,樓宇中的照明設備數量和種類多,分布在各個房間中,需要照明的時間根據房間的用途和場景有比較大的區別,特別在公共區域常處于無人管理的狀態,易造成無人時照明或白天強光照明等浪費電能的情況。基于以上一些分析,該項目引入“物聯網”概念。物聯網就是讓所有的物體都連接到網絡上,通過控制存儲在網絡服務器中的數據,達到控制每個設備的目的。
本系統使用ZigBee的自動組網技術可以實現網絡中所有燈控設備的連接、數據共享及網內統一控制。在這些家庭網內燈控節點中加入人體紅外熱釋電傳感器、光敏傳感器,收集環境中的有用數據,給燈控節點的智能控制器提供依據。系統提供了以太網和移動互聯網的接入方式,以便于實現遠程控制和監控,同時設計了人性化、便于操作和控制的安卓手機控制終端,只要攜帶手機就可以進行遠程控制。
1智能燈光控制系統流程
本系統主要由終端燈控節點、協調器節點、上位機程序、遠程網絡服務器、手機APP終端共5部分組成。系統結構圖如圖1所示。

圖1 系統結構圖
由圖1可知系統的5大組成部分,以及它們的層次關系。位于最底層的終端燈控節點和協調器都是以CC2530作為主控芯片,它們之間的通信使用自定義的通信協議,該協議采用主從模式進行通信,即每一次的通信發起者都為協調器,協調器發送控制指令,終端燈控節點返回處理結果,協調器發送數據請求指令,終端燈控節點返回當前的光照調節強度,是否有人等數據信息。
采用點對點的通信方式可以很好地避免所有燈控節點同時發送數據而造成數據沖突。上位機程序的主要功能就是將協調器的數據轉發給遠程網絡服務器,同時接收APP客戶端發送的控制命令,再經過服務器轉發控制指令給上位機管理程序,然后通過串口發送到協調器。遠程網絡服務器的工作就是接收上位機發送過來的數據,同時也向上位機發送APP端發送過來的控制指令,同時也把節點的最新數據發送給APP,APP及時更新界面上的光照、家庭成員等參數值。
2智能燈光切換控制系統設計
2.1燈光控制節點硬件設計
該系統采用CC2530作為主控芯片,CC2530引腳資源較為豐富,本系統主要采用I/O端口P1_0、P1_1、P1_4三個輸出口作為PWM的調光輸出口,P0_5口作為光敏傳感器的信號輸入口,P2_0口作為按鍵控制開關,P0_4口作為紅外熱釋電的信號輸入口,P0_2、P0_3口作為串口通信口。硬件分為協調器和終端節點(即燈控節點)兩大部分。
本系統在ZigBee協議棧基礎上進行二次開發,不僅方便快捷,而且協議棧的代碼可移植性高、技術成熟、成本低,廣泛用于當前ZigBee開發控制,使整個系統的穩定性更高。基于ZigBee技術的程序流程圖如圖2所示。

圖2 基于ZigBee技術的程序流程圖
2.1.1協調器控制及檢測節點設計
系統協調器主要實現3個功能:利用協調器組建一個無線網絡,其他所有的終端節點都加入該網絡;接收終端節點發送過來的各種數據,包括各個節點的PWM值、光照強度、開關狀態、是否啟用智能模式等信息,通過串口發送給上位機管理程序;接收從串口發送到的數據指令,根據定義好的通信協議,解析出地址發給對應終端節點。
控制指令的通信協議如下:協調器發給終端節點0xFF、0x01、0x01、0x89、0xFF。其中,0xFF為起始位;0x01為控制設備;0x89為PWM值;0xFF為停止位。
協調器的核心是轉發數據,終端節點發送數據到協調器十分簡單,因為協調器的網絡地址是固定的0x0000;協調器廣播給所有的終端節點的網絡地址為0xFFFF。但協調器要控制某一個節點,該如何處理呢?這就要用到單播,但協調器并不知道各個節點的網絡地址,該如何做呢?首先,需要在終端節點加入協調器的網絡并成功組網后,先向協調器(地址0x0000)發送一個心跳包,發送的心跳包中包含自己的節點編號,協調器接收到數據后先從數據包中解析出設備編號,判斷該設備編號是否已經存在,如果不存在,就從發送過來的數據中的數據請求頭中解析出該設備的網絡地址(網絡地址是ZigBee協議棧隨機分配的),把該網絡地址和設備編號相互綁定,分別放入兩個數據中,數據下標必須保持一致。當要控制某個設備時,可通過設備編號查詢到與該設備綁定的網絡地址,從而可以單播數據給這個節點發送控制指令了。
2.1.2終端燈控節點設計
系統終端節點包括3個LED燈、1個光敏電阻、1個紅外熱釋電傳感器、1個按鍵控制開關。光敏電阻器的阻值隨入射光線(可見光)的強弱變化而變化,系統每秒通過ADC采集當前環境的光照強度,紅外熱釋電能夠檢測當前環境中是否有人,按鍵能夠直接控制燈的開關。
系統設計有智能模式和用戶模式:
① 用戶模式:用戶可以隨時通過APP調節3個燈的亮度。
② 智能模式:
a. 燈1仍然可以被用戶自己調節;
b. 燈2不能由用戶控制,只會隨光照強度的改變而改變,光照越弱,燈就會越亮;
c. 燈3也不能由用戶控制,在檢測到有人的情況下,隨光照強度的改變而改變,光照越弱,燈就會越亮。
這3種情況用于不同的場景,同時終端節點每隔5 s會周期性地把3個燈的亮度、光照強度、是否有人、控制方式等參數信息發送給協調器,讓協調器轉發到服務器中。
2.2上位機管理程序
上位機程序是硬件(下發數據給協調器)和軟件控制的接口,軟件控制,硬件執行,上位機程序將軟件程序和硬件程序通過串口結合起來。上位機程序包含兩大部分:串口通信和Socket通信。
2.2.1串口通信
串口通信是通過串口向硬件層通信,通過串口讀寫數據,達到通信的目的。首先連接串口、設置波特率和COM口,然后設置校驗位、數據位、停止位,就可以開始讀寫數據了。發送的數據是指令,用下十六進制表示為FF 01 01 89 FF。
數據通信協議如下:0xFF為起始位;0x01為節點編號0~9;0x01為控制標識;0x89為參數;0xff停止位。
接收到的數據為各個節點的各種設備的目前狀態,用字符串表示如下:s100271271271271e。
其中各位數含義如下:
0:起始位為‘s’。
1:設備號為1~9。
2:智能為‘1’, 非智能為‘0’。
3~5: 代表光強。
6~8: PWM1值范圍為0~255, 0為熄滅,255 為全亮。
9~11:代表PWM2值。
12~14:代表PWM3 值。
15:繼電器開為‘0’,關為‘1’。
16:停止位為‘e’。
2.2.2Socket 通信
Socket是通過建立Socket連接服務器進行通信,接收服務器發送過來的控制指令,并反饋從串口中讀取的各種設備的目前狀態。
首先通過服務的IP地址和端口號連接上服務器,然后建立一個子線程就可以和服務器進行通信了。使用Socket通信有兩點好處:①實時性好,在網絡流暢的情況下能夠及時轉發數據;②Socket是透明傳輸,無論傳輸的是字符串格式的數據還是十六進制的數據,Socket都能很方便地進行傳輸。
2.3遠程服務器和APP客戶端設計
2.3.1服務器設計
遠程服務是數據的倉庫和樞紐站,不僅隨時接收來自APP用戶端和硬件層發送過來的數據,面且要向APP發送當前的各設備的狀態,向硬件層發送控制命令。系統的整個流程如圖3所示。

圖3 系統流程圖
服務器與APP客戶端通過TCP/IP協議進行通信,與上位機通信通過Socket網絡編程實現。同時將所有數據都存儲在數據庫中,如MySQL數據庫,方便查詢和數據持久化。服務器通過JavaWeb進行編寫,同時支持HTTP請求和Socket連接。為了數據的一致性,兩種請求都只能操作同一個數據庫,從同一個數據庫中讀取數據。
2.3.2基于手機APP客戶端設計
智能燈控通過一塊控制面板(可以是手機,也可以是任意一種能夠連接互聯網帶觸摸屏的設備),就可以控制家居中的所有燈光,不僅減少了裝修房屋中在墻璧上錯綜復雜的走線,同時也方便了開關。只要掏出手機,開燈關燈即可輕松解決(即使你還在被窩里,或是在回家的路上)。Android手機APP智能燈光客戶端界面如圖4所示。

圖4 Android手機APP智能燈光客戶端界面

Scene Switching Control System of Intelligent Lighting Based on Internet of Things
Yang Daili1,Lu Chuan2,Wang Yimei3
(1.Department of Computer,Sichuan University of Arts and Science,Dazhou 635000,China;2.Chengdu Six-Two-Five Science and Technology Co.,Ltd.;3.Chengdu Network Aetna Information Technology Co.,Ltd.)
Abstract:The wired control is widely used in the existing lighting control system,so the system can not achieve the remote control and the lighting brightness can not be intelligent adjusted according to the scene.In the paper,an intelligent lighting control system is designed,which uses the ZigBee wireless communication technology,remote server and Android technology to combine the hardware and software.The lighting node can be controlled by the phone APP,and two switching modes are designed such as the manual mode and the automatic mode,which improves the user experience.
Key words:ZigBee;remote control;server;APP;lighting control system
中圖分類號:TP273
文獻標識碼:A