ROS多机通信(四)——Ubuntu 网卡 Mesh 模式配置指南

引言

使用Ad-hoc加路由协议和直接Mesh模式配置网卡实现的网络结构是一样的,主要是看应用选择,

  • Ad-Hoc模式 + B.A.T.M.A.N. / OLSR
    优点:灵活性高,适合移动性强或需要优化的复杂网络。
    缺点:配置复杂,需手动管理路由协议。
  • Mesh模式(802.11s)
    优点:配置简单,内置路由功能,易于部署。
    缺点:路由协议标准化,灵活性较低。
    在实现机器人之间的通信的时候,和为了适应大部分的场景我还是建议使用Ad-Hoc模式 + B.A.T.M.A.N. / OLSR
    这里是另外一篇文章的链接:
    Ubuntu Ad-Hoc 组网通信配置指南

基本概念

Mesh网络是去中心化的,功能更强大。节点不仅可以直接通信,还可以通过其他节点中继数据。每个节点都能充当路由器,自动发现和维护与其他节点的连接路径。这种中继机制使Mesh网络的覆盖范围更大,即使某些节点失效,网络仍能通过其他路径继续运行。

简介

本指南将帮助您在 Ubuntu 系统上将无线网卡配置为 Mesh 模式(基于 IEEE 802.11s 标准),以加入或创建一个 Mesh 网络。

前提条件

  • 硬件:无线网卡需支持 Mesh 模式(可通过 iw list 检查是否支持 mesh point)。
  • 软件:Ubuntu 系统(建议 20.04 LTS 或更高版本),并安装 iw 工具。
  • 权限:需要管理员权限(使用 sudo)。

配置步骤

1. 确认网卡支持 Mesh 模式

运行以下命令,检查无线网卡是否支持 Mesh 模式:

iw list

在输出中查找 Supported interface modes,确认是否有 mesh point。若支持,继续后续步骤;若不支持,则需更换网卡。

2. 安装 iw 工具

若系统中未安装 iw,执行以下命令安装:

sudo apt-get update
sudo apt-get install iw

3. 查看无线网卡名称

运行以下命令,确认无线网卡的接口名称(通常为 wlan0wlp2s0):

ip link

记下您的网卡名称,后续步骤将以 wlan0 为例。

4. 关闭无线网卡

在配置前,先关闭网卡:

sudo ip link set wlan0 down

5. 设置为 Mesh 模式

将网卡设置为 Mesh Point 模式:

sudo iw dev wlan0 set type mp

6. 配置 Mesh ID 和频道

为 Mesh 网络设置标识符(Mesh ID)和频道:

sudo iw dev wlan0 set meshid MyMeshNetwork
sudo iw dev wlan0 set channel 6
  • MyMeshNetwork:自定义 Mesh ID,同一网络中的设备需保持一致。
  • 6:频道号(范围 1-11),需与其他设备一致。

7. 开启无线网卡

重新启用网卡:

sudo ip link set wlan0 up

8. 分配 IP 地址

为 Mesh 接口分配静态 IP 地址(例如 192.168.1.1):

sudo ip addr add 192.168.1.1/24 dev wlan0

同一网络中的其他设备可设置为 192.168.1.2 等,确保在同一网段(192.168.1.0/24)。

9. 验证配置

检查网卡是否成功配置为 Mesh 模式:

iw dev wlan0 info

确认 type 显示为 mesh point

完整命令示例

以下是以 wlan0 为例的完整配置流程:

# 确认网卡支持 Mesh 模式
iw list# 关闭网卡
sudo ip link set wlan0 down# 设置为 Mesh 模式
sudo iw dev wlan0 set type mp# 设置 Mesh ID 和频道
sudo iw dev wlan0 set meshid MyMeshNetwork
sudo iw dev wlan0 set channel 6# 开启网卡
sudo ip link set wlan0 up# 分配 IP 地址
sudo ip addr add 192.168.1.1/24 dev wlan0# 验证配置
iw dev wlan0 info

