恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

设备管理注册心跳远程指令屏幕是怎么活起来的

  • 首页
  • 资讯中心
  • /
  • 设备管理注册心跳远程指令屏幕是怎么活起来的

相关资讯

从零搭建本地智能家居:虚拟机安装Ubuntu Server全攻略 2026/8/7 10:38:21
嵌入式日志管理框架ulog:从printf到系统化日志的实践指南 2026/8/7 10:38:21
物联网设备快速接入中移OneNet云平台:MQTT协议实战与ESP32数据上报 2026/8/7 10:38:21

最新资讯

技术团队如何打造高效协作的“招牌动作”:从应急脚本到文化符号
Go项目中AI模型集成方案对比与实践指南
怎样轻松掌控窗口尺寸:5个WindowResizer实用技巧指南
小程序扫码解析网页:Jsoup服务端架构与HTML内容提取实践
基于Web Audio API与DSP的ASMR口腔音效程序化生成实战
OpenClaw+Skill:基于自然语言自动生成业务流程图的工程实践

今日推荐

CAD图库管理:从文件归档到设计资产管理的效率革命
5分钟掌握Wand-Enhancer:2026年终极WeMod专业版免费解锁指南
“Quality Control(质量控制)”在软件工程中通常指通过一系列活动确保软件产品符合预定的质量标准和用户需求

本周热门

ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案
分布式配置中心选型实战:Nacos与Consul在创业场景下的对比
MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

设备管理注册心跳远程指令屏幕是怎么活起来的

发布时间:2026/8/7 10:38:21
设备管理注册心跳远程指令屏幕是怎么活起来的 上篇搞定了权限体系。这篇开始做第一个业务模块——设备管理。设备是整个系统的第一环。没有设备注册进来后面素材、节目、统计都无从谈起。设备有哪些属性回到之前画的表结构CREATETABLEt_device(idBIGINTPRIMARYKEY,device_noVARCHAR(50)NOTNULL,-- 设备编号唯一nameVARCHAR(100)NOTNULL,-- 设备名称modelVARCHAR(50),-- double_side/stand/wallgroup_idBIGINT,-- 所属分组resolutionVARCHAR(20)DEFAULT1920x1080,layout_templateVARCHAR(50)DEFAULTsingle,-- 分屏布局statusVARCHAR(20)DEFAULToffline,-- online/offline/errorip_addressVARCHAR(50),last_heartbeatDATETIME,...);每个字段都有它的来由device_no设备唯一编号相当于身份证。心跳上报和节目下发都靠它model双面屏、立式屏、壁挂屏——不同型号播放器适配不同layout_template单屏、左右分屏、上下分屏、三区——影响素材怎么排status不在线的设备不发节目避免浪费流量last_heartbeat判断在线的依据——超过 5 分钟没心跳就算离线设备分组的取舍要不要做设备分组我想了想——如果只有三五台设备分组是多余的。但如果一个客户有 20 家门店每家店 2 块屏40 台设备不分组根本管不过来。所以我做了分组但做得极简t_device_group就三个字段——名称、描述、创建更新时间。不搞嵌套分组不搞继承关系一级分组够用。心跳机制设备怎么上报心跳一条 POST 请求POST /api/v1/devices/{deviceNo}/heartbeat后端更新last_heartbeat时间。前端列表页根据心跳判断在线状态5 分钟内有心跳 → 在线超过 5 分钟 → ⚪ 离线超过 30 分钟且之前在线 → 异常这个接口是公开的——不需要登录。设备端播放器没有用户概念它只管上报。远程指令有时候需要远程操作设备——重启、关机、调音量、调亮度。这些叫指令PostMapping(/{id}/command)RequirePermission(device:command)publicApiResultVoidsendCommand(PathVariableLongid,RequestBodyCommandDTOdto){deviceService.sendCommand(id,dto);returnApiResult.success();}指令发出去后状态流转是pending → sent → success/failed设备下次心跳时拉取待执行指令执行完上报结果。不是实时的——但够用了。Controller 全貌50 个 Java 文件里DeviceController 是最大的一个GET /api/v1/devices → 列表分页 搜索 POST /api/v1/devices → 新增设备 GET /api/v1/devices/{id} → 设备详情 PUT /api/v1/devices/{id} → 编辑设备 DELETE /api/v1/devices/{id} → 删除设备 GET /api/v1/devices/{id}/commands → 指令历史 POST /api/v1/devices/{id}/command → 发送指令 GET /api/v1/devices/groups → 分组列表 POST /api/v1/devices/groups → 新建分组 DELETE /api/v1/devices/groups/{id} → 删除分组 GET /api/v1/devices/{deviceNo}/current-program → [公开] 拉取当前节目 POST /api/v1/devices/{deviceNo}/heartbeat → [公开] 心跳上报 POST /api/v1/devices/{deviceNo}/play-log → [公开] 播放日志认证接口 6 个公开接口 3 个。每个认证接口都标了RequirePermission——viewer 只能看列表operator 能增能改admin 能删。到这里设备管理模块就完成了。设备能注册、有心跳、能分组、能远程发命令。下篇做素材管理——上传图片视频、分类管理。素材是整个系统里文件最多的模块。关于作者无羡独立开发者全栈工程师专注 AI 应用与微服务架构。 分类技术复盘 个人博客 — 更多技术文章✨ 开发者福利整理 — 云服务资源汇总 软件工坊 — 我的技术分享 个人门户 — 独立开发作品全集

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号