当前位置: 首页 > article >正文

开源可二次开发的物联网云平台,支持工业设备远程控制与数据采集

物联网云平台工业设备对接远程控制数据采集视频接入开源可二次开发 该物联网云平台使用 Java 语言、主流技术组合开发支持多数据源支持代码一键生成方便快速开发。 1、内含物联网云平台全套源码源码全部开放无任何加密可二次开发、MQTT服务、数据库设计、相关资料、相关工具软件等 2、使用基于发布/订阅模式的轻量级通讯协议 MQTT具有自动重连机制具有设备上下线提醒功能 3、支持 Modbus RTU、Modbus TCP 协议03、05功能码亦可自定义协议接入支持各类 DTU、透传模块以及各类工业设备接入等 4、支持云固件升级、远程重启等可存储各路开关状态设备断电或重启后可自动同步云端各路开关状态具有开关状态记忆功能 5、云平台可对各类传感器管理适用各种业务场景对传感器数据有多种展示方式 6、可配置报警规则符合报警规则可执行自定义动作、联动报警、报警通知等 7、控制命令下达后有执行状态反馈可确保设备控制命令执行成功 8、具有可视化在线定时任务配置功能可指定某一时刻执行、周期执行、自定义 Cron 表达式执行等操作 9、具有场景管理功能可一键执行设定的动作 10、具有视频管理功能支持萤石云协议的摄像头均可接入云平台可在云平台直接预览视频画面 11、可记录设备、用户所有操作记录设备、用户上下线记录等并具有多种类型的数据统计展示 12、云平台可对所有用户管理每个用户可配置不同角色、不同权限具有权限分配功能支持对人员进行菜单、按钮及数据权限控制亦可自定义数据权限 13、前端采用完全响应式布局支持电脑、平板、手机等所有主流设备 14、Maven 多项目依赖模块及插件分项目尽量松耦合方便模块升级、增减模块 等等……内容较多在此无法一一列举KSoft 物联网通用平台《ksoft-common》模块源码级功能说明书—— 写给二次开发者与运维人员------------------------------------------------一、模块定位ksoft-common 是整个 KSoft 物联网平台的“技术底座”它不提供业务页面却为所有业务微服务ksoft-system、ksoft-website、ksoft-mqtt 等统一提供工具级 API日期、加解密、Excel、MQTT 配置、字典缓存、IP 获取、XSS 过滤……通用技术中间件多数据源切换、异步线程池、操作日志 AOP、数据权限 AOP、防重复提交、Shiro 安全工具、全局异常体系代码生成器与调度器依赖的“元数据”模型BaseEntity、TreeEntity、Ztree、字典实体、权限常量一句话只要引用了 ksoft-common就能直接获得一套“开箱即用”的物联网后台基础设施。------------------------------------------------二、包结构速览com.ksoft.common├─ annotation // 自定义注解DataScope、Log、RepeatSubmit、Excel …├─ config // 全局配置类KSoftConfig、MqttConfig、ThreadPoolConfig├─ constant // 系统级常量Constants、UserConstants、PermissionConstants…├─ core // 统一返回、分页、基础实体AjaxResult、BaseEntity、TableDataInfo├─ enums // 通用枚举BusinessType、DataSourceType、DeviceOperType…├─ exception // 全局异常体系BusinessException、UserException、FileException…├─ json // JSON 与 JSONObject 封装jackson 二次封装├─ utils // 工具大合集日期、Http、IP、DES、MD5、Excel、反射、SpringUtils…└─ xss // XSS 过滤器XssFilter XssHttpServletRequestWrapper------------------------------------------------三、核心能力逐条拆解统一响应与分页• AjaxResultcode/msg/data—— 所有 Controller 返回同一结构• TableDataInfototal/rows—— 与 PageHelper 无缝衔接前端表格直接渲染• BaseController 提供 startPage()/getDataTable(list) 模板方法一句代码完成分页多数据源 读写分离• 注解 DataSource(DataSourceType.MASTER/SLAVE)• DataSourceAspect 在方法调用前把数据源名称压入 ThreadLocal• DynamicDataSource 继承 AbstractRoutingDataSource根据 ThreadLocal 动态切换• 主从库故障时Druid 会自动降级业务方零感知数据权限部门/用户维度• 注解 DataScope(deptAlias d, userAlias u)• DataScopeAspect 在 Mapper 执行前改写 SQL自动拼接AND (d.deptid IN (…当前角色可见部门…) OR u.userid …当前用户…)• 支持 5 种内置规则全部/自定义/本部门/本部门及下级/仅本人操作日志 登录日志AOP 无侵入• Log(title 设备管理, businessType BusinessType.INSERT)• LogAspect 在方法返回/异常时异步记录类名方法、入参、耗时、IP、地点、浏览器、错误信息• AsyncManager ScheduledExecutorService 日志落库即使高并发也不阻塞业务防重复提交• RepeatSubmit 标记在 Controller 方法• SameUrlDataInterceptor 用 session 缓存“URL参数时间戳”10 秒内相同参数直接拒绝• 支持前后分离场景Header 里加 token 也能识别物联网专用配置• MqttConfig 读取 application.yml 中 mqtt.* 属性统一给出 host、port、clientId、userName、password、qos、keepAlive、threadPoolSize• 其他模块只需 Autowired MqttConfig 即可拿到全套参数避免到处硬编码字典/参数缓存• DictUtils 提供 getDictLabel()/getDictValue()自动加 Ehcache• 后台修改字典后调用 DictUtils.clearDictCache() 即可实时刷新• 同理 SysConfigCache 处理系统参数短信密钥、文件路径等Excel 一键导入导出poi 封装• 在实体字段加 Excel(name 温度, readConverterExp 0正常,1偏高)• ExcelUtil 自动解析下拉框、日期格式、字典翻译、图片插入、合计行• 支持 65536 行以上大数据 SXSSF 模式内存无压力全局异常兜底• 业务异常 BusinessException → 前端弹窗提示• 文件异常 FileException → 统一返回“文件过大/格式不符”• 所有异常被 GlobalExceptionHandler 捕获 → AjaxResult.error(msg)• 生产环境关闭堆栈防止信息泄露安全加固• XssFilter 全局过滤白名单机制支持 excludes 路径放行• DesUtils、MD5、SHA1、随机盐满足密码加密与固件校验• ShiroUtils 提供 getSysUser()/getIp()/randomSalt()任何层都能直接拿当前登录人------------------------------------------------四、典型调用链以“分页查询设备列表”为例前端 → DeviceController.list(Device device)① BaseController.startPage() // ThreadLocal 注入分页参数物联网云平台工业设备对接远程控制数据采集视频接入开源可二次开发 该物联网云平台使用 Java 语言、主流技术组合开发支持多数据源支持代码一键生成方便快速开发。 1、内含物联网云平台全套源码源码全部开放无任何加密可二次开发、MQTT服务、数据库设计、相关资料、相关工具软件等 2、使用基于发布/订阅模式的轻量级通讯协议 MQTT具有自动重连机制具有设备上下线提醒功能 3、支持 Modbus RTU、Modbus TCP 协议03、05功能码亦可自定义协议接入支持各类 DTU、透传模块以及各类工业设备接入等 4、支持云固件升级、远程重启等可存储各路开关状态设备断电或重启后可自动同步云端各路开关状态具有开关状态记忆功能 5、云平台可对各类传感器管理适用各种业务场景对传感器数据有多种展示方式 6、可配置报警规则符合报警规则可执行自定义动作、联动报警、报警通知等 7、控制命令下达后有执行状态反馈可确保设备控制命令执行成功 8、具有可视化在线定时任务配置功能可指定某一时刻执行、周期执行、自定义 Cron 表达式执行等操作 9、具有场景管理功能可一键执行设定的动作 10、具有视频管理功能支持萤石云协议的摄像头均可接入云平台可在云平台直接预览视频画面 11、可记录设备、用户所有操作记录设备、用户上下线记录等并具有多种类型的数据统计展示 12、云平台可对所有用户管理每个用户可配置不同角色、不同权限具有权限分配功能支持对人员进行菜单、按钮及数据权限控制亦可自定义数据权限 13、前端采用完全响应式布局支持电脑、平板、手机等所有主流设备 14、Maven 多项目依赖模块及插件分项目尽量松耦合方便模块升级、增减模块 等等……内容较多在此无法一一列举② DeviceService.selectDeviceList(device)DataScope(deptAliasd) // DataScopeAspect 改写 SQLMyBatis Mapper → 多数据源切换若方法标 DataSource(SLAVE)③ PageHelper 拦截器 → SELECT … LIMIT ?④ 结果封装 TableDataInfo → AjaxResult → 前端表格渲染⑤ LogAspect 记录操作日志异步线程池⑥ 异常 → GlobalExceptionHandler → AjaxResult.error(msg)------------------------------------------------五、二次开发必看指南新增工具方法直接新建 XxxUtils 放在 common.utils 包静态方法private 构造补充单元测试即可。新增通用枚举实现 IEnumgetValue/getDescription即可被 ExcelUtil、DictUtils 自动识别。新增数据源步骤① application-druid.yml 加 spring.datasource.druid.xxx步骤② DataSourceType 枚举新增 XXX步骤③ DruidConfig.java 新增 xxxDataSource() Bean步骤④ 在 Service/Mapper 方法加 DataSource(xxx)自定义异常继承 BaseException 并写对应枚举GlobalExceptionHandler 中追加一个 ExceptionHandler统一返回格式保持 AjaxResult。关闭/降级功能• xss.enabledfalse → 关闭 XSS 过滤• user.password.maxRetryCount0 → 关闭密码重试限制• mqtt.enabledfalse → 关闭 MQTT 自动配置------------------------------------------------六、性能与运维指标维度数据单实例 4C8G备注最大在线设备50 万MQTT 集群LB并发 HTTP3 k QPSPageHelper读写分离日志异步延迟50 msScheduledThreadPool堆内存占用启动 350 MB开启 30 个线程池FullGC 频率1 次/天G1 6G Heap------------------------------------------------七、常见坑与排查分页失效现象PageHelper 返回全部数据原因startPage() 与 Mapper 调用之间插了别的 SQL如 selectDictLabel解决把非分页 SQL 提到 startPage() 之前数据源切换不生效现象DataSource(SLAVE) 仍走主库原因方法被同类内部调用AOP 未生效解决拆到另一个 Service或启用 AopContext.currentProxy()MQTT 断线重连风暴现象EMQX 看到海量重连原因clientId 重复serverId001解决clientId serverId IpUtils.getHostIp() _ PIDExcel 导出 OOM现象SXSSF 仍内存溢出原因row.createCell() 之后未 flush()或图片一次性读入解决图片采用 InputStream 延迟读取每 5000 行 flush------------------------------------------------八、版本演进路线v2.2当前└─ 多数据源、MQTT、防重、XSS、代码生成v2.4规划中└─ 集成 Redis 缓存、Spring Validation 分组、Flowable 工作流、EMQX 规则引擎桥接v3.0远期└─ 全面云原生Spring Cloud Alibaba K8s Istio Prometheus SkyWalking------------------------------------------------九、结语ksoft-common 通过“注解驱动 AOP 织入 工具下沉”的策略把 80% 的物联网后台通用问题一次性解决。作为二次开发者只需关注① 业务实体 ② 业务 Mapper ③ 业务 Controller——其余基础设施ksoft-common 已全部备好。熟读本文即可在 30 分钟内跑通新模块1 小时内发布到测试环境次日即可交付客户。祝开发愉快

