广州堃联技术需要一套自己的物联网云平台,用来统一接入设备、采集数据并远程监控。我们没有从零写一套,而是选了开源物联网平台 SagooIoT(沙果物联网) 作为底座,在它上面做二次开发。下面讲清楚为什么这样选、怎么做,以及开源二次开发要注意什么。
为什么不从零开发
一个物联网平台的“地基”——设备接入、协议解析、物模型、数据存储、告警、权限——每家都差不多,但从零做一遍要几个月,还要把别人踩过的坑再踩一遍。客户真正在意的,是贴合自己设备和业务的那一部分。
所以我们的原则是:通用能力用成熟开源,定制能力才自己写,把预算和时间花在客户独有的需求上。
为什么选 SagooIoT
- 技术栈清晰:后端 Go(GoFrame),前端 Vue(vue-next-admin),部署和维护成本低。
- 协议覆盖广:支持 MQTT、TCP、UDP、HTTP、CoAP、Modbus、OPC UA 等,也能扩展自定义报文协议。
- 平台能力齐全:物模型设备管理、可视化规则引擎、实时告警(企业微信、短信、Webhook)、数据大屏、OTA 升级、场景联动。
- 能扩展、不必改核心:插件机制(Go、C/C++、Python)、南北向数据接口与 OpenAPI。
- 许可友好:社区版以 LGPL-3.0 开源,允许商用,同时有明确的合规要求(见下文)。
我们怎么做二次开发
- 先梳理设备和数据:盘点设备类型、通信方式和关键数据点,映射成平台的产品与物模型。
- 先接通、再定制:用平台原生能力把设备接入、数据跑通,确认底座可行再写定制功能。
- 定制放在外层:业务界面、流程和对接接口优先用插件、接口和前端扩展实现,少动核心,方便跟进上游升级。
- 部署与交付:部署上线并交付使用说明,后续需求按迭代推进。
开源二次开发要注意的三件事
- 许可合规:LGPL-3.0 要求保留原有版权与许可声明;修改了 SagooIoT 本身的源码并分发时,修改部分需按 LGPL 提供源码。独立模块不受影响,“少改核心、多做扩展”同时也是合规上的最优解。
- 跟进上游:核心改得越多,后面合并上游越痛苦,项目开始时就要规划好扩展边界。
- 安全基线:上线前修改默认账号密码,开启 MQTT/HTTP 的 TLS,管理后台不直接暴露公网,定期备份。
这种方式适合谁
如果你有一批设备想联网管理,又不想花几个月、几十万从零做平台,“成熟开源底座 + 定制开发”通常是性价比最高的路线:交付更快、成本可控,代码和数据都掌握在自己手里。
说明:文中 SagooIoT 能力以其官方文档为准;SagooIoT 及其商标归原作者所有,智汇数字科技与其无隶属关系。