TCP/UDP 経由でシリアル コマンドを同じネットワーク上のネットワーク テレビに送信する .NET WinForms アプリケーションを構築しています。NEC (メーカー) は、まさにこれを行い、非常にうまく機能する PD Comms というツールを作成しましたが、エンド ユーザーにとっては複雑すぎます。私のインターフェイスには、必要なすべての電源/音量/入力選択コマンドをすべてのテレビに送信する単一のボタンがあります。
私が抱えている問題は、テレビがデータ ストリームを受け入れるようにすることです。問題は、データをパネルに送信する方法に関係していると思います。試しに、私は 4 台のテレビのうちの 1 台に簡単な電源オン コマンドを使用して作業を行ってきました。ネットワークに接続すると、アプリケーションがネットワーク ストリームを正常に開くので、入力した IP アドレス/ポートに問題はありません。このコマンドを送信するための私のコードは以下のとおりです。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim client As New TcpClient("10.71.208.61", 7142)
Dim dataStream As NetworkStream = client.GetStream()
Dim commandData() As Byte = {1, 30, 41, 30, 41, 30, 43, 2, 43, 32, 30, 33, 44, 36, 30, 30, 30, 31, 3, 73, 0D}
dataStream.Write(commandData, 0, commandData.Length)
client.Close()
End Sub
commandData バイト配列にデータを割り当てる行が間違っていると思います。コマンドはエラーなしで実行され、パネルとの接続が確立されます。コードは正常に送信されているように見えますが、テレビが応答していない (電源が入っていない) ため、送信しているデータの形式が正しくありません。私が使用しているバイト データは、NEC の PD 通信ツールからの直接出力です。