亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

树莓派 3 部署 RAK 831 LoRa 网关分步指南

本项目带您完成所有步骤,让 RAK 831 LoRa 网关模块配合 Wi-Fi 回程上线运行。

项目背景

简介

本分步指南面向想自建 LoRa 网关的开发者,使用 RAK Wireless 的 RAK831 LoRa 射频前端模块。假读者具备树莓派生态、硬件与 Debian OS 基础,并了解树莓派 GPIO 与外设。开始吧:

什么是 LoRa?

LoRa Alliance™ Technology. LoRaWAN™ 是面向区域、国家或全球网络的低功耗广域网 (LPWAN) 规范,服务于无线电池供电设备。LoRaWAN 针对物联网关键需求:安全双向通信、移动性与定位服务。

上图展示 LoRa 无线架构各部分。关键组件简述如下:

LoRa 技术与 LoRaWAN 协议关键特性

· 定位:实现无 GPS、低功耗追踪应用

· 低成本:基建投入、运营开销、终端传感器三方面降本

· 标准化:全球互操作性加速 LoRaWAN 网络与 IoT 应用落地

· 低功耗:协议专为低功耗设计,电池寿命可达 20 年

· 远距离:单基站深度覆盖密集城区/室内,连接农村最远 30 英里

· 安全:嵌入端到端 AES128 加密

· 高容量:单基站支撑百万级消息,适配公网运营商多客户场景

RAK 831 为 LoRa 射频前端;即接收 LoRa 数据包并转发至聚合管理软/硬件宿主,也可按宿主板请求发送 LoRa 数据包。本例中树莓派 3 为控制 RAK 831 前端的宿主板。

选择回程方式

什么是回程?指树莓派如何接入互联网。本指南聚焦 Wi-Fi 回程,也可用以太网或 3G/4G。若网关附近有有线网络,优先用以太网——机箱内额外无线电信号会引入噪声。软件能应对噪声环境,非大问题,但越安静越好。可结合 PoE 减少布线。

若选 Wi-Fi 而非以太网,请用外置天线网卡并将天线引出机箱外,减少箱内噪声。

硬件搭建

连接前先完成树莓派与 RAK 831 模块以下配置:

树莓派

1) 准备树莓派 3 板卡与 8GB microSD 卡刷好 Raspbian。可买预装 NOOBS 的卡。烧录 OS 方法见:https://www.raspberrypi.org/learning/hardware-guide/

2) 接 5V 2A 电源。**极其重要**。LoRa 模块无线收发峰值电流达 700mA,需优质电源适配器。

RAK 831:

1) 上电前务必连接套件附带天线至天线螺纹端子。**必须**。

连接详情:

下表展示 RAK831 模块与树莓派连接方式:

rpi v3 to rak 831 pin connection

RAK 831 丝印对应引脚映射。

rak 831 silk screen map to the rak 831 pins

树莓派引脚布局详见:https://www.raspberrypi.org/documentation/usage/gpio/

注意:

启用 SPI

SPI 外设默认关闭。启用步骤:

重启后登录并执行:

