一个无线传感网络的协议实现

   终于放假了,这也是我在博客园第一次写博文,之前经历了自己搭服务器,绑定自己独立域名的博客;用网易轻博客等等好几种方式写博客,最后发现我的重心似乎不是在写博客上边,遂决定不再自己整了,用博客园吧,这样可以自己安安心心的写博客了。
  第一次来博客园我打算和大家分享我的一个开源项目,是一个无线传感网络的协议。这个灵感项目来源于一个课程设计和之前的Zigbee课程。有一次课程设计老师让用单片机做一个温湿度采集的系统,因为我每一次做课设的态度就是一定要有彩头,代码量一定要不能太少,一定要将课设当作产品来做。所以这一次自然应该和前几次都一样,然后我就想到了设计一个无线传感网络协议,再加上原来Zigbee课程上我深感Zigbee协议不能被很多想要用蓝牙或者选择其它通信链路的同学们使用,因此很多同学(我周边)基本没有实现过任何关于组网的小项目,这样我便觉得了要写一个与信道无关的采用串行通信的协议,同学们只需要是串行通信就可以,可以蓝牙,2.4G或者有线的方式通信。


  首先贴上Github

  
  我给它取名 YuLinProtocol 。
    现在这个课设是完成了,但是项目才刚刚开始,我希望和欢迎有这方面兴趣的同学能够参加其中。
[email protected]这是我的邮箱,需要与我联系的朋友可以发我邮箱。

  
   YuLinProtocol是一个自组织适用于树状传感器网络的协议,它的每个节点都是平等的,每一个节点既可以采集环境数据又需要扮演路由器的角色,它会将自己子节点的数据转发至上级节点,
又需要将自身产生的数据打包发送至上级节点。

  这是其目前的节点体系结构
  

一个无线传感网络的协议实现_第1张图片

 
 
  YuLinProtocol协议目前的实现是基于51单片机的,由51单片机模拟串口实现多路通信。日后我会在其它芯片的移植上也下一番功夫。

  

一个无线传感网络的协议实现_第2张图片

  

  它的数据包一共有四种,分别是握手包hand_cmd 握手确认包 hand_ack 数据请求包 hand_request 和数据响应包data_respond,它的连接总要由父节点发起,父节点会每隔一定时间
搜索子节点,将新加入的节点添加进记录,也会将已经退出的节点从记录中清除。
  

一个无线传感网络的协议实现_第3张图片

  

 

 
 



 


 

你可能感兴趣的:(一个无线传感网络的协议实现)