問題タブ [communication-protocol]

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 投票する
1 に答える
3724 参照

json - JSON API にリクエストを送信し、SMTP サーバーを使用するためのシーケンス図?

HTTP 要求を JSON API に送信し、そこから応答を取得する Web アプリケーションを開発しました。また、SMTP サーバーを介して電子メールをユーザーに送信しています。シーケンス図でこれらのシナリオをモデル化する方法に行き詰まっています。

編集:

ログインのシーケンスは次のとおりです。

1-ユーザーがログインとパスワードをビューに入力します

2-ビューは入力されたデータをコントローラーに送信します

3-コントローラーは WebService クラスにある関数を呼び出します

4- 関数はログイン要求モデルのインスタンスを作成します (ログイン要求モデルは、送信される JSON データと同じ形式のクラスです)

5- 関数は、作成されたインスタンスを JSON にシリアル化し、HTTP 経由でリモート Web サービスに送信します。

6-関数は応答ストリームを読み取り、それを応答クラスの新しいインスタンスに逆シリアル化します

7-その後、作成されたインスタンスがコントローラーに送り返されます

8-コントローラーは、受信したインスタンスでテストを実行して、ユーザーが正しい資格情報を提供したかどうかを確認します

9-テスト結果に基づいて、コントローラーはユーザーをランディング ページにリダイレクトするか (正しい資格情報を入力した場合)、インデックス ページに資格情報が間違っていることを示すメッセージを送信します。

この場合、シーケンス図のアクターは何になり、何を入れるべきで、何を記述せずに残すべきでしょうか?

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

microcontroller - GotoSleep コマンド中の LIN プロトコル トランシーバーの動作

パーキング ブレーキ機能に LIN プロトコルを使用しています。ボーレート:10.4Kbps

1) $3C フレームで go to sleep コマンドを送信しています。50 ミリ秒後に NSLP に 0v を送信して LIN トランシーバーをスリープ モードにしますが、INHIBIT ピンが $3C フレームのトリガーから Low になるまでに 9 秒かかります。私の理解では、NSLP がゼロになると、すぐに INH が低くなるはずです。

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

monitoring - 独自通信プロトコルのツールチェーン

私(むしろ会社)は、CANハードウェア(CANトランシーバー)を使用するプロトコルの実装を持っています。プロトコル自体は、標準の CAN プロトコル スタックではありません。バス内のデータのデバッグや調査に市販の CAN バス モニターを使用することはできますか? 送信されるバイト数と、さらに重要なことに、サイクル時間、周波数、遅延、ジッター (存在する場合) などのその他の情報を確認するつもりです。もちろん、より多くの情報が必要であり、上記のパラメーターの一部が欠落している場合でも、それは受け入れられます。このプロジェクトの主な目的は、CAN ハードウェア (トランシーバー) を使用しながら、標準の CAN スタックよりも独自の実装 (パフォーマンス、帯域幅、速度など) が優れていることを示すことです。

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

communication-protocol - デバイスに DeviceNet と通信するように教えるにはどうすればよいですか?

私の上司は、一部の製品に DeviceNet を実装することを計画しています。Google と odva.org を調べましたが、何をどのように行うべきかを示す特定の技術的な詳細が見つからないようです。

これは、インターネットでランダムな記事を読んだ後の私の素人の理解です。ここの誰かが私のためにそれらを明確にしてくれれば幸いです。

  1. DeviceNet、または一般的な CIP は、会社名「ODVA」の「オープン」ステレオタイプにもかかわらず、実際にはクローズドプロトコルです。仕様料をお支払いいただきます。これは正しいです?
  2. DeviceNet に関する「チュートリアル」はたくさんありますが、公式の DeviceNet 仕様がなければ実際的なことは何もできませんよね?
  3. ベンダー ID は必須ですか? 私が DeviceNet と話す方法を知っている場合、ターゲットは有効なベンダー ID がないと私と話すことを拒否しますか?
  4. 私はCANバスを知っています。DeviceNet プロトコルを理解したら、それは純粋にコーディング作業になりますよね?
  5. 私の会社は UPS 監視ハードウェアを販売しています。私たちは何百万台も販売していませんが、おそらく年間数十万台のデバイスを販売しています. DeviceNet はそれだけの価値がありますか?
  6. 最終製品に DeviceNet を実装するには、何人のソフトウェア開発者が必要ですか?

ありがとうございました。

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

zigbee - IEEE 802.15.4 スーパーフレーム構造 スロット アライメントの理由

IEEE 802.15.4 プロトコルのスーパーフレーム構造を考慮する (画像提供元: Google)

IEEE 802.15.4 スーパーフレーム構造

この構造では、 Contention Access Period(CAP)の後には常にContention Free Period(CFP)が続きます。

では、最初にCAPを保持し、次にCFPを保持する特定の理由はありますか? それは逆かもしれませんか?

ありがとうございました。

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

real-time - 通信ミドルウェアはソフト リアルタイム アプリケーションをどのようにサポートできますか?

現在、「リアルタイム」という概念にはさまざまな解釈があります。この質問では、 2 つの定義が提供されます。

ハード リアルタイムの定義では、締め切りに間に合わなかった場合はシステム障害と見なされます。このスケジューリングは、タイミングの制約に従わなかった場合に人命や財産が失われるミッション クリティカルなシステムで広く使用されています。

ソフト リアルタイム定義により、締め切りに間に合わないことが頻繁にあり、タスクがタイムリーに実行されている限り、その結果には引き続き価値があります。完了したタスクは、締め切りまでは値が増加し、期限を過ぎると値が減少する場合があります。

私の研究では、次の結論に達しました。

  • ミドルウェアは、システム リソースに対して予測可能で効率的なエンド ツー エンドの制御を提供する場合、ハード リアルタイムをサポートします。ミドルウェアによって作成されたすべてのスレッドのスレッド優先度を設定するのと同じです。
  • 優れたパフォーマンスは、ソフト リアルタイム アプリケーションをサポートするための最も重要な要素のように思えます。

これは本当ですか?ソフト リアルタイム アプリケーションをサポートする通信ミドルウェアのその他の関連機能はありますか?

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

c++ - Communication table implementation

I have been working on embedded software. One of the requirements is also communication over CAN via proprietary protocol. The core of the communication protocol is a communication table which contains all the communicated variables. Each variable has additional informations e.g. identification number, name, scaling coeficient and so on.

This communication table is divided into so called blocks and each block consists of several so called records. One record contains information about one variable.

Neither the blocks nor the records in one block doesn't constitute continuous sequence of numbers. There are "gaps" between the block numbers and record numbers. So the table may looks like for example in this manner:

block 13: record 01, record 04, record 08; block 15: record 02, record 03; block 18: record 06

I have been thinking about sutaible data structure for implentation of such a table. My first idea was a one dimensional array containig structures with description of each data block. It means block number, number of records in this block and pointer to first record in block. Each block will be implemented as one dimensional array containing individual records as structures containing value, name, scaling coeficient and so on.

The software is written in C++ so I have been also thinking about two dimensional array of objects (each record will be implemented as an instance of Record class).

I need searching in this table very often so I have decided to utilize the fact that the blocks and records in one block are always sorted in ascendent manner according to their identification number and I am going to implement the binary search algorithm.

I would very appreciated any assesment of my idea. Thanks in advance for any suggestions.