# gbiot
**Repository Path**: wuml/gbiot
## Basic Information
- **Project Name**: gbiot
- **Description**: GB-Iot物联网管理平台
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: http://www.gbiot.top:81
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2021-08-08
- **Last Updated**: 2024-06-17
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
平台简介
啊哈!大家嚎!我一直有个梦想就是自己开发一个物联网云平台,目前正在一步步靠近!本人大学学习的物联网专业(校企合作),但是真的很水,啥也学但是啥也不精通,最后主要方向是Java方向。o(╥﹏╥)o 后来也参加过一些物联网相关大赛也获过奖(ICAN,有人杯,TI之类 可惜奖状都不知道哪去了 可能有些被我妈扔了-=-) 当时用的ONENET云平台 感觉十分好用!所以一定要开发一个自己的物联网平台,同时也是学习和温习相关技术的机会。 此项目基于RouYi开源框架基础上开发,自己整合了MQTT,ActiveMQ,Redis等技术,目前完成度不高,但是基本数据采集,远程控制,数据展示已经完成。
技术选型
系统需求
- JDK >= 1.8
- MySQL >= 5.7(开发用是8.0)
- Maven >= 3.0
- Redis >=6.0
- ActiveMq 5.16.1
- EMQX broker
技术栈
- 系统环境 Java EE 8 Servlet 3.0 Apache Maven 3
- 主框架 Spring Boot 2.2.x Spring Framework 5.2.x Apache Shiro 1.7
- 持久层 Apache MyBatis 3.5.x Hibernate Validation 6.0.x Alibaba Druid 1.2.x
- 视图层 Bootstrap 3.3.7 Thymeleaf 3.0.x AngularJS(动态下拉框,双向数据绑定,异步请求) LayUi(数据沙盘)
- 中间件 MQTT ActiveMq EMQ
项目功能
物联网平台:
- 项目管理:增删改查项目,一个项目下面可以有多个设备。增删改自动缓存Redis。
- 设备管理:增删改查设备。删改自动缓存Redis。
- 数据管理:可以查看设备上传的数据。
- MQTT:通过EMQ平台去订阅发布MQTT消息
- ActiveMQ:将MQTT消息转发至MQ队列,进行异步和解耦操作。
- 数据接收:通过MQ消费者类消费数据,通过JSON转换将设备数据添加数据至数据库
- Redis管理:可以查看Redis中存储的数据,可以手动删除。项目开始通过实现CommandLineRunner接口自动缓存设备,项目数据。
- 数据沙盘:目前这块是写死的,目的是为了用Echats展示数据,并且可以通过开关按钮下发MQTT指令远程控制设备。
- 硬件项目:温湿度数据采集,远程控制LED小灯。DOC文件夹中有代码以及详细描述。
- 自己公司用的JPA,感觉用Mybatis写单表CRUD和resultMap好麻烦,所以自己又封装了一下Map(DataMap)以便于查询数据。 并且打算引入Mybatis-Plus
若依:
- 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
- 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
- 岗位管理:配置系统用户所属担任职务。
- 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
- 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
- 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
- 参数管理:对系统动态配置常用参数。
- 通知公告:系统通知公告信息发布维护。
- 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
- 登录日志:系统登录日志记录查询包含登录异常。
- 在线用户:当前系统中活跃用户状态监控。
- 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
- 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
- 系统接口:根据业务代码自动生成相关的api接口文档。
- 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
- 缓存监控:对系统的缓存查询,删除、清空等操作。
- 在线构建器:拖动表单元素生成相应的HTML代码。
- 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。
部署方式
1.部署方式与若依部署方式相同,详情查看doc文件夹下的手册 2.数据库为doc文件夹下的sql文件夹下的gbiot.sql 3.设备部署需要redis和activeMq环境,详细配置在application.yml和gbiot-redis下面的application-redis.yml中进行配置
硬件Json格式
{
"apiKey": "填写项目对应的ApiKey",
"sn": "填写设备对应的唯一Sn码",
"data": "数据",
"unit": "单位",
"type": "预定好的数据类型"
}
在线体验
- 帐号密码:admin/admin123
- 演示地址:http://www.gbiot.top:9090
演示图




