From 982ab8a56aae70bffd0955f8bc0d8cfc623e7355 Mon Sep 17 00:00:00 2001 From: George Date: Thu, 7 May 2026 21:43:27 +0800 Subject: [PATCH] 20260507:README.md --- .gitattributes | 4 - README.md | 273 ++++++++++++++++++++++++++++++++++++------------- 2 files changed, 200 insertions(+), 77 deletions(-) delete mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 3c9caca8..00000000 --- a/.gitattributes +++ /dev/null @@ -1,4 +0,0 @@ -* text=auto -*.xml text eol=lf # 所有 XML 文件强制使用 LF 作为行结束符(提交和拉取都为 LF) -*.yml text eol=lf # YAML 文件同理 -*.java text eol=lf # Java 文件同理 \ No newline at end of file diff --git a/README.md b/README.md index 36f105f5..c96e4b92 100644 --- a/README.md +++ b/README.md @@ -1,86 +1,213 @@ +# FastBee 物联网平台 + +基于 **若依(RuoYi)v3.8.5** 框架构建的开源物联网平台,提供设备接入、数据采集、协议解析、规则引擎、告警监控、视频接入等一站式 IoT 解决方案。 + ## 平台简介 -若依是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。 +FastBee 是一个功能完备的企业级物联网基础平台,支持多协议设备接入、海量时序数据处理、可视化场景编排与数据展示。 -* 前端采用Vue、Element UI。 -* 后端采用Spring Boot、Spring Security、Redis & Jwt。 -* 权限认证使用Jwt,支持多终端认证系统。 -* 支持加载动态权限菜单,多方式轻松权限控制。 -* 高效率开发,使用代码生成器可以一键生成前后端代码。 -* 提供了技术栈([Vue3](https://v3.cn.vuejs.org) [Element Plus](https://element-plus.org/zh-CN) [Vite](https://cn.vitejs.dev))版本[RuoYi-Vue3](https://github.com/yangzongzhuan/RuoYi-Vue3),保持同步更新。 -* 提供了单应用版本[RuoYi-Vue-fast](https://github.com/yangzongzhuan/RuoYi-Vue-fast),Oracle版本[RuoYi-Vue-Oracle](https://github.com/yangzongzhuan/RuoYi-Vue-Oracle),保持同步更新。 -* 不分离版本,请移步[RuoYi](https://gitee.com/y_project/RuoYi),微服务版本,请移步[RuoYi-Cloud](https://gitee.com/y_project/RuoYi-Cloud) -* 特别鸣谢:[element](https://github.com/ElemeFE/element),[vue-element-admin](https://github.com/PanJiaChen/vue-element-admin),[eladmin-web](https://github.com/elunez/eladmin-web)。 -* 阿里云折扣场:[点我进入](http://aly.ruoyi.vip),腾讯云秒杀场:[点我进入](http://txy.ruoyi.vip)   -* 阿里云优惠券:[点我领取](https://www.aliyun.com/minisite/goods?userCode=brki8iof&share_source=copy_link),腾讯云优惠券:[点我领取](https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console)   +- 后端采用 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 场景自动化编排 -## 内置功能 +## 技术栈 -1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 -2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。 -3. 岗位管理:配置系统用户所属担任职务。 -4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。 -5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。 -6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。 -7. 参数管理:对系统动态配置常用参数。 -8. 通知公告:系统通知公告信息发布维护。 -9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。 -10. 登录日志:系统登录日志记录查询包含登录异常。 -11. 在线用户:当前系统中活跃用户状态监控。 -12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。 -13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。 -14. 系统接口:根据业务代码自动生成相关的api接口文档。 -15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。 -16. 缓存监控:对系统的缓存信息查询,命令统计等。 -17. 在线构建器:拖动表单元素生成相应的HTML代码。 -18. 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。 +### 后端 -## 在线体验 +| 组件 | 技术 | +|:---|:---| +| 核心框架 | Spring Boot 2.5.14 | +| 安全框架 | Spring Security + JWT | +| ORM | MyBatis(若依框架集成) | +| 数据库连接池 | Druid | +| 缓存 | Redis(Redisson) | +| MQTT Broker | Netty 自研 / EMQX | +| 消息队列 | RocketMQ | +| 规则引擎 | LiteFlow | +| 时序数据库 | MySQL / TDengine | +| 协议服务器 | Netty | +| 代码生成器 | Velocity 模板 | +| 项目管理 | Maven(多模块) | -- admin/admin123 -- 陆陆续续收到一些打赏,为了更好的体验已用于演示服务器升级。谢谢各位小伙伴。 +### 前端 -演示地址:http://vue.ruoyi.vip -文档地址:http://doc.ruoyi.vip +| 应用 | 技术 | 用途 | +|:---|:---|:---| +| 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 推送至前端 +``` -## 业务记录 +### 模块结构 -1、建立每个设备的轮询iot_modbus_job任务之前会查看是否存在设备任务iot_device_job; \ No newline at end of file +``` +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 时) + +### 本地开发 + +```bash +# 1. 初始化数据库 +执行 sql/yack-20260316.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 部署 + +```bash +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-20260316.sql`。 + +## 相关项目 + +| 项目 | 技术栈 | 说明 | +|:---|:---|:---| +| yack-web | Vue 2 + Element UI | 管理后台 | +| yack-view | Vue 3 + Vite + Naive UI | 低代码可视化 | +| yack-app | UniApp + uView | 移动端 | + +## 开源协议 + +本项目基于 [MIT 许可证](LICENSE) 开源。 + +## 致谢 + +- [若依(RuoYi)](https://gitee.com/y_project/RuoYi) — 提供优秀的后台开发框架 +- [Element UI](https://github.com/ElemeFE/element) +- [Naive UI](https://github.com/tusen-ai/naive-ui) +- [GoView](https://github.com/dromara/GoView)