(質問する前に; Z-wave プロトコルは機密情報であると想定されているため、誰かが私の質問に答えてよいかどうかはわかりませんが、実際に何らかの規制に違反している場合は、遠慮なく削除してください。この郵便受け。)
現在、生のバイナリ データで構成される Z-wave メッセージを単純に作成し、そのメッセージを Z-wave コントローラーが接続されている USB インターフェイスに送信する C プログラムを作成しようとしています (AEOTEC Z-Stick USB ドングルを使用しています)。イオン研究所による)。私もこのガイドを参考にして、プレーンな C でサンプル コードを書き直そうとしています。ただし、ガイド、特に彼が USB コントローラーに送信しようとしているメッセージを確認すると、次のようになります。
/*
0x01, 0x09, 0x00, 0x13, nodeId, 0x03, 0x20, 0x01, state, 0x05, checksum
*/
... 私だけかもしれませんが、通常の Z-wave フレームからの情報が欠落しているようです。私の推測では、最初の 4 バイトはホーム ID とそれに続くノード ID を表していると思いますが、そのバイトの後の残りが「基本」コマンド クラス (' 0x20'、1 バイト) および対応する「設定」アプリケーション コマンド ('0x01'、1 バイト)。また、チェックサム ビットの前の「0x05」は何を表していますか? トランスポート ヘッダー情報についてはどうでしょうか。なぜ含まれていないのでしょうか。彼はそれを含める必要がなかったようです...または、パケットを完全に間違って解釈しているだけかもしれません. 誰か教えてください。
また、USB ポートから読み取った場合 (例: C の open() & read() コマンドを使用) にのみ、アプリケーション層の情報を USB ポートから取得できるというのは正しいですか?
前もって感謝します!