树莓派配置双网卡分别为AD HOC和AP模式

树莓派配置双网卡分别为AD HOC和AP模式

  1. 需求说明:为了实现分级网络管理,将多个无人机分簇,簇间使用AD HOC进行无中心自组织的网络,簇内使用AP-AC模式进行中心化网络。因此,需要配置一台设备,同时完成AD HOC+AP模式的网络配置。
  2. 配置说明:树莓派3B+,安装了64位官方操作系统,插上了一个USB网卡RTL8811CU。
  3. 预期效果
    a. AD HOC可以ping通对方
    b. AP模式可以连接

一、树莓派更新源

  1. 更新源
    a. 首先使用 uname -a 查看系统,结果如下
    在这里插入图片描述
    b. 依照该教程进行源的替换:树莓派官方32位和64位系统换源

  2. 更新和安装库
    a. 更新

sudo apt-get update
sudo apt-get upgrade

b. 安装 dnsmasq

sudo apt update
sudo apt install dnsmasq
  1. 安装USB 网卡驱动
    参考我的另外一个博客,进行安装。

  2. 查看网卡和支持类型

ifconfig
iwconfig
iw list

二、配置wlan0为AD HOC模式

  1. 在配置文件中进行调整:
sudo nano /etc/network/interfaces

使用如下内容来替换文件中的 wlan0 配置部分:

auto wlan0
iface wlan0 inet staticaddress 192.168.100.2netmask 255.255.255.0network 192.168.100.0broadcast 192.168.100.255wireless-channel 1wireless-essid CPS-IBSSwireless-mode ad-hoc
  1. 修改无线配置文件:编辑 /etc/wpa_supplicant/wpa_supplicant.conf,确保不包含任何与AP相关的配置。
  2. 使用以下命令重启无线服务:
sudo ifdown wlan0
sudo ifup wlan0

三、配置wlan1为AP模式

  1. 创建或编辑hostapd的配置文件 /etc/hostapd/hostapd.conf,使用以下内容:
interface=wlan1
driver=nl80211
ssid=CPS-AP-A
hw_mode=g
channel=6
ieee80211n=1
wmm_enabled=1
ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]macaddr_acl=0
ignore_broadcast_ssid=0
auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=CPS123456
wpa_pairwise=TKIP
rsn_pairwise=CCMP
  1. 编辑 /etc/default/hostapd 文件,指定配置文件位置:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
  1. 编辑 /etc/dnsmasq.conf,添加以下内容:
interface=wlan1
dhcp-range=192.168.101.10,192.168.101.100,255.255.255.0,24h
  1. 设置静态 IP 地址。编辑 /etc/dhcpcd.conf 文件,添加以下配置:
interface wlan1
static ip_address=192.168.101.1/24
nohook wpa_supplicant
  1. 启动和启用服务
    a. 重启 dhcpcd
sudo service dhcpcd restart

b. 启动 hostapd 和 dnsmasq

sudo systemctl start hostapd
sudo systemctl enable hostapd
sudo systemctl restart dnsmasq
  1. 配置防火墙(如果需要)
    如果树莓派连接到互联网,并且您希望分享互联网连接,可能需要设置NAT规则:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

编辑 /etc/rc.local 文件,在“exit 0”之前添加以下行以恢复IPTABLES规则:

iptables-restore < /etc/iptables.ipv4.nat

四、测试结果

  1. 重启之后,有一定几率出现wlan0没有变为AD HOC模式,而是managed模式。
  2. 如果一切正常,则是AD HOC模式+AP模式。HOC之间可以互相ping通,AP模式也可以被其他设备连接并互相ping通。
    问题
    之前使用了三台设备组成AD HOC网络,可以正常ping通,但是有如下问题:
  3. 必须3台设备同时在线,一台设备关闭ad hoc或者关机,另外两台就无法ping通。
  4. 尝试更换essid名字、ip,无法解决。
  5. 尝试使用动态ad hoc网络协议,不成功。
  6. 尝试清除路由缓存,不成功。
  7. 总之就是问题不知道出现在哪里,按理说AD HOC自组织网络,怎么断掉一个就不行了呢?
    计划尝试解决
  8. 难道是至少三台设备?后续用4台设备,然后断开一台设备进行测试。

