


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、水环境监测系统节点软件设计本文中设讣的监测丹点选取IAREmbeddedWorkbench为开址坏境.编程语盲为C语言【仙.应用这款毎成开发环境设计开发节点的软件.方便快捷,开发效率高.并且此开发环境的Cg編译器能够忙成高效幷可靠的可执拧代码,同时能够针对具体的芯片进厅代码优化.本监测系统的节点软件设讣k耍包抹隘度传感器的测鼠程用.畢于CC3430fUZigbm网帘的廿点Z问通们程序以朋汇聚廿点F1上位机通过-t11灯数脚的处理程用4.1监测节点初始化程序设计温度监穂节点主要功能厲矍运用传感器去采锯H标水域的話度值.井通过传感器微据线将数字伯号件输到单儿饥的I/O口幷任单片机屮处理,然后通过R
2、F射频摸块将戲?仃勺无线发送踣汇舉节点,上位机通过卅1读取汇聚节点接豎敌戡.晟店可以再在后台系统对转换后的伯号信息进帝査询D水环境监测节点是作丸整个系姣工作的第一环节.皱投放在訂标水域实施数据液址匚作.监测节点稈序总休设计如阁41所示.”亠一.Ftf,*RmiS阁11临测节点桎斥总体讪计监测背点实施數据棗集工作之询、戢先设置眼片机CC2430(W钟频率.站后设置稳用器,一整个系统循环等特一直到稳斥器供电稳定.隨后初始化单片机的输入输出錨U,在本系统中,传感器的监测敌抑:从POU输入,即把POLH殳疋为输入模式,即将内部的输出卜拉驱动管关闭,将P0置LCC2430的4个定时器分别是16位定时器(
3、定时器1)MAC定时器(定时»2).8位定时器(定时器3和4),单片机种通过控制寄存器TxCTL来控制定时器操作,这世采用输出比较模式來进行典吃的输入捕获和输出比较操作.CC2430具有兼容RF收发器,是以业界领先的CC2420射频核心为基础的,节点之间的无线通苗便采用IEEE802.154定义卜的24GHz直接序列扩频频谱(DSSS)RF调制恪式來进fj(4SL添加介门狗程序以保证也片机运行铠定,防止收到外界磴场干扰.IIS测廿点的系纯初始化如图42图4.2节点初始化涼秤图4.2温度数据采集模块程序设计本系统是対11标水域的相关物理参数进行测屋从而完咸实时监测的功能,数据伫息是通过
4、相关传感器进行采集,本监测节点搭载DS18B20温度传感器实现水环境温度的采集和传输.DS1SB20的温度检测的-个工作周期可分为两个部分,即温度检测和数据处理在DS18B2D共仃三种形态的存储器资源.它们分别是:ROM只读存储器.RAM数抑:暂存器,EEPROMIE易失性记忆体。根据DS18B20的通们协议,DS18B20只能作为从机,而单片机系统作为主机,单片机控制DS18B20完成一次温度转换必须经过3个步骤:复位、发送ROM指令、发送RAM指令.毎次对DS18B20的操作都要进行以上三个步骤问。复位过程为:DS1SB20的所有通佶都由复位脉冲组成的初始化序列开始.该初始化序列由匸机发出
5、.后銀由DS1SB20发出的存在脉冲(presencepulse)。虹片机将数拥线抑低至少480uS然施杯放数抑:线等待15-60uSilDS18B20接收伫:;,DS18B20接收到们号后,会把数据线拉低60-240uS.L机检测到敌卅线被拉低后标识虹位成功.发送ROM指令:ROM折令表示主机对系统上所接的全部DS1SB20进行寻址,以确定对那个DS1SB20进行操作,或者是读収某个DS1SB20的ROM序列号。发送RAM指令:RAM指令用于单片机对DS1SB20内部RAM进行操作,如读讹寄«器的值,或占设置寄仔器的值.DS1SB20的或"J时.?图如图43所j;根据实际
6、测试的情况总结出了以卜的DS18B20操作步骤:(1'初始化DS18B20:(a) t先控制数据线,将其设置为高电平位“1”:(b) 然厉进行延时,延时的时间要尽虽的短,不过不要求特别精确和严格:(c) 接着再将数抓线祝为低电平“0”:(d) 阳进行延时操作,延时的时何大致在480微秒到960微秒左右:(e) 将数据线拉回到高电平位“1”:(f) 延时等待.初始化成功时,DS18B20将在1550毫秒间产生-个低电平“0”,这个电位的变化可以用來确定它的存在但是为了避免用序陷入死循环,冋该限制延时等待的时间,进行必要的超时控制:(g) 如果CPU读到数拥线的低电平“0”麻,仍需耍进行延
7、时,延时的时间耍从数抑线拉到高电、“1”算起.也就是从第(e)步的时间算起,并11至少要480微抄:(h) 赧后以将数抑;线拉到高电平“L结束。(2) DS1SB20的写操作:<a)数据线置低电平“0”:(b) 延时确定时何设鬥为小15微秒的值,例如为2微妙:(c) 发送字节按由低到高的順序,每次只发送一位:<d)延时一个大于60微秒的时何:<e)拉数据线到高电平,并延时一个小于15微秒的时何(可以设为2微秒):(f)重交上述<a)(f)的步骤.将所仃的了节都发送出£:<g)录后将数据线拉至岛电半.(3) DS1SB20的读操作:(a)拉高数据线:<
8、;b)延时2微秒:<c)拉低数据线:<d)延时一个小于15微秒的时何.这里为2微秒:(e)拉高数据线,并设迓端口状态为输入状态:<f)延时4微秒.或冷是其他小于15微秒的时何:<g)通过读取数抑;线來获得一个状态位,然后进行敌拯处理:(h)延时70微秒,或者是其他-个处J:60120倣秒间的时间。4.3节点通信程序设计431节点之间数据传送程序设计将监测节点置于II标水域,并把每个节点编号。考世到由于在实际惜况卜.节点耍大面枳覆孟监测的H标水域,但是由于水流或者是风向形响,W点位置会不斷的发生变动,所以监测节点和汇聚卩点Z间的实际距离是否超过无线通信距离便成为数据伫息能
9、否成功接收的关键因索。为了解决物理趾离仃可能超过通伫趾离的惜况,本系统让每个监测节点都有转发功能,这样远距离的数据们息就可以多跳,经过路由节点到达汇聚节点,实现远距离的数据传输。节点通信数据流程图如图44增应节点路由节点'林聚节点J图4.4节点通信数据涼幹图把毎个节点编号,确定路由节点并将路由表'弓入相关节点,节点正常匸作的时候,每个路由节点都把白己的ID以及父节点ID.温度和电压倍息广播出去,同时其他监测节点都在按照踣由表來转发数据,最后数据转发到汇聚节山由汇聚节点通过申11发送给服务器。同时随着时间和节点相对位置的改变,能通过汇聚节点向路由节点发送新的路由表,建工新伯息传输
10、路径.节点Z何的通伯模型如图4.5:X1RHA*+二叫V二:9"*"V;:MhiiW冬MihW/di、亠林由节a路由节衣Miiiva样由wa路由"点捋由审炷45貝有传感功能的路由节点和汇锁节点通信模型通过CC2430的射频模块发送数拥报文,传输的数据报文包含了节点的节点编号,能盘状态和温度值伯息.未经路由的报文格式如图46所示,经过路由的报文格式如图47所示:FatherID:MyID:Temperature:1byte1byte6byteVoltage图4.6末经过路由的报文格式图4.7经过路由的报文格式LQI:FatherID:MyID:Tempentun.V
11、blageIVyteIVyteIVyte6Vyte所以我们可以淸晰的从上传到上位机的数据们息中读収到测址值还仃备节点的H体工作位息等,便r我们及时调整卩点位世以适应ji体环境的变化,保证监测数据的准确性和可靠性。监测"点z何数据传送程丿?没n流程图如图4&II由II由,z>II由i.ncin*;.ul号.ricir>)編度.电用为佶34>出£羯:.£;.:A)'.为估MX遇怙H»«kflftn崔it/H£M«nA&lX*MUiAi«tt.AW«©Hlit
12、oAr*tf%i£Ul£图4.8监测15点之间数据传送程序设计滅程图可以G出监测节点都具有路由转发的功能ID号和路由衣都固化在硬件节点之中系统初始化之厉,测a到的数据信息就按照路由路径在节点之间传递并到达汇聚节点,通过串口得到数据侑息.43.2串口通信程序设计伤置于斥边的汇聚节点通过无线接收到监测水域内监测*点发送來的数拥伫息.将敌犯信息送至廿点fpu,I:位机通过串口读収敌拯并作进一步处理,实现整个数据的传输过程.图4.9是汇聚节点接收转发数据流程图。WWHIt图4.9汇聚节点接收转发数据滅程图汇聚节点接收到水域内监测节点的数据们息后上传至上位机,汇聚节点将数据们息发送到
13、弗口的程序如卜:voidDataToPort(UINT8*pBuf)UINT8*buf,UINT8temBufll;UINT81;if(byte)osal_strien(pBuf)=10)teniBuffOla1;foi(i=l;i<=10,i+)tcniDuf(i-pDufi-l;buf=teniBuf,definedMT_TASK)debug_sti(iunt8*)buf);#enchf)上位机和汇聚节点通过九针出口相连在汇聚节点接收到监测节点的数据们息并将伯息送至弗口处后,由上位机对串口数据进行读取,从而得到监测数据.上位机对笊口数据读取程庁如卜:publicpartialclas
14、sL1通SystemWebUI.PageprotectedvoidPage_Load(objectsender,EveiitArgse)Portlnfosportinfos=newPortinfos();protectedvoidSendbtn_Click(objectsender,EventArgse)Portinfoportinfo=newPortlnfo();portinfoPortName=tlusPortName.Text,portinfoBaiuidRate=ConveilTolnt32(tlusBaudRateText);portinfoDataBits=ConvertToInt
15、32(thisDataBitsText);portinfoStopBits=Convert.Tolnt32(thisstopBitsText);portinfoData=thisDataText;portinfosadd(portinfo)tPortSendportsend=newPortsend(),portsend.Send(portinfos).现实环境卜.我们要随着节点的实际位进情况更新路由表.以保证数据能够正常的在系统内传输.所以监测节点和汇聚节点要能实现双向通伯.-旦判断霸要更新路由表.我们可以通过W聚肖点的无线发送让监测节点收到收到新的路由佔息.汇聚节点向路由节点发送路由表程序流
16、程图设计如图410:1f1mar*tnxrY4.10汇寨卩点向路由传点发送路由山榨序流程图4.4节点分簇算法设计根据上文介绍的本系统节点之何通伯特点每个节点都有转发能力.路由节点会收到汇聚节点发送的新路宙表,实现动态挤扑.如何很据节点在监测水域的实际惜况确定新的路由农就是保证系统数据传输稳定的一顶遗要坏节.本课题中.设计了一种分簇算法,对网络进行分簇,选取簇头卩点,为每个卩点构造路由表,并将执行算法Z/H的网络拓扑片以显示.算法介绍实验开始前.要先行测S:被测水域的大小参数.将节点成长方形的分布置于H标水域,如图4.11所示。我们已知的卄点伫息包括:卩恵编号(SensorNumber),&qu
17、ot;点坐标(CoordinateX.CoordinateY)fll疔点剩余能址(DumpEnergy),在执行完算法之后,我们能够紂到:"点所在簇的编(ArealD),卩点和色(IsHead)和宵点路由衷(由父巧点编兮Father.子节点编号Children组成).步狠1:首先根据地理位置分簇.如图所示分成四个三角形根据肖点位置坐标划分节点所在区域.対ArealD赋值划分式如图412所示./®0O/O/KI.图412对监测区城分块选联汇聚节点为坐标原点.建芷坐标轴,划分节点分伤的业形区域.如图所示:CoordinateY>=0IW域0:CoorchnateX<
18、0&&CoorclinateY/CoordinateX>=-2W/L区域1:CoorclinateX<0&&CoordinateY/CoordinateX<-2W/L区域2:CoorchnateX>=0&&CoordinateY/CoordinateX>2W/L域3:CoorclinateX>0&&CoordinateY/CoordinateX<=2W/L步骤2:为毎个子区域选取簇头节点,选取簇头节点的标准是:根据节点到汇聚节点的距离对该区域的节点进行排序.次序在范N/3+1.2N/3+1的节点作为泯选第头.即根拥节点到汗聚节点的距离选择中何段的节点作为该簇的候选簇头(2)选取候选节点中倒余能呈赧髙的节点作为簇头.步骤3:为毎个节点构造路由表,对Father和Children賦值具体过程为:对于簇成员节点I.如'4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 休闲农业与乡村旅游融合发展2025年乡村旅游与旅游产业市场拓展分析报告
- 城市轨道交通智慧运维系统建设2025:智能化检修与设备管理研究报告
- 工程法规常见考点试题及答案分析
- 工程法规法律条款理解试题及答案
- 合作办学合同协议书
- 2025年教育游戏化趋势下儿童认知发展教学设计深度报告
- 2025年履行合同时如何有效规避风险与期望的策略
- 2025年财务管理企业架构试题及答案
- 城市轨道交通智慧运维系统2025年智能化运维与安全性能提升研究报告
- 工业互联网平台量子通信技术预研报告:2025年产业政策支持与市场潜力
- GA/T 1147-2014车辆驾驶人员血液酒精含量检验实验室规范
- FZ/T 73001-2016袜子
- 小学一年级数学100以内口算题
- 人教版(2019)必修第三册Unit 1 Festivals And Celebrations Listening and Speaking 课件
- 【医疗管理分享】:PET-CT报告书写课件
- 质量、环境、职业健康安全、有害物质管理手册
- 房地产残余价值估价报告
- PAN纤维结晶度取向度和形貌的演变规律对其性能影响
- 岛津GCMS-TQ8040教材
- (完整版)化工原理各章节知识点总结
- 空调水管线试压冲洗方案
评论
0/150
提交评论