nvidia设置wifi和接口

保姆级教程:NVIDIA Jetson NX上搞定WiFi连接与静态IP设置(Ubuntu 18.04/20.04) 本文提供NVIDIA Jetson NX开发板在Ubuntu 18.04/20.04系统上配置WiFi连接与静态IP的详细教程。从基础网络接口检查到使用nmcli和Netplan工具进行无线网络连接和静态IP设置,涵盖常见问题排查与高级优化技巧,帮助开发者实现稳定远程开发环境。 阅读详情

前言

针对嵌入式开发,有时候通过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 std::string &rhs_passwd);
private:
	CWifiManage();
	~CWifiManage();
	std::string m_WifiSsid, m_WifiPasswd;
	std::vector<std::string> m_ssid_list;
};

#endif
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>

#include <string.h>

#include <string>
#include <iostream>
#include <codecvt>

#include "wifi_manage.h"

CWifiManage::CWifiManage():m_WifiSsid(""), m_WifiPasswd("")
{
	m_ssid_list.clear();
}

CWifiManage::~CWifiManage()
{}

int CWifiManage::getSystemWlanxInfo(OUT std::string &rhs_ssid, OUT std::string &rhs_passwd)
{
	char pipeBuf[MAX_STRING] = {0};
	char tssid[MIN_STRING] = {0};
	
	FILE * pPipe = popen(NMCCLI_CON_SHOW_ACTIVE, "r");
	if(!pPipe)
	{
		printf("PIPE ERROR\n");
		return -1;
	}
	size_t pipeSiz = ftell(pPipe);
	fseek(pPipe, 0, SEEK_SET);
	fread(pipeBuf, 1, pipeSiz, pPipe);

	if(pPipe){pclose(pPipe); pPipe = (FILE*)0;}
	if(!strlen(pipeBuf))
	{
		printf("无连接上的WIFI!\n");
		return -1;
	}
	
	sscanf(pipeBuf, "%s", tssid);
	
	
	/*根据SSID查看Passwd*/
	char ssidFileConfigure[MIN_STRING] = {0};
	snprintf(ssidFileConfigure, MIN_STRING-1, "/etc/NetworkManager/system-connections/%s", tssid);
	FILE *fp = fopen(ssidFileConfigure, "r");
	if(!fp)
	{
		printf("打开%s失败!\n", ssidFileConfigure);
		return -1;
	}

	char line_buf[MIN_STRING] = {0};
	char tpasswd[MIN_STRING] = {0};
	
	while(!feof(fp))
	{
		memset(line_buf, 0, MIN_STRING);
		fgets(line_buf, MIN_STRING, fp);
		if(strstr(line_buf, "psk="))
		{
			
			size_t line_siz = strlen(line_buf);
			if(line_buf[line_siz-1] == '\n') line_buf[line_siz-1] = '\0';
			memcpy(tpasswd, line_buf+strlen("psk="), strlen(line_buf+strlen("psk=")));
			
			printf("passwd:%s, siz:%lu!\n" , tpasswd, strlen(tpasswd));
		}
	}

	if(fp){fclose(fp); fp = (FILE*)0;}

	if(strlen(tssid)&& strlen(tpasswd)){rhs_ssid = tssid; rhs_passwd = tpasswd;}

	return 0;
	
}