相关文章:

开源可二次开发的物联网云平台,支持工业设备远程控制与数据采集

物联网云平台工业设备对接远程控制数据采集视频接入开源可二次开发 该物联网云平台使用 Java 语言、主流技术组合开发,支持多数据源,支持代码一键生成,方便快速开发。 1、内含物联网云平台全套源码(源码全部开放,无任何…...

CTF比赛必备:3步掌握无SQL版XSS数据接收平台实战技巧

CTF比赛必备:3步掌握无SQL版XSS数据接收平台实战技巧 【免费下载链接】BlueLotus_XSSReceiver 项目地址: https://gitcode.com/gh_mirrors/bl/BlueLotus_XSSReceiver 在网络安全测试和CTF比赛中,XSS漏洞的利用和数据捕获是每个参赛者必须掌握的核…...

3大维度解析Snap Hutao:如何让原神游戏管理效率提升10倍?

3大维度解析Snap Hutao:如何让原神游戏管理效率提升10倍? 【免费下载链接】Snap.Hutao 实用的开源多功能原神工具箱 🧰 / Multifunctional Open-Source Genshin Impact Toolkit 🧰 项目地址: https://gitcode.com/GitHub_Trendi…...

基于DSP28335的CAN升级方案:自主开发的BootLoader与上位机完全支持

基于dsp28335的can升级方案 bootloader、上位机等全部自主开发 文件说明: 1、setup为上位机安装文件; 2、V5为dsp28335的BootLoader源代码,我用的CCS10.3.1; 3、WindowsApplication3为VS平台的上位机源代码,我用的VS2013&#xff…...

3步解决Android验证修复难题:PlayIntegrityFix实战指南

3步解决Android验证修复难题:PlayIntegrityFix实战指南 【免费下载链接】PlayIntegrityFix Fix Play Integrity (and SafetyNet) verdicts. 项目地址: https://gitcode.com/GitHub_Trending/pl/PlayIntegrityFix 当你在使用Android设备时,是否遇到…...

探索无桥PFC与逆变方案:从原理到实现

无桥PFC和逆变方案(原理图pdfPCBstm源码两份仿真等文件) 1.输入电压AC220V,50Hz交流电 2.PFC输出390V,150KHz开关频率 3.PFC输出最大功率400瓦,输入电流最大2A,最小负载电流0.1A 输出功率越大PF值越高,电流…...

3步搞定黑苹果配置:让OpenCore管理变得轻松

3步搞定黑苹果配置:让OpenCore管理变得轻松 【免费下载链接】OCAuxiliaryTools Cross-platform GUI management tools for OpenCore(OCAT) 项目地址: https://gitcode.com/gh_mirrors/oc/OCAuxiliaryTools 你是否曾经因为复杂的OpenCo…...

HSTracker全能助手:炉石传说数据追踪与套牌管理实战指南

HSTracker全能助手:炉石传说数据追踪与套牌管理实战指南 【免费下载链接】HSTracker A deck tracker and deck manager for Hearthstone on macOS 项目地址: https://gitcode.com/gh_mirrors/hs/HSTracker 副标题:从新手到大师的macOS炉石辅助工具…...

Downkyi视频下载工具技术解析与架构指南

Downkyi视频下载工具技术解析与架构指南 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等)。 项目地址: htt…...

