D-Bus最主要的用途是在Linux桌面环境为进程提供通信,同时能将Linux桌面环境和Linux内核事件作为消息传递到进程
DBUS是一种很方便的IPC远程调用的通信机制。可以很方便地调用其他进程提供的函数,甚至是不同计算机上提供的函数,内部通过TCP套接字进行相互通信。
不过甚至你可以修改成其他通信方式,比如USB、RS232、I2C、蓝牙等等通信方式,来远程调用其他计算机、嵌入式设备上提供的函数。DBUS本身不针对具体的通信方式做出
限制。不过默认的是使用本地套接字来提供同一个计算机上的不同进程相互调用函数。
所以在linux下系统启动会默认启动dbus总线服务,在linux下跑qt的demo可以直接执行。如下图的QDbusViewer和 demo Car。 本节重点介绍dbus 在windows下的搭建
windows环境配置
1.下载
先从https://github.com/WangTingMan/WinDbusBinary上下载预编译好的windows版本 如下图:
2. 如何使用?
官方网站是: https://www.freedesktop.org/wiki/Software/dbus/ 通过这里提供的DBUS Windows移植版本,你可以在windows上面开发dbus程序啦!
1)复制上图的dbus-1.dll到你的计算机的系统目录中,以便使用DBUS的程序可以找到它并且加载它。我的路径:C:\Windows\System32 , 部分DBUS程序是动态从系统中加载该dll 的,因此请需要注意系统加载dll的搜索路径。 2) 在桌面上创建dbus-daemon.exe的快捷方式。修改创建的快捷方式,在该快捷方式上右键,在“目标”栏位中填写:xxx\dbus-daemon.exe --config-file=system.conf 注意,xxx指的是dbus-daemon.exe所在的文件夹。 3)运行dbus-daemon.exe
- 设置好DBUS运行dbus守护进程之后,在windows上就可以在QT中使用和调试DBUS通信了。
3. 测试
成功运行。如果不启动dbus-daemon.exe 是运行不起来的哦。
|