首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

TinyOS移植技术分析及在CC2430平台的应用 04

TinyOS移植技术分析及在CC2430平台的应用 04

4 基于CC2430的无线传感器网络
        
为检验TinyOS在CCC2430上的运行效果,设计了一个简单无线传感器数据采集网络。传感器节点的检测功能较为简单,仅完成环境的亮度测量。
    4.1 无线传感器节点
        
节点的硬件框图如图5所示。节点上的亮度传感器为光敏电阻,环境亮度通过该器件以及信号调理电路转换为电压信号,该信号被传输到CC2430的A/D转换器输入端,经A/D转换变为数字信号,该数字信号即为采集的亮度数据。

   
        传感器节点的软件流程如图6所示。其大体工作过程为:接通电源后,节点自动寻找通信范围的协调器,如果找到就建立网络连接,当按钮按下时触发ADC采样,传感器节点开始采集数据并向协调器发送数据。当节点接受到关闭信号时,进入休眠状态并停止向协调器发送数据。




    4.2 无线传感器网络中协调器的设计
        
协调器负责无线传感器网络的组网、路由以及数据收集等功能。同时,协调器也是网路与PC机之间连接的一个桥梁,通过协调器可以监控节点探测到的数据并可以对传感器节点进行控制。
        协调器设备打开后,会自动接收通信范围内的节点信号,这个信号包括节点采集到的数据以及节点本身的地址。当协调器接收到信号时,对该信号进行判断,如果该信号已经存在于网络列表,则直接接收节点的数据。如果这个信号不存在于网络列表当中,则将该节点加入网络列表。然后将网络列表中的节点发送来的数据都通过串口传输至PC机。当协调器接收到PC发送的指令后,根据指令内容将指令信号发送给相应的传感器节点。由此,通过协调器可以实现PC机对传感器节点的监控和操作。软件的设计流程如图7所示。



   
        各节点发送到协调器的测量数据为一个16位的正整数值,协调器每接收到一个测量数据,即通过RS232接口电路将该数据传输至PC机,协调器的硬件框图如图8所示。
    4.3 节点与协调器之间的通信协议
        
节点使用无线射频技术(RFID)与协调器进行通信。随着技术的发展,RFID技术已经成为人们日常生活中一个重要工具。但RFID技术也存在一些技术问题需要解决,其中标签防碰撞问题(Anti—collision)是RFID技术的关键问题之一。当多个节点同时向协调器发送信号时,要防止信号的碰撞。为解决这一问题,有空分多址、频分多址、码分多址和时分多址4种方法。文中选用基于CSMA/CA协议的无线射频防碰撞算法。
        CSMA算法是传统TDMA(Time Division Multiple Access,动态时分多址)的调度分配算法ALOHA的改进。传统的ALOHA算法在标签视图发送数据是,并不考虑信道当前的忙闲状态,完全随机接入。可以看到。这种算法有很大的盲目性,当存在大量节点或信息量过大时,会使信道重叠现象加剧,数据碰撞频繁出现,传输性能严重下降。为解决这一问题,提出了在发送数据前,对信道进行侦听,这就是广泛使用的CSMA算法。CSMA算法的基本思路是:
        (1)标签产生新的数据,等待发送。
        (2)侦听信道是否空闲,若空闲则发送数据,发送完成后返回第一步;若信道正忙则产生一个随机数,进入延时操作。假定随机数的取值范围为min~max之间,初始化时,值为min,每次重传,随机数逐渐增大,当达到max值时保持不变。没成功传输之后,回复到初始值min。
        (3)延时操作结束后,返回步骤(2)。
        由于无线网络的特殊性,很难确实地侦听是否有碰撞发生,所以采用带冲突避免的载波侦听多路访问即CSMA/CA算法。标签发送数据前,先发送一段请求发送帧RTS(Request to Send)给目标端,等待目标端回应的清除发送帧CTS(Clear to Send)后,才开始传送。通过RTS与CTS的握手(handshake)避免发送数据时发生碰撞。
    4.4 实验与结果分析
        
协调器与节点上电后,即可实现自动组网。组网成功后,节点可将采样到的数据发送给协调器,协调器接收信号,一方面会触发自身的LED灯闪烁,同时通过RS232接口电路将采集到的数据通过串口发送给PC机。实验结果如图9所示。

   
        每个节点与协调器上均设置有控制按钮,用于通信的验证与控制。在节点上,每按一次按钮采集一个数据,同时将该数据发送到协调器。这些过程,通过实验得到了有效的验证。在PC机上,通过串口助手软件来观察接收的数据。其中,通信的波特率设置为9600bit·s-1,PC机屏幕上显示信息如图10所示。其中Device表示节点ID,最后的数值是经过处理的节点的探测值。这里使用两个节点均置于室内环境,其中一个用不透光的黑胶带遮盖住传感器的光敏元件。可以看到,协调器共接收到了两个节点的信号,两个信号的值均比较平稳,其中一个节点的采样值明显大于另一个,与实际情况相符。实验证明系统各项功能运行良好,网络通信稳定。

   
   
    5 结束语
        
在对TinyOS操作系统详细分析的基础上,提出了TinyOS的移植方法以及具体实现过程,并将其移植于CC2430硬件平台。其中移植的功能模块包括UART通信、定时器和RF无线射频通信等。实验结果表明,移植后的TinyOS可以健壮地运行于CC2430平台,并能可靠地实现传感器之间的无线组网。该系统可作为一个原型,经进一步性能完善或部分功能扩充即可实现实际应用。
返回列表