int CWifiManage::setWifiInfo2SystemNetwork(const std::string &rhs_ssid, const std::string &rhs_passwd,char *sys_response)
{

	
	char cmd_string[MIN_STRING] = {0};
	memset(cmd_string, 0, MIN_STRING);
	snprintf(cmd_string, MIN_STRING, "nmcli device wifi connect %s password %s", rhs_ssid.c_str(), rhs_passwd.c_str());

 	FILE *pPipe = popen(cmd_string, "r"); //阻塞
 	if(!pPipe)
 	{
 		printf("cmdString: %s, err:%s\n" , cmd_string, strerror(errno));
 		memcpy(sys_response, "pipe null", strlen("pipe null"));
		return -1;
 	}
	fread(sys_response, 1, MAX_STRING-1, pPipe);
	
	
	pclose(pPipe); pPipe = (FILE*)0;
	if(!strstr(sys_response, "successfully"))			//如果设置失败
	{
		return -2;
	}
	printf("SSID:%s 设置成功!\n", rhs_ssid.c_str());

	/*重置wifi为设置的ssid和信息,更新 "nmcli con show"*/
	//1. 关闭之前的连接
	pPipe = popen("nmcli device dis wlan0", "r");
	
	if(pPipe){pclose(pPipe); pPipe = (FILE*)0;}
	//2 开启设置的连接
	memset(cmd_string, 0, MIN_STRING);
	snprintf(cmd_string, MIN_STRING, "nmcli connection up %s", rhs_ssid.c_str());
	pPipe = popen(cmd_string, "r");
	
	if(pPipe){pclose(pPipe); pPipe = (FILE*)0;}

#if 0		//配置暂先不做处理
	//3 删除(忘记)不需要的WIFI连接 cmd:nmcli con del "SSID",仅保留设置的wifi有效
	pPipe = popen("ls /etc/NetworkManager/system-connections/ |grep -v 'Wire'", "r");
	char ssid[MIN_STRING];
	if(pPipe)
	{
		while(!feof(pPipe))
		{
			memset(ssid, 0, MIN_STRING);
			fgets(ssid, MIN_STRING-1, pPipe);
			if(ssid[strlen(ssid)-1] == '\n') ssid[strlen(ssid)-1] = '\0';
			if(rhs_ssid == std::string(ssid))
			{
				continue;
			}
			comm_sys_cmd("nmcli con del %s", ssid);
		}
	}
#endif
	
 
	
	return 0;
}




int CWifiManage::getWifiSSIDScanf()
{
	//扫描WIFI ESSID
	//do somethings

	char cmd_string[MIN_STRING] = {0};
	char sline[MIN_STRING], ssid[MIN_STRING];
	
	memset(cmd_string, 0, MIN_STRING);
	
	snprintf(cmd_string, MIN_STRING, "iw wlan0 scan |grep SSID");	
	FILE *pPipe = (FILE*)0;
	pPipe = popen(cmd_string, "r");
	if(!pPipe)
	{
		printf("cmdString: %s, err:%s\n" , cmd_string, strerror(errno));
 		
		return -1;
	}

	while(!feof(pPipe))
	{
		memset(sline, 0, MIN_STRING);memset(ssid, 0 , MIN_STRING);
		fgets(sline, MIN_STRING, pPipe);
		int j = 0;
		for(int i = 0; i < strlen(sline); ++i)
		{
			if(sline[i] == '\t' || sline[i] == '\n' || sline[i] == ' ')
			{
				continue ;
			}
			ssid[j] = sline[i];
			j++;
		}
		//printf("ssid:%s, siz:%lu\n", ssid, strlen(ssid));
		if(0 == strlen(ssid) - strlen("SSID:") || strlen(sline) == 0 )
		{
			//printf("ssid为空\n");
			continue;
		}

		if(strstr(ssid, "x00"))
		{
			printf("含有x00\n");
			continue;
		}
		static std::wstring_convert<std::codecvt_utf8<wchar_t> > strCnv;
	//	std::wstring test = strCnv.from_bytes(ssid);
		printf("%s\n", test.c_str());
		m_ssid_list.push_back(ssid+strlen("SSID:"));
		
		
		
	}
	auto vit = m_ssid_list.begin();
	for(; vit != m_ssid_list.end();++vit)
	{	
		static int cnt = 0;
		std::cout <<  "SSID_siz:" << (*vit).size() << " "<< *vit << std::endl;;
	}
	
	if(pPipe){pclose(pPipe); pPipe = (FILE*)0;}

	return 0;
}




int CWifiManage::setWifiInfo(const std::string &rhs_ssid, const std::string &rhs_passwd)
{
	char sys_resp[MAX_STRING] = {0};
	if(setWifiInfo2SystemNetwork(rhs_ssid, rhs_passwd,  sys_resp))
	{
		printf("设置wifi失败!");
	}
	std::cout << "设置wifi系统提示: " << sys_resp << std::endl;

	m_WifiSsid = rhs_ssid;
	m_WifiPasswd = rhs_passwd;
	

	return  0;
}

int main(int argc, char *argv[])
{
	int ret = 0;
#if 0
	std::string str_ssid = "", str_passwd = "";
	
	ret = CWifiManage::inst()->getSystemWlanxInfo(str_ssid, str_passwd);
	if(ret == 0)
	{
		printf("当前wifi已连接成功, ssid:%s, passwd:%s\n", str_ssid.c_str(), str_passwd.c_str());
	}

	if(CWifiManage::inst()->setWifiInfo("HONOR-Hello-Ouyang_2.4", "woshisunouyangaaaa"))
	{
		printf("设置wifi失败!\n");
	}
#else 

	CWifiManage::inst()->getWifiSSIDScanf();
#endif 
	
}

