楊塤 董燦 譚鋒
摘 要:給出一種基于ZigBee協議構建的智慧教室燈光控制系統的設計方法。該系統由信息感測節點、信息處理平臺、繼電器節點構成,從硬件、軟件、通信協議及數據格式上分別對系統中的各組成部分進行了設計介紹。該系統在硬件、軟件上均具有很高的靈活性和可擴展性。
關鍵詞:智慧教室;燈光;ZigBee;CC2430
中圖分類號:TP399 文獻標識碼:A 文章編號:2095-1302(2014)10-00-03
0 引 言
智慧教室的燈光控制是物聯網的一項重要應用。因此,從系統硬件、軟件和協議數據格式上,對智慧教室的燈光控制系統進行全面的設計,對于物聯網的應用推廣和節能減排,都具有重要的應用示范價值與實用性意義。
1 總體架構
智慧教室燈光控制系統的基本架構如圖1所示。該系統由信息感測節點(ZigBee無線傳感器節點)、智能處理平臺以及繼電器節點組成。系統中的三種功能節點采用ZigBee協議構成無線傳感器網絡(WSN)。智能處理平臺在WSN中擔任ZigBee協調器節點,信息感測節點及繼電器節點擔任ZigBee終端節點。
圖1 智慧教室燈光控制系統架構
信息感測節點主要通過傳感器技術實現對環境信息的感知及采集,如光照強度、人體感應數據,并通過ZigBee協議將采集結果傳至信息處理平臺。
信息處理平臺中,ZigBee協調器負責接收感知數據,并將接收到的數據通過RS232串口傳送到應用開發平臺,應用開發平臺對收到的采集結果進行分析、決策后,將控制命令從RS232發往ZigBee協調器,ZigBee協調器通過ZigBee無線通信協議將控制命令發送到繼電器。
繼電器節點通過ZigBee協議接收ZigBee協調器發來的控制命令,執行開或關燈的指令。
ZigBee無線通信協議不需要獨立的硬件設備,而是以無線通信模塊的形式,在信息感測節點、信息處理平臺和繼電器節點中均需要實現。
2 硬件設計
2.1 信息感測節點
信息感測節點硬件上由傳感器、微處理器、無線通信模塊、電池組成。圖2所示是信息感測節點的組成圖。在設計上,為了降低成本,并提高硬件的可擴展性和靈活性,信息感測節點的微處理器及無線通信模塊可采用選用相同的ZB2430底板實現,其核心芯片是TI公司的CC2430,ZB2430電路原理圖如圖3所示。傳感器選用插件式的硬件設計,通過ZB2430的I/O擴展口與ZB2430相連,信息感測節點只在傳感器插件上不同。根據智慧教室燈光控制的實際需要,選用了光照、人體兩類傳感器,共兩類信息感測節點。
圖2 信息感測節點組成
2.2 信息處理平臺硬件
信息處理平臺硬件上采用DMATEK的DMA210XP整合平臺,其集成了應用開發平臺和ZigBee協調器端功能,ZigBee協調器端接收從感測節點采集到的數據,并通過串口傳輸到應用開放平臺,由其對感測數據做進一步的分析、處理和顯示,其組成圖如圖3所示。
ZigBee協調器端采用DAMTEK的ZB2430-03實現, ZB2430-03的硬件組成與信息感測節點的ZB2430完全一致,只在軟件上不同,通過在軟件上定義ZB2430為從模塊(終端)、ZB2430-03為主模塊(協調器),實現信息在兩者間通信。
圖3 信息處理平臺組成
應用開發平臺采用具有先進ARM Cortex A8核心的Samsung S5PV210處理器,該處理器采用ARM Cortex A8核心,DMA210XP應用平臺結合ZigBee 無線感測,實現智慧教室燈光控制的應用 。
2.3 繼電器節點硬件
繼電器節點硬件設計與信息感測節點硬件類似,但沒有傳感器模塊。
3 軟件設計
3.1 信息感測節點軟件
信息感測節點的軟件可采用嵌入式系統的開發方式與流程,開發工具為IAR。本系統共涉及光照、人體兩類傳感器,這兩類傳感器獲取到的數據格式略有不同。具體如下:
相同部分:
#define MAX_SEND_BUF_LEN 128 //定義發送緩沖區長度上限
static uint8 pTxData[MAX_SEND_BUF_LEN]; //定義發送緩沖區的大小
/*填充發送緩沖區,對5類傳感器均相同,開始*/
pTxData[0] = 0xFF;
pTxData[1] = 0xFD;
pTxData[3] = 4;
pTxData[8] = 0;
pTxData[9] = 0;
pTxData[10] = CheckSum(pTxData,10); //校驗和
/*填充發送緩沖區,對2類傳感器均相同,結束*/
不同部分有光電傳感器的數據獲取與處理:
unsigned intADC_GetValue(void)// 獲取傳感器采樣數據
{
unsigned intadcValue = 0;
adcValue = adcSampleSingle(ADC_REF_AVDD, ADC_12_BIT, HAL_BOARD_IO_ADC_CH);
return adcValue;
}
/*對采樣數據的轉換,開始*/
ADC_VALUE = ADC_GetValue()*3.3/16384/2;
pTxData[4] = (uint8)ADC_VALUE%10 + 48;
pTxData[5] = (uint8)(ADC_VALUE*10)%10 + 48;
/*對采樣數據的轉換,結束*/
pTxData[6] = 0x00; //填充發送緩沖區
pTxData[7] = 0x00; //填充發送緩沖區
人體傳感器的數據處理:
pTxData[4] = HAL_INT_VAL();
pTxData[5] = 0x00;
pTxData[6] = 0x00;
pTxData[7] = 0x00;
信息感測節點應用程序對傳感器測量值的獲取、轉換、緩存及無線發送功能可采用如圖4所示的程序流程來實現。
圖4 信息感測節點數據處理流程圖
3.2 信息處理平臺軟件
信息處理平臺的ZigBee協調器模塊通過ZigBee點對點無線通信協議,負責接收和匯聚各傳感器采集到的感測信息,并將接收到感測數據通過RS 232串口傳輸到應用開發平臺;同時,負責從RS 232串口接收從應用開發平臺下達的控制命令,并通過ZigBee無線通信協議將控制命令發送到ZigBee繼電器節點(電燈)。具體程序流程如圖5所示。
圖5 ZigBee協調器端程序流程圖
3.3 繼電器節點軟件設計
在本系統中,用ZigBee繼電器模擬教室電燈,ZigBee繼電器通過ZigBee點對點無線通信協議接收ZigBee協調器發來的控制命令,實現對各繼電器(電燈)的打開及關閉控制。其ZigBee繼電器程序流程如圖6所示。
圖6 繼電器節點程序流程圖
4 ZigBee點對點通信參數及數據格式設計
4.1 ZigBee點對點通信參數設計
對Zigbee點對點通信參數的設置,有RF_CHANNEL、PAN_ID、SENSOR_ADDR、COORD_ADDR四項。ZigBee無線傳感器節點模塊、ZigBee繼電器模塊、ZigBee協調器模塊的RF_CHANNEL、PAN_ID設置一致;無線傳感器節點模塊的SENSOR_ADDR為無線傳感器節點地址;無線傳感器節點模塊的COORD_ADDR為發送地址,要與協調器模塊的COORD_ADDR設置一致;繼電器模塊的RELAY_ADDR為繼電器地址,要與協調器模塊的RELAY_ADDR設置一致。本設計采用的設置如下:
#define RF_CHANNEL 22 // 頻道 11~26
#define PAN_ID 0x1122 //網絡id
#define COORD_ADDR 0x5566 //協調器地址
#define RELAY_ADDR 0x7788 //繼電器地址
4.2 ZigBee無線通信數據格式設計
4.2.1 協調器接收格式
本設計的發送端傳感器格式(byte1-byte10)如圖7所示。
Head Type Len Data Res Chk
0xFA 0xFB Type 0x04 D1 D 2 D 3 D 4 保留 校驗和
圖7 發送端傳感器格式
圖7中,byte1,byte2:傳感器端數據發送的固定頭,固定為0xFA,0xFB;byte3:數據類型的標識,例0x01人體,0x02光照;byte4:為傳感數據長度(統一為0x04);byte5-byte8:傳感器采集到的具體數據;byte9:保留;byte10:byte1-byte9校驗值(相加取低8位)。
4.2.2 協調器發送數據格式
本設計的接收端為電燈(繼電器),格式(byte1-byte10)如圖8所示。
Head Number Len Res Chk
0xFB 0xFA Des 0x04 保留 保留 保留 保留 校驗和
圖8 接收端格式(byte1-byte10)圖
圖8中,byte1,byte2:Coordinator端數據發送控制繼電器命令的固定頭0xFA,0xFB;byte3:Coordibator端數據發送對象,是繼電器序號;0x01:發送命令給繼電器1端,表示電燈1;0x02:發送命令給繼電器2端,表示電燈2;0x03:發送命令給繼電器3端,表示電燈3;0x04:發送命令給繼電器4端,表示電燈4,以此類推;byte4:命令長度,固定為0x04;byte5:發送給繼電器的命令內容(0x02為關閉,0x01為開啟);byte6-byte9:保留;byte10:byte1-byte9校驗值(相加取低8位)。
4.2.3 電燈(繼電器)應答數據格式
本設計的接收端,即協調器的格式(byte1-byte9)如圖9所示。
Head Number Len 應答碼 Chk
0xFB 0xFA Des 0x04 R1 R2 R3 R4 校驗和
圖9 協調器的格式圖
圖9中,byte1-byte4:表示收到的數據原值返回;byte5-byte8:應答碼,固定為0xAA 0xBB 0xCC 0xDD;byte9:是byte1-byte8的校驗值(相加取低8位)。
5 結 語
智慧教室的燈光控制是物聯網的一項重要應用,本文從硬件、軟件和協議數據格式上對智慧教室的燈光控制系統進行了較為全面的設計,對物聯網的應用推廣、節能減排等方面都具有重要的應用價值與實用性,只需在軟件上和傳感器插件上做少量改動,本系統的應用還可進一步推廣,如應用到倉儲監控、智慧家居等方面,具有很強的可擴展性。
參考文獻
[1]楊子威. 基于ZigBee技術的LED路燈節能控制系統的設計[J].現代電子技術,2014,37(8): 40-45 .
[2]白成林,馬珺.基于物聯網技術的智能路燈監控系統[J]. 電子技術應用,2014,40(3): 82-85.
[3]孔令榮,王昊.基于無線傳感網絡的智能路燈照明系統分析[J].電子科技,2013,26(11): 108-110,113.
[4]姚紫陽,倪文濤,呂玲玉.公共場所燈光無線智能監控系統的設計開發[J].產業與科技論壇,2013(24): 77,234.
[5]周揚帆.基于ZigBee技術的教學樓智慧照明控制系統的設計[J]. 電腦知識與技術,2013(7):258-260.
pTxData[5] = (uint8)(ADC_VALUE*10)%10 + 48;
/*對采樣數據的轉換,結束*/
pTxData[6] = 0x00; //填充發送緩沖區
pTxData[7] = 0x00; //填充發送緩沖區
人體傳感器的數據處理:
pTxData[4] = HAL_INT_VAL();
pTxData[5] = 0x00;
pTxData[6] = 0x00;
pTxData[7] = 0x00;
信息感測節點應用程序對傳感器測量值的獲取、轉換、緩存及無線發送功能可采用如圖4所示的程序流程來實現。
圖4 信息感測節點數據處理流程圖
3.2 信息處理平臺軟件
信息處理平臺的ZigBee協調器模塊通過ZigBee點對點無線通信協議,負責接收和匯聚各傳感器采集到的感測信息,并將接收到感測數據通過RS 232串口傳輸到應用開發平臺;同時,負責從RS 232串口接收從應用開發平臺下達的控制命令,并通過ZigBee無線通信協議將控制命令發送到ZigBee繼電器節點(電燈)。具體程序流程如圖5所示。
圖5 ZigBee協調器端程序流程圖
3.3 繼電器節點軟件設計
在本系統中,用ZigBee繼電器模擬教室電燈,ZigBee繼電器通過ZigBee點對點無線通信協議接收ZigBee協調器發來的控制命令,實現對各繼電器(電燈)的打開及關閉控制。其ZigBee繼電器程序流程如圖6所示。
圖6 繼電器節點程序流程圖
4 ZigBee點對點通信參數及數據格式設計
4.1 ZigBee點對點通信參數設計
對Zigbee點對點通信參數的設置,有RF_CHANNEL、PAN_ID、SENSOR_ADDR、COORD_ADDR四項。ZigBee無線傳感器節點模塊、ZigBee繼電器模塊、ZigBee協調器模塊的RF_CHANNEL、PAN_ID設置一致;無線傳感器節點模塊的SENSOR_ADDR為無線傳感器節點地址;無線傳感器節點模塊的COORD_ADDR為發送地址,要與協調器模塊的COORD_ADDR設置一致;繼電器模塊的RELAY_ADDR為繼電器地址,要與協調器模塊的RELAY_ADDR設置一致。本設計采用的設置如下:
#define RF_CHANNEL 22 // 頻道 11~26
#define PAN_ID 0x1122 //網絡id
#define COORD_ADDR 0x5566 //協調器地址
#define RELAY_ADDR 0x7788 //繼電器地址
4.2 ZigBee無線通信數據格式設計
4.2.1 協調器接收格式
本設計的發送端傳感器格式(byte1-byte10)如圖7所示。
Head Type Len Data Res Chk
0xFA 0xFB Type 0x04 D1 D 2 D 3 D 4 保留 校驗和
圖7 發送端傳感器格式
圖7中,byte1,byte2:傳感器端數據發送的固定頭,固定為0xFA,0xFB;byte3:數據類型的標識,例0x01人體,0x02光照;byte4:為傳感數據長度(統一為0x04);byte5-byte8:傳感器采集到的具體數據;byte9:保留;byte10:byte1-byte9校驗值(相加取低8位)。
4.2.2 協調器發送數據格式
本設計的接收端為電燈(繼電器),格式(byte1-byte10)如圖8所示。
Head Number Len Res Chk
0xFB 0xFA Des 0x04 保留 保留 保留 保留 校驗和
圖8 接收端格式(byte1-byte10)圖
圖8中,byte1,byte2:Coordinator端數據發送控制繼電器命令的固定頭0xFA,0xFB;byte3:Coordibator端數據發送對象,是繼電器序號;0x01:發送命令給繼電器1端,表示電燈1;0x02:發送命令給繼電器2端,表示電燈2;0x03:發送命令給繼電器3端,表示電燈3;0x04:發送命令給繼電器4端,表示電燈4,以此類推;byte4:命令長度,固定為0x04;byte5:發送給繼電器的命令內容(0x02為關閉,0x01為開啟);byte6-byte9:保留;byte10:byte1-byte9校驗值(相加取低8位)。
4.2.3 電燈(繼電器)應答數據格式
本設計的接收端,即協調器的格式(byte1-byte9)如圖9所示。
Head Number Len 應答碼 Chk
0xFB 0xFA Des 0x04 R1 R2 R3 R4 校驗和
圖9 協調器的格式圖
圖9中,byte1-byte4:表示收到的數據原值返回;byte5-byte8:應答碼,固定為0xAA 0xBB 0xCC 0xDD;byte9:是byte1-byte8的校驗值(相加取低8位)。
5 結 語
智慧教室的燈光控制是物聯網的一項重要應用,本文從硬件、軟件和協議數據格式上對智慧教室的燈光控制系統進行了較為全面的設計,對物聯網的應用推廣、節能減排等方面都具有重要的應用價值與實用性,只需在軟件上和傳感器插件上做少量改動,本系統的應用還可進一步推廣,如應用到倉儲監控、智慧家居等方面,具有很強的可擴展性。
參考文獻
[1]楊子威. 基于ZigBee技術的LED路燈節能控制系統的設計[J].現代電子技術,2014,37(8): 40-45 .
[2]白成林,馬珺.基于物聯網技術的智能路燈監控系統[J]. 電子技術應用,2014,40(3): 82-85.
[3]孔令榮,王昊.基于無線傳感網絡的智能路燈照明系統分析[J].電子科技,2013,26(11): 108-110,113.
[4]姚紫陽,倪文濤,呂玲玉.公共場所燈光無線智能監控系統的設計開發[J].產業與科技論壇,2013(24): 77,234.
[5]周揚帆.基于ZigBee技術的教學樓智慧照明控制系統的設計[J]. 電腦知識與技術,2013(7):258-260.
pTxData[5] = (uint8)(ADC_VALUE*10)%10 + 48;
/*對采樣數據的轉換,結束*/
pTxData[6] = 0x00; //填充發送緩沖區
pTxData[7] = 0x00; //填充發送緩沖區
人體傳感器的數據處理:
pTxData[4] = HAL_INT_VAL();
pTxData[5] = 0x00;
pTxData[6] = 0x00;
pTxData[7] = 0x00;
信息感測節點應用程序對傳感器測量值的獲取、轉換、緩存及無線發送功能可采用如圖4所示的程序流程來實現。
圖4 信息感測節點數據處理流程圖
3.2 信息處理平臺軟件
信息處理平臺的ZigBee協調器模塊通過ZigBee點對點無線通信協議,負責接收和匯聚各傳感器采集到的感測信息,并將接收到感測數據通過RS 232串口傳輸到應用開發平臺;同時,負責從RS 232串口接收從應用開發平臺下達的控制命令,并通過ZigBee無線通信協議將控制命令發送到ZigBee繼電器節點(電燈)。具體程序流程如圖5所示。
圖5 ZigBee協調器端程序流程圖
3.3 繼電器節點軟件設計
在本系統中,用ZigBee繼電器模擬教室電燈,ZigBee繼電器通過ZigBee點對點無線通信協議接收ZigBee協調器發來的控制命令,實現對各繼電器(電燈)的打開及關閉控制。其ZigBee繼電器程序流程如圖6所示。
圖6 繼電器節點程序流程圖
4 ZigBee點對點通信參數及數據格式設計
4.1 ZigBee點對點通信參數設計
對Zigbee點對點通信參數的設置,有RF_CHANNEL、PAN_ID、SENSOR_ADDR、COORD_ADDR四項。ZigBee無線傳感器節點模塊、ZigBee繼電器模塊、ZigBee協調器模塊的RF_CHANNEL、PAN_ID設置一致;無線傳感器節點模塊的SENSOR_ADDR為無線傳感器節點地址;無線傳感器節點模塊的COORD_ADDR為發送地址,要與協調器模塊的COORD_ADDR設置一致;繼電器模塊的RELAY_ADDR為繼電器地址,要與協調器模塊的RELAY_ADDR設置一致。本設計采用的設置如下:
#define RF_CHANNEL 22 // 頻道 11~26
#define PAN_ID 0x1122 //網絡id
#define COORD_ADDR 0x5566 //協調器地址
#define RELAY_ADDR 0x7788 //繼電器地址
4.2 ZigBee無線通信數據格式設計
4.2.1 協調器接收格式
本設計的發送端傳感器格式(byte1-byte10)如圖7所示。
Head Type Len Data Res Chk
0xFA 0xFB Type 0x04 D1 D 2 D 3 D 4 保留 校驗和
圖7 發送端傳感器格式
圖7中,byte1,byte2:傳感器端數據發送的固定頭,固定為0xFA,0xFB;byte3:數據類型的標識,例0x01人體,0x02光照;byte4:為傳感數據長度(統一為0x04);byte5-byte8:傳感器采集到的具體數據;byte9:保留;byte10:byte1-byte9校驗值(相加取低8位)。
4.2.2 協調器發送數據格式
本設計的接收端為電燈(繼電器),格式(byte1-byte10)如圖8所示。
Head Number Len Res Chk
0xFB 0xFA Des 0x04 保留 保留 保留 保留 校驗和
圖8 接收端格式(byte1-byte10)圖
圖8中,byte1,byte2:Coordinator端數據發送控制繼電器命令的固定頭0xFA,0xFB;byte3:Coordibator端數據發送對象,是繼電器序號;0x01:發送命令給繼電器1端,表示電燈1;0x02:發送命令給繼電器2端,表示電燈2;0x03:發送命令給繼電器3端,表示電燈3;0x04:發送命令給繼電器4端,表示電燈4,以此類推;byte4:命令長度,固定為0x04;byte5:發送給繼電器的命令內容(0x02為關閉,0x01為開啟);byte6-byte9:保留;byte10:byte1-byte9校驗值(相加取低8位)。
4.2.3 電燈(繼電器)應答數據格式
本設計的接收端,即協調器的格式(byte1-byte9)如圖9所示。
Head Number Len 應答碼 Chk
0xFB 0xFA Des 0x04 R1 R2 R3 R4 校驗和
圖9 協調器的格式圖
圖9中,byte1-byte4:表示收到的數據原值返回;byte5-byte8:應答碼,固定為0xAA 0xBB 0xCC 0xDD;byte9:是byte1-byte8的校驗值(相加取低8位)。
5 結 語
智慧教室的燈光控制是物聯網的一項重要應用,本文從硬件、軟件和協議數據格式上對智慧教室的燈光控制系統進行了較為全面的設計,對物聯網的應用推廣、節能減排等方面都具有重要的應用價值與實用性,只需在軟件上和傳感器插件上做少量改動,本系統的應用還可進一步推廣,如應用到倉儲監控、智慧家居等方面,具有很強的可擴展性。
參考文獻
[1]楊子威. 基于ZigBee技術的LED路燈節能控制系統的設計[J].現代電子技術,2014,37(8): 40-45 .
[2]白成林,馬珺.基于物聯網技術的智能路燈監控系統[J]. 電子技術應用,2014,40(3): 82-85.
[3]孔令榮,王昊.基于無線傳感網絡的智能路燈照明系統分析[J].電子科技,2013,26(11): 108-110,113.
[4]姚紫陽,倪文濤,呂玲玉.公共場所燈光無線智能監控系統的設計開發[J].產業與科技論壇,2013(24): 77,234.
[5]周揚帆.基于ZigBee技術的教學樓智慧照明控制系統的設計[J]. 電腦知識與技術,2013(7):258-260.