【完全开源】小安派-KVM 三进一出切换器

2023-11-04

一、概述

AiPi-KVM 是一款三进一出的HDMI+USB的切换器,可以让一个显示器在三台主机中切换其中一台主机,同时会把KVM上的USB设备(键盘鼠标等)也切换到目标主机当中。 这个设备方便开发人员在只有一台显示器且有3台电脑主机的情况下使用。

在这里插入图片描述
目前,这个源码只实现了使用按键进行切换主机,M61模组支持WiFi+BLE,所以它能够开发出更多的远程切换方式,比如可以通过在AiPi-DSL_Dashboard 工程添加一个控制页面,并开启一个TCP服务器,AiPI-KVM开发一个TCP客户端功能连接上AiPi-DSL_Dashboard 之后就能实现快捷控制。

二、使用方法

2.1 连接

AiPi-KVM 不需要额外接入供电口,因为USB和HDMI的5V足以为整个板子供电

AiPi-KVM 拥有众多接口,而其中有三组输入: HDMI1+USB1、HDMI2+USB2、HDMI3+USB3,它们每组是成对接入同一台主机。所以你需要准备一根HDMI线和Type-C USB数据线。

在这里插入图片描述
除此之外,HDMI的输出和键盘鼠标的接入可以参考 [概述] 中的示意图。

2.2 切换

板载的三个轻触按键,分别对应了三个主机的选择:

按键序号 HDMI通道 USB通道
S3 HDMI1 USB1
S4 HDMI2 USB2
S5 HDMI3 USB3

例如,当按下S3时,HDMI的输出及键盘鼠标会同时切换到第一台主机上,屏幕显示第一台主机的页面。

2.3 掉电储存

AiPi-KVM 可以存储当前设置的通道,所以当AiPi-KVM 重新启动时,可以自动设置掉电前的最后的通道。

三、控制原理

3.1 HIDMI控制

HDMI 的控制芯片使用的是AG7111,支持2K 60Hz 视频传输,支持三进一出。通道的控制由Ai-M61-32S 输出DAC电平控制,电平对应AG7111的通道为:
DAC 电平 AG7111 通道
230mV 通道1(HDMI1)
933mV 通道2(HDMI2)
18000mV 通道3(HDMI3)

3.2 USB切换控制

USB设备(键盘鼠标等)是接在一个USB Hub上,切换主机是通过CH444G 模拟开关芯片实现切换,切换逻辑为(0代表低电平,1代表高电平):
IN0 IN1 USB通道
0 0 USB1
0 1 USB2
1 0 USB3
1 1 USB4

CH444G 实际可以切换4台主机,但是AG7111 只能接三台,所以KVM 只设计了三个Type-C 接口。

3.3按键读取

小安派-KVM 为了方便测试,设计了三个按键,分别实现通道切换:
在这里插入图片描述
三个按键按下后所对应的DAC输出、HDMI通道及USB通道如下:

按键序号 DAC电压 HDMI通道 USB通道
S3 230mV 通道1(HDMI1) USB1
S4 933mV 通道2(HDMI2) USB2
S5 1800mV 通道3(HDMI3) USB3

四、资料

小安派-KVM 不会销售,但是可以白嫖成品,敬请期待。
小安派-KVM 源码及资料站:https://docs.ai-thinker.com/kvm
小安派-KVM 开源主页:https://oshwhub.com/ai-thiner_openteam/aipi-kvm

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【完全开源】小安派-KVM 三进一出切换器 的相关文章

