ArmSoM RK3588/RK3576核心板,开发板网络设置
ArmSoM系列产品都搭配了以太网口或WIFI模块,PCIE转以太网模块、 USB转以太网模块等,这样我们的网络需求就不止是上网这么简单了,可以衍生出多种不同的玩法。
1. 网络连接
连接互联网或者组成局域网都需要满足一个前提–设备需要获取到ip, ip可以理解为设备的名字,局域网内的设备在局域网内可以通过ip进行沟通。 如下 192.168.10.100
armsom@armsom-sige7:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft forever
2: enP4p65s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 92:be:6d:d5:e7:b4 brd ff:ff:ff:ff:ff:ff permaddr 72:d3:55:ba:fe:0ainet 192.168.10.100/24 brd 192.168.10.255 scope global dynamic noprefixroute enP4p65s0valid_lft 34665sec preferred_lft 34665sec
1.1. ping命令
ping(Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。 它是用来检查网络是否通畅或者网络连接速度的命令
ping的原理: 向指定的网络地址发送一定长度的数据包,按照约定,若指定网络地址存在的话, 会返回同样大小的数据包,当然,若在特定时间内没有返回,就是“超时”,会被认为指定的网络地址不存在
1.2.局域通信
一个局域网中是必备网关(gateway)的, 我们可以通过ping网关来看自己的ip能不能成功使用,如果连网关都ping不通就证明这个局域网是没有连接起来。
#ping命令
sudo ping + ip地址
- 成功联网就可以看到有一连串的数据,如下
armsom@armsom-sige7:~$ sudo ping 192.168.10.1
ping: socket: Address family not supported by protocol
PING 192.168.10.1 (192.168.10.1) 56(84) bytes of data.
64 bytes from 192.168.10.1: icmp_seq=1 ttl=64 time=0.649 ms
64 bytes from 192.168.10.1: icmp_seq=2 ttl=64 time=0.583 ms
64 bytes from 192.168.10.1: icmp_seq=3 ttl=64 time=0.571 ms
64 bytes from 192.168.10.1: icmp_seq=4 ttl=64 time=0.614 ms
64 bytes from 192.168.10.1: icmp_seq=5 ttl=64 time=0.583 ms
64 bytes from 192.168.10.1: icmp_seq=6 ttl=64 time=0.703 ms
1.3. 连接互联网
我们可以通过ping网站来查看产品是否连接互联网
#ping命令
sudo ping xxx.com
- 以baidu.com为例,成功联网就可以看到有一连串的数据,如图下
armsom@armsom-sige7:~$ sudo ping www.baidu.com
ping: socket: Address family not supported by protocol
PING www.a.shifen.com (183.2.172.185) 56(84) bytes of data.
64 bytes from 183.2.172.185 (183.2.172.185): icmp_seq=1 ttl=52 time=7.83 ms
64 bytes from 183.2.172.185 (183.2.172.185): icmp_seq=2 ttl=52 time=7.80 ms
64 bytes from 183.2.172.185 (183.2.172.185): icmp_seq=3 ttl=52 time=8.36 ms
64 bytes from 183.2.172.185 (183.2.172.185): icmp_seq=4 ttl=52 time=8.39 ms
2. 命令行图形化连接
- 进入图形配置
armsom@armsom-sige7:~$ sudo nmtui
- 移动键盘方向键移动到 Active a connection 按 Enter键 进入wifi设置
- 移动方向键到你要连接的wifi,按 Enter键
- 如果是连接未连接的有密码的热点则进入输入密码界面
- 如果想要断开wifi,在已连接的状态按下 Enter键 就可以断开连接
3. 命令行连接
- 列出wifi列表
armsom@armsom-sige7:~$ nmcli dev wifi list
- 连接wifi
以热点: armsom 密码:armsom88 使用接口wlan0为例
# 第一次连接
armsom@armsom-sige7:~$ sudo nmcli dev wifi connect armsom password 'armsom88' ifname wlan0
Device 'wlan0' successfully activated with '7867c3af-dca2-4e9a-9721-a20f7a0e1b46'.# 第一次连接成功后,再连接或切换wifi后
armsom@armsom-sige7:~$ sudo nmcli dev wifi connect armsom
4. 桌面端连接
使用有线上网时,请将网线插入RJ45接口。 桌面右上角会有一个网络连接图标,选择你要连接的网络,输入密码就可以上网了。
5. USB共享网络
todo
6. 静态网络配置
6.1. nmtui
- 设置静态地址前的ip地址
armsom@armsom-sige7:~$ sudo ifconfig
enP4p65s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.10.100 netmask 255.255.255.0 broadcast 192.168.10.255ether 92:be:6d:d5:e7:b4 txqueuelen 1000 (Ethernet)RX packets 23758 bytes 1774543 (1.6 MiB)RX errors 0 dropped 80 overruns 0 frame 0TX packets 67013 bytes 3879463 (3.6 MiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0device interrupt 155
如果想要成功的设置静态地址需要留意你想要设置的ip地址是否被其他设备占用, 可以用ping 设置的静态地址,如果有数据返回证明ip是被其他设备占用的
这里建议不懂网络配置的萌新可以把静态地址设为动态连接时获得的ip地址
以下为详细步骤
- 进入图形配置
armsom@armsom-sige7:~$ nmtui
移动键盘方向键移动到 Edit a connection 按 Enter键 进入wifi设置
选择你要编辑的网络,这里以eth0为例
- 进入可以看到网络的默认配置
- 需要将 IPV4 CONFIGURATION 设置为Manual
- 然后移动光标到 show 按enter进入详细配置
这里以ip地址192.168.10.13 , 网关 192.168.10.1 为例
ip地址和网关需要根据自己的实际网络情况进行配置, 如果照抄这里的配置,很大机率会让你的产品连不上网, 初级开发者建议将静态ip修改为动态获取的ip
- 网关的获得方式
#1.将网络设置为自动获取ip#2.成功获取ip后,使用命令
route#结果
root@armsom-w3:/home/armsom# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.10.1 0.0.0.0 UG 100 0 0 enP4p65s0
192.168.10.0 0.0.0.0 255.255.255.0 U 100 0 0 enP4p65s0#3.Gateway就是我们的网关,使用下列命令
route -n#结果
root@lubancat:~# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.10.1 0.0.0.0 UG 100 0 0 enP4p65s0
192.168.10.0 0.0.0.0 255.255.255.0 U 100 0 0 enP4p65s0#可以看到我们的网关地址 ---- 192.168.10.1
-
192.168.10.13/24 其中/24表示为掩码255.255.255.0,
-
DNS servers 全国通用DNS–>114.114.114.114 全球通用DNS–>8.8.8.8
-
search domain 可沿用DNS servers设置,
-
DNS servers 和 search domain 可以设置多个。
-
设置完后,就可以移动到后面点击ok完成设置
-
完成设置后需要激活设置才能让网络生效,点击 Activate a connection 进入连接,按一次enter取消连接,再按一次enter键重新连接
-
重新连接后的IP就变成了我们设置的ip了
root@armsom-w3:/home/armsom# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft forever
2: enP4p65s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 92:be:6d:d5:e7:b4 brd ff:ff:ff:ff:ff:ff permaddr be:87:f6:b4:e5:adinet 192.168.10.13/24 brd 192.168.10.255 scope global noprefixroute enP4p65s0valid_lft forever preferred_lft forever
3: wlP2p33s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000link/ether 2c:05:47:8e:4a:6c brd ff:ff:ff:ff:ff:ff
4: wlan1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000link/ether 2e:05:47:8e:4a:6c brd ff:ff:ff:ff:ff:ff
我们还可以使用 ping mi.com 来查看是否成功连接外部网络
root@armsom-w3:/home/armsom# ping mi.com
ping: socket: Address family not supported by protocol
PING sgp.ali.cdn.b2cop.lb.mi.com (161.117.94.231) 56(84) bytes of data.
64 bytes from 161.117.94.231 (161.117.94.231): icmp_seq=1 ttl=87 time=48.8 ms
64 bytes from 161.117.94.231 (161.117.94.231): icmp_seq=2 ttl=87 time=49.5 ms
6.1. nmcli
以 enP4p65s0 为例,这一步操作和在nmtui的编辑网络一样,只不过从图形界面变成命令行的操作, 命令行里还有各种各样的命名,这里只介绍部分,有兴趣的可以自行探索
#先列出连接的配置,eth0现在连接的是Wired connection 1root@armsom-w3:/home/armsom# nmcli c s
NAME UUID TYPE DEVICE
Wired connection 1 e01f934d-7fae-344f-90bf-e2483db3f3e5 ethernet enP4p65s0
armsom d3d9a6ff-9c9c-44f8-a366-6a69af1edd1a wifi --
armsom 1 7867c3af-dca2-4e9a-9721-a20f7a0e1b46 wifi --
然后对Wired connection 1进行修改
#静态ip设置
sudo nmcli c modify 'Wired connection 1' [ + | - ]选项 选项值 # 或sudo nmcli c m 'Wired connection 1' ipv4.address 192.168.10.13/24 # 修改 IP 地址和子网掩码
sudo nmcli c m 'Wired connection 1' ipv4.method manual # 修改为静态配置,默认是 auto
sudo nmcli c m 'Wired connection 1' ipv4.gateway 192.168.10.1 # 修改默认网关
sudo nmcli c m 'Wired connection 1' ipv4.dns 8.8.8.8 # 修改 DNS
sudo nmcli c m 'Wired connection 1' +ipv4.dns 114.114.114.114 # 添加一个 DNS
sudo nmcli c m 'Wired connection 1' ipv6.method disabled # 将 IPv6 禁用
sudo nmcli c m 'Wired connection 1' connection.autoconnect yes # 开机启动注意,必须先修改 ipv4.address,然后才能修改 ipv4.method!
用空引号""代替选项的值,可将选项设回默认值(以 ipv4.method 为例):
#激活配置
sudo nmcli c up ifname eth0
配置完后,ip就改变了
armsom@armsom-sige7:~$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft forever
2: enP4p65s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 92:be:6d:d5:e7:b4 brd ff:ff:ff:ff:ff:ff permaddr be:87:f6:b4:e5:adinet 192.168.10.14/24 brd 192.168.10.255 scope global noprefixroute enP4p65s0valid_lft forever preferred_lft forever
3: wlP2p33s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000link/ether 2c:05:47:8e:4a:6c brd ff:ff:ff:ff:ff:ff
4: wlan1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000link/ether 2e:05:47:8e:4a:6c brd ff:ff:ff:ff:ff:ff
7. 创建WIFI热点
create_ap是一个帮助快速创建Linux上的WIFI热点的脚本,并且支持bridge和NAT模式,能够自动结合hostapd, dnsmasq和iptables完成WIFI热点的设置,避免了用户进行复杂的配置,github地址如下: GitHub - oblique/create_ap: [NOT MAINTAINED] This script creates a NATed or Bridged WiFi Access Point.
root@armsom-sige7:/home/armsom/create_ap# make install
7.1 create_ap 以 NAT 模式创建 WIFI 热点的方法
- 输入下面的命令以 NAT 模式创建名称为 armsom、密码为 armsom 的 WIFI 热点
armsom@armsom-sige7:~$ sudo create_ap -m nat wlan0 enP2p33s0 armsom armsom
相关文章:

ArmSoM RK3588/RK3576核心板,开发板网络设置
ArmSoM系列产品都搭配了以太网口或WIFI模块,PCIE转以太网模块、 USB转以太网模块等,这样我们的网络需求就不止是上网这么简单了,可以衍生出多种不同的玩法。 1. 网络连接 连接互联网或者组成局域网都需要满足一个前提–设备需要获取到ip&a…...

【学Rust开发CAD】1 环境搭建
文章目录 一、搭建C/C编译环境二、安装Rust三、配置 PATH 环境变量四、验证安装结果五、安装编辑工具 一、搭建C/C编译环境 Rust 的编译工具依赖 C 语言的编译工具,这意味着你的电脑上至少已经存在一个 C 语言的编译环境。如果你使用的是 Linux 系统,往…...

数据结构与算法之二叉树: LeetCode 108. 将有序数组转换为二叉搜索树 (Ts版)
将有序数组转换为二叉搜索树 https://leetcode.cn/problems/convert-sorted-array-to-binary-search-tree/description/ 描述 给你一个整数数组 nums ,其中元素已经按 升序 排列请你将其转换为一棵 平衡 二叉搜索树 示例 1 输入:nums [-10,-3,0,5,9…...

Java 多线程之@Async
SpringBoot 中使用 Async 使用 Async 注解步骤: 添加 EnableAsync 注解。在主类上或者 某个类上,否则,异步方法不会生效 添加 Async注解。在异步方法上添加此注解。异步方法不能被 static 修饰需要自定义线程池,则可以配置线程池…...

代码随想录day38 动态规划6
题目:322.零钱兑换 279.完全平方数 139.单词拆分 多重背包 背包总结 需要重做:322,139 322. 零钱兑换 思路:零钱,可取多次-》完全背包。 注意: 五部: 1.dp[j]:价值为j的时候,最…...
LabVIEW无标题的模态VI窗口的白框怎么去除?
在LabVIEW中,如果你遇到无标题的模态(modal)VI窗口显示有一个白框,通常是由于VI界面的一些属性或者控件设置问题导致的。为了去除这个白框,可以尝试以下几种方法: 1. 检查VI窗口属性设置 确保你的VI窗口属…...
iOS - 原子操作
在 Objective-C 运行时中,原子操作主要通过以下几种方式实现: 1. 基本原子操作 // 原子操作的基本实现 #if __has_feature(c_atomic)#define OSAtomicIncrement32(p) __c11_atomic_add((_Atomic(int32_t) *)(p), 1, __ATOMIC_RELAXED) #define …...
Go语言的语法
Go语言入门与实战 引言 在当今的开发环境中,随着互联网的快速发展,程序员们面临着越来越复杂的系统需求。针对这些需求,Go语言(又称Golang)作为一种新的编程语言应运而生。Go语言由Google开发,它具有简单…...

【MySQL 保姆级教学】用户管理和数据库权限(16)
数据库账户管理是指对数据库用户进行创建、修改和删除等操作,以控制用户对数据库的访问权限。通过账户管理,可以设置用户名、密码、主机地址等信息,确保数据库的安全性和可控性。例如,使用 CREATE USER 创建用户,ALTER…...
什么是 ES6 “模板语法” ?
ES6 提出了“模板语法”的概念。在 ES6 以前,拼接字符串是很麻烦的事情 var name css var career coder! var hobby [coding ,"writing] var finalString my name is name ,I work as a career I love hobby[0] and hobby[1]仅仅几…...
[项目实战2]贪吃蛇游戏
目录 贪吃蛇游戏:: 一、游戏效果及功能实现: 1.规则 2.基本功能实现 3.技术要点 …...

关于FPGA中添加FIR IP核(采用了GOWIN EDA)
文章目录 前言一、IP核二、MATLAB文件三、导出系数COE文件1.设计滤波器2.用官方的matlab代码或者直接用文本文件 四、进行模块化设计源文件 前言 FIR滤波器的特点是其输出信号是输入信号的加权和,权值由滤波器的系数决定。每个系数代表了滤波器在特定延迟位置上的“…...

1. 使用springboot做一个音乐播放器软件项目【前期规划】
背景: 现在大部分音乐软件都是要冲会员才可以无限常听的。对于喜欢听音乐的小伙伴,资金又比较紧张,是那么的不友好。作为程序员的我,也是喜欢听着歌,敲着代码。 最近就想做一个音乐播放器的软件,在内网中使…...

【Dify】Dify自定义模型设置 | 对接DMXAPI使用打折 Openai GPT 或 Claude3.5系列模型方法详解
一、Dify & DMXAPI 1、Dify DIFY(Do It For You)是一种自动化工具或服务,旨在帮助用户简化操作,减少繁琐的手动操作,提升工作效率。通过DIFY,用户能够快速完成任务、获取所需数据,并且可以…...

【Rust自学】10.8. 生命周期 Pt.4:方法定义中的生命周期标注与静态生命周期
喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 10.8.1. 方法定义中的生命周期标注 还记得在上一篇文章 10.7. 生命周期 Pt.3 中所提到的省略生命周期的三条规则吗: 规则1&…...
121 买入股票的最佳时机
思路1: 买的那天一定是卖的那天之前的最小值。 每到一天,维护那天之前的最小值即可。 假设第一天是最小值,最大值初始化为0,当以后某天的价格小于最小值时,将最小值更新 当天价格大于最小值,说明有利可图…...

PID学习资料
TI公司的CONTROLSUITE https://www.ti.com.cn/tool/cn/CONTROLSUITE学点PID专栏-小麦大叔PID控制器算法系列TI公开培训(中文字幕) 电机控制,PI控制器,PID控制器和现场定向控制 书籍: Advanced PID Control先进PID控制及其MATLAB仿真Practic…...

采用标准化的方式开展设计-研发中运用设计模式
概述 实现规范化、标准化的引导式设计,以业务需求为输入,识别业务特点,并通过引导式设计,找到最适合的设计模式、具体方案,汇总成为应用的设计,拉齐各应用的设计一的致性。 采用标准化的方式开展设计…...

【Linux系列】并发与顺序执行:在 Linux 脚本中的应用与选择
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
Scala语言的数据库交互
Scala语言的数据库交互 引言 在当今互联网应用的开发中,数据库几乎是每一个应用程序中不可或缺的一部分。选择合适的编程语言和工具与数据库进行交互,对于提升开发效率和应用性能至关重要。Scala作为一种现代的多范式编程语言,结合了面向对…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...

android13 app的触摸问题定位分析流程
一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...
为什么要创建 Vue 实例
核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...

保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!
目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...

ZYNQ学习记录FPGA(二)Verilog语言
一、Verilog简介 1.1 HDL(Hardware Description language) 在解释HDL之前,先来了解一下数字系统设计的流程:逻辑设计 -> 电路实现 -> 系统验证。 逻辑设计又称前端,在这个过程中就需要用到HDL,正文…...
当下AI智能硬件方案浅谈
背景: 现在大模型出来以后,打破了常规的机械式的对话,人机对话变得更聪明一点。 对话用到的技术主要是实时音视频,简称为RTC。下游硬件厂商一般都不会去自己开发音视频技术,开发自己的大模型。商用方案多见为字节、百…...

SFTrack:面向警务无人机的自适应多目标跟踪算法——突破小尺度高速运动目标的追踪瓶颈
【导读】 本文针对无人机(UAV)视频中目标尺寸小、运动快导致的多目标跟踪难题,提出一种更简单高效的方法。核心创新在于从低置信度检测启动跟踪(贴合无人机场景特性),并改进传统外观匹配算法以关联此类检测…...