感知层编程实验九

南昌航空大学实验报告

011130

 

课程名称:  感知层编程实验  实验名称:p2p通信

 

指导教师评定:                                      签名:              

实验九 P2P通信 

实验目的:

  1. 初步理解CC2530之间无线通信的实现方法
  2. 掌握AF_DataRequest()接口的使用
  3. 高学生的上机和编程过程中处理具体问题的能力

实验要求:

  1. 实验要求自己独立的完成
  2. 编写和调试过程中出现的问题记录,并事后总结到报告中
  3. 实验程序调试完成后, 用给定的平台进行测试,由老师检查测试结果,并给予相应的成绩
  4. 实验完成后,要上交实验报告

实验内容:

  1. 使用Z-Stack协议栈开发一个新的应用,利用AF_DataRequest接口实现两者之间的通信功能。
    1. 两个节点一个作为Coordinator,一个可以是Router也可以是EndDevice
    2. RouterEndDeviceCoordinator发送消息,控制Coordinator节点上LED的状态;
    3. Coordinator接到消息后,改变LED状态,并且返回LED状态到RouterEndDevice
  2. 在实验报告中给出设计的功能描述,并给出源码

实验环境:

集成开发环境为IAR

实验过程

(1)上述RouterEndDevice上的代码以SampleSwitch为基础

(2)上述CoordinatorSampleLight为基础

(3)修改Config文件中的PANID为自己的学号(班内小号)。比如第28号同学的PANID为:28,其16进制为0x001C

(4)定义一个clusterId,和一个消息包格式

(5)对上述SampleLightSampleSwitch进行修改,删除所有不需要代码,添加使用AF_DataRequest()函数所需要要的代码

(6)RouterEndDevice在按键后,发出上述自定义的消息

(7)Coordinator收到消息后,根据消息的内容是OnOffToggleLED作出状态切换,并返回其状态到RouterEndDevice.

实验代码

附录的压缩包。

实验结果

向两块开发板分别烧入代码后,接通电源让他们配对,连接进行通信,等待连接完成后,按下router端的key1可看到router端的led1由亮变灭(或由灭变亮),接着又可看到enddevice端的led1由亮变灭(或由灭变亮),同理在enddevice端按下key1可看到enddevice端的led2由亮变灭(或由灭变亮),接着又可看到router端的led2由亮变灭(或由灭变亮)。

 

实验总结

这次的实验感觉碰到的困难有许多,首先便是得去p2p的工作原理,其次便是与之相关的一些代码看不懂,理解起来很困难,当然最让我头疼的还是文件中一些函数的注释是英文的看不太懂,机翻有的不是很准确,最后解决方法是我通过阅读网上一些相似的代码进行学习,慢慢去摸索。

通过本次实验我初步理解CC2530之间无线通信的实现方法,也初步掌握AF_DataRequest()接口的使用,也让我在cc2530无线通信实验中实现入门。

 

 

 

 

附录:

 

 

posted @ 2022-03-14 23:43  安良  阅读(333)  评论(0编辑  收藏  举报