注意事项

  • Mesh ID 和频道:所有设备的 Mesh ID 和频道必须一致。
  • IP 地址:确保设备 IP 在同一网段且不冲突。
  • 安全性:默认配置无加密,生产环境建议使用 wpa_supplicant 配置加密。
  • 驱动支持:部分网卡可能需要特定驱动,配置前请查阅硬件文档。

故障排除

  • 无法连接:
    • 检查 Mesh ID 和频道是否一致。
    • 确认 IP 地址是否在同一网段。
  • 查看配置:
    iw dev wlan0 info    # 查看 Mesh 配置
    ip addr show wlan0   # 查看 IP 配置
    

总结

通过以上步骤,您可以在 Ubuntu 上快速配置无线网卡为 Mesh 模式并加入 Mesh 网络。Mesh 网络提供去中心化的通信方式,适用于多种场景。希望本指南对您有所帮助!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/74268.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

chap1:统计学习方法概论

第1章 统计学习方法概论 文章目录 第1章 统计学习方法概论前言章节目录导读 实现统计学习方法的步骤统计学习分类基本分类监督学习无监督学习强化学习 按模型分类概率模型与非概率模型 按算法分类按技巧分类贝叶斯学习核方法 统计学习方法三要素模型模型是什么? 策略损失函数与…

爬虫案例-爬取某站视频

文章目录 1、下载FFmpeg2、爬取代码3、效果图 1、下载FFmpeg FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。 点击下载: ffmpeg 安装并配置 FFmpeg 步骤: 1.下载 FFmpeg: 2.访问 FFmpeg 官网。 3.选择 Wi…

车载以太网网络测试-22【传输层-DOIP协议-5】

目录 1 摘要2 DoIP时间参数2.1 ISO 13400定义的时间参数2.2 参数示例 3 DoIP节点内部状态机4 UDSonIP概述5 总结 1 摘要 本文继续对DOIP协议进行介绍,主要是DOIP相关的时间参数、时间参数定义以及流程示例。推荐大家对上文专题进行回顾,有利于系统性学习…

(论文总结)思维链激发LLM推理能力

研究背景&动机 背景:扩大模型规模已被证实具有提升模型性能和模型效率的功效,但是LLM对于完成推理、算术任务仍有较大不足。 动机:从之前的应用和研究中得知,可以用生成自然语言解释、使用神经符号等形式语言的方法来提高大模型的算术推理能力&…

前后端开发概述:架构、技术栈与未来趋势

一、前后端开发的基本概念 1.1 什么是前后端开发? 前后端开发是 Web 开发的两个核心部分,各自承担不同的职责: 前端(Frontend) 负责网页的用户界面(UI)和用户体验(UX)…

anythingLLM结合searXNG实现联网搜索

1、docker-compose 部署searXNG GitHub - searxng/searxng-docker: The docker-compose files for setting up a SearXNG instance with docker. cd /usr/local git clone https://github.com/searxng/searxng-docker.git cd searxng-docker 2、修改 .env文件 # By default…

人形机器人科普

人形机器人(Humanoid Robot)是一种模仿人类外形和行为的机器人,通常具有头部、躯干、双臂和双腿等结构。它们的设计目标是与人类环境无缝交互,执行复杂的任务,甚至在某些领域替代人类工作。 1. 人形机器人的定义与特点…

【CICD】Ansible知识库

一、主机清单配置 1. 配置文件路径 默认路径 /etc/ansible/hosts 这是 Ansible 的全局默认库存文件路径,但许多用户可能不会直接使用它。项目目录或自定义路径 用户通常会为不同项目创建独立的库存文件,例如: 当前目录下的 hosts、inventor…

ArkUI-List组件

