小电脑的选择

11代nuc

盘一盘NVIDIA Jetson家族的前浪和后浪!

入门级nano

中级AGX Xavier 作为现在AI计算的扛把子

超高级Jetson TX2

高级Xavier NX

算力性能区别

英特尔的NUC迷你电脑有什么特点?NUC适合什么样的用户群(黑苹果)?

由于nuc用的是英特尔的集显,所以没有办法使用cuda

各种机器性能参数比较

ssh远程连接

如何判断网线是否连上

1.直接看ui,

2.通过ifconfig

主要看网卡那一栏,如果没有具体的ipv4地址那一般就是没有连接上

这是一个网络接口的信息列表,通常用于诊断和配置网络连接。以下是每个接口的意思和说明:

  1. enp57s0
    • flags=4099:表示接口的状态标志。这个接口是启用的(UP),可以广播数据(BROADCAST),支持多播(MULTICAST)。
    • mtu 1500:表示最大传输单元,即可以在一次数据包中传输的最大字节数。
    • ether c8:7f:54:ca:bf:31:表示接口的物理地址(MAC地址)。
    • txqueuelen 1000:表示发送队列的长度。
    • RX packets 0:表示接收到的数据包数量。
    • RX bytes 0:表示接收到的字节数。
    • RX errors 0:表示接收错误的数量。
    • dropped 0:表示丢弃的数据包数量。
    • overruns 0:表示接收缓冲区溢出的次数。
    • frame 0:表示帧错误的数量。
    • TX packets 0:表示发送的数据包数量。
    • TX bytes 0:表示发送的字节数。
    • TX errors 0:表示发送错误的数量。
    • dropped 0:表示丢弃的数据包数量。
    • overruns 0:表示发送缓冲区溢出的次数。
    • carrier 0:表示载波错误的数量。
    • collisions 0:表示冲突的数量。
  2. lo
    • flags=73:表示接口的状态标志。这是一个本地环回接口,用于本地通信。
    • mtu 65536:表示最大传输单元。
    • inet 127.0.0.1:表示IPv4地址,用于本地回环。
    • netmask 255.0.0.0:表示子网掩码。
    • inet6 ::1:表示IPv6地址,用于本地回环。
    • prefixlen 128:表示IPv6地址的前缀长度。
    • scopeid 0x10<host>:表示IPv6地址的范围标识。
    • loop txqueuelen 1000:表示发送队列的长度。
    • RX packets 33900:表示接收到的数据包数量。
    • RX bytes 37335873:表示接收到的字节数。
    • RX errors 0:表示接收错误的数量。
    • dropped 0:表示丢弃的数据包数量。
    • overruns 0:表示接收缓冲区溢出的次数。
    • frame 0:表示帧错误的数量。
    • TX packets 33900:表示发送的数据包数量。
    • TX bytes 37335873:表示发送的字节数。
    • TX errors 0:表示发送错误的数量。
    • dropped 0:表示丢弃的数据包数量。
    • overruns 0:表示发送缓冲区溢出的次数。
    • carrier 0:表示载波错误的数量。
    • collisions 0:表示冲突的数量。
  3. wlp58s0
    • flags=4163:表示接口的状态标志。这个接口是启用的(UP),可以广播数据(BROADCAST),正在运行(RUNNING),支持多播(MULTICAST)。
    • mtu 1500:表示最大传输单元。
    • inet 192.168.1.105:表示IPv4地址,用于网络通信。
    • netmask 255.255.255.0:表示子网掩码。
    • broadcast 192.168.1.255:表示广播地址。
    • inet6 fe80::95ea:e6b3:e5c6:8387:表示IPv6地址。
    • prefixlen 64:表示IPv6地址的前缀长度。
    • scopeid 0x20<link>:表示IPv6地址的范围标识。
    • ether 14:75:5b:a8:a2:37:表示接口的物理地址(MAC地址)。
    • txqueuelen 1000:表示发送队列的长度。
    • RX packets 33238:表示接收到的数据包数量。
    • RX bytes 28568691:表示接收到的字节数。
    • RX errors 0:表示接收错误的数量。
    • dropped 0:表示丢弃的数据包数量。
    • overruns 0:表示接收缓冲区溢出的次数。
    • frame 0:表示帧错误的数量。
    • TX packets 23791:表示发送的数据包数量。
    • TX bytes 8331850:表示发送的字节数。
    • TX errors 0:表示发送错误的数量。
    • dropped 0:表示丢弃的数据包数量。
    • overruns 0:表示发送缓冲区溢出的次数。
    • carrier 0:表示载波错误的数量。
    • collisions 0:表示冲突的数量。

