欢迎来到天天文库
浏览记录
ID:5247234
大小:27.00 KB
页数:5页
时间:2017-12-06
《基于zigbee鸡舍环境测控系统设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于Zigbee鸡舍环境测控系统设计 摘要本文介绍了一种基于Zigbee实现的鸡舍环境监控系统,该系统以CC2530为核心,实现了鸡舍光照强度和温度的闭环控制,并利用Zigbee自组网的特点实现了网络的自由部署。关键词Zigbee;自组网;鸡舍;环境测控中图分类号:TP273文献标识码:A文章编号:1671-7597(2013)15-0023-01在现代化的养鸡场,为了提高生产效率,降低生产成本,必须使用智能化的手段来实现对养鸡场的控制。对于产蛋鸡而言,其最佳环境温度为15℃~23℃,超过23℃便会产生热
2、应激,导致鸡体温上升,采食量下降,产蛋率和免疫功能下降。光照对鸡的繁殖能力影响很大,研究表明,产蛋所需的光照时间介于12~16小时之间。由此可见,适宜的温度和光照强度对蛋鸡的产蛋量有决定性的作用。因此,本文设计了一种基于Zigbee的无线自组网鸡舍环境测控系统,不仅可以实现鸡舍温度、光照条件的智能控制,而且能将数据收集并传输到上位机以便于数据分析。除此之外,利用Zigbee自组网的特征,可以方便的撤除或者增加测控点,从而便于鸡舍规模的扩大。5Zigbee是基于IEEE802.15.4标准的低功耗个域网协议定
3、制的一种无线技术规范。该规范规定了一种短距离、低功耗、低复杂度、低速率、低成本的双向无线通讯技术,可工作于868MHz、915MHz、2.4GHz的频段上,传输距离通常为几十米,通过功率放大可以使距离达到数公里。Zigbee网络具备自组织和自愈合能力,当一个zigbee网络中存在协调器(FFD)时,其他进入到该协调器范围之内的节点(RFD)即可自动加入到网络中来,当某个节点离开该网络所在的区域时,可以自动的删除该节点,并重新组织网络结构。1系统硬件设计本设计中的Zigbee网络基于德州仪器的Simplici
4、TI协议来实现,SimpliciTI是德州仪器开发的一份专门针对其CCxxxx系列无线通信芯片的网络协议。它支持直接的点对点通信结构和基于星型连接的网络拓扑结构。本系统使用了基于星型链接的网络拓扑结构,SimpliciTI协议包括AP(AccessPoint)和ED(End5Device)两种设备,其中,AP负责网络的组建和维护,同时通过RS485总线将ED上报的数据传输给监控主机。ED是终端节点,在鸡舍环境测控系统中负责入网后检测环境温度、光照条件,并根据设定值控制执行机构,同时将数据以泛洪方式在各个终端
5、节点上传输,直至数据到达AP。在Zigbee网络中,AP与终端节点的硬件几乎完全一样,只是在软件部分有所差异,因此可以共用相同的硬件电路。具体系统框图如图1所示。CC2530片内集成了增强型8051核和一个2.4GHz射频核的SOC,它结合TI公司开源的ZigBee协议栈SimpliciTI,可以极大的降低开发难度,缩短开发周期。在该系统中,支持SimpliciTI协议的CC2530内集成的8051核完成整个系统的控制,RF核配合50Ω鞭状天线实现2.4GHz数据传输。通过1-wire总线数字温度传感器DS
6、18B20检测环境温度,当环境温度低于15℃时,启动空调系统对鸡舍加热;当温度超过23℃时,空调制冷;通过闭环控制系统使鸡舍内温度始终维系在适宜温度范围。光照强度检测采用16位数字输出型环境光强度传感器BH1750FVI,它具备接近视觉灵敏度的光谱灵敏度特性,且可以通过I2C总线接口与CC2530连接,它的高分辨率可以探测较大范围的环境光照强度并转换成数字信号后变送给微控制器。RS485总线仅用于协调器通过有线的方式向上位机传输数据,以实现远程监控与参数设置。2软件设计2.1SimpliciTI组网流程5在
7、SimpliciTI网络中,终端节点上电后,将会启动一次加入网络的请求,当得到路由器的响应之后,则可以获取加入网络后的唯一地址并成功加入网络,然后应用层程序一般会调用simpliciti启动link过程,建立一个到邻近节点的连接,连接建立成功simpliciti会反馈给应用程序一个句柄,之后应用程序通过这个句柄进行通信。SimpliciTI协议分为最简射频接口层(MRFI)、网络层、应用层。在MRFI中主要实现射频数据的发送和接收,同时当用户需要增加外围接口时,则需要对该层加以修改。网络层主要实现组网、数据
8、转发等功能,用户在使用时可以不必关心。应用层给用户提供了一系列的API接口,可以方便的实现数据收发等功能。2.2主要程序流程加入网络由SimpliciTI协议的网络层自动实现,在AP中会通过SMPL_LinkListen()函数持续监听来自终端节点的连接请求。当终端节点完成初始化之后,只需要调用SMPL_Link(&LID_AP)函数即可发起连接,如果连接建立成功,AP的LinkID被保存在LID_AP变量中,然
此文档下载收益归作者所有