物联网平台选型最常见的场景是:拿到三份方案,功能清单都很长,每项都打了勾,价格差两倍,不知道差在哪。于是按价格选,两年后发现要么被授权费卡死,要么想换平台数据迁不走。
这篇不列功能清单。功能是最好抄的东西,半年后大家都会有。真正拉开差距的是三件事:授权模式、数据可迁移性、二次开发的可持续性。下面按三条路线分别算成本、说清风险,最后给一张可以直接拿去开会的打分表。
先看结论
- ✓选型的第一道筛子不是功能,是「数据能不能迁走」和「停付授权后还能不能用」
- ✓自建的门槛不是开发,是持续投入:平台上线只是开始,后面每年还要 1-2 人维护
- ✓开源二开最容易被低估的是升级成本——改得越多,越不敢升级,最后锁死在一个老版本
- ✓商业平台的报价单里,私有化部署授权、超出设备数的加价、API 调用量限制是三个必查项
一、三条路线,先排除掉明显不对的
自建、采购商业平台、开源二开,这三条路线没有绝对优劣,但有明确的适用边界。先看一张对照表,把明显不合适的排除掉。
| 路线 | 适合谁 | 不适合谁 | 典型周期 | 隐性风险 |
|---|---|---|---|---|
| 自建 | 有稳定研发团队(2 人以上)、业务逻辑是核心竞争力、长期做物联网 | 一次性项目、没有研发团队、要 3 个月内上线 | 3-6 个月 | 上线后没人维护,第二年就开始还技术债 |
| 采购商业平台 | 要快速上线、预算充足、愿意为服务付费、设备规模可预期 | 设备规模会爆发式增长、需要深度定制、对数据主权敏感 | 1-2 个月 | 授权按设备数计费,规模一涨成本失控;数据导出受限 |
| 开源二开 | 有一定研发能力、需要私有化部署、预算有限但有人力 | 没有后端团队、需要厂商级技术支持、要求开箱即用 | 2-4 个月 | 改得越多越不敢升级,最后锁死在老版本 |
问自己一个问题:这套平台三年后还在用吗?如果答案是「不一定,可能换个业务方向」,就别自建,采购或开源二开都能快速起步。如果答案是「会一直用,而且要不断加功能」,自建的长期成本反而最低。
二、自建:门槛不在开发,在持续投入
自建的成本,很多人只算开发那一笔。实际上开发只占首年成本的一半左右,后面每年还有维护投入。
| 成本项 | 首年 | 后续每年 | 说明 |
|---|---|---|---|
| 研发人力 | 2 人 × 4 个月 ≈ 15-25 万 | 1-2 人 × 12 个月 ≈ 20-40 万 | 首年是建设,后续是加功能和修 bug |
| 服务器与带宽 | 1-3 万 | 1-5 万 | 随设备量增长,主要是存储和带宽 |
| 第三方组件授权 | 0-5 万 | 0-5 万 | 地图、短信、OCR、视频转码等 |
| 安全与合规 | 0.5-2 万 | 0.5-2 万 | 等保测评、渗透测试(如需) |
| 合计 | 17-35 万 | 22-52 万 | 不含现场施工与硬件 |
自建真正的优势不是省钱,是可控。你能决定数据怎么存、接口长什么样、功能什么时候上。这在业务逻辑复杂、需要频繁调整的场景里价值很大。
但自建有三个必须提前想清楚的问题:
- 1人会不会走。平台是一个人的作品,人一走,代码就变成黑盒。所以文档、注释、部署脚本必须从第一天就写,不能等「以后补」。
- 2要不要做多租户。一开始都是单客户,等第二个客户来了才发现数据模型不支持隔离,改造成本极高。如果未来可能服务多个客户,从第一天就按多租户设计。
- 3边界在哪。自建平台很容易滑向「什么都自己做」,最后变成一个四不像的业务系统。设备接入、存储、规则引擎自己做,可视化、报表、地图这些用成熟组件。
三、采购商业平台:报价单里藏着三个坑
商业平台的优势很直接:开箱即用、有厂商支持、上线快。但报价单上通常只写「平台授权费 X 万」,实际支出会超出这个数。三个必查项:
坑一:私有化部署的授权怎么算
很多平台的 SaaS 版报价很便宜,但客户要求私有化部署时,价格会翻 3-5 倍。更麻烦的是私有化版本的授权方式:有的是按节点(服务器数量)算,有的是按设备数算,有的是按并发连接算。按设备数算的最需要警惕——设备从 1 万涨到 10 万,授权费可能从 10 万涨到 60 万。
坑二:超出设备数会怎样
一定要问清楚超限后的行为。常见三种:直接拒绝新设备接入(业务中断)、降级运行(部分功能不可用)、按超限部分补差价(成本不可控)。合同里要写明超限处理方式和单价上限。
坑三:数据能不能完整导出
这是最容易被忽略、后果最严重的一条。有些平台只提供 API 查询,不提供批量导出;有些导出的是聚合后的数据,原始数据拿不到;有些导出的格式是平台私有结构,换平台等于从零开始。
在合同签订前,要求供应商演示「把 10 万台设备的历史数据完整导出成 CSV 或标准格式」。如果他们做不到或者含糊其辞,这条就是三年后的迁移成本。
商业平台还有一个隐性成本:定制开发。平台通常提供的是通用能力,客户的具体业务逻辑(计费规则、工单流程、报表格式)还是要定制。这部分如果由供应商做,人天报价往往比自己团队高 2-3 倍,而且排期不由你控制。
四、开源二开:最流行,也最容易失控
开源 IoT 平台这几年很成熟,ThingsBoard、JetLinks、EMQX(Broker 层)、IoTDB(存储层)都有生产级案例。它们的吸引力很明确:免费、可私有化、源码可控、社区活跃。
但「开源免费」和「零成本」是两件事。开源二开最容易失控的地方是升级。
| 阶段 | 发生什么 | 结果 |
|---|---|---|
| 第 1 个月 | 基于 v1.0 开发,改了 20 个文件 | 上线顺利 |
| 第 6 个月 | 上游发布 v1.5,修复了安全漏洞 | 改动太多,不敢升级,先扛着 |
| 第 12 个月 | 业务需要 v1.5 才有的新功能 | 尝试升级,冲突几百处,评估后放弃 |
| 第 18 个月 | 上游已到 v2.0,架构大改 | 彻底锁死在 v1.0,社区问题也没人回答了 |
避免这个结局,只有一条路:把二次开发尽量做在外围,不要改内核。具体做法:
- 能用插件/扩展机制实现的,绝不改源码。主流开源平台都有扩展点,先花时间研究清楚
- 必须改源码的,单独记录成一份 patch 清单,每次升级时逐个重放,不要散落在各处
- 业务逻辑放在独立服务里,通过 API 和平台交互。这样平台升级不影响业务代码
- 选版本要选 LTS 或社区长期维护的分支,不要追最新版
另一个常见问题是社区版的「功能阉割」。有些开源项目采用 open-core 模式,核心功能开源,多租户、高级规则引擎、集群部署这些放在商业版。选型时一定要确认:你需要的能力,社区版是不是真的有。
一个中等复杂度的项目(对接 5 种协议、1 万台设备、需要定制可视化),基于成熟开源平台二开,通常需要 1 名后端 + 1 名前端投入 2-3 个月,后续每季度 0.5 人维护。如果团队没有这个投入能力,不如直接采购。
五、10 项选型打分表
这张表可以直接拿去开评审会。每项 1-5 分,权重按项目实际情况调整。总分不重要,重要的是看哪几项分数特别低——那几项就是三年后要还的债。
| # | 评估项 | 怎么评 | 权重 |
|---|---|---|---|
| 1 | 数据可迁移性 | 能否完整导出原始数据?格式是否标准? | 5 |
| 2 | 授权模式 | 按什么计费?超限怎么处理?停付后能否继续用? | 5 |
| 3 | 协议覆盖 | 是否覆盖你需要的全部协议?新协议接入要多久? | 4 |
| 4 | 设备规模上限 | 单集群能撑多少设备?扩容成本如何? | 4 |
| 5 | 二次开发友好度 | 有插件机制吗?改源码会不会被升级覆盖? | 4 |
| 6 | 私有化部署 | 能否完全离线部署?依赖哪些外部服务? | 3 |
| 7 | 规则引擎能力 | 支持哪些触发条件?能否调用外部 API? | 3 |
| 8 | 可视化能力 | 组态、大屏、报表是内置还是另收费? | 3 |
| 9 | 文档与支持 | 中文文档完整度?出问题多久能响应? | 3 |
| 10 | 社区/厂商活跃度 | 最近半年更新频率?社区提问有没有人回? | 2 |
用这张表时有两个提醒:
- 1第 1、2 项分数低,其他项再高也不要选。数据迁不走、授权被卡死,这两件事一旦发生就是死局,没有技术手段能解。
- 2第 10 项权重最低,但值得看一眼。一个半年没更新的开源项目,意味着你遇到的问题大概率没人回答过。
六、必须问供应商的 5 个问题
这五个问题,能问出报价单上看不到的东西。建议在技术交流会上当面问,看对方是直接回答还是绕。
- 1「如果我们的设备量从 1 万涨到 10 万,授权费怎么算?能给一个明确的单价表吗?」——绕开这个问题的,基本是按设备数计费且涨幅很大。
- 2「我们自己的业务数据模型(比如自定义的设备属性、工单结构)能不能加?加了之后平台升级会不会覆盖?」——考验的是扩展机制,不是配置项。
- 3「平台停止续费或者我们不再合作,历史数据能不能完整导出?导出格式是什么?」——答不上来或者只说「可以提供 API」,等于数据迁不走。
- 4「私有化部署的版本,和 SaaS 版功能一致吗?差哪些?」——很多平台的私有化版本功能是缩水的。
- 5「能不能给我们 2-3 个同行业的客户案例,让我们直接问他们的使用体验?」——愿意给的,通常对自己的产品有信心。
七、已经被锁死了,怎么迁
如果平台已经用了两三年,发现被卡住了,迁移是可行的,但要按顺序做,不要一次性切。
- 1先做双写。新平台上线后,设备数据同时写入新旧两套,运行 1-2 个月,验证新平台的数据完整性和查询正确性。
- 2再迁历史数据。历史数据按时间倒序迁(最近的先迁),因为最近的查询需求最高。老数据可以只迁聚合结果,原始数据归档到冷存储。
- 3然后切读。让业务系统先读新平台,旧平台只写不读,观察 2-4 周。
- 4最后切设备。设备按批次迁移,每批不超过总量的 10%,每批观察 3-7 天。
- 5旧平台保留 6 个月再下线,作为兜底。
1 万台设备规模、5 种协议的迁移,通常需要 2-3 个月、1-2 人全职投入。如果设备不支持远程 OTA,需要现场逐台改配置,成本会高出一个量级——这也是为什么选型时「数据可迁移性」要占最高权重。
八、常见问题
小团队(3-5 人)做物联网项目,应该选哪条路线?
优先开源二开。理由是小团队自建平台的时间成本太高(3-6 个月做不出生产级平台),采购商业平台的授权费对小团队压力大。开源平台能快速起步,遇到具体需求再针对性开发。但要注意别改内核,把定制做在外围。
商业平台说支持私有化部署,是不是就等于数据安全了?
不等于。私有化部署只解决「数据存在哪」,不解决「平台会不会偷偷上传」。要确认三件事:平台有没有外联上报(授权校验、使用统计)、离线环境能不能正常跑、授权过期后会不会直接停机。有些平台的私有化版本需要定期联网校验授权,这在隔离网络里是致命问题。
开源 IoT 平台里,ThingsBoard 和 JetLinks 怎么选?
ThingsBoard 生态最成熟、文档最全、社区最大,但架构偏重(Java + Cassandra/PostgreSQL),部署和二次开发门槛较高,中文资料少。JetLinks 是国内项目,中文文档和社区更友好,对国产协议和硬件的适配更好。选择主要看团队技术栈和是否需要中文支持,功能覆盖上两者差距不大。
平台选型要不要考虑国产化要求?
如果客户是政府、国企、军工、金融,大概率会有信创要求(国产 CPU、国产操作系统、国产数据库)。这类项目要在选型初期就确认:平台能不能跑在麒麟/统信上、支不支持达梦/人大金仓、有没有信创适配证明。等中标后再补这些,往往来不及。
常见问题
选型和技术评审时最常被问到的几个问题,直接给结论。