2017-10-21 15 views
0

Castaliaの通常のプラクティスとして、アプリケーションモジュールがセンサーマネージャーによって処理されるrequestsensorreading()関数を使用してセンサー読み取りを要求することがあります。センサマネージャは要求を物理プロセスに転送し、物理プロセスはその値で応答します。Castaliaの物理プロセスのタイマーを設定する方法は?

私がしたいことは、物理的なプロセスが一定の時間間隔でその値をブロードキャストすることです。センサデバイスの感度は0より大きく、値を受け取るノードはほとんどありません。どのように私はこれを達成することができますか?物理プロセス内でtimerFiredCallback関数とBROADCAST_NETWORK_ADDRESSを使用することは可能ですか?

答えて

0

あなたはCastaliaの基本モデルについて混乱しているようです。物理的プロセスは、ネットワークブロードキャストメッセージを送信するセンサノードではありません。我々のセンサーノードのセンサーがサンプリングしている物理的プロセスをモデル化するモジュールである です。また、物理プロセスにはの値がありません。です。値は、スペースと時間、および定義した特定のモデルに応じて変化します(マニュアルには、物理​​プロセスの定義方法に関する豊富な情報があります)。物理的なプロセスを定義して、すべての時点で、私はなぜあなたがシミュレーションでそのようなプロセスを使用したいと思うか分からない。

物理プロセスは「その値をブロードキャストしません」。センサノードは物理的プロセスをサンプリングし、プロセスの空間、時間、および特定のモデルに基づいて値を取得します。センサノードが異なると、異なる値が返されることがあります。必要なものを実現するには、すべてのセンサーノードで定期的に物理プロセスをサンプリングするだけです。これを行うアプリケーションの例がいくつかあります。

要約すると、物理プロセスの振る舞いを定義し、センサーノードにサンプルノードを作成させます(すでに知っているように、requestSensorReading()メソッドを使用してアプリケーションモジュールからサンプリングします)。

+0

はい私は今それを理解しています。私の疑問を解決してくれてありがとう。 –

関連する問題