| .claude | ||
| bin | ||
| docker | ||
| docs | ||
| fastbee-admin | ||
| fastbee-common | ||
| fastbee-framework | ||
| fastbee-iot-data | ||
| fastbee-mq | ||
| fastbee-notify | ||
| fastbee-open-api | ||
| fastbee-plugs | ||
| fastbee-protocol | ||
| fastbee-record | ||
| fastbee-report | ||
| fastbee-server | ||
| fastbee-service | ||
| sql | ||
| yack-app | ||
| yack-view | ||
| yack-web | ||
| .DS_Store | ||
| .gitignore | ||
| CLAUDE.md | ||
| fastbee.bat | ||
| fastbee.sh | ||
| generate_professional_templates.py | ||
| LICENSE | ||
| pom.xml | ||
| README.md | ||
FastBee 物联网平台
基于 若依(RuoYi)v3.8.5 框架构建的开源物联网平台,提供设备接入、数据采集、协议解析、规则引擎、告警监控、视频接入等一站式 IoT 解决方案。
平台简介
FastBee 是一个功能完备的企业级物联网基础平台,支持多协议设备接入、海量时序数据处理、可视化场景编排与数据展示。
- 后端采用 Spring Boot 2.5.14 + Spring Security + Redis + JWT,多模块化架构
- 前端包含三个独立应用:Vue 2 管理后台(yack-web)、Vue 3 低代码可视化(yack-view)、UniApp 移动端(yack-app)
- 设备接入支持 MQTT、TCP、CoAP、HTTP、WebSocket、SIP(GB28181)等多种协议
- 内置 MQTT Broker(Netty 实现),可选择内嵌模式或连接外部 EMQX
- 时序数据存储支持 MySQL 及 TDengine
- 通知系统支持多渠道推送(邮件、短信等)
- 内嵌 LiteFlow 规则引擎,支持 IoT 场景自动化编排
技术栈
后端
| 组件 | 技术 |
|---|---|
| 核心框架 | Spring Boot 2.5.14 |
| 安全框架 | Spring Security + JWT |
| ORM | MyBatis(若依框架集成) |
| 数据库连接池 | Druid |
| 缓存 | Redis(Redisson) |
| MQTT Broker | Netty 自研 / EMQX |
| 消息队列 | RocketMQ |
| 规则引擎 | LiteFlow |
| 时序数据库 | MySQL / TDengine |
| 协议服务器 | Netty |
| 代码生成器 | Velocity 模板 |
| 项目管理 | Maven(多模块) |
前端
| 应用 | 技术 | 用途 |
|---|---|---|
| yack-web | Vue 2 + Element UI + Vuex | 管理后台 |
| yack-view | Vue 3 + TypeScript + Vite + Naive UI + Pinia | 低代码可视化设计器 |
| yack-app | UniApp + uView 2.0 | 移动端(iOS/Android/微信小程序) |
架构
数据流
设备 → 协议服务器(Netty,端口因协议而异)
→ iot-server-core 消息分发器
→ RocketMQ
→ fastbee-record 持久化
→ MySQL / TDengine
→ WebSocket 推送至前端
模块结构
fastbee-admin/ # Spring Boot 入口,Web 层
fastbee-framework/ # 安全配置、拦截器、核心框架
fastbee-common/ # 公共工具类、领域模型、注解、常量
fastbee-open-api/ # 对外 REST API
fastbee-service/
fastbee-iot-service/ # IoT 业务逻辑
fastbee-system-service/ # 系统管理(用户、角色、菜单)
fastbee-server/
base-server/ # 服务器抽象基类
iot-server-core/ # 消息分发核心
mqtt-broker/ # 内嵌 MQTT Broker
http-server/ # HTTP 设备接入(端口 8081)
tcp-server/ # TCP 服务器(端口 8888)
coap-server/ # CoAP 服务器(端口 5683)
sip-server/ # SIP/GB28181 视频监控
boot-strap/ # 服务器启动引导
fastbee-protocol/ # 协议编解码
base/ # 协议抽象层
collect/ # 数据采集协议实现
fastbee-iot-data/ # 时序数据存储(TDengine)
fastbee-mq/ # RocketMQ 集成
fastbee-notify/ # 多渠道通知
fastbee-record/ # 设备数据记录/持久化
fastbee-plugs/
generator/ # 代码生成器
quartz/ # 定时任务
ruleEngine/ # LiteFlow 规则引擎
oss/ # 对象存储(S3/阿里云 OSS)
mqtt-client/ # MQTT 客户端
oauth/ # OAuth 2.0(JustAuth)
pay/ # 支付集成
http/ # HTTP 客户端(Forest)
核心功能
- 多协议接入:MQTT、TCP、CoAP、HTTP、WebSocket、SIP(GB28181)
- 设备管理:注册、分组、共享、固件升级
- 产品管理:产品定义、物模型、分类管理、授权码
- 数据采集:Modbus 轮询、自定义协议解析
- 告警监控:告警规则、告警历史、通知推送
- 场景编排:LiteFlow 规则引擎、数据桥接(HTTP/MQTT/数据库)
- 时序数据:支持 TDengine 高性能时序存储
- 视频监控:GB28181 国标协议接入、PTZ 控制、录像回放
- 可视化:低代码拖拽式大屏设计
- 规则引擎:图形化场景编排,支持脚本
- 通知系统:多渠道消息推送
- 多租户:内置多租户数据隔离
- 代码生成:一键生成前后端 CRUD 代码
快速开始
环境要求
- JDK 1.8+
- Maven 3.6+
- MySQL 5.7+
- Redis
- RocketMQ(可选)
- TDengine(可选)
- EMQX(可选,使用外部 MQTT Broker 时)
本地开发
# 1. 初始化数据库
执行 sql/yack-init.sql
# 2. 修改配置
编辑 application-dev.yml,配置 MySQL、Redis 连接信息
# 3. 启动后端
mvn clean package -DskipTests
cd fastbee-admin/target
java -jar fastbee-admin.jar --spring.profiles.active=dev
# 4. 启动管理后台(yack-web)
cd yack-web
npm install
npm run dev
# 5. 启动可视化设计器(yack-view)
cd yack-view
pnpm install
pnpm dev
# 6. 启动移动端(yack-app)
cd yack-app
npm install
# 使用 HBuilderX 打开并运行
API 文档
启动服务后访问:http://localhost:8080/swagger-ui/index.html
协议端口
| 协议 | 端口 | 说明 |
|---|---|---|
| MQTT | 1883 | 未加密 TCP |
| MQTTS | 8883 | 加密 TCP |
| WS | 8083 | WebSocket |
| WSS | 8084 | 加密 WebSocket |
| HTTP 设备接入 | 8081 | HTTP 协议 |
| TCP | 8888 | TCP 协议 |
| CoAP | 5683 | CoAP 协议 |
部署
Docker 部署
cd docker
docker-compose up -d
前端部署
- yack-web:
npm run build:prod,产物部署至 Nginx - yack-view:
pnpm build,产物部署至 Nginx/var/data/nginx/view/
数据库
FastBee 共使用 117 张表,涵盖以下业务领域:
- 设备管理、产品管理、物模型
- 告警监控、场景编排、规则引擎
- 网关与子设备、Modbus 配置
- 固件升级、SCADA 可视化
- SIP 视频监控、OAuth 认证
- 系统管理(若依 RBAC)、通知系统
- 对象存储、代码生成、Quartz 定时任务
完整的数据库初始化脚本位于 sql/yack-init.sql。
相关项目
| 项目 | 技术栈 | 说明 |
|---|---|---|
| yack-web | Vue 2 + Element UI | 管理后台 |
| yack-view | Vue 3 + Vite + Naive UI | 低代码可视化 |
| yack-app | UniApp + uView | 移动端 |
开源协议
本项目基于 MIT 许可证 开源。
致谢
- 若依(RuoYi) — 提供优秀的后台开发框架
- Element UI
- Naive UI
- GoView