“我本来只想做个温度监测,结果一不小心把整个农田都联网了!”—— 这句话是我去年在实验室里敲代码时的自言自语。今天把这段“奇遇”完整讲给你听,希望你也能把 LoRa 揽进自己的项目里,省钱又省心。
为什么要挑 LowCostLoRaGw?
|
关键点 |
传统商用网关 |
LowCostLoRaGw(树莓派版) |
| 硬件成本 |
1500–3000 元/套 |
只要一块树莓派(约 300 元)+ 一个 LoRa 模块(≈ 30 元) |
| 部署门槛 |
需要专业工程师 |
代码、文档全开源,一步一步敲就行 |
| 扩展性 |
受限于厂商平台 |
支持单通道、SX1301 多通道,甚至嵌入 AI 框架 |
| 维护更新 |
固件闭源,需要付费升级 |
完全社区驱动,GitHub 上随时 pull 最新代码 |
| 云平台 |
绑定特定云(TTN、Helium) |
自带 ChirpStack,兼容 MQTT、ThingSpeak、私有云… |
说白了,这套 LowCostLoRaGw 就是把“高大上”的 LoRaWAN 功能,用 几百块 的材料装进了树莓派。把原本只能在实验室里做的玩意儿,直接搬到车间、田间、甚至背包里。
硬件准备&快速上手
我第一次把树莓派变网关的时候,手忙脚乱的样子差点把针脚焊成了“艺术品”。
-
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. 硬件:树莓派 4 + SX1262 LoRa 模块 + ProMini(3.3 V)+ 土壤湿度传感器(VL53L0X)
-
2. 数据流:传感器每 5 分钟发送一次
\!#5#SM/23.4(SM=土壤湿度) → LoRa 网关 → 本地 MongoDB → AI 模型推理 → 若湿度 < 30%,自动通过 LoRa 下行指令打开电磁阀。 -
3. 效果:
-
• 省水 27%(对比传统定时灌溉)
-
• 电池续航 6 个月(使用 ProMini 的低功耗模式 + LoRa 低功耗特性)
-
4. 痛点 & 解决:
-
• 初期下行指令总是收不到,是因为 PA_BOOST 没打开,改
SX1262_RadioSettings.h里的PA_BOOST = 1后信号强度提升了约 5 dB。 -
• 有时网关重启后丢失
gateway_ID,手动在basic_config_gw.sh里写入固定 ID 即可。 -
常见问题 & 小技巧
|
问题 |
可能原因 |
快速解决办法 |
| 网关启动后不显示 LoRa 包 |
模块频段不匹配或天线未连接 |
检查 |
| SSH 登录失败 |
默认密码未修改或 IP 被 DHCP 改变 |
用 |
| 数据上传到云端延迟大 |
本地 MongoDB 磁盘满 |
删除旧数据或改用外部 SSD(树莓派4 支持 USB3) |
| AI 推理卡顿 |
32‑bit系统不支持 TensorFlow Lite |
换成 64‑bit镜像或在模型上使用 |
我的经验是:每改一个配置,都先
sudo systemctl restart lora_gateway,不然有时旧进程会偷偷占着端口。
结语
LowCostLoRaGw 把“高门槛”的 LoRaWAN 变成了 千元级的玩具,不管是学生实验、创业原型,还是真正的产业落地,都能在几步之内搞定。别再让昂贵的网关拦住你的创意,动手把树莓派、LoRa 模块、几块 PCB 搭起来,你会发现 IoT 的世界其实离你很近。
敢动手,才会发现更多惊喜。
项目地址:https://github.com/CongducPham/LowCostLoRaGw