『7x24小时有问必答』

一个毕业设计,居然把物联网平台做到了这种完成度。
它是一套从设备接入到数据可视化的完整物联网中台系统。
没有堆一堆华而不实的功能,而是把物联网最核心的一整套流程都跑通了。
gwiot 是一个用 Spring Boot 框架来开发的物联网中台。
Gitee 上目前只有 29 个 Star,但是整个项目的完成度很高,看起来更像是一个可以运行的物联网平台,并不是毕业设计Demo。
它帮你把物联网平台从零到一搭建起来。
从设备接入、数据采集、存储处理到最终的可视化展示,每一个环节都对应着一个功能模块。
下面我们看看它有哪些核心功能。
设备管理这块做得比较完整。
不是简单的设备列表展示,而是支持设备注册、状态实时监控、标签分组、地理位置信息管理。
设备接入用的是MQTT协议,这个在物联网领域算是比较成熟的消息通信方案。
gwiot直接帮你把这个环节封装好了,不用再从零去研究MQTT服务器怎么搭建。
设备接进来之后,下一步就是处理它们产生的数据。
数据采集和处理是重点功能。
系统能够对各种数据格式进行解析与转换,并且可以把实时的数据指标采集之后存入到时序数据库 InfluxDB 中。
用 MySQL存储 业务数据,用 InfluxDB 存储时序数据、Redis 作为缓存、Elasticsearch 进设备信息检索。
这种存储架构分工明确,每种数据类型都有专门的存储方案。
更重要的是,数据采集到之后,系统就会自动进行阈值监控以及告警触发。
当数据超过阈值的时候就会发出报警。
告警系统支持完整的多级策略。
除了常见的阈值报警之外,还可以进行告警日志、趋势分析、消息通知等操作。
它用 Webhook 可以将告警推送至钉钉、企业微信或自建的运维平台中。
整个过程也十分简单明了:设备的数据被上传之后,系统就会自动去判断有没有超过阈值,如果符合条件就产生报警并且发出通知。
设备接进来了,数据也采集到了,最后还得把这些数据展示出来。
可视化部分使用的是ECharts。
设备的状态、指标的趋势、地理分布、自定义仪表盘等等常见的可视化功能都已实现。

看到这里,想自己跑一遍?

上手并不复杂。
先准备好环境,项目依赖 MySQL、Redis、InfluxDB、Elasticsearch、EMQX(MQTT Broker)、Consul 等服务。
如果不想一个一个地安装的话,可以直接使用项目提供的 Docker Compose,一行命令运行。
cd  docs

docker-compose up -d

所有依赖都会自动启动,省去了不少环境配置的时间。
接着初始化 MySQL 数据库,执行项目提供的脚本:
mysql -u root -p < docs/init.sql

执行完成后,设备、告警、指标等业务表都会自动创建。
后端是基于 Spring Boot 2.6.4 开发的,主要用到了 Spring Cloud 2021.0.1、MyBatis-Plus 3.3.1、InfluxDB Java 2.19 等组件。
后端服务会用默认端口启动,并且从日志中可以看见服务被注册到Consul、连接到数据库成功的信息。
前端项目启动也很简单。
前端的技术栈为Vue3、Element Plus、TypeScript,使用的包管理器是Yarn。
进入前端目录:
cd  gwiot-ui

yarn install

如果遇到依赖安装失败,可以尝试切换npm镜像源:
yarn config  set  registry https://registry.npmmirror.com

安装完成之后就启动开发服务器:
yarn serve

服务会运行在 http://localhost:8080 上,打开浏览器就可以看到登录页面。
整个项目的技术选型都比较稳,Spring Boot、Vue3、InfluxDB、MQTT、ECharts都是当前物联网开发领域比较主流的方案。
该项目非常适合想要快速掌握物联网平台架构的开发者,并且也可以作为企业级物联网平台学习的参考资料。
感兴趣的朋友可以抓紧试试。
开源地址:https://gitee.com/liu-huagui/gwiot

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码