一飞开源
阅读1464

[开源]物联网通讯平台,使用习惯和市面上的物联网云平台一致

一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!

一、开源项目简介

ByteCub IoT platform

基于Java8、SpringBoot 2.3.6、ElasticSearch 7.6.2、Redis、MySQL 5.6/5.7的物联网通讯平台。使用习惯和市面上的物联网云平台一致。

二、开源协议

使用Apache-2.0开源协议

三、界面展示

部分截图

 

 

四、功能概述

功能

说明

MQTT

1.SSL支持

2.集群化部署时暂不支持retain&will类型消

UDP

1.需要自己在UdpProtocolParser类中实现设备编码获取方法

(系统默认json格式传送clientId或imei为设备编码)

2.权限校验:在UdpAuthParser中自定义权限校验

物模型

自定义物模型

数据协议

只需要一行注解,就可以实现自定义数据协议。具体可查看文档

集群化部署

和单例部署一样简单,只需要通过nginx/LVS等进行负载均衡配置即可

开放平台

可根据自己项目需求,很简便安全的通过http接口向业务系统提供支持能力

五、技术选型

基于Java8、SpringBoot 2.3.6、ElasticSearch 7.6.2、Redis、MySQL 5.6/5.7的物联网通讯平台。使用习惯和市面上的物联网云平台一致。

软件架构

安装教程

外部依赖:

  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启动
  2. 启动bytecub-application module下的ByteCubApplication主类即可
  3. jar包启动
  4. 执行 mvn install,运行

  nohup java -jar /home/apps/server/bytecub/bytecub-application-1.0-SNAPSHOT.jar --spring.profiles.active=prod >/dev/null 2>log &

压测结果

使用阿里云2核4G,单机部署情况下支持每秒5K条消息上报,数据无积压,cpu负载最高40%

六、源码地址

源码下载

关注下面的标签,发现更多相似文章

一飞开源
发布了 篇专栏 · 获取点赞 · 获取阅读

评论

查看更多
相关推荐
关于作者
一飞开源
获得点赞 100
文章被阅读 1000
相关文章