项目简介
本项目围绕KNX IoT Point API栈构建,包含knx_iot_virtual_pb
(虚拟按钮)和knx_iot_virtual_sa
(虚拟开关执行器)两个应用程序。虽为虚拟应用,但它们是真正的KNX IOT应用,可在PC上运行以模拟实际硬件的功能。项目代码结构清晰,上层的GUI或CLI与下层代码解耦,便于扩展和修改。
项目的主要特性和功能
- 多应用类型支持:提供命令行应用和基于wxWidgets的GUI应用,命令行应用可在Linux和Windows系统运行,GUI应用仅支持Windows系统。
- 数据点管理:每个应用定义多个数据点,涵盖不同通道、资源类型、接口类型和数据类型,为各数据点实现强制和特定的元数据参数,可通过特定命令查询。
- 界面交互功能:GUI应用中,按钮应用可发送开关状态并在状态栏显示,开关执行器应用可可视化接收的开关状态,支持查看反馈信息和故障信息。
- 参数可配置:在wxWidgets GUI应用中,可通过命令行参数
-s
覆盖设备的序列号;支持多种显示选项,如将地址以不同格式展示。 - 模拟功能:支持模拟睡眠设备,设备以20秒间隔与网络交互,编程模式开启时暂停睡眠间隔;支持mDNS,通过Bonjour进行mDNS公告。
安装使用步骤
1. 安装前提条件(Windows系统)
- Visual Studio:从官网下载并安装,需包含C++(Desktop development with C++)。
- Git:从官网下载适合的安装包并安装。
- Python:若未安装,可从官网下载Windows安装程序进行安装,安装后可通过
which python
命令检查是否安装成功。 - CMake:从官网下载Windows安装程序进行安装,安装时选择将CMake添加到系统路径,安装后可通过
which cmake
命令检查是否安装成功。 - Bonjour:通过苹果官网搜索“Download Bonjour Print Services for Windows”,下载并安装打印服务。
2. 构建项目
powershell
cd KNX-IOT-Virtual
mkdir build
cd build
cmake ..
也可使用脚本build.sh
(构建带mDNS的安全设备)或build_unsecured.sh
(构建安全功能关闭的设备,无mDNS)。
使用GitLab
powershell
git clone https://gitlab.knx.org/shared-projects/knx-iot-virtual.git
cd knx-iot-virtual
mkdir build
cd build
cmake .. -DUSE_GITLAB=true
若要构建带安全功能的可执行文件,可在cmake
命令中添加-DOC_OSCORE_ENABLED=ON
选项。
3. 打开并构建项目
打开构建文件夹中生成的.sln
解决方案文件,建议在Visual Studio中构建发布版本。
4. 运行应用程序
- 命令行应用可直接在命令行启动;GUI应用可在相应文件夹中双击可执行文件启动。若要覆盖序列号,可使用
-s
参数,如.\knx_iot_virtual_gui_pb.exe -s 00FA10010401
。 - 若需自动重启应用程序,可使用Python脚本
restart_app.py
,通过Ctrl - C
停止该脚本。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】