如何在 Castalia 中为物理过程设置计时器?
how to set timer for physical process in Castalia?
作为 Castalia 的惯例,应用程序模块使用 requestsensorreading() 函数请求传感器读取,该函数由传感器管理器处理。传感器管理器将请求转发给物理进程,物理进程用它的值回复。
我想做的是,我希望物理过程在设定的时间间隔内广播它的值。传感器设备的灵敏度 > 0,并且很少有节点会收到该值。我怎样才能做到这一点?是否可以在物理过程中使用 timerFiredCallback 函数和 BROADCAST_NETWORK_ADDRESS?
您似乎对 Castalia 的基本模型感到困惑。物理过程不是传感器节点发送网络广播消息。它是一个模型模块
我们传感器节点中的传感器正在采样的物理过程。此外,物理过程没有 one 值。值会根据 space 和时间以及您定义的特定模型而变化(手册中有大量关于如何定义物理过程的信息)。您可以定义一个仅 returns 的物理过程space 中的每个点和每个时间点都有一个值,但我不确定您为什么要在模拟中使用这样的过程。
物理过程不会 "broadcast its value"。传感器节点对物理过程进行采样,并根据 space、时间和过程的特定模型获得返回值。不同的传感器节点可能会返回不同的值。要实现您想要的,您只需让所有传感器节点定期对物理过程进行采样。有一些应用程序的例子可以做到这一点。
所以回顾一下:您定义了您的物理过程需要如何运行,然后让传感器节点对其进行采样(从应用程序模块使用您已经知道的方法 requestSensorReading()
)。
作为 Castalia 的惯例,应用程序模块使用 requestsensorreading() 函数请求传感器读取,该函数由传感器管理器处理。传感器管理器将请求转发给物理进程,物理进程用它的值回复。
我想做的是,我希望物理过程在设定的时间间隔内广播它的值。传感器设备的灵敏度 > 0,并且很少有节点会收到该值。我怎样才能做到这一点?是否可以在物理过程中使用 timerFiredCallback 函数和 BROADCAST_NETWORK_ADDRESS?
您似乎对 Castalia 的基本模型感到困惑。物理过程不是传感器节点发送网络广播消息。它是一个模型模块 我们传感器节点中的传感器正在采样的物理过程。此外,物理过程没有 one 值。值会根据 space 和时间以及您定义的特定模型而变化(手册中有大量关于如何定义物理过程的信息)。您可以定义一个仅 returns 的物理过程space 中的每个点和每个时间点都有一个值,但我不确定您为什么要在模拟中使用这样的过程。
物理过程不会 "broadcast its value"。传感器节点对物理过程进行采样,并根据 space、时间和过程的特定模型获得返回值。不同的传感器节点可能会返回不同的值。要实现您想要的,您只需让所有传感器节点定期对物理过程进行采样。有一些应用程序的例子可以做到这一点。
所以回顾一下:您定义了您的物理过程需要如何运行,然后让传感器节点对其进行采样(从应用程序模块使用您已经知道的方法 requestSensorReading()
)。