基于物联网平台快速开发SaaS应用法人核心思路:复用物联网平台底层能力(设备接入、协议解析、时序存储、消息队列、设备管理),上层只开发业务SaaS,不做底层驱动/网关内核,大幅缩短开发周期。
适用:设备监控、远程控制、告警、报表、多租户,工业/智慧畜牧/动环/楼宇照明等场景。
一、架构总览(快速落地版)
终端设备/网关 → IoT平台(设备接入、Modbus/LoRa/4G协议、消息、时序库)→ API/消息推送 → SaaS业务后端 → SaaS前端(Web/小程序)
IoT平台分三类选型:
1. 公有云IoT平台:阿里云IoT、华为云IoT、移动OneNET、AWS IoT
✅ 优点:开箱即用,认证、时序数据库、规则引擎、告警原生支持;适合快速验证,中小客户
❌ 缺点:大批量设备费用高,数据出境合规问题,私有化部署困难
2. 开源IoT平台私有化:ThingsBoard、EMQX+JetLinks
✅ 优点:自主可控,可私有化部署,成本低,适合项目型SaaS;工业物联网最常用
❌ 缺点:需要运维,部分高级功能需要二次开发
3. 厂商物联网云:聚英电子等硬件配套云平台(硬件+云一体)
✅ 优点:通过Modbus通信协议,打通硬件和云打通,传感器、IO模块、4G报警器直接接入,硬件调试工作量最小;适合硬件配套SaaS
> 快速开发优先选:硬件配套云 / ThingsBoard,可以跳过大量设备接入层开发。
二、开发步骤(按顺序落地,最快上线)
Step1:需求梳理 + 设备物模型定义(最关键前置)
物模型 = 设备标准化描述,IoT平台核心,决定SaaS好不好做
- 属性:遥测(温度、电压,上报值,只读);参数(阈值、开关,可下发控制)
- 事件:告警事件(断电、故障)、上下线事件
- 服务:远程操作(重启、校准)
> 示例:动环主机
> 遥测:室温、湿度、UPS电压;可写参数:告警阈值;事件:断电告警;服务:远程重启
输出物模型JSON,导入IoT平台,所有同类型设备复用一套模型。
Step2:IoT平台配置(零代码部分)
1. 创建产品,导入物模型
2. 配置接入协议:MQTT、Modbus RTU/TCP、4G透传、LoRa等
3. 规则引擎配置(减少SaaS后端压力)
- 数据转发:设备数据 → HTTP推送到SaaS后端 / Kafka
- 告警规则:平台侧判断阈值,触发告警消息推送,不用SaaS轮询设备数据
- 数据存储:平台时序库存历史测点,SaaS按需查询,不用自建时序数据库
4. 设备批量注册、证书/秘钥生成,下发给硬件
> 目标:IoT平台负责设备通信、数据采集、底层告警;SaaS只做业务逻辑、权限、租户、账单。
Step3:SaaS多租户设计(SaaS和普通项目最大区别)
SaaS核心:一套系统,多个客户隔离。两种模式:
1. 共享数据库,租户ID隔离(推荐快速开发)
所有租户数据一张库表,每条数据带`tenant_id`;开发最快,适合中小规模
隔离手段:API请求强制携带租户ID,SQL自动拼接租户过滤,防止越权查看
2. 独立数据库/独立Schema:数据强隔离,适合大客户,开发成本更高
租户需要的基础业务模块:
- 租户管理:开通、过期、套餐、计费
- 用户权限:租户管理员、操作员、只读账号,设备分组权限
- 设备管理:租户下设备列表、分组、标签
- 告警管理:告警接收人、短信/邮件/企业微信推送、告警工单
- 报表:历史曲线、导出、统计报表
> 尽量不要把业务告警逻辑写在SaaS轮询拉取,由IoT平台通过Webhook推送事件,实时性更好、服务器压力更小。
Step4:前后端对接IoT平台
两种对接方式:
1. 调用IoT平台REST API(查询设备、下发指令、查历史数据)
- 查询:设备状态、历史曲线、设备列表
- 下行:远程控制继电器、修改设备参数
2. 消息订阅(MQTT/Webhook):接收设备上报数据、上下线、告警事件
> 最佳实践:
> - 实时事件(告警、设备上线):Webhook推送到SaaS后端
> - 主动查询(历史曲线、设备详情):调用IoT平台API
> - 下发控制指令:SaaS后端调用IoT平台API转发指令到设备
Step5:SaaS前端开发
可以复用IoT平台自带仪表盘,加速开发:
- ThingsBoard自带仪表盘、时序图表,可嵌入iframe到你的SaaS;适合快速原型
- 自研前端:Vue/React,封装设备列表、实时面板、告警中心、报表页面;适合品牌化SaaS产品
Step6:测试、打包、上线
1. 联调:设备上报数据 → IoT平台 → SaaS接收;下发控制回环测试
2. 租户隔离测试:A租户不能看到B租户设备
3. 并发压力:大量设备并发上报,验证消息队列削峰
4. 部署:公有云容器部署;私有化SaaS打包交付
三、快速开发避坑点(物联网SaaS高频踩坑)
1. ❌ SaaS直接和设备通信:设备网络不稳定,海量连接管理成本极高,必须经过IoT平台做中转
2. ❌ SaaS自己存全部时序测点数据:时序数据量爆炸,存储成本高,交给IoT平台时序库
3. ❌ 多租户忘记权限隔离:客户数据泄露重大风险,所有接口强制校验tenant_id
4. ❌ 下行控制不做鉴权+日志:远程控制设备必须记录操作人、时间,便于溯源
5. ❌ 没有离线缓存:设备断网时,指令下发失败要做重试、状态回显
四、技术栈推荐(快速开发组合)
方案A:最快原型(1~2个月出Demo)
IoT平台:ThingsBoard CE
SaaS后端:Node.js / SpringBoot
数据库:MySQL(业务数据)
前端:Vue3 + ECharts(时序图表)
消息:Webhook + MQTT
特点:开源免费,自带物模型、仪表盘、告警,适合工业物联网SaaS
方案B:硬件配套快速方案(聚英等硬件)
IoT平台:厂商云平台
SaaS后端:SpringBoot
对接:REST API + Webhook
特点:不用开发网关协议,DAM继电器、4G断电报警器、485模块直接接入,硬件调试工作量最低
方案C:公有云商用SaaS
IoT平台:阿里云IoT/OneNET
SaaS后端:SpringBoot
适合:面向中小企业标准化SaaS,不想维护IoT底层服务
五、最小MVP功能清单(先做这些上线验证市场)
1. 租户注册登录、子账号权限
2. 设备分组管理
3. 实时测点面板、历史曲线
4. 阈值告警,微信/短信通知
5. 远程下发控制指令
6. 简单报表导出
六、扩展能力(后续迭代)
- 计费套餐:按设备数量/测点数量收费
- 工单系统:告警自动生成工单
- 大屏可视化
- API开放平台:给客户提供第三方对接接口
- 离线本地网关+云端SaaS混合部署
官方微信
天猫店铺
京东店铺
销售王经理