5

我正在用 C# 开发一个应用程序来控制我的 KNX 家庭系统。因此,我使用了 ETS3Demo 软件,使用软件 Wireshark 可以“看到”ETS3 发送到 KNX/IP 接口的 IP 数据报。

我已经成功使用“Connection_Request”、“ConnectionState_Request”和“Disconnect_Request”,即我发送请求数据报并且 KNX/IP 接口响应。

唯一让我头疼的请求是“Tunnelling_Request”。我发送信息的方式与发送以前的数据报完全相同,但这个似乎不起作用。

我“逐字节”发送数据报,您可以在以下代码中看到:

byte[] byteToSend1 = { 06, 16, 04, 32, 00, 21, 04 };

string communicationChannel = ComunicationChannelNum.Text;
byte bytesnew = Convert.ToByte(communicationChannel);

byte[] byteToSend2 = { 00, 00, 17, 00, 188, 224, 00, 00, 09, 01, 01, 00, 129 };

writer.WriteBytes(byteToSend1);
writer.WriteByte(bytesnew);
writer.WriteBytes(byteToSend2);

我已经将与源地址和组地址对应的字节更改为“int”变量,但仍然不起作用。

有人可以给我一个建议或我可能做错的事情。

谢谢

4

2 回答 2

3

对于任何来这里查找线程的人:

您始终可以使用可以免费下载的 KNX 协会 Falcon 库,并允许执行所有操作(运行时和管理)。它需要你理解 KNX 协议,虽然它不是最漂亮、最干净的库,但它可以工作。

在这里:https ://my.knx.org/en/downloads/falcon

注意:可能需要您注册,但这是免费的。[我不能在这里分享它,因为它会违反许可协议。谢谢布米先生!]

于 2016-01-19T06:38:29.680 回答
0

我正在使用 knx 来打开/关闭灯 我使用链接发送隧道请求。

于 2014-01-06T09:23:51.990 回答