树莓派搭建mesh网络

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树莓派搭建mesh网络相关的知识,希望对你有一定的参考价值。

参考技术A

设备:

参考资料:

如下图所示,mesh网络由MPP、MP、MAP三种设备组成:

这三种设备配置也不一样,他们之间是通过mesh链路连接在一起的,但是需要保证mesh节点工作的信道号和mesh id号必须相同!

首先要能ssh连上树莓派,由于树莓派本身的wifi模块不支持mesh网络,所以挑选了TL-WN722N V1

查看 https://www.jianshu.com/p/6407472e2550

在此示例中,我们将配置一个mesh节点以使用mesh网络,该节点将自动与使用相同配置(mesh和信道)的任何其他对等节点连接。

每个mesh节点都需要配置如下:

我的想使用第二张网卡也就是wlan1来做mesh组网,过程如下:
如果遇到了这个错误 command failed: Device or resource busy (-16) ,就先把网卡关掉在启用

添加mesh

查看是否创建成功

注意:默认情况下,所有mesh接口都从通道1开始。

关闭mesh0并设置mesh id

启用mesh0

分配ip,mesh组网要在同一个网段下

这样一台设备就配置好了。配置其他设备的时候只需要分陪不同的IP即可。在默认配置中,mesh节点将自动尝试创建所有其他具有相同mesh id的网格节点的对等链接。

使用phy接口,使用 iw list ,查看网卡对应的phy,我的wlan1对应的phy1
先关掉wlan1

验证是否创建成功

启用mesh0

设置ip,假设为10.0.0.1

使用 iw dev mesh0 station dump 和 iw dev mesh0 mpath dump 命令检查已建立的对等链接:

iw dev mesh0 mpath dump

一些解释:
Destination MAC Address :目地mac地址。此mesh路径的目的地。直接路径的目的地和下一跳具有相同的MAC地址。
Next-hop MAC address :下一跳地址。直接路径的目的地和下一跳具有相同的MAC地址。
IFACE :专属网的名称
SN :此路径的目标序列号。 DSN用于确定节点路径信息的“新鲜度”。例如,假设节点接收到其路径表中已经存在的目的地的路径响应。如果路径响应的DSN较高,则它将替换现有路径,因为它将被认为是较新的。
Air Time Link Metric :路径的度量(或“成本”)。较低的度量标准是首选,并且在选择了多个路径的情况下,协议栈将选择成本最低的协议(即:空中链路度量最低的协议)。该值是使用预期的吞吐量得出的(metric = 1 + 8192 / Expected_throughput_mbps)预期吞吐量(Expected_throughput_mbps)取决于驱动程序(例如,某些包含重传)。
Frame Queue Length :此网格路径的排队帧数。
Expiration Time :此mesh路径过期的时间(以jiffies为单位)
Discovery Timeout :路径发现的剩余时间(如果正在发现此路径)。
Discovery Retries :重试发现的次数(如果正在发现此路径)。
Flags :它是一个位掩码,由该路径的以下状态标志组成:

树莓派搭建Git服务器

安装ssh

sudo apt-get install ssh

//启动
systemctl start ssh

注意如果apt-get 无法正常请求网络,请检查/etc/network/interfacesresolve.conf 网络配置是否正常。

安装git-core

sudo apt-get install git-core

新增git用户

//添加用户:git
adduser --system --shell /bin/bash --gecos 'git version control by pi' --group --home /home/git git

//设置密码
passwd git

注意:很多资料建议修改git shell参数:vim /etc/passwd

找到git用户,将 /bin/bash 改为/bin/bash/git-shell (whereis git-shell)

该操作的影响是无法在终端切换到git用户操作

设置git用户目录

mkdir /home/git
chown -R git.git /home/git

【服务端】设置git仓库

cd /home/git

mkdir test.git
chown -R git.git ./test.git
cd ./test.git

git --bare init

【客户端】设置git仓库

    1. clone git项目
git clone [email protected]:/home/git/test.git

注意:1. 注意ip地址后的路径:/home/git/test.git,与服务器目录地址保持一致

  1. 如果没有上传ssh 公钥到服务,需要使用密码登录,此时的密码为git账户密码,如果密码无法登录,请检查sshd_config配置是否允许git用户或git用户组登录
    1. 本地git项目添加远程仓库
git remote add pi [email protected]:/home/git/test.git

git push pi master

注意:pi为远程仓库别名,默认为origin

设置ssh登录

cd /home/git
mkdir .ssh
chown -R git.git ./.ssh

//根据实际测试执行
chmod 700 ./.ssh

cat /tmp/id_rsa.pub >> /home/git/.ssh/authorized_keys

chown -R git.git ./.ssh/authorized_keys

//根据实际测试执行
chmod 600 ./.ssh/authorized_keys

说明:1. /tmp/id_rsa.pub为本地上传的公钥文件

以上是关于树莓派搭建mesh网络的主要内容,如果未能解决你的问题,请参考以下文章

树莓派搭建文件服务器

解密:Ble低功耗蓝牙和蓝牙mesh网络之间的关系

Nomad+Consul Service Mesh如何搭建本地开发环境

Mesh简介

IoT中的WiFi Mesh 网络

Mesh无线网络的定义与WiFi的区别