智慧教室灯光控制系统设计
2014-10-30杨埙董灿谭锋
杨埙 董灿 谭锋
摘 要:给出一种基于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.