由於Castalia通常的做法是應用程序模塊使用requestsensorreading()函數請求傳感器讀取,該函數由傳感器管理器處理。傳感器管理員將請求轉發給物理過程,物理過程回覆其值。如何在Castalia中設置物理過程的計時器?
我想要做的是,我希望物理過程以設定的時間間隔廣播它的值。傳感器設備將具有> 0的靈敏度,並且很少節點將接收該值。我怎樣才能做到這一點?是否有可能在物理過程中使用timerFiredCallback函數和BROADCAST_NETWORK_ADDRESS?
由於Castalia通常的做法是應用程序模塊使用requestsensorreading()函數請求傳感器讀取,該函數由傳感器管理器處理。傳感器管理員將請求轉發給物理過程,物理過程回覆其值。如何在Castalia中設置物理過程的計時器?
我想要做的是,我希望物理過程以設定的時間間隔廣播它的值。傳感器設備將具有> 0的靈敏度,並且很少節點將接收該值。我怎樣才能做到這一點?是否有可能在物理過程中使用timerFiredCallback函數和BROADCAST_NETWORK_ADDRESS?
您似乎對Castalia的基本模型感到困惑。物理過程不是傳送網絡廣播消息的傳感器節點。它是模型 我們的傳感器節點中的傳感器進行採樣的物理過程的模塊。此外,一個物理過程沒有一個值。值取決於空間和時間,並取決於您定義的特定模型(手冊中有關於如何定義物理過程的大量信息)。您可以定義一個物理過程,只爲空間中的每個點返回一個值每一個時間點,但我不知道爲什麼你想在模擬中使用這樣一個過程。
物理過程不會「廣播其價值」。傳感器節點對物理過程進行抽樣,並基於空間,時間以及他們獲取值的過程的特定模型。不同的傳感器節點可能會返回不同的值。爲了達到您想要的效果,您只需使所有傳感器節點定期對物理過程進行採樣。有一些應用程序可以做到這一點。所以要回顧一下:你可以定義你的物理過程需要如何表現,然後你讓傳感器節點對它進行採樣(從應用程序模塊使用方法requestSensorReading()
,正如你所知道的那樣)。
是的,我現在明白了。謝謝你清除我的疑惑。 –