2.2 硬件选择
信号传输模块主芯片选用的是CC2530芯片的模块。CC2530 是用于2.4-GHz IEEE 802.15.4、ZigBee和RF4CE应用的一个真正的片上系统(SoC)解决方案。它能够以非常低的总的材料成本建立强大的网络节点。CC2530 结合了领先的RF 收发器的优良性能,业界标准的增强型8051 CPU,系统内可编程闪存,8-KB RAM 和许多其它强大的功能。CC2530具有不同的运行模式,使得它尤其适应超低功耗要求的系统。运行模式之间的转换时间短进一步确保了低能源消耗。数据处理模块可选用单片机STC89C52进行模块设计。液晶显示模块该次选用的是选择1602液晶显示器。串口通信模块选用rs232标准u转串模块。
2.3 软件设计
软件程序设计使用C语言,使系统的各个模块功能清晰易懂,有利于以后的修改,功能非常强大。单片机的程序设计采用C语言配套Keil软件。CC2530芯片则使用IAR Embedded Workbench软件来进行程序编写、调试、写入。
如图4所示,首先在电脑平台与单片机连接好后,向单片机传输从信号接收端接收到的RSSI值,单片机接收到RSSI值后进行数据处理,可以利用公式A),其中n为信号传播系数;d为与发送者的距离;A为距发送者1 m时的信号强度,即传输单位长度的信号强度。RSSI测距精度的高低是由n与A实际取值大小来决定的。了使A值精确,可多次测量然后求平均值。对于n值来说,可以先放置好所有的参考节点,然后尝试用不同的n_index值找到最适合这个具体环境的n值。单片机将计算得出的距离数值通过电路传给液晶显示器(该系统选用1602液晶屏),显示数值后,液晶显示器进入等待状态,手动记录距离数值后,如果还有RSSI值在处理中,则继续等待显示下一个RSSI值的完成,待所有RSSI值处理完毕后,则可以关闭单片机,结束该模块单元的处理过程。
发送接收模块程序设计如下。
如图5所示,系统开始运行后,发送端CC2530通过芯片内部的32 MHz的晶振产生信号,然后将产生的信号发送出去,信号成方波形式,在高电平是有效,从而能通过延时不断的向接收端发送信号。如图6所示,系统开始运行后,接收端开始接收发送端发送的信号,将接收的信号进行处理,根据接收到信号的强弱产生RSSI值,再将产生的RSSI值取平均得出该点的最终RSSI值,把得出的最终RSSI值存入CC2530芯片的寄存器中以供PC机读取。然后,PC机通过串口将接收端寄存器中的RSSI值逐一读取出来,在PC机上显示读出的RSSI值,大约20到30 s后,RSSI值趋于稳定。整个系统完成后,对以上软硬件进行调试运行,可依次得到所需测量的数值。
3 结语
该文对经典RSSI测距模型进行了简单的介绍,通过理论分析和设计实现,将RSSI测距定位很好的运用到实际的系统中,为锚节点定位如何结合实际系统来实现进行了简单的设计启发,当然,在设计过程中还有不足之处,需要进一步完善。随着无线传感器网络技术的普及和深入,更深更宽更广的领域将会进一步的被开发。
参考文献
[1] 朱敏,高弘博,肖震,等.WSN中一种基于虚拟锚节点的VA-RSSI定位算法[J].四川大学学报:工程科学版,2013(11):110-114.
[2] 石为人,熊志广,许磊.一种用于室内人员定位的 RSSI 定位算法[J].计算机工程与应用,2010(17):232-235.