Linux系统中WiFi状态获取
一、Linux系统中和WiFi相关的命令
- iwconfig
iwconfig主要用于系统配置无线网络设备和显示无线网络信息 - nmcli
nmcli主要用于配置无线网卡,设置无线网卡信息
例如:
nmcli radio wifi on #打开WiFi开关
nmcli radio wifi off #关闭WiFi开关
nmcli c show #显示网络连接
二、Dbus的使用
1. Dbus
常用的一个工具是d-feet,可以查看系统总线(System Bus)和会话总线(Session Bus) 详细信息。系统总线(System Bus)用于系统和应用通信,会话总线(Session Bus)用于应用之间通信。
2.工具-Qt
与QDBus的一个接口相连接,主要用到的是QDBusInterface类,详细用法可以查看Qt助手。QDBusInterface是一个通用访问器类,用于对远程对象进行调用、连接到远程对象导出的信号以及获取/设置远程属性的值。
QDBusInterface remoteApp( "com.example.Calculator", "/Calculator/Operations",
"org.mathematics.RPNCalculator",
QDBusConnection &connection = QDBusConnection::sessionBus());
QDBusReply<int> reply = remoteApp.call( "PopOperand" );
(1)创建对象。使用给定的连接,在服务服务路径上的对象上创建与接口接口关联的动态QDBusInterface对象。
(2)接收Dbus信号。QDBusReply对象是QDBusMessage对象的子集,表示方法调用的应答。
3.WiFi使能接口
d-feet的系统总线(System Bus)中NetworkManager中的WirelessEnable
利用QtDBus编写函数获取WirelessEnable的值,从而可以得到wifi打开或关闭的状态。