基于ZigBee模块和C上位机研究与实现.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ZigBee模块和C上位机研究与实现

基于ZigBee模块和C上位机研究与实现   摘要:上位机作为物联设备软件层核心之一,其地位十分重要。为了方便对物联设备进行管理配置,本文基于ZigBee模块和C#语言设计了一种能够通过本地串口和网络通信两种方式对ZigBee模块主控单元进行控制和数据读取的上位机架构,具备可靠性和通用性的特点。   关键词:ZigBee模块;C#;上位机;通用性   中图分类号:TP274 文献标识码:A 文章编号:1007-9416(2017)05-0053-01   1 基本原理   (1)上位机与下位机。上位机是用于接收数据、控制数据的软件系统;下位机是直接控制设备、获取设备状况的控制器。上位机可以接收下位机的信号,也可以向下位机发出命令,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机会实时读取设备状态数据,转换成数字信号反馈给上位机。(2)ZigBee技术。作为无线通信技术领域中的ZigBee技术,其基于IEEE802.15.4协议。最大的特点是短距离、低功耗、低复杂度、低成本,非常适合嵌入距离较近的物联设备供其通信使用[1]。(3)串口通信。串口是一种硬件类型的接口,按位发送和接收字节,其参数包括:波特率、数据位、停止位和奇偶校验,对于两个进行通信的端口,这些参数必须相匹配[2]。具体的,ZigBee模块传感节点发送信号到ZigBee模块汇聚节点即主控单元,主控单元通过串口将数据传到计算机中的上位机中,上位机接收信息并处理。(4)网络通信。要实现上位机与下位机之间的远程网络通信,有两种方式:ZigBee模块主控单元搭建Wi-Fi局域网方式的短距离通信、使用服务器和ZigBee模块主控单元间的远距离通信。   2 上位机与ZigBee模块的串口通信   一般来说,ZigBee模块采用RS232串口通信,8位数据位,1位停止位,低有效位先传送。因此,将ZigBee模块主控单元与计算机串口相连,通过C#编程设计上位机获取有效的数据字段,可以方便的获取ZigBee主控单元的数据,具体如下:   2.1 串口配置   串口的属性配置包括:端口?、波特率、数据位、停止位、校验位。将串口的这些属性值分别存储进combobox中,根据实际情况进行选择。   2.2 发送数据   使用Write接口三个参数的含义为:使用的数组、从数组第n位开始发数据、发送数据的长度。核心代码如下:   if (serialPort.IsOpen){   try{   Byte[] b = new Byte[3] {1,2,3};   char[] ch = new char[3] {a,b,c};   serialPort.Write(b,0,1);//使用b[]数组,第0为开始,长度为1   serialPort.Write(ch,0,2);//使ch[]数组,第0为开始,长度为2   MessageBox.Show(发送成功);   }   catch{MessageBox.Show(发送失败);}   }   2.3 接收数据   从ZigBee模块主控单元中读取数据的核心代码如下:   void Receive(object sender,SerialDataReceivedEventArgs e)   {   if (serialPort.IsOpen){   Byte[] Receive = new Byte[serialPort.BytesToRead];   serialPort.Read(Receive, 0, Receive.Length);   serialPort.DiscardInBuffer();   textBox.Text += Encoding.ASCII.GetString(Receive);   }   }   3 上位机与ZigBee模块的网络通信   3.1 短距离传输   对上述使用串口向上位机有线传输数据的方式改进为无线局域网短距离传输,具体方式为:(1)ZigBee模块主控单元将数据通过硬件串口发送给Wi-Fi模块的串口,Wi-Fi模块中需要有完整的套接字API或TCP/IP协议栈。(2)将Wi-Fi模块与上位机连入同一个局域网保证其IP与上位机处于同一网段。(3)配置上位机与ZigBee模块主控单元进行通讯。   3.2 远距离通信   对上述只能在同一局域网向上位机传输数据的方式改进为通过以太网、不受距离约束的远距离通信方式,具体方式为:(1)单纯ZigBee模块无法将数据发往以太网,需要使用ZigBee/TCP网关。(2)ZigBee/TCP网关将数据转换为TCP或UDP报文发送给指定的远程服务器的IP和端口。(3)对远程服

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档