2. 调试

扫描中踢出了空格,换行和制表符
获取WIFI扫描

{
	"Jsonrpc": "1.0",
	"Method": "GetWifiScan",
	"Result": true,
	"SsidList": [
		"TR106-4",
		"HONOR-Hello-Ouyang_2.4",
		"HUAWEI-WANG",
		"Maxvision-2.4G",
		"HUAWEI-MV_SLAM_02",
		"ymg",
		"fanyiji-ceshi",
		"Tenda_1D0130",
		"cleanRobot",
		"Xiaomi_DESKT",
		"YUN",
		"siweite7wifi",
		"HUAWEI-MV_SLAM_00",
		"HONOR-xunjian-Mast",
		"HONOR-xunjian-Mast",
		"jxkjc",
		"Trans-4G-SanFanTest",
		"TP-LINK_2.4G_D6D088",
		"TR106-4",
		"Maxvision-2.4G",
		"ChinaNet-5pV3-5G",
		"HUAWEI-MV_SLAM_00",
		"HONOR-Hello-Ouyang_5G",
		"HUAWEI-MV_SLAM_02",
		"ROBOT_TEST",
		"HONOR-0J14YA",
		"xunjian"
	]
}

设置wifi过程中遇到的问题:

1. SSID不存在,返回如下错误
{
	"Jsonrpc": "1.0",
	"Method": "SetWifiConnect",
	"Params": null,
	"ResponseMsg": "ERROR:未扫描到SSID:TR106-41",
	"Result": false
}
之前使用PAD对设备设置,用的是android的API扫描WIFI SSID,可能设备和WIFI处的位置不同,以及无线网卡的差异性,导致PAD搜索的SSID可能设备网卡搜不到的情况。

2.输入的密码错误

{
	"Jsonrpc": "1.0",
	"Method": "SetWifiConnect",
	"Params": null,
	"ResponseMsg": "ERROR:Error: Connection activation failed: (7) Secrets were required, but not provided.\n",
	"Result": false
}

写到最后

1. 每次设置一个新WIFI,将之前的配置都删除掉,让设备只连最近更新的WIFI,后面考虑合理性以及手机android等
都采用保存配置的情况, 该功能就删除了。
2. 还有比较多的功能可以实现,比如忘记WIFI名称等功能。
忘记WIFI名称
pPipe = popen("ls /etc/NetworkManager/system-connections/ |grep -v 'Wire'", "r");
	char ssid[128];
	if(pPipe)
	{
		while(!feof(pPipe))
		{
			memset(ssid, 0, MIN_STRING);
			fgets(ssid, MIN_STRING-1, pPipe);
			if(ssid[strlen(ssid)-1] == '\n') ssid[strlen(ssid)-1] = '\0';
			if(rhs_ssid == std::string(ssid))
			{
				continue;
			}
			std::string str_cmd = "nmcli con del" + " " + ssid;
			system(str_cmd.c_str());
		}
	}
英伟达开发板学习系列----ubuntu连接WiFi,同时分享热点 最近在搞硬件,配置Jetson Nano开发板环境,此篇文章的内容是: Nano开发板连接wifi,并同时分享热点。 系统:Ubuntu18.04 外设: USB无线网卡 一、连接wif 1.系统连接USB无线网卡, 输入命令ifconfig,出现wlan0,说明可以识别USB 2.查看现有WiFi: nmcli device wifi list 3.连接WiFi sudo nmcli device wifi connect wifi名称 password wifi密码 例如: sudo nmcli 阅读详情

相关推荐

nvidia nx--设置静态ip与连接无线网

nvidia vx 设置静态IP与连接无线网

WXG1011的博客 2536

NVIDIA TK1 学习笔记(8):自动连接wifi

    无线网卡安装完毕后,介绍下如何自动连接wifi。    首先下载安装工具:sudo apt-get install wireless-tools    修改文件/etc/network/interfaces:$ vim /etc/network/interfaces    修改内容:auto lo iface lo inet loopback auto eth0 iface eth0 i...

为取经而来的博客 1151

NVIDIA TX2使用网线连接笔记本进行网上冲浪!