寄录

切忌进行过什么操作要进行记录,血的教训。。。。。

在一开始的时候进行静态ip的设置,参考了这篇文章

光更着进行了操作没有思考酿成大火

文章里配置的是网卡,也就是说文章中的作者是通过有线网络进行连接,而我们应该配置的无线网卡,错误配置了有线通道的静态ip,导致在后续通过网线和小电脑建立连接无法识别有线网络。

把这个跟网卡相关的直接删掉就好了

这块其实还有一个比较难受的问题,由于我的网卡型号是ax201,这个型号的网卡ubuntu20.04不识别,所以驱动得自己手动安装,同时有线图标也没有(所以我后来直接把电脑网卡更换成了ax210

用到的命令

Ubuntu下查看实时网络流量的几种方法_ubuntu查看网络流量_Nick_Spider的博客-CSDN博客

sudo service network-manager restart重启网络服务(

<font style="color:rgb(77, 77, 77);">sudo systemctl restart NetworkManager.service</font>

/etc/init.d/ restart networking

sudo netplan apply

nmap详解

-sn

这个主要是用来扫描这个网段下面的所有主机是否开机,查找在这个网段下面的主机ip

图形化界面传输

新电脑不能忘记给自己的电脑添加xhost

这个命令是添加在本地主机上的,也就是你自己的电脑上的。后面的ip是需要远程连接的小电脑上面的。

1
xhost +10.42.0.101

xhost 是用来控制X server访问权限的。

通常当你从hostA登陆到hostB上运行hostB上的应用程序时,做为应用程序来说,hostA是client,但是对图形来说,是在hostA上显示的,需要使用hostA的Xserver,所以hostA是server。因此在登陆到hostB前,需要在hostA上运行xhost +来使其它用户能够访问hostA的Xserver。

远程连接图像化界面显示

xclock

出现了一个很奇怪的问题

dji@manifold2:~/projects/XJM/linuxSDK_V2.1.0.32/demo/GTK_Demo$ sudo ./GTK_demo

iCameraCounts =1

num =0 MV-SUA33GC MV-SUA33GC#0

input 0-0:0

E0913 09:20:00.208146 5707 MVCAMAPI.cpp:350] CameraInit Failed, err:-18,Version:2.1.0.32,FriendlyName:MV-SUA33GC#0,SN:049080710031

CameraInit Failed: -18

显示为相机检测到了,但是初始化有问题

看了井智的文档,之后发现这个是usb接口有问题。重新插拔就好了。。。。。

clion远程调试

在clion远程连接中又遇到了-18那个报错,又是usb接口有问题,重新插拔解决问题

同时因为cmake和c++标准不同,对待代码进行了小部分修改。

疑惑

部署cmake-build-debug

这个文件是干什么用的

是光把可执行文件移动过来了么

vscode远程调试

回到家的感觉

ForwardX11 yes 是SSH配置文件中的一项选项,用于启用X11转发。让我们更详细地解释X11转发以及这个配置选项的作用。

X11 转发简介:

X11是一种用于图形用户界面(GUI)的协议,允许在一个计算机上运行的程序的图形界面在另一个计算机上显示。在SSH连接中,X11转发允许你在远程服务器上运行图形应用程序,并将它们的图形界面显示在本地计算机上。这对于远程管理和运行图形应用程序非常有用,特别是当你需要在远程服务器上进行图形工作时。

**ForwardX11 yes**** 的作用:**

  • ForwardX11 是SSH客户端的配置选项之一。
  • yes 是其参数,表示启用X11转发。

当你在SSH客户端配置文件中将 ForwardX11 设置为 yes 时,它告诉SSH客户端在建立与远程服务器的连接时启用X11转发功能。这意味着,如果你运行了一个需要图形界面的应用程序,它将在远程服务器上运行,并且其图形界面将通过SSH连接传输到你的本地计算机,以便你可以在本地看到和操作该应用程序的图形界面。

举例来说,如果你在远程服务器上运行了一个图形编辑器,启用了X11转发后,你可以在本地计算机上看到该编辑器的窗口,就好像它是在你的本地计算机上运行的一样。

请注意,X11转发可能会带来一些安全风险,因此应仔细考虑是否启用它,特别是在与不信任的远程服务器建立连接时。如果不需要图形界面,建议禁用X11转发以增加安全性。要禁用X11转发,可以将 ForwardX11 设置为 no 或者注释掉该行(在SSH配置文件中使用 # 符号)。

clion和vscode区别

我认为vscode 各个方面都比clion好(bushi

也能直接拖拽文件,完成文件的导入

出现的问题

和这个是想和github建立连接,然后一直在加载,等一段时间加载失败之后恢复正常了

实车调试

GTK_demo:4201): Gtk-WARNING **: 20:07:49.566: cannot open display: localhost:10.0

由于之前使用的是nuc,没遇到这个问题,所以直接忽略了文档中这部分命令

车上使用的是妙算。出现了这个问题,查了半天美差出来,也忘了文档里面有。最后在井智的提示下解决问题

与x11有关。

重点了解的命令

TOP命令参数详解—10分钟学会top用法_top参数详解_江湖人称小青年的博客-CSDN博客

linux kill命令参数及用法详解 - etwits - 博客园

每天一个linux命令(41):ps命令 - peida - 博客园

最后成功杀死

root 972 940 0 21:36 ? 00:00:00 bash /home/dji/projects/hero2023/herocv2023-dev-standard_dev/scripts/new_watchdog.sh

dji 2107 1931 0 21:37 pts/2 00:00:00 grep –color=auto –exclude-dir=.bzr –exclude-dir=CVS –exclude-dir=.git –exclude-dir=.hg –exclude-dir=.svn –exclude-dir=.idea –exclude-dir=.tox new_watchdog.sh

我最开始疑惑怎么两个这个名字的文件

后来发现下面这个是用来查找的的命令

根据提供的命令输出,看起来您正在查看正在运行的进程列表,并且您似乎希望使用中文解释这些信息。

  1. 第一行:
    • 用户:root
    • 进程ID:972
    • 父进程ID:940
    • CPU使用率:0
    • 启动时间:21:36
    • 终端类型:?
    • 进程状态:00:00:00
    • 命令:bash /home/dji/projects/hero2023/herocv2023-dev-standard_dev/scripts/new_watchdog.sh
  2. 第二行:
    • 用户:dji
    • 进程ID:2107
    • 父进程ID:1931
    • CPU使用率:0
    • 启动时间:21:37
    • 终端类型:pts/2
    • 进程状态:00:00:00
    • 命令:grep –color=auto –exclude-dir=.bzr –exclude-dir=CVS –exclude-dir=.git –exclude-dir=.hg –exclude-dir=.svn –exclude-dir=.idea –exclude-dir=.tox new_watchdog.sh

第一行中的进程由root用户启动,其目的是运行一个名为“new_watchdog.sh”的脚本。第二行中的进程由dji用户启动,它是一个grep命令,用于搜索包含“new_watchdog.sh”的文件,并进行颜色高亮显示。