智慧教室灯光控制系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
智慧教室灯光控制系统设计
作者:杨埙董灿谭锋
来源:《物联网技术》2014年第10期
摘要:给出一种基于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所示。