3步实现百度网盘链接解析:Baiduwp-PHP工具全功能实践指南

3步实现百度网盘链接解析:Baiduwp-PHP工具全功能实践指南 【免费下载链接】baiduwp-php A tool to get the download link of the Baidu netdisk / 一个获取百度网盘分享链接下载地址的工具 项目地址: https://gitcode.com/gh_mirrors/ba/baiduwp-php Baiduw…...

别再手动算脉冲了!用STM32的TIM编码器接口实现AB相编码器测速(附四倍频配置)

STM32硬件编码器接口实战:四倍频测速与电机控制优化 在嵌入式运动控制系统中,编码器测速的精度和实时性直接影响整个系统的性能表现。传统的中断计数方式虽然直观,但存在CPU占用率高、响应延迟等问题。而STM32系列微控制器内置的硬件编码器接…...

Snap.Hutao:如何用这款开源工具箱优化你的原神游戏体验?

Snap.Hutao:如何用这款开源工具箱优化你的原神游戏体验? 【免费下载链接】Snap.Hutao 实用的开源多功能原神工具箱 🧰 / Multifunctional Open-Source Genshin Impact Toolkit 🧰 项目地址: https://gitcode.com/GitHub_Trendin…...

Koikatu HF Patch终极安装指南:5步解锁游戏全部潜力

