【开源视频联动物联网平台】开箱即用的物联网项目介绍

news2024/11/17 21:18:16

写一个开箱即用的物联网项目捐献给Dromara组织

一、平台简介

  1. MzMedia开源视频联动物联网平台,简单易用,更适合中小企业和个人学习使用。适用于智能家居农业监测、水利监测、工业控制,车联网监控直播慢直播等场景。

  2. 支持抖音视频号等主流短视频平台推流直播,提取视频切片等功能

  3. 系统后端采用Spring boot;前端采用Vue3+Element Plus;消息服务器采用EMQX5.0;数据库采用Mysql、TDengine和Redis;设备端支持OpenWrt,FreeRTOS,RT-Thread等操作系统的接入sdk;

  4. 本项目使用了多个Dromara组织框架和工具,包括:RuoYi-Vue-Plus,hutool,Sa-Token,LiteFlow,Forest,sms4j,go-view等,取之于Dromara组织,贡献于Dromara组织。

  5. 系统架构图
    在这里插入图片描述

RuoYi-Vue-Plus 是重写 RuoYi-Vue 针对 分布式集群与多租户 场景全方位升级

项目代码、文档 均开源免费可商用 遵循开源协议在项目中保留开源协议文件即可

活到老写到老 为兴趣而开源 为学习而开源 为让大家真正可以学到技术而开源

gitee: MzMedia

github: MzMedia

文档地址: MzMedia

系统演示: 传送门

二、系统功能

1.框架系统功能
功能本项目
前端项目采用 Vue3 + TS + ElementPlus 重写
后端项目结构采用插件化 + 扩展包形式 结构解耦 易于扩展
关系数据库支持原生支持 MySQL、Oracle、PostgreSQL、SQLServer
可同时使用异构切换
缓存数据库支持 Redis 5-7 支持大部分新功能特性 如 分布式限流、分布式队列
ORM框架采用 Mybatis-Plus 基于对象几乎不用写SQL全java操作 功能强大插件众多
例如多租户插件 分页插件 乐观锁插件等等
文件存储采用 Minio 分布式文件存储 天生支持多机、多硬盘、多分片、多副本存储
支持权限管理 安全可靠 文件可加密存储
云存储采用 AWS S3 协议客户端 支持 七牛、阿里、腾讯 等一切支持S3协议的厂家
短信,邮件采用 sms4j 短信融合包 支持数十种短信厂家 只需在yml配置好厂家密钥即可使用 可多厂家共用
接口文档采用 SpringDoc、javadoc 无注解零入侵基于java注释
只需把注释写好 无需再写一大堆的文档注解了
工具类框架采用 Hutool、Lombok 上百种工具覆盖90%的使用需求 基于注解自动生成 get set 等简化框架大量代码
代码生成器只需设计好表结构 一键生成所有crud代码与页面
降低80%的开发量 把精力都投入到业务设计上
框架为其适配MP、SpringDoc规范化代码 同时支持动态多数据源代码生成
部署方式支持 Docker 编排 一键搭建所有环境 让开发人员从此不再为搭建环境而烦恼
2.物联网系统功能
功能介绍
MQTT协议支持集成emqx5.0 mqtt消息中间件,支持MQTT (3.1、3.1.1和5.0)等协议标准
视频监控协议支持集成ZLMediaKit流媒体服务器,支持GB28181国标协议,支持RTSP,RTMP,RTP等流媒体协议,支持海康威视,大华等主流监控设备
主流modbus,PLC协议支持集成ModbusTCP服务器和ModbusRTU解码器,支持主流工控设备数据上报方式,支持MQTT透传,TCP透传,ModbusTCP等方式,可对接主流PLC设备
物模型规范有标准的物模型字段,根据属性,功能,事件来处理设备业务,支持灵活的key-value编码解析
消息编码管理key-value编码可自定义调整,可使用规则引擎对消息进行简单处理
设备接入协议管理支持mqtt,sip,http,tcp,udp,tr069,snmp,lora等网络组件接入,可启停,可横向拓展。
细粒度的时序数据库记录集成TDengine时序数据库,可记录每个设备的属性和事件历史数据,可进行大数据处理和展示
更加灵活的规则引擎集成 node-red + liteflow 框架,作为业务解耦核心组件,更加方便拓展,
设备拓扑,设备组态集成 ShadowEditor 框架,动态展示设备实时运行状态,可根据需要开启
数据可视化集成GoView框架,可拖拽可视化大屏,项目整体数据展示更加炫酷
三方系统对接集成Forest框架,高层的、极简的轻量级HTTP调用API框架。
设备sdk开发支持主流物联网操作系统 ESP-IDF,openwrt

