《基于物联网的灯光控制系统——上位机系统设计(共34页).doc》由会员分享,可在线阅读,更多相关《基于物联网的灯光控制系统——上位机系统设计(共34页).doc(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上毕业设计说明书设计题目: 基于物联网的灯光控制系统 上位机系统设计 专 业: 物联网应用技术 班 级: 物联网XX 学 号: 姓 名: 指导教师: 二O一五年十一月二十日设计内容:课题简介:以道惟尔公司CC2430无线传感器节点和光照传感器模块为载体, VS2010开发环境,设计一个灯光控制系统,实现对道路灯光亮灭进行控制,并实时显示状态在上位机监控软件上。并下发灯光控制指令。主要任务:(1)应用层展示软件开发;(2)撰写设计报告。主要技术要求如下:(1)采用模块化设计思想规划各子程序功能; (3)CC2430协调器与PC串口通讯的基本数据帧格式为:帧头、功能码、数据
2、长度、数据、帧尾;(4)传输层应实现透明传输。进度安排:1.任务分解,收集有关资料并消化吸收-2周;2.制定设计方案-1周;3.软件设计-6周;4.撰写设计报告-2周;5.准备毕业答辩。主要参考文献、资料(写清楚参考文献名称、作者、出版单位):1黄嘉辉.科学出版社,20042陈林是.无线传感器网络技术与应用.电子工业出版社,20093高守玮.吴灿阳.ZigBee技术实践教程.北京航空航天大学出版社,20094程远东.曾宝国.电子产品设计与制造技术.科学出版设,20115戴佳.戴卫.51单片机C语言应用程序设计实例精讲.电子工业出版社,2006审批意见教研室负责人:年月日专心-专注-专业目录摘要
3、目前现有的城市路灯控制系统大多采用有线连接的方式,系统成本高、功耗大、施工复杂,而且存在能源浪费、后期维护困难等问题。针对以上缺点以道惟尔公司CC2430无线传感器节点和光照传感器模块为载体,基于IAR和VS2010开发环境,设计一个模拟道路灯光控制系统,实现对道路灯光亮灭进行控制,并接受上位机监控命令。该系统采用了无线传感器网络和ZigBee技术,无线传感器网络是一种集无线通信、数据采集和信息处理功能于一体的新兴网络。ZigBee技术是无线传感器网络中最具代表性的一种新兴技术,具有低成本、低功耗等特点。将ZigBee技术应用于城市路灯控制系统,将有利于实现路灯控制系统的智能化和节能化。关键词
4、CC2430;无线传感器网络;灯光控制;ZigBee概述在道路灯光控制中,为了实时地控制不同道路灯光的亮灭,需要一个分布式多点道路灯光控制系统。传统的多点分布式道路灯光控制系统多采用有线传输方式,然而随着分布式节点的不断增加,系统的布线复杂度和成本也就极具增加,这给系统的设计、维护和升级带了许多不便。如何解决有线网络带来的诸多不便已成为当下研究的热点。无线传感器网络(WSN)具有自组织、可快速部署、屏蔽性强、无人值守等优点。随着射频技术、集成电路技术的发展,无线通信功能的实现越来越容易,数据传输速率也越来越快,并且逐渐达到可以与有线网络相媲美的水平。本设计旨在设计一种基于物联网的模拟道路灯光控
5、制系统,用以实现对多个分散节点的灯光亮灭控制。采用模块化设计,无论是硬件还是软件,各个分层间结构清楚。在技术架构上,将感知、传输、应用分离,采用感知控制层、传输通信层、应用服务层三层架构设计。第章总体设计1.1设计目标1经调研分析,制定系统总体逻辑架构和技术架构。2合理选择交通灯组,并开发基于CC2430平台的驱动程序。3基于CC2430和TI Z-STACK协议栈,开发WSN应用程序,组建具有分布式自组网能力的WSN灯光控制无线传感器网络。4完成PC展示层应用软件开发。5最终搭建一套具有较好实时性的灯光控制系统。1.2设计原则本系统在设计过程中综合考虑了以下基本原则:1在达到预期功能的基础上
6、,确保系统的性能指标,如灯光控制实时性指标、网络自愈性指标等。2模块化设计,无论是硬件还是软件,各个分层间结构清楚,采用规范的通讯协议,便于系统升级和网络扩容。1.3技术架构在技术架构上,将感知、传输、应用分离,采用感知控制层、传输通信层、应用服务层三层架构设计。PC展示层应用软件基.Net Framework框架,在VS2010平台实现。第2章系统组成与工作过程2.1系统组成本系统以模拟智能交通为载体,它由感知层子系统、传输层子系统、应用层子系统三个部分组成,如图2-1所示。图2-1灯光控制系统组成图1-1中,感知层子系统由开关量控制节点和模拟量控制节点等两类节点组成。其中,灯光控制节点、电
7、源控制节点三类是开关量控制节点。传输层子系统是基于 CC2430 的 ZigBee 无线传输网。所有感知层节点的控制指令均由应用层子系统通过通过串口下发给 CC2430 协调器,再由后者通过 ZigBee 无线网络下发给CC2430 终端节点。2.2本系统涉及的主要功能(1) 远程星光大道灯光控制功能(2) 远程太阳路灯光控远制功能(3) 远程滨河路灯光控制功能(4) 远程月亮路灯光控制功能(5) 远程水星路灯光控制功能本系统(基于物联网的灯光控制系统)是一个模拟城市道路灯光控制的系统,模拟该系统的沙盘有6条道路,如图2-2所示,每条道路上的路灯由若干组灯组组成,每组灯组通过控制单元与CC24
8、30节点板相应端口连接。以此类推,通过端口分配来实现对整条道路或者道路某一部分灯组的控制。图2-2道路分布图2.2.1功能描述智能灯光控制:用户可以根据需要控制沙盘里的任意灯光。WSN软件开发智能灯光控制系统:系统能根据用户需要控制实时传回数据信息。 1)软启功能:灯光的渐亮渐暗功能,能让眼睛免受灯光骤亮骤暗的刺激,同时还可以延长灯具的使用寿命。 2)按各路段控制灯光:控制某一路段上灯光的亮灭状态,达到节能和便于管理的功效,使灯光更富人情味、成本低且便于管理。3)开关联合:轻松实现某节点或某区域所有灯光的一键的全关和全闭功能,触摸集中控制,使用更加方便。2.3系统的运行过程2.3.1注册网络系
9、统启动后,CC2430协调器首先建立无线网络,路由器和终端节点在发现网络后,会主动加入网络,并上传网络参数(物理地址、网络地址、节点类型等)。注册网络的流程如图2-3所示。图2-3灯光控制电路的工作流程2.3.2下行链路(由PC到终端):在PC机上通过上位机向串口发送数据,协调器收到串口数据,再通过串口协议解析数据,然后通过定制的无线协议将解析到的数据进行再次封装,发送给终端节点;终端节点接收到数据之后,经解析控制IO口的电平高低输出;底层控制电路接收到高低电平,执行对应操作。2.3.3控制台请求启动/停止当整个系统需要启动时,WindowsCE控制台上传启动信息,PC下发启动系统指令。启动系
10、统的流程如图2-4所示。 图2-4启动系统流程第3章系统通讯协议规划3.1系统运行流程道路灯光控制系统的运行主要包括注册网络、获取网络参数、下发控制指令等三方面的操作。在道路灯光控制系统中服务器与CC2430协调器之间是通过串口进行通信,两者之间是需要使用统一的波特率、并按指定帧格式收发数据。CC2430协调器与CC2430终端节点之间是通过ZigBee无线网络通信的,需要物理地址和网络地址。CC2430终端节点是通过普通I/O口将控制命令转化为控制模块(执行机构)的驱动信号的。3.1.1注册网络系统启动后,CC2430协调器首先建立无线网络,路由器和终端节点在发现网络后,会主动加入网络,并上
11、传网络参数(物理地址、网络地址、节点类型等)。注册网络的流程如图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.2WSN网络结构1.WSN类型节点1)协调器(Coordinator)在无线传感网络中,
12、有且只有一个协调器节点,它负责选择网络所使用的频率通道、建立网络并将其他节点加入网络、提供信息路由、安全管理和其他服务。2)路由器(Router)路由器节点是网络远距离延伸的必要部件。它负责发送和接受节点自身信息;节点之间转发信息;允许子节点通过它加入网络。3)传感器节点(Sensor)传感器节点的主要任务就是发送和接收信息,通常一个终端节点处在数据收发状态时可进入休眠状态以降低能耗。2. 网络拓扑选择本系统的无线网络基于Z-Stack协议栈完成,由于控制点不多、分布范围较窄,故采用星形网络拓扑结构,如图3-4所示。图3-4星形网络拓扑3.2.3通信协议协议的规划应采用分层方式实施,以便明确边
13、界。对于本系统而言,整个协议从下自上为分三层,如图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)执
14、行结果(1B)2下行下发获取网络参数指令(2-3)=13B目标节点物理地址(8B)目标节点网络地址(2B)帧功能标识(3B)下发控制指令(3-3)=14B目标节点物理地址(8B)目标节点网络地址(2B)帧功能标识(3B)控制参数(1B)2)协议帧格式。表3-2无线网通信协议基本帧格式内容字节数备注帧头&WSN4帧类型3帧长度241物理地址8功能复用:(1)注册网络和获取网络参数时:承载源节点物理地址(8B)、网络地址(2B);(2)下发控制指令时:承载目标节点物理地址(8B)、网络地址(2B);(3)上传执行结果时:承载源节点物理地址(8B)、网络地址(2B)。网络地址2数据包5功能复用:(1
15、)注册网络和获取网络参数时:18-19字节承载父节点网络地址(2B),20-22承载节点类型(3B);(2)下发控制指令时:承载控制参数(1B),没有用完的字节填充0;(3)上传执行结果时:承载执行结果(1B),没有用完的字节填充0。连接质量1帧尾END33)表1-3,各字段含义。表3-3各字段含义帧头用于表明一帧数据的开始。帧类型用于指明传输的这一帧的数据的用途。帧长度用于指明接下来要传输的物理地址、网络地址、数据包等三字段的长度。物理地址功能复用。网络地址功能复用。数据包用于指明通信中具有实质意义的数据。连接质量用于指明 WSN 中节点与节点通信的链路的通信质量。帧尾用于表明一帧数据的结束
16、。4)帧类型简表。表3-4帧类型简表帧类型功能命令备注下行链路下发获取网络参数指令(2-3)RNPRead Node Network Parameters读取节点网络参数下发控制指令(3-3)CPAControl by Physical Address 根据物理地址下发控制指令CNAControl by Network Address 根据网络地址下发控制指令上行链路注册网络(1-1)JNSJoin in Network When Started 新节点加入网络上传网络参数(2-4)SPSSend Parameters to Server 上传网络参数到服务器上传执行结果(3-5)SRSSen
17、d Result to Server 上传网络参数到服务器5)帧类型详表。表3-5JNS帧类型详表功能类型详细解释JNS注册网络(1)用途:终端节点新加入网络后,向协调器发送节点入网信息。(2)终端节点或路由器上传到协调器的数据项目字节数内容帧头4B&WSN帧类型3BJNS帧长度1B0x18物理地址8B源节点物理地址网络地址2B源节点网络地址数据包7B0-1字节父节点网络地址2-4字节节点类型(终端节点:RFD)连接质量1B协调器收到节点数据后的连接质量数据帧尾3BEND(3)使用步骤1)协调器建立网络2)启动路由器或终端节点3)终端节点主动上传入网信息。字符串示例:&WSNJNS0RFD5E
18、ND表3-6CPA帧类型详表功能类型详细解释CPA下发控制指令(1)用途:根据网络地址下发控制指令。(2)协调器下发到终端的数据项目字节数内容帧头4B&WSN帧类型3BCPA帧长度1B0x12物理地址8B目标节点物理地址网络地址2B目标节点网络地址数据包7B1字节灯组号2-3字节控制状态4-7字节0000连接质量1B协调器收到节点数据后的连接质量数据帧尾3BEND(3)使用步骤及示例1)启动协调器和终端节点2)向终端下发控制指令3)终端节点接收下发的指令字符串示例:&WSNCPA0RFD5END表3-7RNP帧类型详表功能类型详细解释RNP下发获取网络参数指令(1)用途:协调器向终端下发获取网
19、络(2)由协调器下发到路由器或终端的数据项目字节数内容帧头4B&WSN帧类型3BRNP帧长度1B0x12物理地址8B源节点物理地址网络地址2B源节点网络地址数据包7B连接质量1B协调器收到节点数据后的连接质量数据帧尾3BEND(3)使用步骤及示例1)下发获取网络参数指令2)启动协调器3)协调器下发信息给终端,并判断是否接收?字符串示例:&WSNRNP0RFD5END第4章PC控制软件开发与测试PC展示层软件用于实时接收ZigBee无限传感器网络上报的各交通路灯的亮灭状态,在本展示层软件中,主要分为窗体表示层、业务逻辑层、数据访问层。4.1三层架构程序设计简介1.数据访问层在三层架构设计中,数据
20、访问层一般用于对数据库进行各项操作,即实现对数据表的Select、Insert、Update、Delete操作。本项目不涉及数据库的操作,因此数据访问层的功能主要是完成串口的操作,包括获取可用串口、打开串口、关闭串口、通过串口收发数据等。2. 业务逻辑层业务逻辑层是三层架构设计中体现核心价值的部分,主要负责业务规划的制定、业务流程的实现。3.窗体表示层 表示层位于最外层(最上层)离用户最近,用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。三层架构设计方框图如图4-1所示:图4-1三层架构设计方框图4.2CC2430终端节点对灯组的控制I/O口的分配关系各节点灯光控制分配端口如
21、表4-1所示:表4-1各路段分配 星光大道0803P1.5星光大道南侧奇数灯0xFB0804P1.0星光大道北侧偶数灯0x6DP1.3星光大道北侧奇数灯P1.6星光大道南侧奇数灯太阳路0803P1.3太阳路偶数灯0xEDP1.6太阳路奇数灯滨河路0803P1.4滨河路奇数灯0xF70804P1.2滨河路偶数灯0xDF月亮路0804P1.5月亮路0xFB水星路0803P1.1水星路奇数灯0xBEP1.7水星路偶数灯银河大道0803P1.0银河大道南侧偶数灯0x5FP1.2银河大道北侧偶数灯0804P1.1银河大道南侧奇数灯0xB7P1.4银河大道北侧奇数灯4.3数据访问层设计4.3.1数据访问层
22、CommonDB类的设计 在项目解决方案资源管理器中右击 SmartHomeServer项目,选择“添加新建文件夹” , 文件夹命名为 Class, 然后在 Class下新建 DataAcess文件夹, 然后右击 DataAcess, 选择 “添 加新建项” ,选择“类”模板,类的文件名为 CommonDB.cs,这样用于数据访问层的类添加 进 DataAcess文件夹中。 数据访问层的 CommonDB类主要封装对 SQL Server Mobile 数据库的访问,根据连接数据 库的字符串获得连接对象、执行 Select 语句获得数据集 DataSet 以及执行除 Select语句之外的其他
23、操作。4.3.2数据访问层使用的函数功能数据访问层的主要功能是串口操作,包括打开串口,关闭串口,接收串口数据等。其中用到的函数及功能如图4-2所示:表4-2函数功能 函数名详细功能SerialPort.GetPortNames()检测当前PC中是否有可用串口serialPort1.IsOpen()检测串口是否打开serialPort1.Open()打开串口serialPort1.Close()关闭串口serialPort1.Read()获取串口数据与数据长度4.3.3CommonDB 类的整体结构数据访问层的主要功能是串口操作,包括串口打开、关闭、数据触发等。基于来实现的Microsoft V
24、isual Studio 2010来实现,.NET Framework是支持生成和运行下一代应用程序和 XML Web services 的内部 Windows 组件,在本程序中主要通过软件中的控件来实现对各路段的控制。图4-2数据库整体结构4.3.4CommonDB 类中方法的功能描述及代码实现using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.SqlClient;using System.Windows.Forms;using System.C
25、onfiguration;namespace StudentInfo.DataAccess class CommonDB /获取连接对象 public SqlConnection GetConnection() string constr = Data Source=.;Initial Catalog=StudentManagement;Integrated Security=True; SqlConnection Con = new SqlConnection(constr); return Con; /获取Reader对象 public bool GetDataReader(string
26、Sql) SqlConnection Con = this.GetConnection(); SqlCommand Cmd = new SqlCommand(Sql, Con); Con.Open(); SqlDataReader reader = Cmd.ExecuteReader(); if (reader.Read() reader.Close(); Con.Close(); return true; else reader.Close(); Con.Close(); return false; /获取数据集 public DataSet GetDataSet(string Sql, s
27、tring tablename) SqlConnection Con = this.GetConnection(); SqlCommand Cmd = new SqlCommand(Sql, Con); SqlDataAdapter Sda = new SqlDataAdapter(Cmd); DataSet Ds = new DataSet(); try Sda.Fill(Ds, tablename); return Ds; catch (SqlException ex) if (Con.State != ConnectionState.Closed) Con.Close(); Messag
28、eBox.Show(ex.Message); return null; /执行除Select语句之外的其他数据操作(Insert、Update、Delete) public int ExcuteSql(string Sql) int flag = 0; SqlConnection Con = this.GetConnection(); SqlCommand Cmd = new SqlCommand(Sql, Con); try Con.Open(); flag = Cmd.ExecuteNonQuery(); catch (SqlException ex) MessageBox.Show(ex
29、.Message); finally Con.Close(); return flag; 4.4业务逻辑层设计逻辑控制层主要是接受来自窗体表示层用户的操作请求,处理数据的上报,并回传数据在窗体表示层显示。4.4.1WSN协调器连接1.程序的工作流程是首先弹出Form1.cs窗体,在WSN协调器连接中的串口操作。图4-3打开串口的流程图2波特率和串口的获取 string portname = this.cbBWSNPortName.Text;int baudrate = int.Parse(this.cbBWSNPortBaudRate.Text); 3.连接协调器 1)获取串口号及波特率 2)
30、实例化串口操作类的对象 3)处理执行结果 4)为WSN协调器串口添加串口接收数据事件的处理方法4.4.2触发串口事件处理的主要代码如下 Private void RFIDPort_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) /(1)休眠250ms Thread.Sleep(250); /(2)从串口中获取数据 int len = RFIDPort.BytesToRead; byte rfiddata = new bytelen; RFIDPort.Read(rfiddata, 0, len
31、); /(3)将所获取的数据展示在窗体中 Form1.CheckForIllegalCrossThreadCalls = false; this.tBPortData.Text += ( RFID读卡信息:); foreach (byte ch in rfiddata) this.tBPortData.Text += ch.ToString(X2) + ; this.tBPortData.Text += (rn); this.tBPortData.SelectionStart = this.tBPortData.TextLength; this.tBPortData.ScrollToCaret
32、(); /(5)判断是否为“功能演示”状态 if (this.tabControl1.SelectedIndex = 1) /提取卡号 for (int i = 3; i 7; i+) cardsn += rfiddatai.ToString(X2); 4.5窗体表示层设计4.5.1窗体文件的添加1.首先创建一个Windows窗体应用程序WsnRfidLamo,该项目所包括的文件如下图所示,包含Form1.cs窗体。程序运行时,首先显示Form1.cs窗体,窗体下有系统测试和功能测试两大部分。图4-4项目文件2.在Form1.cs窗体下添加相应控件,控件的名称及属性如表所示。表4-3Form1
33、.cs窗体所属控件名称及属性控件类型属性属性值控件类型属性属性值ButtonNamebtnOpenWSNPortLabelNamelabel1Text连接协调器Text波 特 率ButtonNamebtnCloseWSNPortLabelNamelabel2Text关闭协调器Text串口名称ButtonNamebtnOpenXgddTextBoxNametBPortDataText星光大道开灯TextButtonNamebtnCloseXgddGroupBoxNamegBPortDataText星光大道关灯TextWSN串口数据4.5.2窗体层的展示图4-5PC服务端系统设置界面图图4-6PC
34、服务端功能演示界面图第5章 系统设置5.1启动调试在主窗体基于物联网的灯光控制系统下有有两大界面分别是系统设置和功能演示,启动调试首先要进入系统设置界面下的WSN协调器连接,连接串口COM1和将波特率设置为9600并在控件btnOpenWSNPort下连接协调器,然后进入功能演示界面点击btnOpenXgdd按键执行星光大道开灯的命令,点击btnCloseXgdd按键执行星光大道关灯的命令,依次执行各路段灯光控制的命令。5.2功能测试在道路灯光控制中,为了实时地控制不同道路灯光的亮灭,用以实现对多个分散节点的灯光亮灭控制。在系统测试时,配置了一个协调器节点和四个终端节点,将协调器节点通过串口与
35、上位机连接,从而实现灯光的控制。图5-1智慧城市沙盘图5-2点亮所有路灯演示图总结这次毕业设计是基于物联网的灯光控制系统,通过上位机系统设计,以道惟尔公司CC2430无线传感器节点和光照传感器模块为载体, VS2010开发环境,设计一个灯光控制系统,实现对道路灯光亮灭进行控制,并实时显示状态在上位机监控软件上,并下发灯光控制指令。这次Zigbee毕业设计让我充分了解了WSN灯光控制子系统的实现过程及其相关系统的协议规划,对Zigbee无线通信技术,以及单片机CC2430开发板的硬件结构和功能也有了更进一步的了解和认识。在刚开始编程的时候,我感到很茫然,不知道怎么样下手,但是通过小组的积极讨论、
36、仔细分析以及在刘老师的细心指导下,在认真分析了原来已有的代码,和应有的硬件后,经过多次调试和测试终于成功了。并且通过自己动手编写程序来控制各组交通路灯的熄灭状态,我感到非常有成就感,也锻炼了我的编程能力。凡事都不可能一帆风顺,在这次实训过程中我们遇到了很多的问题,通过查阅资料、小组成员讨论、请教老师等途径,这些问题都得到了及时有效的解决。为完成这次课程设计我们确实很辛苦,但苦中仍有乐,和同学们相互帮助,当看到沙盘中各路灯光的亮灭状态被我们控制自如时,那便是对我这段日子以来最好的告慰。致谢在这里,我首先向我的指导老师刘老师致以深深的谢意,这次我的毕业设计是智慧城市灯光控制系统,进行系统结构组成分
37、析和控制端口的设计从而实现控制沙盘上各路段的灯光,在Visual Studio 2010下用C#程序语言进行控制智慧城市沙盘系统的软件开发,首先进行控制软件的窗体表示层界面的设计,完成相应控制按键的绘制,然后根据划分好的端口对相应的按键进行的程序的编写,以实现对应按键功能的目的。这一步是本次实训知识综合应用的一个体现,只有在理解沙盘系统电路原理和系统结构的基础上才能很好地进行控制软件的编写。在设计过程中,收获同样巨大。在整个设计过程中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响,而且大大提高了动手的能力。使我充分体会到了在创造过程中的探索的艰难和成功的喜悦。经过几周的辛苦设计,现在终于可以画上一个圆满句号了。回想起来做毕业设计的整个过程,其中有苦也有甜。我相信毕业设计的难度不仅是检验大学所学的深度,也是对自己能力的一种提高。参考文献1黄嘉辉.科学出版社,20042陈林是.无线传感器网络技术与应用.电子工业出版社,20093高守玮.吴灿阳.ZigBee技术实践教程.北京航空航天大学出版社,20094程远东.曾宝国.电子产品设计与制造技术.科学出版设,20115戴佳.戴卫.51单片机C语言应用程序设计实例精讲.电子工业出版,2006
限制150内