做了一个AI版的LoRa 网关系统!
类似AI版米家的功能!
能帮我管理家居设备和家庭环境,出远门也不用担心空调没关!
在AI加持下,天气冷还会提醒我加衣服……小编OS:可是它在关心我也……

一些创友们看了表示:
“拓展性很强啊!再兼容AI拓展板,说不定还能支持摄像头图像识别老人/小孩跌倒、入室检测、火警告警、忘关灯处理、雷雨告警等实用功能”
……
结合LoRa 网关本身低功耗的优势
好像很有看点呢……
接下来,我们就一起看看这个【LoRa 网关系统】的开源方案吧!看看会不会让你也碰撞出一些“拓展火花”!
遵循星形拓扑结构!用非LoraWAN模块软件实现了Lora网关的功能:

也就是说,做了这个AI网关,我不再是面对冷冰冰的远程控制页面,而是多了一个知冷知热的家庭小管家?
独居打工人表示,真有点心动了……
无图无真相!
看看功能演示!
传感器数据采集与分析▼

AI智能建议▼
手机 App 远程管理▼
本项目采用STM32+ESP32的双主控结构。
原理图1

原理图2

PCB图
底座板原理图
底座板PCB图
模块功能原理
项目核心控制器
-
驱动 LoRa 模块(RA-01SC),实现子节点间的无线通信
-
控制 OLED 显示(基于 U8g2 图形库)
-
通过 Flash 芯片(W25Q64)存储历史数据
-
作为子节点时接入各类传感器(如温湿度、光敏等)
智能处理模块,仅网关节点使用
-
与 STM32 通信,获取各 LoRa 子节点的数据
-
连接 Wi-Fi,接入ChatAnawhere访问大模型 API 进行智能分析
-
支持用户个性化 Prompt,实现差异化智能建议
-
接入HomeAssistant,实现智能家居(也可接入其他物联网平台)
-
支持用户自定义分析规则与策略(Prompt + 模型)
低功耗运行,子节点可不接 ESP32 与 Flash 电路,仅保留 STM32 和 LoRa 部分。
该项目的侧重点在于使用Lora模块,通过C语言编写代码,实现自组网,子节点的上线/下线自动管理,60s内子节点未发送数据自动下线,并且新的子节点上电即上线,网关节点自动接入,并显示在主页的子节点列表内。
可以通过对程序的设定来设置主节点/子节点,以及其对应的节点名称和节点地址。
对于每个节点创建一个LoraNetGate类型的结构体变量,存储对应的信息,该方式的好处在于子节点和网关节点可以共用一套代码。并且,子节点和网关节点可以通过代码的运行来进行切换(远程节点配置)。
缺点在于占用的内存空间比单独作为网关节点/子节点要大,这个劣势可以后续通过进一步的优化代码来减小。
网关节点拥有一个GateList结构体变量,该变量存储各个子节点的数据,例如类型、地址、名称,该结构体变量下又存在一个Sensor结构体变量,用于存储子节点的传感器数据。
包含外壳、PCB、元器件的“白嫖”说明。
附件中下载底座和盖子的STL文件,使用嘉立创免费3D打印,领好券后,将模型上传,材料根据自己的需求选择即可。


下载附件中的智能Lora网关_2025-06-27.zip文件,打开嘉立创下单助手
登录领取每月两张的免费打板券后,上传下载好的GerBer文件,选择好对应的参数免费打板即可。
板子上的所有元器件可以在工程介绍的下方BOM表里找到,想要直接下单的可以按照下方操作:
1.Lora天线设计
这方面我没有合适的仪器,所以没有做阻抗匹配,导致Lora通信距离上有所欠缺,后期会进行优化。
2.Lora信道占用问题
在子节点变多的情况下,Lora信道占用时间较长,导致主节点无法有效获取最新发送数据的子节点的数据,虽然子节点的代码内部加入了信道占用判断,但是由于测试时各个节点公用一个信道,并且数据收发的间隔时间较短,导致当子节点过多时,网关节点无法较为及时的接收到每个子节点的信息(经测试,当子节点大于三个时,接收就会漏数据)。
可以通过子节点差时发送、增大数据上报间隔时间来解决。
HomeAssistant配置、服务器部署
敬请期待...
小白一枚,希望大佬们评论指正...
作者公布的项目DIY成本为
65元
本项目已开源!
——想复刻?想给作者点赞?可复制开源网址 前往原文。
开源网址:
https://oshwhub.com/hzyyxhzgy/smart-gateway-openai-family-hub