三、技术栈

  • 服务端
    • 相关技术:Spring boot、Mybatis-Plus、Sa-Token、Jwt、Mysql、Redis、TDengine、EMQX5.0、Vertx等
  • Web端
    • 相关技术:Vue3、TS、Element Plus、Vite等
  • 可视化大屏(GoView)
    • 相关技术:Vue、TypeScript4、Vite、NaiveUI、ECharts、Pinia等
  • 组态(ShadowEditor)
    • 相关技术:Vue、ElementUI、Three.js、Go、MongoDB等
  • 规则引擎(node-red+liteflow)
    • 相关技术:nodejs、html、js等
  • 流媒体服务器(zlmediakit)
    • 相关技术:c++、sip、gb28181、rtmp、rtsp、flv、ffmpeg、ffprobe等
  • 硬件端
    • 相关技术:ESP-IDF、Arduino、openwrt、freeos、rt-thread等

四、本项目业务特性

1.框架业务特性
业务功能说明本项目
租户管理系统内租户的管理 如:租户套餐、过期时间、用户数量、企业信息等V1.0支持
租户套餐管理系统内租户所能使用的套餐管理 如:套餐内所包含的菜单等V1.0支持
客户端管理系统内对接的所有客户端管理 如: pc端、小程序端等
支持动态授权登录方式 如: 短信登录、密码登录等 支持动态控制token时效
V1.0支持
用户管理用户的管理配置 如:新增用户、分配用户所属部门、角色、岗位等V1.0支持
部门管理配置系统组织机构(公司、部门、小组) 树结构展现支持数据权限V1.0支持
岗位管理配置系统用户所属担任职务V1.0支持
菜单管理配置系统菜单、操作权限、按钮权限标识等V1.0支持
角色管理角色菜单权限分配、设置角色按机构进行数据范围权限划分V1.0支持
字典管理对系统中经常使用的一些较为固定的数据进行维护V1.0支持
参数管理对系统动态配置常用参数V1.0支持
操作日志系统正常操作日志记录和查询 系统异常信息日志记录和查询V1.0支持
登录日志系统登录日志记录查询包含登录异常V1.0支持
文件管理系统文件展示、上传、下载、删除等管理V1.0支持
文件配置管理系统文件上传、下载所需要的配置信息动态添加、修改、删除等管理V1.0支持
在线用户管理已登录系统的在线用户信息监控与强制踢出操作V1.0支持
定时任务运行报表、任务管理(添加、修改、删除)、日志管理、执行器管理等V1.0支持
代码生成多数据源前后端代码的生成(java、html、xml、sql)支持CRUD下载V1.0支持
系统接口根据业务代码自动生成相关的api接口文档V1.0支持
服务监控监视集群系统CPU、内存、磁盘、堆栈、在线日志、Spring相关配置等V1.0支持
缓存监控对系统的缓存信息查询,命令统计等。V1.0支持
在线构建器拖动表单元素生成相应的HTML代码。V1.0支持
2.物联网业务特性
业务功能说明本项目
产品管理产品详情、产品物模型、产品分类、设备认证码、告警规则V1.0支持
设备管理设备详情、设备分组、设备日志、设备分享、OTA升级、设备实时控制、实时状态、数据监测V1.0支持
物模型管理属性(设备状态和监测数据),功能(设备可远程调用的功能),事件(设备告警事件和状态事件)V1.0支持
数据流转可视化规则引擎编写,支持js,java等脚本修改消息结构,第三方系统对接,场景联动V1.0支持
设备运维设备固件管理,设备在线调试,设备组态,设备拓扑,设备配置模板下发V1.0支持
视频中心基于GB/T28181协议支持主流厂商监控设备接入,多路视频直播、回放、本地录制查询,云端录像和云台控制,V1.0支持
数据可视化数据可视化,将图表或页面元素封装为基础组件,无需编写代码即可完成业务需求V1.0支持
视频中心(拓展)支持onvif,rtsp等协议接入,支持海康,大华,萤石云等厂商sdk调用,支持语音对讲V2.0支持
AI分析支持百度视联网平台对接,支持算子训练和各种识别模型配置,包括人员,车辆,动物,物体等V2.0支持
网络设备管理支持TR069,SNMP协议接入的网络设备管理,支持TR098,TR181等标准数据模型,支持网络拓扑展示V2.0支持