NVIDIA TX2通过网线连接笔记本访问网路 哎呀呀,关于TX2通过网线连接笔记本上网找了好多的资料,但是很多都不太行,折腾了好久终于在学长的帮助下搞定了!在此多谢酷酷哒学长! 那就不买关子了,要想让TX2连接笔记本访问网络,首先需要一根正常的网线。正是通过这根网线,一端连接笔记本的网口,另一端连接TX2的网口,像脐带一样,由笔记本给TX2提供网络,多么伟大!与母亲子宫内将孩子与自己相连的脐带别...

aleien的博客 3295

nmcli命令配置网络

nmcli是Linux中的一个命令行工具,用于管理NetworkManager网络管理器。这个工具可以帮助用户在命令行界面下配置和管理网络连接,包括无线、有线、VPN等不同类型的连接。显示设备的详细信息:使用或nmcli d命令,可以显示所有网络接口的详细信息,包括设备名称、类型、状态和连接状态等。管理网络连接:使用或nmcli c命令,可以列出所有网络连接及其状态,并提供连接的详细信息,如连接名称、设备、IP地址等。此外,还可以使用命令启用一个连接,或使用命令禁用一个连接。

i666znekwksj的博客 6636

NVIDIA-XAVIER-NX 连接wifi、添加arm软件源、安装arm中文输入法、安装ros-melodic、nomachine远程控制界面、固定有线网卡静态ip

NVIDIA-XAVIER-NX 软件源 UBUNTU 18.04 ROS Melodic安装 更改源(这是一个非常好用的源,比清华的好用很多) sudo gedit /etc/apt/sources.list 粘贴如下源,并保存 deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ bionic main restricted deb [arch=arm64] http://ports.ubuntu.com/ bionic main restricted

weixin_41281151的博客 3971

告别每次手动连WiFi!NVIDIA Jetson NX保姆级无线网络配置与静态IP绑定教程

本文提供NVIDIA Jetson NX开发板的无线网络配置与静态IP绑定详细教程,解决开机手动连接WiFi和IP地址变动问题。通过nmcli和netplan工具,实现Ubuntu系统下的自动联网和固定IP设置,适用于机器人、无人机等需要稳定网络连接的边缘计算场景。

weixin_30369041的博客 419

Xavier连WiFi,你还在用网线凑合?

【好用快赞!】 实验室祖传无线网卡! 一次成功! 无需驱动! 无需软件! 上图! 装在板卡上 显示WiFi已连接 型号:磊科 NW336 ! 快夸我!!!

weixin_42306148的博客 2483

TK1设置WiFi热点:嵌入式Linux AP模式实战指南

WiFi热点本质是将设备配置为无线接入点(AP),涉及物理层射频控制、数据链路层hostapd驱动适配、网络层DHCP服务与IP地址分配、以及传输层NAT转发四大技术环节。在嵌入式Linux平台如NVIDIA Jetson TK1上实现稳定热点,需特别关注USB WiFi网卡的AP模式兼容性、内核nl80211接口支持、以及L4T系统下hostapd与dnsmasq的版本协同。其技术价值在于构建低延迟局域网通信底座,支撑ROS节点互联、远程SSH调试、OTA升级与Web管理等关键应用场景。本文聚焦TK1入门

weixin_33691817的博客 420

(首个填坑)联想拯救者Y7000(自带win10 home) 安装Ubuntu16.04.6 + NVIDIA GTX1650驱动