随机推荐

  • Python 计算机视觉(十二)—— OpenCV 进行图像分割

    参考的一些文章以及论文我都会给大家分享出来 链接就贴在原文 论文我上传到资源中去 大家可以免费下载学习 如果当天资源区找不到论文 那就等等 可能正在审核 审核完后就可以下载了 大家一起学习 一起进步 加油 目录 前言 1 图像分割 2 读取
  • C++题库

    文章目录 1 求最大值 2 求圆面积 3 编写重载函数来打印字符串 4 设计带构造函数的Dog类 5 定义一个带重载构造函数的日期类 6 C 第三章 指针 动态生成Person类的对象 7 编写一个小小的计算器 能够计算两个浮点数的加 减
  • 使用Myeclipse插件将wsdl生成java客户端代码

    使用环境 MyEclipse9 0 本教程使用Myeclipse内置插件生成java代码 网上说这是xfire插件 不管怎样 生成和调用客户端代码都十分简单 1 在项目上右键 选择New gt Other gt Web Service gt
  • Mysql常用命令行

    Mysql常用命令行 第一招 mysql服务的启动和停止 net stop mysql net start mysql 第二招 登陆mysql 语法如下 mysql u用户名 p用户密码 键入命令mysql uroot p 回车后提示你输入
  • 如何用python调用webservice接口

    最近项目需要去调用其他平台接口 接口类型为webservice接口 跟经常用的http请求还不一样 然后就找到python的suds三方包 以下为根据号码查询归属地接口进行测试和举例 安装suds三方包 命令行 pip3 install s
  • VSCode 的 Local History插件使用

    VSCode 的 Local History 插件使用 在使用vscode编写代码的时候 往往需要查看历史的修改记录 这时可以安装 Local History 插件 安装成功之后 关闭 vscode 然后重新启动就可使用 在左下角可以看到
  • linux 查找安装包路径,查看yum安装软件包的路径

    Linux系统下查找安装包所在目录的方法 linux中查看软件文件安装路径 Linux查看软件安装路径 linux查找安装包路径 rpm查找安装包路径 rpm rpm qa grep php fpm rpm ql php73 php fpm
  • python的struct模块

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 了解c语言的人 一定会知道struct结构体在c语言中的作用 它定义了一种结构 里面包含不同类型的数据 int char bool等等 方便对某一结构对象进行处理 而在网络
  • oshi - 服务器及应用监控库 - 简介与使用

    by Claudia 文章目录 简介 特性 相关资料 运行 具体使用 源码分析 SetCpuInfo SetMemInfo SetSysInfo SetJvmInfo SetSysFiles Why oshi 竞品分析 总结 简介 oshi
  • el-form表单中不同数据类型对应的时间格式化和校验规则

    1 在表单中 当选择不同的数据类型时 需要在下面选择时间时和数据类型对应上 通过监听数据类型的变化 给时间做格式化 2 但是当不按顺序选择数据类型后 再选时间可能会报错 所以需要在dom更新后 再清空表单 3 校验规则 结束时间需要大于开始
  • 2022-12-30 工作记录--React/JS-关闭一个弹窗后,根据需求判断是否继续弹出该弹窗

    React JS 关闭一个弹窗后 根据需求判断是否继续弹出该弹窗 一 实现效果 假如用户在 任务弹窗 同时完成了三个非签到任务 想要实现 当用户返回 首页 时 依次弹出对应完成的任务的 完成任务弹窗 如下图 二 实现代码 后端返的数据 接口
  • 模型集成(Model Ensemble)

    模型集成 Model Ensemble 模型集成是融合多个训练好的模型 基于某种方式实现测试数据的多模型融合 这样来使最终的结果能够 取长补短 融合各个模型的学习能力 提高最终模型的泛化能力 近年来 model ensemble已成刷榜神器
  • 计算机组成原理笔记01

    做题笔记1 学习内容 教材的思维导图 课后练习 计算部分 中国大学MOOC计算机组成原理 计算部分 1 教材的思维导图 2 课后练习P17 7 某计算机主频为1 2GHz 其指令分为4类 它们在基准程序中所占比例及CPI如表1 7所示 指令
  • Rancher应用商店的questions.yml接收数组参数

    背景 制作FlinkCluster的Chart包 要求应用商店界面输入接受数组参数 questions yml 是不支持这种形式的 解决方案 questions yml中的参数最终是以 set name value 的形式拼接到命令中的 h
  • m3u8 videojs 倍速播放属性

    var myVideo videojs myVideo bigPlayButton true textTrackDisplay false posterImage false errorDisplay false playbackRates
  • Elasticsearch-拼音分词/排序

    1 拼音分词器安装 1 1下载拼音分词插件 要和安装的es版本保持一致 我的版本是6 6 0 下载地址 https github com medcl elasticsearch analysis pinyin tree v6 4 0 1 2
  • C++学习难点1

    数据类型与表达式 1 运算符 1 1 自增自减运算符 int i 0 j j i 后置 i的值自增变为1 表达式i 的值为i自增之前的值 即j得值为0 j i 前置 i的值自增变为1 表达式i 的值为i自增之后的值 即j得值为1 注意 自增
  • UnityShader 模型空间转剪裁空间

    模型空间转剪裁空间 1 引入UnityCG cginc库 include Lighting cginc 2 使用UnityObjectToClipPos 方法 v2f vert a2v v v2f f f svPos UnityObject
  • IO流

    过滤器字节流 FilterInputStream 过滤器字节输入流 FilterOutputStream 过滤器字节输出流 它们的主要用于封装其他的输入输出流 为它们提供一些额外的功能 具有以下实现类 以下以FilterInputStrea
  • 【完全开源】小安派-KVM 三进一出切换器

    目录 一 概述 二 使用方法 2 1 连接 2 2 切换 2 3 掉电储存 三 控制原理 3 1 HIDMI控制 3 2 USB切换控制 3 3按键读取 四 资料 一 概述 AiPi KVM 是一款三进一出的HDMI USB的切换器 可以让