五、项目目录

ui --------------------------- 前端项目

devsdk ----------------------- 设备端sdk

script ----------------------- docker部署脚本和sql数据库脚本

六、开源项目持续性规划

  1. 广告位和厂商赞助
  2. 技术支持服务
  3. 应用商店模块售卖,标准模块拓展,协议包,功能包等
  4. 项目提炼商业版本授权
  5. 项目成熟后设备托管服务和定制开发服务

七、参考文档

使用本项目前请仔细阅读文档重点注意事项

部署项目 必看

https://plus-doc.dromara.org/#/ruoyi-vue-plus/quickstart/deploy

参考文档 Wiki

https://plus-doc.dromara.org

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1270449.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二.运算符

运算符 1.算术运算符2.比较运算符3.逻辑运算符 1.算术运算符 算数运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行 - * / 和 取模%运算 1.加减法运算符 mysql> SELECT 100,100 0,100 - 0,100 50,100 50 - …

良心推荐免费白嫖的电子书制作与发布平台,快来试试噢~

电子书的出现极大的改变了人们的阅读习惯,与传统的纸质文献相比呢,电子书具有存储量大、体积小、成本低、信息更新快、方便阅读等不可替代的优势,受到了越来越多人的喜爱。 那怎么去制作一个高级又炫酷的电子书呢?今天小编就专门…

java源码-数组

背景 上传图片,需要对图片格式进行校验,这是就可以使用数组 1、什么是数组? Java 语言中提供的数组是用来存储固定大小的同类型元素。 如:可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 numb…

Minio开源高性能高可靠存储搭建

一、minio的特征 1、高性能 MinIO 是一种高性能、S3 兼容的对象存储。它专为大规模 AI/ML、数据湖和数据库工作负载而构建,并且它是由软件定义的存储。不需要购买任何专有硬件,就可以在云上和普通硬件上拥有分布式对象存储。MinIO拥有开源 GNU AGPL v3…

C陷阱与缺陷——第3章 语义陷阱

1. 指针和数组 C语言中只有一维数组,而且数组的大小必须在编译器就作为一个常数确定下来,然而在C语言中数组的元素可以是任何类型的对象,当然也可以是另外的一个数组,这样,要仿真出一个多维数组就不是难事。 对于一个…

OpenCvSharp从入门到实践-(06)创建图像

目录 1、创建图像 1.1实例1-创建黑色图像 1.2实例2-创建白色图像 1.3实例3-创建随机像素的雪花点图像 2、图像拼接 2.1水平拼接图像 2.2垂直拼接图像 2.3实例4-垂直和水平两种方式拼接两张图像 在OpenCV中,黑白图像其实就是一个二维数组,彩色图像…

vscode插件问题

1 Vscode code颜色变化 最外层标签颜色变成白色 其他标签有颜色,css代码颜色有些变成白色 是安装的另一个插件vue影响的,卸载就能恢复正常的颜色 2 配置Vue项目的代码片段 css 样式代码片段 配置css.json上后偶尔能用偶尔不能用,Vscode 右下…

Flutter应用程序的加固原理

在移动应用开发中,Flutter已经成为一种非常流行的技术选项,可以同时在Android和iOS平台上构建高性能、高质量的移动应用程序。但是,由于其跨平台特性,Flutter应用程序也面临着一些安全风险,例如反编译、代码泄露、数据…

Egg.js的方法扩展

Extend-application 方法扩展 eggjs的方法的扩展和编写 Egg.js可以对内部的五种对象进行扩展,以下是可扩展的对象、说明、this指向和使用方式。 application对象方法拓展 按照Egg的约定,扩展的文件夹和文件的名字必须是固定的。比如要对application扩…

【ZEDSLAM】Ubuntu18.04系统ZED 2i双目相机SDK安装、联合标定、SLAM测试