1. 安装Ubuntu16.04.6系统 1.0. 由于安装ubunut系统的教程很多, 所以这里只是大概讲下流程和需要注意的地方; 1.1. 首先在win10环境下使用自带的磁盘管理工具将某个盘压缩出自己所需要的空间, 我这里压缩了250G给Ubuntu系统使用, 压缩完成后会看到存在一个未分配的分区,如下图所示; (如果在安装类型中选择了第一项, 系统会自动识别出这个未分配的分区进行Ubunt......

L_Y_Fei的博客 1万+

Nvidia Xavier Nx平台sdio WiFi模块调试记录

1. 前言 使用WiFi板与Jetson Xavier NX模块连接调试。 模块是BCM43455模块,使用的是SDIO接口。 dts定义如下: sdhci@3440000 { #address-cells = <1>; #size-cells = <0>; compatible = "nvidia,tegra194-sdhci"; reg = <0x0 0x3440000

jzwjzw19900922的博客 1370

ESP32-CAM图传小车:端边协同的嵌入式视觉系统设计

在物联网边缘智能场景中,嵌入式视觉系统需平衡实时性、算力与成本。其核心在于理解图像采集、硬件编码、低延迟传输与分层计算的基本原理——OV2640等CMOS传感器配合JPEG硬件编码可显著降低主控负载;TCP流式协议比HTTP/RTSP更适配资源受限MCU;而‘计算卸载’架构将OpenCV等重负载移至Android端,使ESP32专注实时控制与传输,既发挥FreeRTOS任务调度优势,又规避了PSRAM带宽与内存瓶颈。该模式广泛适用于教育机器人、智能巡检及DIY视觉终端等场景,本文以WiFi图传坦克小车为载体

weixin_42524864的博客 373

联想Y7000在配置ubuntu16.04过程中所遇到的一些问题.例如WIFI禁用,外接屏显示错误,NVIDIA驱动安装等

# WIFI禁用问题 ## 问题描述 装好ubuntu16.04系统后开机发现右上角图标没有wifi显示,连不上wifi网络. ##问题解决 ###第一步 先想办法让电脑连上网络,我认为比较靠谱的办法有使用USB网卡驱动,连接有线网络以及蓝牙网络. 有线网络应该插上就可以用,不用多说,说一下USB网卡和蓝牙网络. 刚开机可能连蓝牙都没法打开或者连接上,插上USB驱动也会显示WIFI禁...

联想Y7000拯救者配置ubuntu16.04过程中遇到的一些问题总结 788

[Spawn service failed. Exiting] ROS2运行turtlebot3_gazebo例程卡住_报错

[Spawn service failed. Exiting] ROS2运行turtlebot3_gazebo例程卡住_报错

Feizhai2的博客 4861

英伟达jetson平台之WIFI

本文介绍了在Jetson Orin Nano平台上修复WiFi和蓝牙兼容性问题的方法。对于WiFi问题,首先通过lspci命令确认硬件检测,然后检查驱动加载情况,必要时安装backport-iwlwifi-dkms驱动包。若出现连接问题,可修改iwlwifi.conf配置文件。针对蓝牙问题,需要修改bluetooth.service.d配置文件并安装pulseaudio-module-bluetooth软件包,最后重启设备即可正常使用。这些操作解决了官方系统对Intel 8265NGW M.2网卡的兼容性问

mortree 1188

微信小程序反编译实战:用wxappUnpacker获取他人源码的完整流程(附常见报错解决方案)

本文详细解析了微信小程序反编译的完整流程,从缓存提取到源码重构,使用wxappUnpacker工具链实现逆向工程。涵盖环境配置、解密反编译、项目调试等关键步骤,并提供了常见报错解决方案,帮助开发者学习优秀实现方案或进行安全审计。

weixin_42706667的博客 469

不用写触发器!帆软填报报表自动记录创建/修改时间的终极方案

本文详细介绍了帆软填报报表中无需编写数据库触发器,即可自动记录数据创建时间和修改时间的终极方案。该方案利用帆软内置函数和单元格条件属性,在应用层实现日期自动生成,有效规避了触发器带来的权限、维护和部署难题,为数据填报提供了更轻量、灵活且易于维护的解决方案。

weixin_28040125的博客 358

Nvidia Jetson AGX Orin 初体验

一、开箱 Nvidia Jetson AGX Orin是今年Nvidia推出的唯一的开发套件,相比Jetson Nano 472GFLOP算力、Jetson Xaiver 32TOPS(INT8)算力,它的算力达到了200 TOPS左右。也就是说,几乎相当于目前主流设备的8-10倍的算力。这就让张小白有点动心了。于是,张小白天天啃包子省吃俭用,攒下了一台设备的价钱,并火速将设备拿到了手。 说实话,拿到这样的箱子着实有点害怕,毕竟里面的东西不便宜。然而,打开包装,并进行消毒之后:

张小白 1万+

ESP32-S3开发板实战:5分钟搞定智能门铃的音视频通话功能(附源码)

本文详细介绍了如何利用乐鑫ESP32-S3开发板快速实现智能门铃的实时音视频通话功能。通过ESP-ADF框架和RTC服务,开发者可在五分钟内完成环境搭建与核心功能调试,并附有源码和关键配置详解,为嵌入式音视频应用开发提供了高效实践路径。

web99的专栏 527

jetson nano 命令行连接wifi

jetson nano 连接wifijetson nano b01是由Nvidia最近推出的一款功能强大的深度学习AI开发板。由于~~实际开发需要或者不想连接网线~~ (没有网线)需要使用无线方式wifi进行上网或者安装各种开发工具包和软件。下面开始动手啦! jetson nano b01是由Nvidia最近推出的一款功能强大的深度学习AI开发板。由于实际开发需要或者不想连接网线 (没有网线)需要使用无线方式wifi进行上网或者安装各种开发工具包和软件。下面开始动手啦! 1、安装wifi模块 拧开nano上

qq_41675931的博客 5438

如何在 Windows 11 上安装 ChatGPT:CMD + 图形界面两种方式

我没说在 Windows 11 上装 ChatGPT 应用有多难,但你要是知道有哪几种官方途径可用,事情就会顺一点,尤其是对新手。对大多数用户来说,商店应用就是正确的选择。如果你在受管理的设备上,或者想避开商店,那么通过 Edge 或 Chrome 装 PWA 是完全站得住脚的替代方案。不管你选哪条路,真正的收获都是把 ChatGPT 从浏览器标签页里挪出来,放进一个它真正像个工具的地方。把它固定到任务栏、配好 Alt + 空格,你就会纳闷以前没它是怎么干活的。

山岚的运维笔记 290

OpenClaw第2章:快速安装

本章将手把手教你安装 OpenClaw。

Maynor的博客 3236

Jetson nano系统烧录+设置和首次启动

从文件烧录 --> 选择下载好的镜像文件(都可在文章开头给出的官网中下载);里面有对每个模块的详细介绍;

XXBaoHeTang的博客 1765

基于 Logistic 混沌映射和 Arnold 变换 的变换域水印改进算法【高级网络与信息安全技术-信息隐藏期末课程论文】

摘要:\textbf{摘要:}摘要:本文提出了一种新的水印算法是一种图像认证的新方法。算法首先使用Logistic混沌映射加密水印图像,然后使用Arnold变换置乱水印。同时改变了水印图像的像素位置和像素值,大大提高了算法的安全性。再使用DCT变换嵌入水印,并且结合人类视觉系统的特点来提升水印嵌入的透明性。实验结果表明,本文提出的水印算法可以大幅度提高水印嵌入的透明性与安全性的同时,并不降低算法的鲁棒性。注:完整的代码和论文在文末,百度网盘链接。

zik的博客 891

pc 安装玩centos 开机卡 switching_笨鸟手册(8):如何在Jetson NANO上安装无线WIFI模块...

NVIDIA Jetson Nano开发套件不包括wifi模块。我们一般建议大家使用一个USB Dongle来连接WIFI ,这个方法简单容易操作,但是会占用一个USB接口。Jetson NANO提供了一个M.2 Key E的接口,位于Jetson Nano模组的下方。(注:M.2 Key E插槽主要用于无线通信。此接口不能接NVME ssd)。关于WIFI网卡注意一定要购买Intel双...

weixin_39970855的博客 939

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Nvidia Jetson Agx Xavier 折腾笔记之刷机过程记录

前言 安装过程会遇到许多问题,遇到问题多去网上查询,有些东西安装时间会比较长,一定要有耐心,一定要有耐心,等待,多尝试。 安装过程参考网上博客,在文末列出 简介 Nvidia Jetson Xavier是一个嵌入式的AI计算平台,有着高性能、低功耗的优点。 由于Xavier是嵌入式平台,使用的是AArch64架构,与我们平时使用的Intel架构电脑不一样,故开发环境搭建方式也不一样。 为了简化环境搭建过程,让人们能更快的上手使用,Nvidia提供了一套SDK,叫做JetPack,包含有CUDA、

dadapongi6的博客 8434

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

NVIDIA Jetson TX1介绍(二)

NVIDIA Jetson TX1(二) 1.0模块概述 Jetson TX1 SoM集成了下面器件和接口: lNVIDIA Tegra X1 SoC lLPDDR4内存 leMMC 5.1存储器件 l802.11 ac 2x2 WiFi lGigabit以太网 lPMIC l导热板(TTP) l400脚的板与板之间连接器,开放高速和低俗工业...

u010586630的专栏 2291

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

上一篇: TF读写修复
下一篇: c++回调
帘下有白绿
博客等级 码龄12年 165粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值