# 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等技术,目前完成度不高,但是基本数据采集,远程控制,数据展示已经完成。

技术选型

系统需求

  1. JDK >= 1.8
  2. MySQL >= 5.7(开发用是8.0)
  3. Maven >= 3.0
  4. Redis >=6.0
  5. ActiveMq 5.16.1
  6. EMQX broker

技术栈

  1. 系统环境 Java EE 8 Servlet 3.0 Apache Maven 3
  2. 主框架 Spring Boot 2.2.x Spring Framework 5.2.x Apache Shiro 1.7
  3. 持久层 Apache MyBatis 3.5.x Hibernate Validation 6.0.x Alibaba Druid 1.2.x
  4. 视图层 Bootstrap 3.3.7 Thymeleaf 3.0.x AngularJS(动态下拉框,双向数据绑定,异步请求) LayUi(数据沙盘)
  5. 中间件 MQTT ActiveMq EMQ

项目功能

物联网平台:

  1. 项目管理:增删改查项目,一个项目下面可以有多个设备。增删改自动缓存Redis。
  2. 设备管理:增删改查设备。删改自动缓存Redis。
  3. 数据管理:可以查看设备上传的数据。
  4. MQTT:通过EMQ平台去订阅发布MQTT消息
  5. ActiveMQ:将MQTT消息转发至MQ队列,进行异步和解耦操作。
  6. 数据接收:通过MQ消费者类消费数据,通过JSON转换将设备数据添加数据至数据库
  7. Redis管理:可以查看Redis中存储的数据,可以手动删除。项目开始通过实现CommandLineRunner接口自动缓存设备,项目数据。
  8. 数据沙盘:目前这块是写死的,目的是为了用Echats展示数据,并且可以通过开关按钮下发MQTT指令远程控制设备。
  9. 硬件项目:温湿度数据采集,远程控制LED小灯。DOC文件夹中有代码以及详细描述。
  10. 自己公司用的JPA,感觉用Mybatis写单表CRUD和resultMap好麻烦,所以自己又封装了一下Map(DataMap)以便于查询数据。 并且打算引入Mybatis-Plus

若依:

  1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
  2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
  3. 岗位管理:配置系统用户所属担任职务。
  4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
  5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
  7. 参数管理:对系统动态配置常用参数。
  8. 通知公告:系统通知公告信息发布维护。
  9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  10. 登录日志:系统登录日志记录查询包含登录异常。
  11. 在线用户:当前系统中活跃用户状态监控。
  12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
  13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
  14. 系统接口:根据业务代码自动生成相关的api接口文档。
  15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
  16. 缓存监控:对系统的缓存查询,删除、清空等操作。
  17. 在线构建器:拖动表单元素生成相应的HTML代码。
  18. 连接池监视:监视当前系统数据库连接池状态,可进行分析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": "预定好的数据类型"
}

在线体验

演示图