基于 RAK831 模块与树莓派 3 构建 LoRa 网关:分步指南
本指南详细演示如何在树莓派 3 上启用 RAK831 LoRa 网关模块,并以 Wi-Fi 作为回程链路。
简介
本教程面向希望自建 LoRa 网关的开发者,假设你熟悉树莓派生态、GPIO 引脚及其搭载的 Debian 系操作系统。让我们开始吧。
什么是 LoRa?
LoRa 联盟技术支撑 LoRaWAN™——一种低功耗广域网(LPWAN)规范,支持区域、国家乃至全球范围的电池供电物联网设备。LoRaWAN 提供安全双向通信、移动性与定位服务,满足现代物联网部署的核心需求。
上图展示了 LoRa 网络的关键组件。以下是最重要的特性:
LoRa 技术与 LoRaWAN 协议的关键特性
- 地理定位:无需 GPS,低功耗追踪移动资产。
- 低成本:降低基建、运营与传感器成本。
- 标准化:全球互操作加速普及。
- 低功耗:电池续航可达 20 年。
- 远距离:单基站可覆盖农村 30 英里,穿透密集城区与室内。
- 安全:内置 AES-128 端到端加密。
- 高容量:单基站支持百万级消息,适合公共网络运营商。
RAK 831 是一款 LoRa 射频前端,接收 LoRa 数据包并转发给宿主系统(如树莓派 3),宿主也可指挥 RAK 831 发射。本教程中树莓派作为控制 RAK 831 的宿主板。
选择回程链路
回程指树莓派连接互联网的方式。本指南聚焦 Wi-Fi,但以太网或 3G/4G 亦可。若有以太网端口,优先使用以避免机箱内额外射频干扰。嘈杂环境下软件可补偿,但更清洁的链路总能提升可靠性。使用 Wi-Fi 时,建议外置天线的网卡并将天线置于机箱外部。
硬件连接
通电前,按以下方式配置树莓派与 RAK 831:
树莓派
- 获取树莓派 3,将 Raspberry Pi OS(原 Raspbian)烧录至 8 GB microSD 卡。可购买预装“Noobs”卡,或参考官方指南自行烧录。
- 接入 5V 2A 电源。RAK 831 发射峰值电流可达 700 mA,需稳健供电。
RAK 831
- 将套件附带天线拧紧至螺纹端子——此步骤强制执行。
连接细节
下表展示 RAK 831 与树莓派 3 的接线。树莓派引脚定义见官方文档。
注意
- 复位引脚可接任意空闲 GPIO。
- 务必核对电源引脚,防止损坏 RAK 831。
启用 SPI
SPI 接口默认关闭。启用方法:
- 运行
sudo raspi-config。 - 进入
Advanced Options → SPI,选择Yes启用 SPI 并加载内核模块。 - 完成并重启。
重启后验证:
> ls /dev/*spi* /dev/spidev0.0 /dev/spidev0.1
这两个设备对应片选引脚 0 与 1。
供电方案
无线模块峰值功耗常超出树莓派供电引脚能力,有两种方案:
- 树莓派 5V 供电同时给两块板子。
- 为树莓派与 RAK 831 分别提供独立 5V 供电轨。
软件安装
在树莓派上执行:
- 启用 SPI(如上)并扩展文件系统(
Advanced options → Expand filesystem)。 - 更新系统并安装
git:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git
/etc/wpa_supplicant/wpa_supplicant.conf 配置 Wi-Fi:network={
ssid="Your_WiFi_SSID"
psk="Your_WiFi_Password"
}
spi 分支运行:git clone -b spi https://github.com/ttn-zh/ic880a-gateway.git ~/ic880a-gateway
cd ~/ic880a-gateway
sudo ./install.sh spi
若启用远程配置,需在 gateway-remote-config 仓库创建以网关 EUI 命名的 JSON 文件(如 B827EBFFFE7B80CD.json),Fork 仓库、添加文件、提交并发起 Pull Request。示例配置:
{
"gateway_conf": {
"gateway_ID": "your_gateway_EUI_here",
"servers": [
{
"server_address": "your_router_address_here",
"serv_port_up": 1700,
"serv_port_down": 1700,
"serv_enabled": true }
],
"ref_latitude": your_latitude,
"ref_longitude": your_longitude,
"ref_altitude": 40,
"contact_email": "your_email@example.com",
"description": "short description"
}
}
有效服务器地址列表见 The Things Network Wiki。
安装器默认将主机名改为 ttn-gateway 避免冲突,可自行覆盖。安装完成后次日重启网关,确保 JSON 文件正确下载。
按需调整 global_config.json。美国部署请编辑 US-global_conf.json。若偏好 mp_pkt_fwd 转发器,参考该仓库编译后将更新的 global_conf.json 复制至 bin 目录。
global_conf.json 可配置项
安装后 ./bin/global_conf.json 包含若干需微调的区段:
- 射频设置(
radio_0或radio_1)——调整Frequency与最小/最大扫频参数。 - 网关身份——更新
gateway_ID或网关 EUI。 - 服务器端口——修改
serv_port_up与serv_port_down及服务器地址。
完成上述步骤,你的 RAK 831 LoRa 网关即全面就绪,可通过所选回程链路收发数据。
制造工艺
- 树莓派+Nagios高效监控机房温度
- 家庭能源中心:树莓派与 Moteino 监测光伏、光热与室温
- 树莓派传感器数据融合实战:GPS 与 MPU‑9150 IMU 的 I²C 与 UART 接入
- 基于 Sensorflare 与树莓派的 433 MHz 智能家居控制器构建指南
- 树莓派实时人脸追踪云台:OpenCV + 舵机 + ServoBlaster 实战
- 树莓派自动化气雾栽培系统:湿度传感器智能控制
- 将 Acconeer A111 脉冲雷达与树莓派集成:实用指南
- TJBot 入门指南:构建、配置与语音控制您的 AI 机器人
- 35 美元 NanoPi K1 Plus:类树莓派 SBC,2GB 内存、Allwinner H5 CPU、HDMI、千兆网口——适配信息亭、媒体中心与 DIY 项目
- 树莓派自制低成本 LoRa 单信道网关:全流程指南
- 树莓派 3 部署 RAK 831 LoRa 网关分步指南
- 树莓派与Python构建机器人:完整指南