使用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组:
sudousermod -aG docker${USER}newgrp docker
接着安装Docker-Compose:
sudo apt-getinstall docker-compose-plugin
步骤2:克隆PiWAN
gitclonehttps://github.com/cosmic-pulse/PiWAN.gitcdPiWAN
步骤3:修改配置
nanogateway.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当前已知的一些问题):
sudochown -R472:472./grafana
步骤4:构建并启动
docker-compose up -d
就这样。PiWAN将处理其余一切,从容器编排到管理更新。
3.手动设置BasicStation
如果你喜欢亲自动手,你仍然可以手动设置BasicStation。本节将指导你从头开始在树莓派上构建和配置它。
步骤1:克隆BasicStation仓库
gitclonehttps://github.com/lorabasics/basicstation.git --recurse-submodulescdbasicstation
步骤2:修复树莓派架构问题
nanosetup.gmk
将ARCH.rpi设置为aarch64-linux-gnu,然后保存并退出。
这解决了在64位树莓派操作系统上已知的构建问题。
步骤3:构建BasicStation
makeplatform=rpi variant=std deps s-clean s-all
步骤4:配置网关
为你的网关创建一个目录,然后复制站点配置文件:
mkdir../gatewaycpexamples/live-s2.sm.tc/station.conf ../gateway/station.confcd../gatewaynano station.conf
你需要在station.conf文件中为你的网关设置EUI(来自前面的步骤)。
接下来,我们需要创建tc文件:
tc.uri → 添加你的网关URI(例如,wss://nam1.cloud.thethings.network:8887)
nanotc.uri
tc.key → 添加你的网关API密钥
exportAPI_KEY="PUT_YOUR_GATEWAY_API_KEY_HERE"echo"Authorization: Bearer$API_KEY"| perl -p -e's/\r\n|\n|\r/\r\n/g'| sudotee-a tc.key
tc.trust → 创建你的CA证书
sudoln-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即可开始监控。
这将你的网关变成了一个全栈网络可观测性中心,非常适合生产环境或高级测试。
-
网关
+关注
关注
9文章
5442浏览量
52601 -
树莓派
+关注
关注
121文章
1964浏览量
107089 -
lorawan
+关注
关注
3文章
345浏览量
24289
发布评论请先 登录
《零基础开发AI Agent——手把手教你用扣子做智能体》
如何将树莓派网关与外网连接——手把手教你如何将树莓派网关连接到服务器之第三篇
手把手教你用matlab生成STM32官方IIR滤波器系数
matlab stm32 参数,手把手教你用matlab生成STM32官方IIR滤波器系数.pdf 精选资料分享
电脑如何登录树莓派网关——手把手教你如何将树莓派LoRaWAN网关连接到服务器之第一篇

手把手教你如何将树莓派网关链接到服务器之第二篇

评论