0.设备、环境和说明 笔记本电脑i5-8300H、GTX 1060、32GRAM 因为后面要测试Vins-Fusion和ORB-SLAM3,所以推荐安装Ubuntu 18.04(或者Ubuntu 20.04) ROS 1(不建议用比Ubuntu18更低的版本) ROS一键安装命令:…

Android textView 显示: STRING_TOO_LARGE

默认情况下&#xff0c;TextView只能显示大约32K的字符。如果你的字符串超过这个限制&#xff0c;你将收到一个错误&#xff1a;“String too large”。 <string content" ...."/>问题点是&#xff1a;getResource().getString(R.string.content) 得到的是&am…

linux下实现Qt程序实现开机自启动

1.原理 要想实现开机自启动&#xff0c;首先&#xff0c;QT是没有这种实现的&#xff0c;最好是靠电脑开机的启动目录启动软件&#xff0c;下面这个目录 /etc/xdg/autostart 这是操作系统中用于配置启动项的目录&#xff0c;该目录下存放着开机自启动的启动器(.desktop)文件…

如何练好太极拳?

太极拳是一种需要细心和耐心的武术&#xff0c;要练好太极拳&#xff0c;需要从以下几个方面入手&#xff1a; 找到好的师傅&#xff1a;找到一位经验丰富、技艺高超的师傅是学习太极拳的关键。师傅应该具备正确的太极拳理论、技术和经验&#xff0c;能够正确地指导学生学习太极…

珍爱生活远离“缓存之战”——大话高并发之缓存应用技巧

文章目录 &#x1f50a;博主介绍&#x1f964;本文内容一、引言二、缓存略谈三、无人能挡的命中率四、衣柜里的宝贝&#xff0c;您选对了吗&#xff1f;五、敢用淘汰法&#xff0c;它有何等勇气&#xff1f;六、哪个 “自作主张” 的哥哥藏起了咱们的宝贝&#xff1f;七、善骑千…

创新与高效共融,跨境电商ERP源码大趋势解析

跨境电商ERP源码是什么&#xff1f;它如何帮助企业实现高效管理和创新发展&#xff1f;我们将详细解释跨境电商ERP源码的概念&#xff0c;并探讨它的优势和价值。 跨境电商ERP源码是一种专门为跨境电商企业设计的软件源代码。它通过集成各种功能模块&#xff0c;包括订单管理、…

Facebook广告投放效果不佳?这些投放技巧我不允许你不知道!

众所周知&#xff0c;Facebook广告对于跨境卖家来说是非常有效的站外引流渠道&#xff0c;通过Facebook广告投放可以提高跨境卖家的产品销量和排名&#xff0c;但是有时明明广告已经投放出去了&#xff0c;却无法被受众看到&#xff0c;完全没有获得成果&#xff0c;或许你会怪…

日用品企业ERP有什么用?日用品企业ERP品牌有哪些

日用品是快消品&#xff0c;存在品牌多、出货量大、销售渠道广泛、经营数据量大、销售折扣变化多、成本容易出错等特点&#xff0c;并且不同的供应商有差异化的报价&#xff0c;另外供应商采购份额分析、库龄分析客户销售排名分析以及区域销售数据分析等各类分析报表的准确性和…

22款奔驰GLS450升级香氛负离子 淡淡的幽香

香氛负离子系统是由香氛系统和负离子发生器组成的一套配置&#xff0c;也可以单独加装香氛系统或者是负离子发生器&#xff0c;香氛的主要作用就是通过香氛外壳吸收原厂的香水再通过空调管输送到内饰中&#xff0c;而负离子的作用就是安装在空气管中通过释放电离子来打击空气中…

1.3 排序算法

1.1 冒泡排序 public class BubbleSort {public static void main(String[] args) {int[] arr {133,322,13,444,54,621,174,18,19,2};System.out.println(Arrays.toString(arr));BubSort(arr);System.out.println(Arrays.toString(arr));}//冒泡排序public static void BubSo…

投资5亿英镑!英国启动五项新量子项目

​&#xff08;图片来源&#xff1a;网络&#xff09; 近日&#xff0c;英国财政大臣Jeremy Hunt宣布&#xff0c;英国政府将投资5亿英镑(即6.26亿美元)为英国研究人员和初创企业提供人工智能项目的算力支持。 Jeremy Hunt还详细介绍了政府计划推出的五项新研究计划&#xff0c…