Koikatu HF Patch终极安装指南:5步解锁游戏全部潜力 【免费下载链接】KK-HF_Patch Automatically translate, uncensor and update Koikatu! and Koikatsu Party! 项目地址: https://gitcode.com/gh_mirrors/kk/KK-HF_Patch 还在为Koikatu游戏体验不完整而烦…...

别只调AE了!Sensor调试中那些容易被忽略的‘暗坑’:电源噪声、镜头匹配与Raw图分析实战

别只调AE了!Sensor调试中那些容易被忽略的‘暗坑’:电源噪声、镜头匹配与Raw图分析实战 当工程师们成功点亮一颗新的图像传感器(Sensor)并完成基础AE配置后,往往容易陷入一种"能出图即达标"的思维定式。然而…...

YimMenu:守护GTA V体验的安全增强工具

YimMenu:守护GTA V体验的安全增强工具 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenu 一、价…...

KMP算法:高效字符串匹配秘诀

一、先解答上次的思考题问:BF 算法为什么慢?答:每次匹配失败,主串 i 要回退、模式串 j 要归零,大量重复比较,浪费时间。二、今天学习目标理解 KMP 核心:不回退主串 i理解 next 数组(…...

Flowframes:5步掌握开源AI视频插帧技巧,轻松提升视频流畅度

Flowframes:5步掌握开源AI视频插帧技巧,轻松提升视频流畅度 【免费下载链接】flowframes Flowframes Windows GUI for video interpolation using DAIN (NCNN) or RIFE (CUDA/NCNN) 项目地址: https://gitcode.com/gh_mirrors/fl/flowframes 你是…...

SwitchCase语句详解:从基础到实战

一、switch case 是什么?switch case 是多条件分支语句,专门用来判断固定值的场景。比如:根据分数等级 A/B/C/D 输出评价根据菜单数字 1/2/3/4 执行不同功能根据星期 1~7 做不同处理特点:只能判断整型、字符型(不能判断…...

解放知识资产:dedao-dl让你的得到课程永久保存成为可能

解放知识资产:dedao-dl让你的得到课程永久保存成为可能 【免费下载链接】dedao-dl 得到 APP 课程下载工具,可在终端查看文章内容,可生成 PDF,音频文件,markdown 文稿,可下载电子书。 项目地址: https://g…...

想自己动手做个四足机器人?这份从电机选型到步态控制的保姆级入门指南请收好

从零搭建四足机器人:硬件选型与步态控制实战手册 当你第一次看到波士顿动力的Spot机器人完成后空翻,或是MIT Mini Cheetah在草地上灵活奔跑时,是否也萌生过自己打造一台四足机器的念头?四足机器人正从实验室走向创客空间&#xff…...

SMUDebugTool技术突破:硬件级调试能力解决工程师的系统优化痛点

SMUDebugTool技术突破:硬件级调试能力解决工程师的系统优化痛点 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: h…...

V-rep中机械臂模型的动力学特性设置与运动控制

1. V-rep机械臂动力学基础配置 第一次在V-rep里摆弄机械臂时,我被那些飘在半空的零件惊呆了——它们就像被施了魔法一样完全无视重力。后来才发现,要让机械臂"活过来",关键在于正确设置动力学特性。这个过程就像给机器人注入灵魂&a…...

从Simulink仿真到Altium Designer画板:一个直流电机调速系统的完整诞生记

从算法仿真到电路实现:直流电机双闭环调速系统全流程实战 在实验室里调试电机控制系统时,最令人兴奋的时刻莫过于看到仿真曲线和实际示波器波形完美吻合的瞬间。作为电子工程师,我们每天都在与这种"虚实结合"的挑战打交道——如何在…...

5个效率倍增方法:Kazumi播放器无缝访问与快速启动指南

5个效率倍增方法:Kazumi播放器无缝访问与快速启动指南 【免费下载链接】Kazumi 基于自定义规则的番剧采集APP,支持流媒体在线观看,支持弹幕,支持实时超分辨率。 项目地址: https://gitcode.com/gh_mirrors/ka/Kazumi 你是否…...

智鼎MAP性格测试避坑指南:如何避免‘人设崩塌’拿到高分?

智鼎MAP性格测试避坑指南:如何避免‘人设崩塌’拿到高分? 在求职过程中,性格测试往往是最容易被忽视却又至关重要的环节。智鼎MAP职业性格测试不同于传统的知识考核,它更像一面照妖镜,能够通过精心设计的题目组合&…...

全介质超构透镜模型实现偏振成像:实时分离聚焦与偏振信息解码

偏振成像 超构透镜模型 超表面 FDTD仿真 复现论文:2019年 APL Midinfrared real-time polarization imaging with all-dielectric metasurfaces 论文介绍:全介质实时偏振聚焦成像超构透镜模型,可以实现X Y RCP LCP四个偏振态的实时分离和聚焦…...

加密货币自动化交易实战指南:从策略设计到收益优化全流程

加密货币自动化交易实战指南:从策略设计到收益优化全流程 【免费下载链接】binance-trade-bot Automated cryptocurrency trading bot 项目地址: https://gitcode.com/gh_mirrors/bi/binance-trade-bot 在加密货币交易领域,自动化策略是提升效率与…...

无需联网!LongCat动物百变秀本地部署指南,动物图片编辑随心所欲

无需联网!LongCat动物百变秀本地部署指南,动物图片编辑随心所欲 1. 为什么选择本地部署的动物图片编辑器? 在数字内容创作领域,动物图片编辑一直是个特殊需求。无论是宠物博主需要制作创意内容,还是动物保护组织要制…...

YimMenu终极指南:GTA5增强工具完整使用教程

YimMenu终极指南:GTA5增强工具完整使用教程 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenu Y…...

终极指南:如何用ComfyUI-MimicMotionWrapper实现AI动作迁移

终极指南:如何用ComfyUI-MimicMotionWrapper实现AI动作迁移 【免费下载链接】ComfyUI-MimicMotionWrapper 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-MimicMotionWrapper ComfyUI-MimicMotionWrapper是一款强大的AI动作迁移插件,让任…...