nvidia设置wifi和接口

文章介绍了在嵌入式开发中如何使用nmcli命令来创建、删除、启动和关闭WiFi连接,包括通过QT或PAD进行远程设置。同时,展示了相关C++代码示例,用于获取WiFi扫描列表、连接信息,并设置了设置WiFi连接的函数。在调试部分提到了可能出现的问题,如SSID不存在或密码错误。

前言

针对嵌入式开发,有时候通过QT或PAD跨网络对设备设置WIFI,在此记录下,方便后续的查阅。


基础知识点

1.创建和删除一个wifi连接

创建WIFI 连接

nmcli device wifi connect "SSID" password "passwd"

每次创建在/etc/NetworkManager/system-connections/目录下TR106-4文件多个,分别为"TR106" “TR106-4 1” TR106-4 2 …为什么有多个,笔者可能觉得是因为存在相同的SSID,不同的PASSWD的原因吧!

删除wifi连接
p.s:不允许手动rm删除,删除依然会保留到nmcli con show中

nmcli con del "SSID"

2. 启动连接和关闭连接

启动

nmcli connection up "TR106"或 nmcli device con wlan0
nmcli device con wlan0

关闭wifi连接

nmcli connection down "TR106"或nmcli device dis wlan0
  1. 创建热点 暂不描述,后续如增加再做记录。

代码和调试

1. 代码展示

#ifndef WIFI_MANAGE_H__
#define WIFI_MANAGE_H__

#include <vector>
#include <string>

#ifndef NMCCLI_CON_SHOW_ACTIVE
#define NMCCLI_CON_SHOW_ACTIVE	"nmcli con show -active |grep wifi |grep wlan"
#endif 



#define OUT		//param out 
#define IN		//param in
#define MAX_STRING (1024)
#define MIN_STRING (128)
namespace NMV
{
	
};
class CWifiManage
{
public:
	static CWifiManage *inst()
	{
		static CWifiManage wm;
		return &wm;
	}
	
	/**获取设备WIFI扫描的列表*/
	int getWifiSSIDScanf();
	
	const std::vector<std::string> &getSsidList()const {return m_ssid_list;}
	/**获取当前wlanx已连接的WIFI ssid和passwd,当前只有wlan0,如果有多个wlan,需要做修改*/
	int getSystemWlanxInfo(std::string &rhs_ssid, std::string &rhs_passwd);
	
	/**获取当前的SSID和PASSWD*/
	int getWifiInfo(std::string &rhs_ssid, std::string &rhs_passwd)const {rhs_ssid = m_WifiSsid; rhs_passwd = m_WifiPasswd;}
	/**设置一个wifi信息到系统,切换WIFI的操作*/
	int setWifiInfo2SystemNetwork(const std::string &rhs_ssid, const std::string &rhs_passwd,
			OUT char *sys_response);
	/**外部接口,设置WIFI*/
	int setWifiInfo(const std::string &rhs_ssid, const s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值