Oscilloscope应用是一个可以在计算机上显示数据曲线的应用程序。节点周期性地启动传感器采集数据,当传感数据达到10个后将它们通过无线发送出去。另一个运行着BaseStation应用的节点通过无线接收这些数据并通过串口转发至PC机。因此要运行Oscilloscope应用,至少需要两个节点:一个基站节点,通过串口连接到PC(BaseStation应用位于“tinyos-2.x/apps/BsaeStation”目录),另一个节点运行Oscilloscope应用。
OscilloscopeAppC配件的代码如下:
OscilloscopeC模块的部分代码如下:
Oscilloscope应用与Sense应用一样,使用了DemoSensorC组件和一个周期性的定时器。当它收集了10个传感器数据,就把它们放到一个消息包里,然后通过AMSend接口发送出去。在OscilloscopeC组件中,SplitControl接口开启无线服务,通过Receive接口接收控制信号,从而同步采样速率。
1.运行Oscilloscope应用
进入tinyos-2.x/apps/Oscilloscope目录,根据具体的平台,输入“make micaz install.1”,将Oscilloscope应用下载到节点。需要说明一点的是,“install”之后的“.1”是指定节点的ID号,分配不同的节点ID号有助于在图形用户界面中分辨不同节点。所以,应当确保给所有的Oscilloscope节点分配了不同的ID号(例如,下载Oscilloscope应用到第2个节点可以输入“make micaz install.2”命令,以此类推)。Oscilloscope节点会在每次发送信息时切换LED2的显示状态,接收消息时切换LED3的状态,而在无线电连接出现问题时,就会切换LED1的状态。Oscilloscope节点能够接收到包含有控制信号的消息,从而实现不同节点的采样同步,还可以改变采样速率。(www.xing528.com)
下载BaseStation应用程序到另一个节点,并将其插到计算机的串口,每当有信息从无线网络桥接到串口时,LED2就会闪烁。
2.运行Java图形界面
在“/apps/Oscilloscope/java”目录输入“make”命令,然后启动SerialForwarder工具,确认其连接到基站节点串口;接着就可以运行GUI工具,在“/apps/Oscilloscope/java”目录输入“./run”命令,得到如图7-1所示的图形窗口。
每一个节点用不同颜色的线条表示,横轴表示接收到数据包的序号,而纵轴表示数据包里包含的传感器采样值。为了改变采样速率,可修改“sample period(ms)”栏。当修改采样周期并确认后,包含采样数率的消息将被发送到BaseStation节点,由其广播到网络中的所有节点。
Oscilloscope(或Sense)应用程序显示的都是在Read.readDone事件中获得的原始数据,从图形界面的纵轴可以大概了解到数据的波动范围。
图7-1 Oscilloscope图形界面
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。