五、最终测试结果

  1. 对上述的猜测进行测试,果然是最少需要三台设备才能组成AD HOC网络。测试过程为,准备4台设备正常ping,去除任意一台也可以正常ping,但是同时去除2台就无法ping成功。

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

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

相关文章

什么是IP跳变?

IP 跳跃&#xff08;也称为 IP 跳动&#xff09;的概念已引起使用代理访问网站的用户的极大关注。但 IP 跳跃到底是什么&#xff1f;为什么它对于各种在线活动至关重要&#xff1f; 在本文中&#xff0c;我们将深入探讨 IP 跳跃的世界&#xff0c;探索其实际应用、用例、潜在问…

MySQL性能优化(提升数据库性能的措施)

万物皆有裂痕&#xff0c;那是光照进来的地方。大家好&#xff0c;今天给大家分享一下关于MySQL性能优化&#xff0c;在处理大型数据集和高负载情况下&#xff0c;MySQL数据库的性能优化是至关重要的。通过合理的调优策略&#xff0c;可以有效提高数据库的响应速度和稳定性。本…

【OceanBase诊断调优】—— SQL 执行报错而不能计入 SQL_AUDIT 的情况

通常&#xff0c;执行成果的 SQL 都会计入 SQL_AUDIT 中&#xff0c;而执行报错的 SQL 则需要依据其执行报错的阶段来决定是否计入 SQL_AUDIT 中。 在 OceanBase 数据库中&#xff0c;SQL 请求的执行流程如图所示。 如果 SQL 在进入 Executor 阶段前发生报错&#xff0c;则该 …

德克萨斯大学奥斯汀分校自然语言处理硕士课程汉化版(第一周) - 自然语言处理介绍和线性分类

自然语言处理介绍和线性分类 1. 自然语言处理介绍2. 线性二分类3. 情感分析和基础特征提取 3.1. 情感分析3.2. 特征提取3.3. 文本预处理 4. 学习的基础-梯度下降算法5. 感知机6. 逻辑回归7. 情感分析8. 感知机和逻辑回归 1. 自然语言处理介绍 自然语言处理的目标是什么 能够解…

2024.1IDEA 到2026年

链接&#xff1a;https://pan.baidu.com/s/1hjJEV5A5k1Z9JbPyBXywSw?pwd9g4i 提取码&#xff1a;9g4i解压之后,按照 操作说明.txt 操作; IntelliJ IDEA 2024.1 (Ultimate Edition) Build #IU-241.14494.240, built on March 28, 2024 Licensed to gurgles tumbles You have…

Docker in Docker(DinD)原理与实战

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《Docker幻想曲&#xff1a;从零开始&#xff0c;征服容器宇宙》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、Docker简介 2、Docker …

使用 AI Assistant for Observability 和组织的运行手册增强 SRE 故障排除

作者&#xff1a;Almudena Sanz Oliv, Katrin Freihofner, Tom Grabowski 通过本指南&#xff0c;你的 SRE 团队可以实现增强的警报修复和事件管理。 可观测性 AI 助手可帮助用户使用自然语言界面探索和分析可观测性数据&#xff0c;利用自动函数调用来请求、分析和可视化数据…

(java)websocket服务的两种实现方式

1.基于java注解实现websocket服务器端 1.1需要的类 1.1.1服务终端类 用java注解来监听连接ServerEndpoint、连接成功OnOpen、连接失败OnClose、收到消息等状态OnMessage 1.1.2配置类 把spring中的ServerEndpointExporter对象注入进来 2.1代码示例 2.1.1 maven配置 <…

【iOS】RunLoop详解(二)

RunLoop详解&#xff08;二&#xff09; RunLoop 的概念RunLoop 与线程的关系RunloopRunloop与线程的关系RunLoop对外的接口Runloop的Mode举例说明小结 RunLoop 的内部逻辑RunLoop的底层实现苹果用RunLoop实现的功能AutoreleasePool事件响应手势识别界面更新定时器PerformSelec…

mysql中sql语句 exists 判断子句的用法

如果子查询成立才执行父查询 exists判断子查询的使用例子&#xff1a; 张三不存在所以前面的父查询不执行 后面的子句结果存在&#xff0c;所以前面的父查询被执行 where条件所连接的嵌套子查询都是&#xff0c;条件子查询 ———————————————————————…

