# MIOT-基于BladeX后台快速开发脚手架 **Repository Path**: jeely/miot-server ## Basic Information - **Project Name**: MIOT-基于BladeX后台快速开发脚手架 - **Description**: MIOT-基于BladeX后台快速开发脚手架,技术栈涉及SpringCloud - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-04-28 - **Last Updated**: 2026-01-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ![local_pic](https://csdn-pic-1301850093.cos.ap-guangzhou.myqcloud.com/csdn-pic/2023_4_24_pic_1682350293_1.jpg) ## 做这件事为了解决什么问题 1. 大量的微服务部署,浪费性能且低效,20个厂家,用20个程序去接吗? 2. 大量重复性的工作,效率低下 3. 物联网主流解决方案,拥抱时代 ## 初版结构设计 1. 北向业务提供 2. 中心侧设备业务汇总 3. 南向设备对接 大版本的修改会独立开辟新仓库不断迭代。 ## 整体架构 对于物联网的后端架构设计也是在不断地摸索中,业务划分的可能还不是很清晰,大家可根据实际情况进行取舍。 暂时无法在飞书文档外展示此内容 ## 业务目标 低代码接入各大厂家物联网设备,降低使用门槛,提升对接效率。 ## 整体解决方案 1. 提供北向对外接口(HTTP/TCP/MQTT),使产品产生对外通用功能暴露能力 2. 内置国际各标准化协议 3. 支持在线可配置型编解码规则 4. 内置各厂家编解码规则,避免重复布置 ## 设备接入 暂时无法在飞书文档外展示此内容 ## 技术栈及中间件的使用 1. Nacos,注册中心 2. SpringBoot Admin,微服务健康监测 3. Redis,缓存 4. MySQL,基础数据存储 5. Mongodb,时序历史数据存储 6. RabbitMQ,消息解耦队列 7. MQTT,北向服务提供及南向客户端主动连接支持 8. Netty,TcpSocket使用 9. Docker,容器化部署 10. Teamcity,持续集成/持续部署 ## 关于内置厂商规则匹配 1. 首先在产品集成页面,用户填写完基本信息后点击保存,提交请求到后台(IP地址、端口、产品名称、协议、产品类型-树状图) 2. 校验产品类型是否在后台存在内置的编解码规则匹配,前往内置规则表进行配对 ```Shell Magic目录结构 |————decode |————basicsDecode |————海康威视 |————大华 |————华为 |————encode |————basicsEncode |————海康威视 |————大华 |————华为 ``` 1. 如果产品类型匹配,则在数据解析表中插入相应数据(详情查看MIOT产品开发进度管理sheet页) ## 包目录划分 该结构并非最新,最新请根据Gitee仓库查看 ```Shell ├─.idea │ └─codeStyles ├─blade-auth ├─blade-common ├─blade-gateway ├─blade-ops │ ├─blade-admin │ ├─blade-develop │ ├─blade-log │ ├─blade-report │ ├─blade-resource │ ├─blade-swagger │ └─blade-task ├─blade-service │ ├─blade-advanced │ │ └─blade-analysis-data │ ├─blade-basics │ │ ├─blade-desk │ │ ├─blade-office │ │ ├─blade-system │ │ └─blade-user │ ├─blade-device │ │ ├─blade-device-manager │ │ ├─blade-device-socket │ │ └─blade-magic │ └─blade-external │ └─blade-benyuan-server ├─doc │ ├─docker │ ├─nacos │ └─sql │ ├─blade │ └─seata ├─my-config │ ├─mongodb │ ├─mq │ ├─mysql │ └─nacos ├─pic └─script ├─docker │ ├─nacos │ │ └─init.d │ └─nginx │ ├─api │ └─web │ └─html ├─fatjar ├─kuboard │ └─saber-db └─simple ``` ## 其它说明 最终结果以云平台Saas为导向,远端内网用户可通过本地部署SDK,加入租户列,实现多项目管理。 注:相关的中间件及一些配置都在my-config目录中,例如nacos及MySQL的基础配置,导入即可。 ![local_pic](https://csdn-pic-1301850093.cos.ap-guangzhou.myqcloud.com/csdn-pic/2023_4_24_pic_1682350293_2.jpg)