# bytecub
**Repository Path**: byte-cub/bytecub
## Basic Information
- **Project Name**: bytecub
- **Description**: 基于java8,SpringBoot2.3.6 ElasticSearch 7.6.2,redis,MySQL 5.6/5.7的物联网通讯平台。使用习惯和市面上的物联网云平台一致。
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: https://docs.qq.com/doc/DQU9qaGx0UlZhQWhS
- **GVP Project**: No
## Statistics
- **Stars**: 664
- **Forks**: 300
- **Created**: 2021-02-18
- **Last Updated**: 2025-06-06
## Categories & Tags
**Categories**: iot
**Tags**: None
## README
# ByteCub IoT platform
#### 文档地址
[https://docs.qq.com/doc/DQU9qaGx0UlZhQWhS](https://docs.qq.com/doc/DQU9qaGx0UlZhQWhS)
#### 前端代码地址
前端代码地址: [https://gitee.com/byte-cub/bytecub-manager-ui](https://gitee.com/byte-cub/bytecub-manager-ui)
| 功能 | 说明 |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| MQTT | 1.SSL支持
2.集群化部署时暂不支持retain&will类型消 |
| UDP | 1.需要自己在UdpProtocolParser类中实现设备编码获取方法
(系统默认json格式传送clientId或imei为设备编码)
2.权限校验:在UdpAuthParser中自定义权限校验 |
| 物模型 | 自定义物模型 |
| 数据协议 | 只需要一行注解,就可以实现自定义数据协议。具体可查看文档 |
| 集群化部署 | 和单例部署一样简单,只需要通过nginx/LVS等进行负载均衡配置即可 |
| 开放平台 | 可根据自己项目需求,很简便安全的通过http接口向业务系统提供支持能力 |
#### 压测结果
使用阿里云2核4G,单机部署情况下支持每秒5K条消息上报,数据无积压,cpu负载最高40%
### 软件架构

### 安装教程
外部依赖:
1. MySQL 5.6/5.7
2. ElasticSearch 7.6.2
3. Redis 4.0+
docker compose脚本位于 **.docker\dev-env\docker-compose.yml**,通过 **cd** 命令进入该目录后,执行 **docker-compose up -d**
实现一键搭建开发环境。
#### 数据库:
docs/db 目录下,执行sql文件,初始帐号密码admin/123456。
docs/current 目录为迭代期间的数据库变动,例如 1.0.0-current.sql表示的就是1.0.0版本到目前的数据库变动
密码生成格式: 原始字符串MD5 -> 然后转大写 -> 二次MD5### 启动: 本项目为标准springboot项目 1. idea启动 启动bytecub-application module下的ByteCubApplication主类即可 2. jar包启动 执行 mvn install,运行
nohup java -jar /home/apps/server/bytecub/bytecub-application-1.0-SNAPSHOT.jar --spring.profiles.active=prod >/dev/null 2>log &### 使用说明 请移步至 [doc.bytecub.cn](http://doc.bytecub.cn) ### 部分截图   