>ls /dev/*spi*

树莓派应返回:

/dev/spidev0.0 /dev/spidev0.1

分别代表片选引脚 0 与 1 上的 SPI 设备。这些引脚在 Pi 内部硬连线。通常意味接口最多支持两个外设,但也可菊花链共享单片选信号。

为板卡供电

无线项目往往需比宿主板供电引脚更大功率。两种供电方案:

1) 从树莓派 5V 供电轨取电

2) 树莓派与 RAK831 5V 供电轨分离供电

软件安装

树莓派执行以下步骤安装核心软件:

用 raspi-config 启用 SPI ([5] Interfacing options -> P4 SPI) 并扩展文件系统 ([7] Advanced options -> A1 Expand filesystem):

$ sudo raspi-config

Sudo apt-get update
Sudo apt-get upgrade
Sudo apt-get install git

$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

文件末尾添加以下块,替换 SSID 与密码匹配您的网络:

network={
ssid=“The_SSID_of_your_wifi”
psk=“Your_wifi_password”
}

$ git clone -b spi https://github.com/ttn-zh/ic880a-gateway.git ~/ic880a-gateway
$cd ~/ic880a-gateway
$ sudo ./install.sh spi

{
“gateway_conf”: {
“gateway_ID”: “install.sh 控制台输出的 id”,
“servers”: [
{
“server_address”: “目标路由器地址”,
“serv_port_up”: 1700,
“serv_port_down”: 1700,
“serv_enabled”: true
}
],
“ref_latitude”: rak 831 网关纬度,
“ref_longitude”: rak 831 网关经度,
“ref_altitude”: 40,
“contact_email”: “网关所有者联系邮箱”,
“description”: “简短描述”
}
}

注意:

有效路由器列表见:https://www.thethingsnetwork.org/wiki/Backend/Connect/Gateway

https://github.com/TheThingsNetwork/gateway-conf/blob/master/US-global_conf.json

若想用 mp_pkt_fwd 替代旧版 poly packet forwarder,见此处安装:https://github.com/kersing/packet_forwarder/tree/master/mp_pkt_fwd。同样需编辑项目根目录 global_conf.json 关键段并复制至编译后 bin 目录。

global_conf.json 可配置项

安装脚本运行后,global_conf.json 位于项目目录下 ./bin/global_conf.json。以下为针对特定网关配置可能需编辑的实体:

1) “radio_0” 或 “radio_1” 配置,特别是频率参数及最小/最大扫频参数。

2) “gateway_conf” 部分,特别是网关 ID 或 EUI。

3) gateway_conf 中的服务器上下行端口及您的 TTN 服务器地址或自有应用服务器地址。

复位板卡

每次启动树莓派时,最好复位连接的 RAK831 LoRa 模块。两种方式:

编写小脚本在 LoRa 驱动访问硬件前复位 RAK831。假设树莓派 GPIO 17 (引脚 11) 连接 RAK831 复位引脚,脚本内容如下:

#!/bin/bash
echo “17” > /sys/class/gpio/export
echo “out” > /sys/class/gpio/gpio17/direction
echo “1” > /sys/class/gpio/gpio17/value
sleep 5
echo “0” > /sys/class/gpio/gpio17/value
sleep 1
echo “0” > /sys/class/gpio/gpio17/value

存为 “rak831_reset.sh”。每次开机后必须调用一次以使聚焦器 IC 进入干净状态。

宿主为树莓派时可写 C 小工具复位 RAK831。用 “wiringPi” 库处理 GPIO 底层细节。库下载地址:https://wiringpi.com。请参考该站安装与使用说明。RAK831_reset.c 内容示例:

#include
#include
#define GPIO_RESET_PIN 0 // 见 wiringPi 映射!
int main() {
wiringPiSetup();
pinMode(GPIO_RESET_PIN, OUTPUT);
digitalWrite(GPIO_RESET_PIN, HIGH);
sleep(5);
digitalWrite(GPIO_RESET_PIN, LOW);
return;
}

每次开机后调用一次此工具使聚焦器 IC 进入干净状态。

gcc -Wall -o blink blink.c -lwiringPi
sudo ./blink

向 TTN 网络注册网关

要让节点数据上云,TheThingsNetwork 提供云服务解析存储 LoRa 节点经 LoRa 网关发送的数据

Read More Detail :Getting started with the RAK 831 Lora Gateway and RPi3


制造工艺

  1. 树莓派+Nagios高效监控机房温度
  2. 家庭能源中心:树莓派与 Moteino 监测光伏、光热与室温
  3. 树莓派传感器数据融合实战:GPS 与 MPU‑9150 IMU 的 I²C 与 UART 接入
  4. 基于 Sensorflare 与树莓派的 433 MHz 智能家居控制器构建指南
  5. 树莓派实时人脸追踪云台:OpenCV + 舵机 + ServoBlaster 实战
  6. 树莓派自动化气雾栽培系统:湿度传感器智能控制
  7. 将 Acconeer A111 脉冲雷达与树莓派集成:实用指南
  8. TJBot 入门指南:构建、配置与语音控制您的 AI 机器人
  9. 35 美元 NanoPi K1 Plus:类树莓派 SBC,2GB 内存、Allwinner H5 CPU、HDMI、千兆网口——适配信息亭、媒体中心与 DIY 项目
  10. 树莓派自制低成本 LoRa 单信道网关:全流程指南
  11. 基于 RAK831 模块与树莓派 3 构建 LoRa 网关:分步指南
  12. 树莓派与Python构建机器人:完整指南