IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> 【逗老师带你学IT】ZoomRooms房间控制器通过Modbus控制电器开关 -> 正文阅读

[游戏开发]【逗老师带你学IT】ZoomRooms房间控制器通过Modbus控制电器开关

在这里插入图片描述
本文介绍,如何通过ZoomRoom的房间控制器功能,通过Modbus继电器,控制房间电器的开关。

一、硬件

1、组建ZoomRooms

关于如何组件ZoomRooms,请参阅以下博文
【逗老师带你学IT】ZoomRooms兼容硬件设计方案

2、Modbus继电器

淘宝上使用TCP Modbus或者Modbus RTU的继电器模块一搜一大把,都能用都能用,顶多就是命令不太一样。
关于TCP Mdobus和Modbus RTU的区别,请参见。
【逗老师带你学IT】Modbus RTU获取温湿度传感器数据
本文选购了一款基于USR K2串口转换器透传Modbus RTU至以外网的继电器,使用Modbus RTU指令控制。
在这里插入图片描述

二、Modbus继电器控制指令

1、配置继电器模块IP地址

具体参考模块厂家的说明书,正确配置IP地址和TCP监听端口。

2、测试指令

针对市面上绝大部分Modbus的继电器模块,基本上控制指令都是一样的,如果下面指令不好使的话,具体咨询厂家。
继电器输出信号控制命令(单个控制):
关于Modbus协议详细解释,可以参考
【逗老师带你学IT】Modbus获取温湿度传感器数据

2.1、开启继电器指令

发送:01 05 00 00 FF 00 8C 3A(16进制)

数据字节数据说明备注
011模块地址地址范围01-FE
051功能码05-写单个线圈
00002线圈地址0000-继电器(RY1)线圈地址 0001-继电器(RY2)线圈地址 0002-继电器(RY3)线圈地址0003-继电器(RY4)线圈地址
FF002写入数据FF00-线圈打开,0000-线圈关闭
8C3A2CRC校验码前面所有数据的CRC校验码

2.2、关闭继电器指令

发送:01 05 00 00 00 00 CD CA(16进制)
具体bit位解释与开启指令类似,自行脑补。

3、ZoomRooms调用Modbus模块

3.1、开启ZoomRooms会议室控件功能

具体参见:
【Zoom Rooms Native Room Controls】

  1. 单击【会议室管理】,然后选择Zoom Rooms。
  2. 单击Zoom Room 名称右侧的编辑 。
  3. 在【设备】分类下,将【启用会议室控件】打开(蓝色)。
  4. 单击创建配置文件。
  5. 输入此房间的 JSON 配置。

在这里插入图片描述

3.2、编辑配置文件

举例配置文件如下:
当然,更多有意思的控制命令、以及可编程的规则,大家可以慢慢研究Zoom Support的原文,有趣的很。
【Zoom Rooms Native Room Controls】

{
  "adapters": [
    {
      "model": "GenericNetworkAdapter",
      "ip": "tcp://10.0.202.32:5000", //控制模块IP地址与TCP侦听端口
      "ports": [
        {
          "id": "TV_Power_Device",
          "name": "液晶电视电源",
          "methods": [
            {
              "id": "TV_Power",
              "name": "液晶电视电源",
              "command": "\\x01\\x05\\x00\\x00%", //命令字符串的公共部分01 05 00 00
              "params": [
                {
                  "id": "on",
                  "name": "开启/Trun ON",
                  "value": "\\x00\\x00\\xCD\\xCA" //命令字符串开启功能对应的00 00 CD CA
                  								//与公共部分字符串拼接后为01 05 00 00 00 00 CD CA
                },
                {
                  "id": "off",
                  "name": "关闭/Trun OFF",
                  "value": "\\xFF\\x00\\x8C\\x3A"
                }
              ],
              "type": "actions"
            }
          ]
        }
      ]
    }
  ],
  "styles": [
    "TV_Power_Device.icon=icon_tv", //TC_Power设备的图标定义
    "TV_Power_Device.main_method=TV_Power" //TC_Power设备的主要方法定义
  ],
  "rules": {
    "meeting_started": [
      "TV_Power_Device.TV_Power.on" //会议开始时强制打开电视
    ]
  }
}

以上只是个简单示例,控制Modbus继电器,其实ZoomRooms的房间控制器组件还可以控制更多基于telnet、Modbus、串口仿真的硬件设备,例如DSP信号处理器、时序电源、交换机网口配置、麦克风等等。
例如下图:
在这里插入图片描述
上图定义的按钮实际会控制BIAMP的DSP音频处理通道
在这里插入图片描述

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-04-09 18:49:29  更:2022-04-09 18:49:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/16 20:52:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码