基于物联网的灯光控制系统上位机系统设计课件.docx
- 文档编号:4702420
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:33
- 大小:1,016.26KB
基于物联网的灯光控制系统上位机系统设计课件.docx
《基于物联网的灯光控制系统上位机系统设计课件.docx》由会员分享,可在线阅读,更多相关《基于物联网的灯光控制系统上位机系统设计课件.docx(33页珍藏版)》请在冰豆网上搜索。
基于物联网的灯光控制系统上位机系统设计课件
毕业设计说明书
设计题目:
基于物联网的灯光控制系统
——上位机系统设计
专业:
物联网应用技术
班级:
物联网XX
学号:
姓名:
指导教师:
二O一五年十一月二十日
设计内容:
课题简介:
以道惟尔公司CC2430无线传感器节点和光照传感器模块为载体,VS2010开发环境,设计一个灯光控制系统,实现对道路灯光亮灭进行控制,并实时显示状态在上位机监控软件上。
并下发灯光控制指令。
主要任务:
(1)应用层展示软件开发;
(2)撰写设计报告。
主要技术要求如下:
(1)采用模块化设计思想规划各子程序功能;(3)CC2430协调器与PC串口通讯的基本数据帧格式为:
帧头、功能码、数据长度、数据、帧尾;(4)传输层应实现透明传输。
进度安排:
1.任务分解,收集有关资料并消化吸收---2周;
2.制定设计方案-----------------------1周;
3.软件设计---------------------------6周;
4.撰写设计报告-----------------------2周;
5.准备毕业答辩。
主要参考文献、资料(写清楚参考文献名称、作者、出版单位):
[1] 黄嘉辉.C#.NET网络程序设计.科学出版社,2004
[2] 陈林是.无线传感器网络技术与应用.电子工业出版社,2009
[3] 高守玮.吴灿阳.ZigBee技术实践教程.北京航空航天大学出版社,2009
[4] 程远东.曾宝国.电子产品设计与制造技术.科学出版设,2011
[5] 戴佳.戴卫.51单片机C语言应用程序设计实例精讲.电子工业出版社,2006
审
批
意
见
教研室负责人:
年 月 日
目 录
摘 要
目前现有的城市路灯控制系统大多采用有线连接的方式,系统成本高、功耗大、施工复杂,而且存在能源浪费、后期维护困难等问题。
针对以上缺点以道惟尔公司CC2430无线传感器节点和光照传感器模块为载体,基于IAR和VS2010开发环境,设计一个模拟道路灯光控制系统,实现对道路灯光亮灭进行控制,并接受上位机监控命令。
该系统采用了无线传感器网络和ZigBee技术,无线传感器网络是一种集无线通信、数据采集和信息处理功能于一体的新兴网络。
ZigBee技术是无线传感器网络中最具代表性的一种新兴技术,具有低成本、低功耗等特点。
将ZigBee技术应用于城市路灯控制系统,将有利于实现路灯控制系统的智能化和节能化。
关键词 CC2430;无线传感器网络;灯光控制;ZigBee
概 述
在道路灯光控制中,为了实时地控制不同道路灯光的亮灭,需要一个分布式多点道路灯光控制系统。
传统的多点分布式道路灯光控制系统多采用有线传输方式,然而随着分布式节点的不断增加,系统的布线复杂度和成本也就极具增加,这给系统的设计、维护和升级带了许多不便。
如何解决有线网络带来的诸多不便已成为当下研究的热点。
无线传感器网络(WSN)具有自组织、可快速部署、屏蔽性强、无人值守等优点。
随着射频技术、集成电路技术的发展,无线通信功能的实现越来越容易,数据传输速率也越来越快,并且逐渐达到可以与有线网络相媲美的水平。
本设计旨在设计一种基于物联网的模拟道路灯光控制系统,用以实现对多个分散节点的灯光亮灭控制。
采用模块化设计,无论是硬件还是软件,各个分层间结构清楚。
在技术架构上,将感知、传输、应用分离,采用感知控制层、传输通信层、应用服务层三层架构设计。
第1章 总体设计
1.1 设计目标
1.经调研分析,制定系统总体逻辑架构和技术架构。
2.合理选择交通灯组,并开发基于CC2430平台的驱动程序。
3.基于CC2430和TIZ-STACK协议栈,开发WSN应用程序,组建具有分布式自组网能力的WSN灯光控制无线传感器网络。
4.完成PC展示层应用软件开发。
5.最终搭建一套具有较好实时性的灯光控制系统。
1.2 设计原则
本系统在设计过程中综合考虑了以下基本原则:
1.在达到预期功能的基础上,确保系统的性能指标,如灯光控制实时性指标、网络自愈性指标等。
2.模块化设计,无论是硬件还是软件,各个分层间结构清楚,采用规范的通讯协议,便于系统升级和网络扩容。
1.3 技术架构
在技术架构上,将感知、传输、应用分离,采用感知控制层、传输通信层、应用服务层三层架构设计。
PC展示层应用软件基.NetFramework框架,在VS2010平台实现。
第2章 系统组成与工作过程
2.1 系统组成
本系统以模拟智能交通为载体,它由感知层子系统、传输层子系统、应用层子系统三个部分组成,如图2-1所示。
图2-1 灯光控制系统组成
图1-1中,感知层子系统由开关量控制节点和模拟量控制节点等两类节点组成。
其中,灯光控制节点、电源控制节点三类是开关量控制节点。
传输层子系统是基于CC2430的ZigBee无线传输网。
所有感知层节点的控制指令均由应用层子系统通过通过串口下发给CC2430协调器,再由后者通过ZigBee无线网络下发给CC2430终端节点。
2.2 本系统涉及的主要功能
(1)远程星光大道灯光控制功能
(2)远程太阳路灯光控远制功能
(3)远程滨河路灯光控制功能
(4)远程月亮路灯光控制功能
(5)远程水星路灯光控制功能
本系统(基于物联网的灯光控制系统)是一个模拟城市道路灯光控制的系统,模拟该系统的沙盘有6条道路,如图2-2所示,每条道路上的路灯由若干组灯组组成,每组灯组通过控制单元与CC2430节点板相应端口连接。
以此类推,通过端口分配来实现对整条道路或者道路某一部分灯组的控制。
图2-2 道路分布图
2.2.1 功能描述
智能灯光控制:
用户可以根据需要控制沙盘里的任意灯光。
WSN软件开发智能灯光控制系统:
系统能根据用户需要控制实时传回数据信息。
1)软启功能:
灯光的渐亮渐暗功能,能让眼睛免受灯光骤亮骤暗的刺激,同时还可以延长灯具的使用寿命。
2)按各路段控制灯光:
控制某一路段上灯光的亮灭状态,达到节能和便于管理的功效,使灯光更富人情味、成本低且便于管理。
3)开关联合:
轻松实现某节点或某区域所有灯光的一键的全关和全闭功能,触摸集中控制,使用更加方便。
2.3 系统的运行过程
2.3.1 注册网络
系统启动后,CC2430协调器首先建立无线网络,路由器和终端节点在发现网络后,会主动加入网络,并上传网络参数(物理地址、网络地址、节点类型等)。
注册网络的流程如图2-3所示。
图2-3 灯光控制电路的工作流程
2.3.2 下行链路(由PC到终端):
在PC机上通过上位机向串口发送数据,协调器收到串口数据,再通过串口协议解析数据,然后通过定制的无线协议将解析到的数据进行再次封装,发送给终端节点;终端节点接收到数据之后,经解析控制IO口的电平高低输出;底层控制电路接收到高低电平,执行对应操作。
2.3.3 控制台请求启动/停止
当整个系统需要启动时,WindowsCE控制台上传启动信息,PC下发启动系统指令。
启动系统的流程如图2-4所示。
图2-4 启动系统流程
第3章 系统通讯协议规划
3.1 系统运行流程
道路灯光控制系统的运行主要包括注册网络、获取网络参数、下发控制指令等三方面的操作。
在道路灯光控制系统中服务器与CC2430协调器之间是通过串口进行通信,两者之间是需要使用统一的波特率、并按指定帧格式收发数据。
CC2430协调器与CC2430终端节点之间是通过ZigBee无线网络通信的,需要物理地址和网络地址。
CC2430终端节点是通过普通I/O口将控制命令转化为控制模块(执行机构)的驱动信号的。
3.1.1 注册网络
系统启动后,CC2430协调器首先建立无线网络,路由器和终端节点在发现网络后,会主动加入网络,并上传网络参数(物理地址、网络地址、节点类型等)。
注册网络的流程如图3-1所示。
图3-1 注册网络运行流程
3.1.2 获取网络参数
系统运行中,为及时发现掉线节点,系统会周期性去询问节点,要求返回网络参数。
获取网络参数的流程如图3-2所示。
图3-2 获取网络参数运行流程
3.1.3 下发控制指令
当需要改变各被控对象的运行状态时,系统就需要下发各类控制指令,其流程如图3-3所示。
图3-3 下发控制指令运行流程
3.2 通信协议规划
3.2.1 规划原则
1)透明传输,将控制与传输分离。
2)ZigBee无线网支持广播、点对点通信。
3.2.2 WSN网络结构
1.WSN类型节点
1)协调器(Coordinator)
在无线传感网络中,有且只有一个协调器节点,它负责选择网络所使用的频率通道、建立网络并将其他节点加入网络、提供信息路由、安全管理和其他服务。
2)路由器(Router)
路由器节点是网络远距离延伸的必要部件。
它负责发送和接受节点自身信息;节点之间转发信息;允许子节点通过它加入网络。
3)传感器节点(Sensor)
传感器节点的主要任务就是发送和接收信息,通常一个终端节点处在数据收发状态时可进入休眠状态以降低能耗。
2.网络拓扑选择本系统的无线网络基于Z-Stack协议栈完成,由于控制点不多、分布范围较窄,故采用星形网络拓扑结构,如图3-4所示。
图3-4 星形网络拓扑
3.2.3 通信协议
协议的规划应采用分层方式实施,以便明确边界。
对于本系统而言,整个协议从下自上为分三层,如图3-5所示。
图3-5 自定义协议的层次结构
1)网络间传输数据流的特点。
表3-1 数据流特点
序号
链路
方向
数据流功能
数据流大小
数据流内容
1
上行
注册网络(1-1)
>=24B
源节点物理地址(8B)
源节点网络地址(2B)
源节点的节点类型(3B)
父节点物理地址(8B)
父节点网络地址(2B)
目标节点提取的链路质量(1B)
上传网络参数
(2-4)
>=24B
源节点物理地址(8B)
源节点网络地址(2B)
源节点的节点类型(3B)
父节点物理地址(8B)
父节点网络地址(2B)
目标节点提取的链路质量(1B)
上传执行结果
(3-5)
>=11B
源节点物理地址(8B)
源节点网络地址(2B)
执行结果(1B)
2
下行
下发获取网络参数指令(2-3)
>=13B
目标节点物理地址(8B)
目标节点网络地址(2B)
帧功能标识(3B)
下发控制指令
(3-3)
>=14B
目标节点物理地址(8B)
目标节点网络地址(2B)
帧功能标识(3B)
控制参数(≥1B)
2)协议帧格式。
表3-2 无线网通信协议基本帧格式
内容
字节数
备注
帧头
&WSN
4
帧类型
3
帧长度
24
1
物理地址
8
功能复用:
(1)注册网络和获取网络参数时:
承载源节点物理地址(8B)、网络地址(2B);
(2)下发控制指令时:
承载目标节点物理地址(8B)、网络地址(2B);
(3)上传执行结果时:
承载源节点物理地址(8B)、网络地址(2B)。
网络地址
2
数据包
5
功能复用:
(1)注册网络和获取网络参数时:
18-19字节承载父节点网络地址(2B),20-22承载节点类型(3B);
(2)下发控制指令时:
承载控制参数(≥1B),没有用完的字节填充0;
(3)上传执行结果时:
承载执行结果(1B),没有用完的字节填充0。
连接质量
1
帧尾
END
3
3)表1-3,各字段含义。
表3-3 各字段含义
帧头
用于表明一帧数据的开始。
帧类型
用于指明传输的这一帧的数据的用途。
帧长度
用于指明接下来要传输的物理地址、网络地址、数据包等三字段的长度。
物理地址
功能复用。
网络地址
功能复用。
数据包
用于指明通信中具有实质意义的数据。
连接质量
用于指明WSN中节点与节点通信的链路的通信质量。
帧尾
用于表明一帧数据的结束。
4)帧类型简表。
表3-4 帧类型简表
帧类型功能
命令
备注
下行链路
下发获取网络参数指令(2-3)
RNP
ReadNodeNetworkParameters
读取节点网络参数
下发控制指令(3-3)
CPA
ControlbyPhysicalAddress
根据物理地址下发控制指令
CNA
ControlbyNetworkAddress
根据网络地址下发控制指令
上行链路
注册网络(1-1)
JNS
JoininNetworkWhenStarted
新节点加入网络
上传网络参数(2-4)
SPS
SendParameterstoServer
上传网络参数到服务器
上传执行结果(3-5)
SRS
SendResulttoServer
上传网络参数到服务器
5)帧类型详表。
表3-5 JNS帧类型详表
功能
类型
详细解释
JNS
注册网络
(1)用途:
终端节点新加入网络后,向协调器发送节点入网信息。
(2)终端节点或路由器上传到协调器的数据
项目
字节数
内容
帧头
4B
&WSN
帧类型
3B
JNS
帧长度
1B
0x18
物理地址
8B
源节点物理地址
网络地址
2B
源节点网络地址
数据包
7B
[0-1字节]父节点网络地址
[2-4字节]节点类型(终端节点:
RFD)
连接质量
1B
协调器收到节点数据后的连接质量数据
帧尾
3B
END
(3)使用步骤
1)协调器建立网络
2)启动路由器或终端节点
3)终端节点主动上传入网信息。
字符串示例:
&WSNJNS123456780100RFD5END
表3-6 CPA帧类型详表
功能
类型
详细解释
CPA
下发控制指令
(1)用途:
根据网络地址下发控制指令。
(2)协调器下发到终端的数据
项目
字节数
内容
帧头
4B
&WSN
帧类型
3B
CPA
帧长度
1B
0x12
物理地址
8B
目标节点物理地址
网络地址
2B
目标节点网络地址
数据包
7B
[1字节]灯组号
[2-3字节]控制状态
[4-7字节]0000
连接质量
1B
协调器收到节点数据后的连接质量数据
帧尾
3B
END
(3)使用步骤及示例
1)启动协调器和终端节点
2)向终端下发控制指令
3)终端节点接收下发的指令
字符串示例:
&WSNCPA123456780100RFD5END
表3-7 RNP帧类型详表
功能
类型
详细解释
RNP
下发获取网络参数指令
(1)用途:
协调器向终端下发获取网络
(2)由协调器下发到路由器或终端的数据
项目
字节数
内容
帧头
4B
&WSN
帧类型
3B
RNP
帧长度
1B
0x12
物理地址
8B
源节点物理地址
网络地址
2B
源节点网络地址
数据包
7B
00000000
连接质量
1B
协调器收到节点数据后的连接质量数据
帧尾
3B
END
(3)使用步骤及示例
1)下发获取网络参数指令
2)启动协调器
3)协调器下发信息给终端,并判断是否接收?
字符串示例:
&WSNRNP123456780100RFD5END
第4章 PC控制软件开发与测试
PC展示层软件用于实时接收ZigBee无限传感器网络上报的各交通路灯的亮灭状态,在本展示层软件中,主要分为窗体表示层、业务逻辑层、数据访问层。
4.1 三层架构程序设计简介
1.数据访问层
在三层架构设计中,数据访问层一般用于对数据库进行各项操作,即实现对数据表的Select、Insert、Update、Delete操作。
本项目不涉及数据库的操作,因此数据访问层的功能主要是完成串口的操作,包括获取可用串口、打开串口、关闭串口、通过串口收发数据等。
2.业务逻辑层
业务逻辑层是三层架构设计中体现核心价值的部分,主要负责业务规划的制定、业务流程的实现。
3.窗体表示层
表示层位于最外层(最上层)离用户最近,用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。
三层架构设计方框图如图4-1所示:
图4-1 三层架构设计方框图
4.2 CC2430终端节点对灯组的控制I/O口的分配关系
各节点灯光控制分配端口如表4-1所示:
表4-1 各路段分配
星光大道
0803
P1.5
星光大道南侧奇数灯
0xFB
0804
P1.0
星光大道北侧偶数灯
0x6D
P1.3
星光大道北侧奇数灯
P1.6
星光大道南侧奇数灯
太阳路
0803
P1.3
太阳路偶数灯
0xED
P1.6
太阳路奇数灯
滨河路
0803
P1.4
滨河路奇数灯
0xF7
0804
P1.2
滨河路偶数灯
0xDF
月亮路
0804
P1.5
月亮路
0xFB
水星路
0803
P1.1
水星路奇数灯
0xBE
P1.7
水星路偶数灯
银河大道
0803
P1.0
银河大道南侧偶数灯
0x5F
P1.2
银河大道北侧偶数灯
0804
P1.1
银河大道南侧奇数灯
0xB7
P1.4
银河大道北侧奇数灯
4.3 数据访问层设计
4.3.1 数据访问层CommonDB类的设计
在项目解决方案资源管理器中右击SmartHomeServer项目,选择“添加→新建文件夹”,文件夹命名为Class,然后在Class下新建DataAcess文件夹,然后右击DataAcess,选择“添加→新建项”,选择“类”模板,类的文件名为CommonDB.cs,这样用于数据访问层的类添加进DataAcess文件夹中。
数据访问层的CommonDB类主要封装对SQLServerMobile数据库的访问,根据连接数据库的字符串获得连接对象、执行Select语句获得数据集DataSet以及执行除Select语句之外的其他操作。
4.3.2 数据访问层使用的函数功能
数据访问层的主要功能是串口操作,包括打开串口,关闭串口,接收串口数据等。
其中用到的函数及功能如图4-2所示:
表4-2 函数功能
函数名
详细功能
SerialPort.GetPortNames()
检测当前PC中是否有可用串口
serialPort1.IsOpen()
检测串口是否打开
serialPort1.Open()
打开串口
serialPort1.Close()
关闭串口
serialPort1.Read()
获取串口数据与数据长度
4.3.3 CommonDB类的整体结构
数据访问层的主要功能是串口操作,包括串口打开、关闭、数据触发等。
基于来实现的MicrosoftVisualStudio2010来实现,.NETFramework是支持生成和运行下一代应用程序和XMLWebservices的内部Windows组件,在本程序中主要通过软件中的控件来实现对各路段的控制。
图4-2 数据库整体结构
4.3.4 CommonDB类中方法的功能描述及代码实现
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.Data;
usingSystem.Data.SqlClient;
usingSystem.Windows.Forms;
usingSystem.Configuration;
namespaceStudentInfo.DataAccess
{
classCommonDB
{
//获取连接对象
publicSqlConnectionGetConnection()
{
stringconstr=@"DataSource=.;InitialCatalog=StudentManagement;IntegratedSecurity=True";
SqlConnectionCon=newSqlConnection(constr);
returnCon;
}
//获取Reader对象
publicboolGetDataReader(stringSql)
{
SqlConnectionCon=this.GetConnection();
SqlCommandCmd=newSqlCommand(Sql,Con);
Con.Open();
SqlDataReaderreader=Cmd.ExecuteReader();
if(reader.Read())
{
reader.Close();
Con.Close();
returntrue;
}
else
{
reader.Close();
Con.Close();
returnfalse;
}
}
//获取数据集
publicDataSetGetDataSet(stringSql,stringtablename)
{
SqlConnectionCon=this.GetConnection();
SqlCommandCmd=newSqlCommand(Sql,Con);
SqlDataAdapterSda=newSqlDataAdapter(Cmd);
DataSetDs=newDataSet();
try
{
Sda.Fill(Ds,tablename);
returnDs;
}
catch(SqlExceptionex)
{
if(Con.State!
=ConnectionState.Closed)
{
Con.Close();
}
MessageBox.Show(ex.Message);
}
returnnull;
}
//执行除Select语句之外的其他数据操作(Insert、Update、Delete)
publicintExcuteSql(stringSql)
{
intflag=0;
SqlConnectionCon=this.GetConnection();
SqlCommandCmd=newSqlCommand(Sql,Con);
try
{
Con.Open();
flag=Cmd.ExecuteNonQuery();
}
catch(SqlExceptionex)
{
MessageBox.Show(ex.Message);
}
fin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 联网 灯光 控制系统 上位 系统 设计 课件
![提示](https://static.bdocx.com/images/bang_tan.gif)