低成本 LoRa 网关真的这么香— 用树莓派玩转 IoT 打造 LoRa 无线网关

 

“我本来只想做个温度监测,结果一不小心把整个农田都联网了!”—— 这句话是我去年在实验室里敲代码时的自言自语。今天把这段“奇遇”完整讲给你听,希望你也能把 LoRa 揽进自己的项目里,省钱又省心。


为什么要挑 LowCostLoRaGw?

关键点

传统商用网关

LowCostLoRaGw(树莓派版)

硬件成本

1500–3000 元/套

只要一块树莓派(约 300 元)+ 一个 LoRa 模块(≈ 30 元)

部署门槛

需要专业工程师

代码、文档全开源,一步一步敲就行

扩展性

受限于厂商平台

支持单通道、SX1301 多通道,甚至嵌入 AI 框架

维护更新

固件闭源,需要付费升级

完全社区驱动,GitHub 上随时 pull 最新代码

云平台

绑定特定云(TTN、Helium)

自带 ChirpStack,兼容 MQTT、ThingSpeak、私有云…

说白了,这套 LowCostLoRaGw 就是把“高大上”的 LoRaWAN 功能,用 几百块 的材料装进了树莓派。把原本只能在实验室里做的玩意儿,直接搬到车间、田间、甚至背包里。


硬件准备&快速上手

我第一次把树莓派变网关的时候,手忙脚乱的样子差点把针脚焊成了“艺术品”。

  1. 1. 准备材料

  • • 树莓派 3B/4(或者 0W,如果你想省电)

  • • LoRa 模块(RFM95W、NiceRF SX1262、或 SX1280)

  • • 8 GB 以上 Class‑10 SD 卡(装系统)

  • • 适配的 PCB(项目里提供了 RFM95W / SX1262 / SX1280 的 breakout)

  • 2. 下载 SD 镜像

    • • 32 bit 版:LowCostLoRaGw_32bit.img.gz(约 3 GB)

    • • 64 bit 版(支持 AI):LowCostLoRaGw_64bit.img.gz

    • • 用 Balena Etcher 或 dd 烧进去,插卡、通电。

  • 3. 开机自动配置

    • • 树莓派会自动启动 Wi‑Fi AP,SSID 形如 WAZIUP_PI_GW_XXXXXXXXXX,密码 loragateway。

    • • 用手机连上后,打开浏览器访问 http://192.168.200.1/admin,进入 Web 管理后台。

  • 4. 配置 LoRa 模块

    • • 在后台的 “Radio Settings” 里选频段(433 MHz / 868 MHz / 2.4 GHz),对应的模块会自动匹配。

    • • 记得把 PCB 上的 BUSY/DIO 引脚对应好(文档里都有针脚表),不对齐会导致收不到包。

    小技巧:第一次跑通后,记得在“System → Upgrade”里点一下 “Full Update”,把最新的库和 AI 框架全拉下来,省得以后手动 git pull。


    软件配置 & 云平台对接

    • • ChirpStack 本地部署:系统自带已经编译好的 lora_pkt_fwd,只要在 gateway_conf.json 里改一下 gateway_ID,网关就会把接收到的帧直接推送到本地的 LoRaWAN 网络服务器。

    • • 云端推送:

      • • ThingSpeak:默认开启,你可以在 clouds.json 里改写自己的 Write Key。

      • • MQTT / Node‑RED:系统已经装好 mosquitto-clients,在 Web 管理里点 “Add MQTT Broker”,填入地址、端口、用户名密码,即可实现实时数据转发。

    • • AI 边缘(仅 64‑bit 版):

      • • 预装 TensorFlow Lite,支持在网关上跑轻量模型(比如作物长势预测)。

      • • 只要把模型文件放到 /home/pi/ai_models/,在 post_processing_gw.py 里添加一行 run_ai(payload),代码自动调用。

    我把 土壤含水率 传感器的数据直接喂给了一个小型的 LSTM,结果在 10 分钟内就把灌溉阈值给算出来了,省去了跑回服务器的时间。


    实战案例:我的智能灌溉实验

    “实验室里跑模型好玩,真正跑到田里才知道到底有多爽”。

    1. 1. 硬件:树莓派 4 + SX1262 LoRa 模块 + ProMini(3.3 V)+ 土壤湿度传感器(VL53L0X)

    2. 2. 数据流:传感器每 5 分钟发送一次 \!#5#SM/23.4(SM=土壤湿度) → LoRa 网关 → 本地 MongoDB → AI 模型推理 → 若湿度 < 30%,自动通过 LoRa 下行指令打开电磁阀。

    3. 3. 效果:

      • • 省水 27%(对比传统定时灌溉)

      • • 电池续航 6 个月(使用 ProMini 的低功耗模式 + LoRa 低功耗特性)

    4. 4. 痛点 & 解决:

      • • 初期下行指令总是收不到,是因为 PA_BOOST 没打开,改 SX1262_RadioSettings.h 里的 PA_BOOST = 1 后信号强度提升了约 5 dB。

      • • 有时网关重启后丢失 gateway_ID,手动在 basic_config_gw.sh 里写入固定 ID 即可。


    常见问题 & 小技巧

    问题

    可能原因

    快速解决办法

    网关启动后不显示 LoRa 包

    模块频段不匹配或天线未连接

    检查 gateway_conf.json 中的 freq,确认天线已经拧紧

    SSH 登录失败

    默认密码未修改或 IP 被 DHCP 改变

    用 arp -a 找到 b8:27:eb:* 的 IP,或直接在手机连接 Wi‑Fi 后访问 192.168.200.1

    数据上传到云端延迟大

    本地 MongoDB 磁盘满

    删除旧数据或改用外部 SSD(树莓派4 支持 USB3)

    AI 推理卡顿

    32‑bit系统不支持 TensorFlow Lite

    换成 64‑bit镜像或在模型上使用 quantize 进行模型压缩

    我的经验是:每改一个配置,都先 sudo systemctl restart lora_gateway,不然有时旧进程会偷偷占着端口。


    结语

    LowCostLoRaGw 把“高门槛”的 LoRaWAN 变成了 千元级的玩具,不管是学生实验、创业原型,还是真正的产业落地,都能在几步之内搞定。别再让昂贵的网关拦住你的创意,动手把树莓派、LoRa 模块、几块 PCB 搭起来,你会发现 IoT 的世界其实离你很近。

    敢动手,才会发现更多惊喜。

    项目地址:https://github.com/CongducPham/LowCostLoRaGw

     


    发表评论