【初级数据结构】队列

目录 前言队列的概念及结构队列的实现队列的结构队列的初始化队列的销毁入队出队取队头元素取队尾元素判断队列是否为空取出队列中元素个数代码测试 完整代码Queue.hQueue.ctest.c 前言 前面我们已经学习了栈&#xff0c;栈是一种后进先出的结构&#xff0c;即LIFO&#xff0c;…

资产公物仓管理系统|实现国有资产智能化管理

1、项目背景 资产公物仓管理系统&#xff08;智仓库DW-S201&#xff09;是一套成熟系统&#xff0c;依托互3D技术、云计算、大数据、RFID技术、数据库技术、AI、视频分析技术对RFID智能仓库进行统一管理、分析的信息化、智能化、规范化的系统。 项目设计原则 方案对公物仓资…

Java | Leetcode Java题解之第78题子集

题目&#xff1a; 题解&#xff1a; class Solution {List<Integer> t new ArrayList<Integer>();List<List<Integer>> ans new ArrayList<List<Integer>>();public List<List<Integer>> subsets(int[] nums) {dfs(0, nums…

cookie,session,token

目的&#xff1a;解决用户登录状态 从一个简单的登录开始说起&#xff0c; 在我们访问bilibili的时候&#xff0c;第一次需要登录&#xff0c;但后续就不需要登录了&#xff0c;可以直接访问bilibili。 而且每次在页面请求服务器的资源都需要维持登录状态&#xff0c;如果没…

【硬件模块】ESP-01SWiFi模块基于AT指令详解(WiFi,TCP/IP,MQTT)

ESP-01S ESP-01S是由安信可科技开发的一款Wi-Fi模块。其核心处理器是ESP8266&#xff0c;该处理器在较小尺寸的封装中集成了业界领先的Tensilica L106超低功耗32位微型MCU&#xff0c;带有16位精简模式&#xff0c;主频支持80MHz和160MHz&#xff0c;并集成了Wi-Fi MAC/BB/RF/P…

手把手教你用 spacy3 训练中文NER

文章目录 模型文件下载训练模型准备数据转化成 doc_bin 格式模型训练配置生成初始配置补全完整配置 开始训练 测试模型参考文献 模型文件下载 https://github.com/explosion/spacy-models/releases?qzh&expandedtrue 简单测试一下ner效果&#xff0c;发现根本不能用 训…

Maven:继承和聚合

Maven高级 分模块设计和开发 如果在我们自己的项目中全部功能在同一个项目中开发,在其他项目中想要使用我们封装的组件和工具类并不方便 不方便项目的维护和管理 项目中的通用组件难以复用 所以我们需要使用分模块设计 分模块设计 在项目设计阶段,可以将大的项目拆分成若…

物联网杀虫灯—新型的环保杀虫设备

型号推荐&#xff1a;云境天合TH-FD2S】物联网杀虫灯是一种新型环保杀虫设备&#xff0c;其中风吸式太阳能杀虫灯作为其一种特殊类型&#xff0c;展现了独特的工作原理和优势。 风吸式太阳能杀虫灯以太阳能电池板为电源&#xff0c;白天储存电源&#xff0c;晚上为杀虫灯提供电…

spsr 的恢复出错,导致 thumb 指令集的 it 条件运行指令运行异常,清晰的调试思路帮助快速解决问题

记一次调试过程 这是一个在 arm 架构上的 RTOS 上的调试过程。问题现象为使用 thumb 指令集的 libgcc 库的情况下&#xff0c;浮点运算随机出错。经过一番追踪调试&#xff0c;逐步缩小问题范围&#xff0c;最后定位问题&#xff0c;成功解决。 场景 在某款的国产 RTOS 上&a…

使用Flask构建POST请求的Web应用

文章目录 准备工作创建路由处理POST请求创建表单页面运行应用结论 在Web开发中&#xff0c;处理POST请求是一项常见任务&#xff0c;特别是在构建表单提交、用户注册和数据提交等功能时。Flask是一个简单而强大的Python Web框架&#xff0c;它提供了方便的工具来处理HTTP请求&a…