問題タブ [nesc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
858 参照

cygwin - Windows で TinyOS のプログラミングとシミュレーションを開始する

Windows 環境の TinyOS で無線センサーネットワーク用の nesC のプログラミングを開始したいと考えています。これまでのところ、Cygwin ターミナルをインストールしましたが、それらのパッケージをインストールする方法がわかりません。パッケージをインストールするためのコマンドは " rpm ***" のようなものですが、Cygwin の sun コマンドではなく、Linux ベースです。誰でも助けることができますか?

0 投票する
1 に答える
170 参照

python - NesC / GMP未定義記号

gmp ライブラリを含む TOSSIM (TinyOS シミュレータ) で使用する NesC プログラムを作成しようとしています ここに私のコードのサンプルがあります

make micaz simまたはPython スクリプトを使用してコンパイルenv "CFLAGS = -lgmp" make micaz sim を実行しようとすると、次のエラーが発生します。

0 投票する
0 に答える
616 参照

c - nesC(tinyOS)の配列に問題があります

nesC で配列を初期化するのに問題があります。

以下の行をコーディングしてプロジェクトをビルドすると、以下に示すエラーが表示されます。

エラー:

画像

以下の Timer0.fired() 関数では、関数の一部として配列が初期化されます。

誰でも私を助けることができますか?

0 投票する
3 に答える
91 参照

c - 一度に 2 つの要素を大きな配列から配列に取り込む

次のように生成された 10 個のランダム要素の配列があります。

次に、2 つの要素を持つ新しい配列を生成します。配列の値は上記の配列から取得され、2 つの要素を持つ配列に配置されます。以下のコードサンプルのように:

出力を以下に示します。

配列を実行して、次の 2 つの値を取得し、配列の最後の要素まで、パケット配列に配置します。

0 投票する
1 に答える
272 参照

nesc - NesC (C のバリアント): 関数 startTimers() の暗黙の宣言

次のコードを (モート上で) コンパイルしています。そして、私は次のエラーがあります:

174 行目: 関数 'startTimers' の暗黙の宣言

手伝っていただけませんか?

これが私のコードです。

よろしくお願いします。

トム

0 投票する
1 に答える
1266 参照

tinyos - TinyOS PC からモートへの通信

ワイヤレス センサー ネットワークに関するプロジェクト用のソフトウェアを作成しています。現在、さまざまなパケットをネットワークに注入することに関心があります。

IRIS モートに TinyOS-2.1.2 がインストールされた MIB520 インターフェイス ボードを使用しています。sdk/c/sf のさまざまなユーティリティと、net.tinyos.sf.* および net.tinyos.tools.* Java パッケージのツールを試しました。

私がこれまでに試したこと:

モートにインストールされた apps/BaseStation と apps/BaseStation15.4 を使用しており、代わりに apps/test/TestSerial でフラッシュしています。USB 経由でモートから送信されたデータの読み取りに問題はありません。net.tinyos.tools.SerialForwarder または sdk/c/f または net.tinyos.tools * のユーティリティを使用して、問題なく読み取ることができます。

しかし、PC からモートへのデータ送信に関しては、何も機能していないようです。net.tinyos.tools.Send、serialsend.c、sf.c、および sfsend.c を使用しました。 SerialForwarderはしばらくするとエラー メッセージをスローしますが、C ユーティリティは「no ack」エラーをスローします。

TinyOS wiki と SO で回答を検索した後、「ack」メッセージを送信するモートに問題がある可能性があると考えました。ここで提案されているように、正当なパケットを生成してモートに送信する方法を探していました。

wiki の記事に従って、適切な TEP を見つけ、そこにリストされているビットを使用しました (「7e 40 09 00 be ef 05 7d 5d 06 01 02 03 04 05 7e」)。

Wireshark を使用して、データをモートに送信した USB をスニッフィングしたところ、同じビットがモートに送信されたことがわかりました。私の理論は、送信した入力をモートが認識しないか、ユーティリティの使い方が間違っているというものです。とにかく、この特定のイベントは決してトリガーされません:

私の質問は、PC からモートにデータを送信するにはどうすればよいですか? おそらく、私が見落としていたすぐに使用できるユーティリティがいくつかありますか? BaseStation15.4 の手順に従っていますが、行き詰っています。

編集:

BaseStation/README.txt より 「BaseStation は、そのメッセージが無線リンクへの配信のために正常にエンキューされた場合にのみ、シリアル リンクを介して到着したメッセージを確認します。」それは、serialsend.c の「no ack」と SerialForwarder.java の「write failed」を説明します。

しかし、UartReceive.receive() イベントは、本体を (BaseStation で) クリアし、LED トグルのみを残した後でも、決してトリガーされません。