大规模灯控技术方案

需求:需要控制240个灯的亮和灭。

设备清单:

设备数量规格
灯光控制板1rs485,12v
48路灯光驱动版512v
网关1数据转发,采集modbus,mqtt指令下发
电源1ac转dc, 12v

方案流程图

在这里插入图片描述

mqtt broker 信息

地址 1.2.3.4:1883 (不开启 SSL)

topic

目前有三个设备,三个设备的id分别是
lighting1095个灯信号
io1 第1个io模块 存储了40个接近开关讯号
io2 第2个io模块 存储了40个接近开关讯号

共用获取设备讯号的topic
SBOX/e1a2321e0990/+/device/data/push
其中,e1a2321e0990是网关设备的id,如果换了网关需要更换该id。
(目前我使用的网关id是e1a2321e0990,邮寄给你们的是95f74b5f26d2。网关信息使用网线连接电脑,进入http://192.168.100.1/ 登录 账号admin,密码admin。即可查看)。

+为通配符,代表设备id
三个设备的信号可以通过订阅该topic来获取。

如果只想获取灯的讯号 只需要这样订阅
SBOX/e1a2321e0990/lighting/device/data/push

只订阅io1的讯号
SBOX/e1a2321e0990/io1/device/data/push

订阅设备讯号示例

订阅灯的讯号

订阅 SBOX/e1a2321e0990/lighting/device/data/push
灯光控制返回示例

{
  "time": 1704801337715,
  "params": {
    "AA01-G": true,
    "AA01-R": false,
    "AA01-Y": true,
    "AA02-G": true,
    "AA02-R": true,
    "AA02-Y": true,
    "AA03-G": false,
    "AA03-R": true,
    "AA03-Y": false,
    "AA04-G": false,
    "AA04-R": false,
    "AA04-Y": false,
    "AA05-G": false,
    "AA05-R": false,
    "AA05-Y": false,
    // 省略n个灯讯号
    "EH08-Y": false,
    "EH09-G": false,
    "EH09-R": false,
    "EH09-Y": false,
    "EH10-G": false,
    "EH10-R": false,
    "EH10-Y": false,
    "ID": 1,
    "REG_BIT": 16,
    "RESERVE": 0,
    "STA_MODE": 1,
    "TM_GRAY": 255
  }
}

解释:
1095个灯的标识 AA01-R至EH10-G

订阅接近开关的信号

订阅io1的讯号
SBOX/e1a2321e0990/io1/device/data/push
返回值

{
  "time": 1704802046842,
  "params": {
    "AA01-SWITCH": true,
    "AA02-SWITCH": false,
    "AA03-SWITCH": false,
    "AA04-SWITCH": false,
    "AA05-SWITCH": false,
    "AA06-SWITCH": false,
    "AA07-SWITCH": false,
    "AA08-SWITCH": false,
    "AA09-SWITCH": false,
    "AA10-SWITCH": false,
    "AB01-SWITCH": false,
    "AB02-SWITCH": false,
    "AB03-SWITCH": false,
    "AB04-SWITCH": false,
    "AB05-SWITCH": false,
    "AB06-SWITCH": false,
    "AB07-SWITCH": false,
    "AB08-SWITCH": false,
    "AB09-SWITCH": false,
    "AB10-SWITCH": false,
    "AC01-SWITCH": false,
    "AC02-SWITCH": false,
    "AC03-SWITCH": false,
    "AC04-SWITCH": false,
    "AC05-SWITCH": false,
    "AC06-SWITCH": false,
    "AC07-SWITCH": false,
    "AC08-SWITCH": false,
    "AC09-SWITCH": false,
    "AC10-SWITCH": false,
    "AD01-SWITCH": false,
    "AD02-SWITCH": false,
    "AD03-SWITCH": false,
    "AD04-SWITCH": false,
    "AD05-SWITCH": false,
    "AD06-SWITCH": false,
    "AD07-SWITCH": false,
    "AD08-SWITCH": false,
    "AD09-SWITCH": false,
    "AD10-SWITCH": false
  }
}

修改灯的状态

修改灯的状态
topic:
SBOX/e1a2321e0990/lighting/device/data/set

传入参数 json格式

{
  "id": 1,
  "deviceId": "lighting",
  "data": {
    "AA01-R": true,
    "AA01-Y": true
  }
}

id为本次请求的请求id,可以用于标识本次请求的唯一性,必须为数字
deviceId固定为lighting,lighting对应的是灯光控制板设备id。
data中存放的是 要开启,或关闭的灯的数据。可以多个,目前支持1095个信号

指令下发结果的 上报

topic SBOX/e1a2321e0990/+/device/data/setResult
示例
Topic: SBOX/e1a2321e0990/lighting/device/data/setResult
{“id”:1,“result”:{“AA01-R”:{“success”:true},“AA01-Y”:{“success”:true}}}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

scienceplots绘图浅尝

前言 科研写作中,黑压压的文字里面如果能有一些优美的图片无疑会给论文增色不少,绘图的工具有很多,常用的有Excel、Python、Matlab等,Matlab在绘图方面相较于Python有一种更加原生的科研风,而且可视化编辑图例、坐标轴…

自动保存知乎上点赞的内容至本地

背景:知乎上常有非常精彩的回答/文章,必须要点赞收藏,日后回想起该回答/文章时翻看自己的动态和收藏夹却怎么也找不到,即使之前保存了链接网络不好也打不开了(。所以我一般碰到好的回答/文章都会想办法保存它的离线版本…

HTTP(Java web方向补充篇)

HTTP(Java web方向补充篇) HTTP简介 概念:Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则 HTTP协议特点: 基于TCP协议:面向连接,安全基于请求-响应模…

【Redis】实现购物秒杀及分布式锁

Redis实现购物秒杀及分布式锁 全局唯一ID Redis自增ID策略 ID构造是:时间戳 + 计数器 每天一个key,方便统计订单量 业务实现 获取指定时间的秒数 LocalDateTime timeBegin = LocalDateTime.of(2024, 1, 1, 0, 0, 0); long second = timeBegin.toEpochSecond(ZoneOffset…

AI赋能编程 | 自动化工具助力高效办公

前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:https://www.captainbed.cn/z ChatGPT体验地址 文章目录 前言泡泡AI工具卡片思维导图Markdown编辑器 其他工具文件免费处理工具结语 合集…

汽车行业要不要引入IPD?

摘要: 本文中,我们站在汽车行业的视角,着重从背景、理念、流程和架构这4个比较宏观的层面,对IPD的增量进行了对照阐释。 五年前,我并没有关心过IPD,行业和公司都有自己成功且完善的体系,为什么…

【3DGS】从新视角合成到3D Gaussian Splatting

文章目录 引言:什么是新视角合成任务定义一般步骤NeRF的做法NeRF的三维重建NeRF的渲染 3DGS的三维重建从一组图片估计点云高斯点云模型球谐函数参数优化损失函数和协方差矩阵的优化高斯点的数量控制(Adaptive Density Control)新的问题 3DGS的渲染:快速可…

MySQL数据库基础第一篇(SQL通用语法与分类)

文章目录 一、SQL通用语法二、SQL分类三、DDL语句四、DML语句1.案例代码2.读出结果 五、DQL语句1.DQL-基本查询2.DQL-条件查询3.DQL-聚合函数4.DQL-分组查询5.DQL-排序查询6.DQL-分页查询1.案例代码2.读出结果 在当今数据库驱动的世界里,SQL(结构化查询语…

Spring Boot 中操作 Bean 的生命周期

1.InitializingBean和DisposableBean InitializingBean接口提供了afterPropertiesSet方法,用于在bean的属性设置好之后调用; DisposableBean接口提供了destroy方法,用于在bean销毁之后调用; public class TestComponent implem…

2024.1.31日总结

服创大赛的有一个选题是【A16】新苗同学 - 大学新生智能迎新平台,这个对前端的要求挺高的,需要设计游戏化页面,刚刚搜索了一下,感觉难度很大,又要有创意,而且动画效果也要不错,整体页面才会美观…

Nous Hermes 2:超越Mixtral 8x7B的MOE模型新高度

引言 随着人工智能技术的迅猛发展,开源大模型在近几年成为了AI领域的热点。最近,Nous Research公司发布了其基于Mixtral 8x7B开发的新型大模型——Nous Hermes 2,这一模型在多项基准测试中超越了Mixtral 8x7B Instruct,标志着MOE…

docker-学习-2

docker学习第二天 docker学习第二天1.docker和虚拟机的区别2.docker的底层隔离机制2.1 Namespaces(命名空间)2.1.1 什么是命名空间 2.2 Cgroups2.3 Union file systems2.4 Container format2.5 docker在底层如何做隔离的,如何进行资源限制的? 3. docker命…

【数据分享】1929-2023年全球站点的逐日最高气温数据(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据,气象指标包括气温、风速、降水、湿度等指标,其中又以气温指标最为常用!说到气温数据,最详细的气温数据是具体到气象监测站点的气温数据! 之前我们分享过1929-2023年全球气象站…

rabbitmq基础-java-2、work模型

1、简介 工作队列模式(Work Queue Mode):在这个模型中,生产者同样将消息发送到队列,但多个消费者可以从队列中获取消息并发处理。这意味着不同的消费者可以独立地处理各自的任务,从而提高效率。 2、消息发送…

大华智能物联综合管理平台 任意文件读取漏洞复现(QVD-2023-45063)

0x01 产品简介 大华ICC智能物联综合管理平台对技术组件进行模块化和松耦合,将解决方案分层分级,提高面向智慧物联的数据接入与生态合作能力。 0x02 漏洞概述 大华ICC智能物联综合管理平台 readpic接口处存在任意文件读取漏洞,未经身份验证…

JSON巨匠:FastJSON的序列化解析

Fastjson 简介 Fastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。 Fastjson 可以操作任何 Java 对象,即使是一些预先存在的没有源码的对象。 Fastjson 源码地址:https://…

Advanced CNN

文章目录 回顾Google NetInception1*1卷积Inception模块的实现网络构建完整代码 ResNet残差模块 Resedual Block残差网络的简单应用残差实现的代码 练习 回顾 这是一个简单的线性的卷积神经网络 然而有很多更为复杂的卷积神经网络。 Google Net Google Net 也叫Inception V…

轻量式RPC调用日志链路设计方案

导语: 调用链跟踪系统,又称为tracing,是微服务设计架构中,从系统层面对整体的monitoring和profiling的一种技术手 背景说明 由于我们的项目是微服务方向,中后台服务调用链路过深,追踪路径过长,其中某个服务报错或者异…

探索设计模式的魅力:精准解读桥接模式-用桥接模式构建可扩展的软件系统

设计模式专栏:http://t.csdnimg.cn/nolNS 目录 一、了解桥接模式:探索抽象和实现的分离 1.1 开-闭原则 1.2 组合/聚合复用原则 1.3 定义 1.4 用意 1.5 基本思想 1.6 组成部分 1.7 桥梁模式的示意性系统的结构图 二、桥接模式的优势&#xff1a…

torchvision.models._utils.IntermediateLayerGetter()使用

torchvision.models._utils.IntermediateLayerGetter()使用 源码如下: from collections import OrderedDictimport torch from torch import nnclass IntermediateLayerGetter(nn.ModuleDict):"""Module wrapper that ret…