列表是一个复杂的容器,当列表项达到一定数量,使得列表内容超出其范围的时候,就会自动变为可以滚动。列表适合用来展现同类数据类型。 List的基本使用方法 List组件的构建声明是这个样子的 List(value?: {space?:number | string, initial…

Ubuntu实时读取音乐软件的音频流

文章目录 一. 前言二. 开发环境三. 具体操作四. 实际效果 一. 前言 起因是这样的,我需要在Ubuntu中,实时读取正在播放音乐的音频流,然后对音频进行相关的处理。本来打算使用的PipewireHelvum的方式实现,好处是可以直接利用Helvum…

【yolo】YOLO训练参数输入之模型输入尺寸

模型输入尺寸是YOLO训练和推理过程中非常重要的参数之一。YOLO要求输入图像的尺寸是固定的,通常为正方形(如416416、640640等)。这个尺寸直接影响模型的性能和速度。以下是对模型输入尺寸的详细介绍: 1. 模型输入尺寸的作用 统一…

【TI MSPM0】Timer学习

一、计数器 加法计数器:每进入一个脉冲,就加一减法计算器:每进入一个脉冲,就减一 当计数器减到0,触发中断 1.最短计时时间 当时钟周期为1khz时,最短计时时间为1ms,最长计时时间为65535ms 当时…

从WebRTC到嵌入式:EasyRTC如何借助大模型提升音视频通信体验

随着人工智能技术的快速发展,WebRTC与大模型的结合正在为音视频通信领域带来革命性的变革。WebRTC作为一种开源实时通信技术,以其低延迟、跨平台兼容性和强大的音视频处理能力,成为智能硬件和物联网设备的重要技术支撑。 而EasyRTC作为基于W…

使用brower use AI 代理自动控制浏览器完成任务

第一步:终端运行命令下载 brower use pip install browser-use 第二步: 终端运行命令下载playwright playwright install 第三步:新建test.py代码,粘贴复制以下代码 import asyncio import osfrom dotenv import load_doten…

自由学习记录(45)

顶点片元着色器(important) 1.需要在Pass渲染通道中编写着色器逻辑 2.可以使用cG或HLSL两种shader语言去编写Shader逻辑 3.代码量较多,灵活性较强,性能消耗更可控,可以实现更多渲染细节 4.适用于光照处理较少&#xf…

Quartus + VScode 实现模块化流水灯

文章目录 一、通过VScode编写Verilog代码二、模块化编程三、代码示例 一、通过VScode编写Verilog代码 1、下载Vscode 2、下载相关插件 搜索Verilog就会弹出有如图所示的插件,下载并安装 3、创建Quartus项目 4、创建完成后点击Tools,选择Options 然后在…

tryhackme——The Lay of the Land

文章目录 一、网络基础设施1.1 内网1.2 DMZ区1.3 网络枚举(Network Enumeration) 二、域环境三、用户和组管理四、安全解决方案4.1 基于主机的安全解决方案4.1.1 防病毒软件4.1.2 Microsoft Windows Defender4.1.3 主机防火墙4.1.4 安全事件记录与监控4.…

STM32---FreeRTOS消息队列

一、简介 1、队列简介: 队列:是任务到任务,任务到中断、中断到任务数据交流的一种机制(消息传递)。 FreeRTOS基于队列,实现了多种功能,其中包括队列集、互斥信号量、计数型信号量、二值信号量…

2025年了,5G还有三个新变化

最近舆论开始讨论5G为什么不火了?5G是不是停滞发展了。 实际上,5G不仅在发展,还迎来了它的升级版5G-A。 在今年西班牙举行的世界移动通信大会上,5G-A就是焦点之一。 被誉为全球通信领域风向标的MWC,汇聚了华为、中兴通…

SQLMesh SCD-2 时间维度实战:餐饮菜单价格演化追踪

场景背景:动态菜单价格管理 考虑某连锁餐厅的菜单管理系统,需要记录食品价格的历史变更轨迹。业务需求包括: 记录每次价格调整的时间点支持历史价格查询(如"2020年1月2日汉堡多少钱")维护当前有效价格清单…