Android通过KNX协议控制和读取灯的开关状态

KNX简介

KNX 是建筑自动化和家庭控制系统的标准,起源于1990年代初的 EIB (European Installation Bus) 。它是一种开放协议,可以实现建筑物中各种设备和系统之间的通信,如照明、供暖、通风、安全和音视频设备。该技术由 KNX 协会管理,该协会负责全球 KNX 产品和解决方案的开发、认证和推广。

KNX 使用各种传输介质,包括双绞线(TP)、电力线通信(PL)、无线电频率(RF)和 IP/Ethernet。这种灵活性使得 KNX 适用于有线和无线安装,既适用于新建筑,也适用于对现有建筑的改造。

KNX 地址

在 KNX 系统中,每个连接到总线上的设备都被分配一个唯一的地址,用于标识和与其通信。

Individual Address
Individual address 是分配给总线上每个 KNX 设备的唯一地址。它允许 KNX 系统与特定设备之间进行直接通信。Individual address 通常在设备配置或编程过程中设置,并且对于设备来说是固定的。

KNX individual address 是由三部分组成的16位值:区域号(area number)、线路号(line number)和设备地址(device address)。

例如,individual address 为 2.3.20, 表示区域 2 中线路 3 上的编号20的总线设备。

Group Address
组地址用于多个 KNX 设备之间的通信。它代表了 KNX 系统中的特定功能或控制点。设备可以被编程以监听和响应特定的组地址,实现基于组的控制和自动化。

组地址由三个主要组成部分组成:主组(main group)、中间组(middle group)和子组(sub group)。

例如,一个组地址为 1/2/3 表示主组1、中间组2和子组3。这些组成部分的具体解释可能会根据应用和配置而有所不同。

KNXnet/IP

KNXnet/IP 是在 KNX 系统中用于通过 IP 网络传输数据的通信协议。通过 KNXnet/IP,KNX 设备可以通过 IP 网络相互通信,并与外部系统进行通信。它允许从具有网络连接的任何地方远程访问、控制和监控 KNX 安装。该协议利用标准的 IP 网络基础设施和协议为 KNX 提供支持,扩展了系统的功能和覆盖范围。

值得注意的是,KNXnet/IP 只是 KNX 标准中的一种通信选项。传统的 KNX 总线通信方法仍然广泛使用,而 KNXnet/IP 通常与这些方法结合使用,为建筑自动化和控制提供全面灵活的解决方案。

Android连接KNX IP

通过IP和端口号连接,连接代码如下

    private void initBus() {
   
        Log.i(TAG, "initBus: "+"hostSocket:"+hostSocket+" gatewaySocket:"+gatewaySocket+" netLinkIp:"+netLinkIp);
        try {
   
            netLinkIp = new KNXNetworkLinkIP(KNXNetworkLinkIP.TUNNELING, hostSocket, gatewaySocket, false, TPSettings.TP1);
            processCommunicator = new ProcessCommunicatorImpl(netLinkIp);
            processCommunicator.addProcessListener(new ProcessListenerEx() {
   
                @Override
                public void groupReadRequest(ProcessEvent processEvent) {
   
                    Log.i(TAG, "groupReadRequest: "+processEvent.toString());
                    if(processListenerEx != null){
   
                        String address = processEvent.getDestination() == null?"":processEvent.getDestination().toString();
                        processListenerEx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值