首页 理论教育 在Python中运行TOSSIM的方法

在Python中运行TOSSIM的方法

时间:2023-06-28 理论教育 版权反馈
【摘要】:进入RadioCountToLeds application的目录下编译TOSSIM。在交互模式下启动Python。第一件事情是导入TOSSIM并创建一个TOSSIM对象,键入:方括号内是可选参数,可以在仿真时对变量进行跟踪,为空时表示无需跟踪变量。TOSSIM的运行是通过使用runNextEvent来实现的,例如:当TOSSIM被告知运行下一事件时,若返回值是0,表示没有事件可以运行。当节点被关闭时事件被挂起,runNextEvent返回0。

在Python中运行TOSSIM的方法

进入RadioCountToLeds application的目录下编译TOSSIM。

在交互模式下启动Python。键入如下命令:

将看到如下内容:

根据读者安装的情况不同,版本号会有所区别。

第一件事情是导入TOSSIM并创建一个TOSSIM对象,键入:

方括号内是可选参数,可以在仿真时对变量进行跟踪,为空时表示无需跟踪变量。TOSSIM的运行是通过使用runNextEvent来实现的,例如:

当TOSSIM被告知运行下一事件时,若返回值是0,表示没有事件可以运行。没有事件的原因是没有启动任何的节点,下面这段代码将会使32号节点在45654时间(仿真定时器时间)启动并运行。

此时,runNextEvent返回值为1,但是我们并不知道节点是否如预期那样启动,我们可以通过以下方法来获知这一事件。

注意这里第一个runNextEvent返回值为0,这是因为当我们关掉节点时,队列里还有事件没有被执行。当节点被关闭时事件被挂起,runNextEvent返回0。第二次runNextEvent返回值为1是因为我们在仿真时间560000时启动了节点。

如果显示节点依然没有开启,以下代码会一直执行直到节点启动为止。

Tossim对象具有一些非常实用的功能,包括如下几项:

●currentNode():返回当前节点的ID。(www.xing528.com)

●getNode(id):returns an object representing a specific mote。

●runNextEvent():启动一个仿真事件。

●time():以长整型返回当前仿真时间。

●timeStr():以string型返回当前仿真时间。

●init():初始化TOSSIM。

●mac():return the object representing the media access layer。

●radio():return the object representing the radio model。

●addChannel(ch,output):add output as an output to channel ch。

●removeChannel(ch,output):remove output as an output to channel ch。

●ticksPerSecond():return how many simulation ticks there are in a simulated second。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