# 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% ### 软件架构 ![](./docs/images/ty.png) ### 安装教程 外部依赖: 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) ### 部分截图 ![](./docs/images/product.jpg) ![](./docs/images/dev.jpg) ![](./docs/images/model.jpg)