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

慧生活 20250609

使用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即可开始监控。

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

查看全文

点赞

慧生活

作者最近更新

  • RS485转Profinet网关在JRT激光测距传感器工业自动化中的应用
    慧生活
    14小时前
  • RS485转PROFINET网关在JRT激光测距传感器中的应用与配置详解
    慧生活
    13小时前
  • 志奋领荣获 “瞪羚企业” 认证!
    慧生活
    13小时前

期刊订阅

相关推荐

  • 汉威科技:公司传感器已在国际具有一定的知名度和影响力,将力争在传感器行业领域产出更多的创新产品

    传感器专家网 2022-05-26

  • 从源头控制污染:甲烷传感器在油气回收中的应用

    四方光电 2024-09-12

  • 福州大学:可控超大孔结构和高延展性的明胶水凝胶传感器!

    传感器专家网 2022-05-24

  • 国产替代正当其时,四方光电引领柴油发动机氮氧传感器技术突破

    四方光电Cubic 03-14 16:00

评论0条评论

×
私信给慧生活

点击打开传感搜小程序 - 速览海量产品,精准对接供需

  • 收藏

  • 评论

  • 点赞

  • 分享

收藏文章×

已选择0个收藏夹

新建收藏夹
完成
创建收藏夹 ×
取消 保存

1.点击右上角

2.分享到“朋友圈”或“发送给好友”

×

微信扫一扫,分享到朋友圈

推荐使用浏览器内置分享功能

×

关注微信订阅号

关注微信订阅号,了解更多传感器动态

  • #{faceHtml}

    #{user_name}#{created_at}

    #{content}

    展开

    #{like_count} #{dislike_count} 查看评论 回复

    共#{comment_count}条评论

    加载更多

  • #{ahtml}#{created_at}

    #{content}

    展开

    #{like_count} #{dislike_count} #{reback} 回复

  • #{ahtml}#{created_at}

    #{content}

    展开

    #{like_count} #{dislike_count} 回复

  • 关闭
      广告