手把手教你用树莓派打造 LoRaWAN 网关!

B站影视 日本电影 2025-06-09 17:51 2

摘要:将树莓派设置为LoRaWAN网关乍一看可能令人望而生畏,但有了合适的工具和指导,它就会成为一个有意义的DIY网络项目。

使用BasicStation或PiWAN连接到The Things Network

将树莓派设置为LoRaWAN网关乍一看可能令人望而生畏,但有了合适的工具和指导,它就会成为一个有意义的DIY网络项目。

在本文中,我们将介绍如何使用手动构建的BasicStation或基于Docker的PiWAN堆栈将树莓派连接到The Things Network(TTN)。

但首先,什么是The Things Network(TTN)?

The Things Network是一个全球性的开放LoRaWAN基础设施,允许设备以极低的功耗进行长距离无线通信。

公共LoRaWAN网络与私有LoRaWAN网络

公共LoRaWAN网络:如TTN,由社区驱动,可免费使用。

私有网络:提供更多控制权,通常用于企业或工业物联网设置。

但为什么要使用公共网关?

通过向TTN贡献一个公共网关,你可以:

扩展所在地区的LoRaWAN覆盖范围。

帮助支持开放的物联网计划。

访问全球各地设备的实时数据。

1.在TTN上设置你的网关

在深入树莓派配置之前,让我们先在TTN上准备好后端。

步骤1:创建TTN账户

访问 https://console.thethingsnetwork.org 并注册。

步骤2:注册你的网关

前往“网关”→“+添加网关”,然后:

使用或生成一个网关EUI(通常从你的MAC地址派生而来)。

选择正确的频率计划(例如,EU868、US915等)。

选择一个有意义的网关ID(小写,无空格)。

生成一个网关API密钥,用于安全认证。

请妥善保管此API密钥。在BasicStation或PiWAN设置中需要用到它。

2.轻松设置你的树莓派网关:PiWAN

手动设置LoRaWAN网关可能既繁琐又容易出错,因此我开发了PiWAN来简化这一过程。

https://github.com/cosmic-pulse/PiWAN

PiWAN是一个轻量级的基于Docker的堆栈,用于使用BasicStation部署树莓派LoRaWAN网关。它完全开源,只需一个文件即可轻松配置。

步骤1:安装先决条件

首先安装Docker和Docker-Compose:

curl -fsSL https://get.docker.com | sh

然后将你的用户添加到docker组:

sudo usermod -aG docker ${USER}
newgrp docker

接着安装Docker-Compose:

sudo apt-get install docker-compose-plugin

步骤2:克隆PiWAN

git clone
cd PiWAN

步骤3:修改配置

nano gateway.conf

将占位符值替换为你的实际配置:

- `YOUR_INFLUXDB_USER`: 你的InfluxDB用户名。(可以是任意值)
- `YOUR_INFLUXDB_PASSWORD`: 你的InfluxDB密码。(可以是任意值)
- `YOUR_TTN_APP_ID`:你的TTN应用程序ID。(来自TTN仪表板)
- `YOUR_TTN_API_KEY`: 你的TTN API密钥。(来自TTN仪表板)
- `YOUR_TTN_REGION`:你的TTN区域(例如,nam1)。
- `YOUR_GATEWAY_EUI`: 你的网关EUI。(来自TTN仪表板)
- `YOUR_GATEWAY_API_KEY`:你的网关API密钥。(来自TTN仪表板)

为Grafana设置适当的权限(解决PiWAN当前已知的一些问题):

sudo chown -R 472:472 ./grafana

步骤4:构建并启动

docker-compose up -d

就这样。PiWAN将处理其余一切,从容器编排到管理更新。

3.手动设置BasicStation

如果你喜欢亲自动手,你仍然可以手动设置BasicStation。本节将指导你从头开始在树莓派上构建和配置它。

步骤1:克隆BasicStation仓库

git clone https://github.com/lorabasics/basicstation.git --recurse-submodules
cd basicstation

步骤2:修复树莓派架构问题

nano setup.gmk

将ARCH.rpi设置为aarch64-linux-gnu,然后保存并退出。

这解决了在64位树莓派操作系统上已知的构建问题。

步骤3:构建BasicStation

make platform=rpi variant=std deps s-clean s-all

步骤4:配置网关

为你的网关创建一个目录,然后复制站点配置文件:

mkdir ../gateway
cp examples/live-s2.sm.tc/station.conf ../gateway/station.conf
cd ../gateway
nano station.conf

你需要在station.conf文件中为你的网关设置EUI(来自前面的步骤)。

接下来,我们需要创建tc文件:

tc.uri → 添加你的网关URI(例如,wss://nam1.cloud.thethings.network:8887)

nano tc.uri

tc.key → 添加你的网关API密钥

export API_KEY="PUT_YOUR_GATEWAY_API_KEY_HERE"
echo "Authorization: Bearer $API_KEY" | perl -p -e 's/ | | / /g' | sudo tee -a tc.key

tc.trust → 创建你的CA证书

sudo ln -s /etc/ssl/certs/ca-certificates.crt ~/gateway/tc.trust

步骤5:运行网关

../basicstation/build-rpi-std/bin/station

现在,你的网关应该出现在TTN控制台中并显示为在线状态。

大功告成!

你现在已成功使用手动BasicStation设置或PiWAN Docker堆栈将树莓派LoRaWAN网关连接到The Things Network。此设置非常适合物联网实验、智能农业或智慧城市解决方案。

成功!你的网关已连接到TTN

额外福利(还有一件事):PiWAN内置仪表盘

PiWAN网关健康仪表盘

PiWAN的突出特点之一是其内置的Grafana仪表盘。无需额外设置。

你可以实时查看:

网关健康状况:CPU、内存、磁盘使用情况

LoRaWAN流量:上行/下行数据包、信号质量等

PiWAN运行后,可以通过树莓派的IP地址(默认端口3000)访问Grafana:

http://:3000

然后使用你在gateway.conf文件中设置的用户名和密码登录。

网关CPU监控

网关内存监控

网关磁盘空间监控

仪表盘已预先配置好,开箱即用。只需打开Grafana即可开始监控。

这将你的网关变成了一个全栈网络可观测性中心,非常适合生产环境或高级测试。

如果觉得文章不错记得点赞,收藏,关注,转发~



来源:上海晶珩

相关推荐