老旧笔记本改造成便携KVM(键盘显示器)

2023-05-16

老旧笔记本改造成便携KVM(键盘显示器)

  • 前言
  • 立项、拆机
  • 改造
    • 显示屏驱动
    • 键盘
    • 结构
  • 结项、测试
  • 后记

前言

本来是一时兴起晒在微信朋友圈的几张图,配文说明很短。想起网上有不少笔记本屏幕改造利用的帖子,但好像没发现把笔记本改造成KVM的。后来想也许有其他人也会对此感兴趣,毕竟还有点实用价值和环保意义,就稍微扩充了一点,放在这里。也是第一次在csdn上发文。

一个被当工程师耽误了的捡破烂修理工。女儿上幼儿园时曾经介绍说我爸爸是研究员,就是专门修理东西的。是的,就喜欢收藏、摆弄些乱七八糟的破烂,尤其是各种工具、零件、机械电子玩意,一方面觉得好玩,另外也总觉得有一天会用上。为了不负众望,防止老年痴呆症,还是经常动手修修东西吧。

家里有好多台各种上古年代的笔记本电脑,总舍不得扔,毕竟在上世纪那是要仰望的高科技产品。因为工作中经常遇到没有键盘显示器的嵌入式无头设备,每次调试要到处去找个显示器、提一串叮铃当啷的键盘鼠标,不胜其烦,就想能否把旧笔记本改造成个便携的KVM。

立项、拆机

睡梦中经过可行性分析和立项论证,项目启动。

拿了个联想的老本子拆了个稀烂,每一颗螺丝、每一个模块、每一根线缆,连电池包都拆了看看,就像小时候拆玩具一样(男人应该都有这个癖好吧?搞破坏并窥见少有人知的机巧和奥秘,发现科技之美,真的很好玩)。

主板、内存、硬盘、光驱、wifi、天线、摄像头、扬声器、Mic,屏幕、键盘、电池……那么多东西塞进个小盒子,真的不容易。散热设计尤其精巧。
在这里插入图片描述

具体拆机步骤就免了,反正不同机型结构不同,主板也是不要了,拆坏了没关系,就随便拆着玩呗。内存条、硬盘、光驱倒是可以在其他地方用。

最后发现真正有用的只有显示屏、键盘和壳子,显示屏和键盘还不完整,驱动电路都集成在主板上,根本没法用。最后就拆成这么个空壳子了。

在这里插入图片描述

这是最后要用的空壳子。这里有根白色的USB线是后来焊上的(原来是根FPC柔性电路板电缆),后面改造想用那个USB接口当键盘接口。

这是电池包,里面有充电模块,还有个温度传感器。一方面拆着玩,另外考虑有可能要把显示控制的按键板放到电池仓位置。对应的上方键盘面板处正好有空可以打孔。

在这里插入图片描述

改造

只剩个裸屏和键盘的矩阵按键,于是网上淘了一个LCD屏驱动模块和一个键盘驱动模块,硬件软件电工钳工一通操作,大功告成。麻烦点只有两处,一个是键盘矩阵的线序测试和键码烧录,一个是结构上怎么安装进那个奇形怪状的壳子里。踩过的坑稍微说一下。

显示屏驱动

LCD屏驱动板,某宝上找,把屏背面的型号拍下来给客服,会给你推荐个合适的配置型号。
在这里插入图片描述
在这里插入图片描述

要注意的是,原配的屏线电缆可能不够长(配套线是给专用的壳子配的),我们要把驱动板放到原主板附近,电缆要穿过铰链拉过来,距离有点长。

我买的那个店没有长屏线,定制都懒得做。只好自己去其他地方淘,这需要稍微研究一下LCD屏线接口,买错了用不了。一般大多数LCD屏都是LVDS接口,屏线根据屏分辨率有所谓单6、双6、单8、双8之分。

tips:
屏线中的LVDS信号,包括1对差分时钟信号CLK+/-,和n对差分数据信号RXO+/-;
区别在于数据信号的对数n。3对就是6根线叫单6;4对是8根叫单8;如果再double就叫双6或双8。

分析了一下,我的屏线应该是单6(加上时钟共4对差分线,就是图中那4对蓝白相绞的线),买来一试,Bingo!蒙对了。

另外,这个板板还带了个小按键板,控制屏幕开关机和设置的,想到还要找地方安装,头疼(最后装在电池盒位置了,要打孔把按键露出来)。想用扬声器的话,这上面也有接口。其他没什么,通电开机就可以显示。

在这里插入图片描述

键盘

键盘看似简单,其实有点麻烦。一般本本里面的键盘都是定制的,很难找到资料,裸键盘矩阵、FPC扁带接口、没法接线,信号多、线序完全不知道,又很难测。
在这里插入图片描述

根据网上帖子找了个矩阵键盘驱动控制模块Monkey,做的真的很精巧,只有口香糖大小。
在这里插入图片描述

为了和键盘的FPC连接,又找了个FPC24p1.0—2.54的转换板,焊上线就可以把monkey板和键盘连接起来了。
在这里插入图片描述

真正头疼的才来了,矩阵键盘有24根线,那些是行线,那些是列线?跟monkey版上Col1-Col8 以及Row1-Row18怎么对应连接?

用万用表试了下,挨个按键试,理论上可行,但24根线的组合太多了,太费工夫了,放弃。

好在这个monkey板做的不错,调试软件工具给力。随便挑了18根键盘线按顺序接到Row1—Row18,剩下的随便接到Col1-Col8,按说明连接计算机USB口,运行调试软件,挨个按键测试。每按一个键,软件会显示是那个行线与那个列线相接了,比万用表效率高多了。
在这里插入图片描述

如果键盘上所有键按完,发现某行或某列总没反应,就把对应的那两个行列线对调,再试。我反复了差不多3次就所有键都找到了。只要键盘上所有键都找到有反应了,也无所谓顺序,赶紧固化状态,同时按说明把每个键的行列编码烧录写入板子flash,就可以了。

关于键盘矩阵行列线序测试问题,在网上其他地方有很多童鞋问过怎么测。这里就顺便多啰嗦几句。注意接线时用那种单根的杜邦插头,便于测试时来回更换行列线的位置。
在这里插入图片描述

结构

最后剩下的就是结构问题了,笔记本壳子掏空了,看着空间不小,但内部隔板结构件九曲十八弯的,板子要放进去还要把接口外露,只能靠边找有缺口的地方,还是有点费神。我是把内部碍事的隔条都切掉了,侧面也挖了一大块才勉强固定进去了,打孔、螺丝、胶带等等都用了,有点丑,但简单粗暴实用,不是作为商品就不讲究了。
在这里插入图片描述
在这里插入图片描述

结项、测试

完工测试,因为功能简单,就是个集成的键盘和显示器,连接主机,显示正常,键盘输入、大小写、控制键等均没问题,通过!家里用的机会不多,放办公室用吧。

鉴定意见:完成预期目标,达到家内领先水平,通过结项验收。
在这里插入图片描述

后记

其实做完还有个想法,想建议所有的笔记本电脑厂商,将集成在主板上的显示驱动模块和键盘控制模块接口引出来(可以与现有的显示接口和USB口共用,不需要增加物理接口),通过跳线开关或软件设置可以将笔记本设置成KVM模式,这样CPU坏了键盘显示器还可以用,我们也不用这么费劲了。

技术实现上没难度,但环保意义重大,真的,环保,每年那么多淘汰的笔记本都不知道怎么处理。

这应该可以申请个专利。

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

老旧笔记本改造成便携KVM(键盘显示器) 的相关文章

  • Ubuntu20 + KVM虚拟机

    1 命令汇总 span class token comment 查看一下linux是32位还是64位 xff1a span span class token function file span bin ls span class toke
  • KVM虚拟机创建功能详细讲解

    KVM虚拟机创建功能详细讲解 一 KVM虚拟机创建的用户操作 对于用户或者管理员来说 xff0c 虚拟机的创建有着很多的方法 xff0c 例如 xff1a kvm自带命令行工 具 使用virsh命令来创建 使用具有图形界面的virt man
  • KVM虚拟机使用桥接方式时和宿主机无法通信的解决方案

    KVM虚拟机使用桥接方式时和宿主机无法通信的解决方案 应用场景 虚拟机客户机安装完成后 xff0c 需要为其设置网络接口 xff0c 以便和主机网络 xff0c 客户机之间的网络通信 事实上 xff0c 如果要在安装时使用网络通信 xff0
  • kvm虚拟化_KVM 虚拟化环境搭建 - WebVirtMgr

    前文 KVM 虚拟化环境搭建 ProxmoxVE 已经给大家介绍了开箱即用的 PVE 系统 xff0c PVE 是方便 xff0c 但还是有几点问题 xff1a 第一 xff1a 始终是商用软件 xff0c 虽然可以免费用 xff0c 但未
  • KVM interface passthrough

    nbsp nbsp nbsp nbsp kvm passthrouth sr iov nbsp nbsp https blog csdn net yzy1103203312 article details 81092647 nbsp nbs
  • KVM 配置虚拟机实际使用的cpu个数

    如图所示 要修改物理cpu个数的话 还需要手动设置cpu拓扑 否则 不管配置文件或本地主机配置了几个cpu 实际上虚拟机只能使用一个cpu 用 cat proc cpuinfo grep cores uniq 这条命令可以查询虚拟机上实际使
  • 24 KVM管理虚拟机-配置VNC-TLS登录

    文章目录 24 KVM管理虚拟机 配置VNC TLS登录 24 1 概述 24 2 操作步骤 24 KVM管理虚拟机 配置VNC TLS登录 24 1 概述 VNC服务端和客户端默认采用明文方式进行数据传输 因此通信内容可能被第三方截获 为
  • QEMU-KVM基本操作

    本文主要介绍KVM虚拟机的一些基本实践操作 对KVM虚拟机的管理操作主要是基于libvirt的命令行工具virsh进行的 一 安装与启动 1 KVM模块检查 1 查看当前Linux系统核心是否包含KVM模块 Linux内核2 6 20及以上
  • CentOS 7 virt-install 命令行方式(非图形界面)安装KVM虚拟机

    环境及网卡配置请参考 https blog csdn net mshxuyi article details 98305715 创建镜像目录 mkdir p home vms virt install 配置文件 virt install n
  • kvm qemu内幕介绍

    kvm qemu内幕介绍 标签 虚拟化io数据结构linux内核优化磁盘 2012 09 14 11 10 6923人阅读 评论 4 收藏 举报 分类 linux 56 版权声明 本文为博主原创文章 未经博主允许不得转载 目录 1 硬件虚拟
  • 10 KVM虚拟机配置-虚拟CPU和虚拟内存

    文章目录 10 KVM虚拟机配置 虚拟CPU和虚拟内存 10 1 概述 10 2 元素介绍 10 3 配置示例 10 KVM虚拟机配置 虚拟CPU和虚拟内存 10 1 概述 本节介绍虚拟CPU和虚拟内存的常用配置 10 2 元素介绍 vcp
  • 关于对cpu的理解和kvm虚拟机到物理cpu的绑定

    这段时间一直在想 云计算除了虚拟化之外 还应该有其它的东西 那就是优化 因为我们虚拟出来资源之后怎么用 怎么划分 是并行也好 是租给用户使用也好 都要实现资源调度和使用的最优化 嗯 这是这段时间关于云计算的想法 下面分享一下最近两天做的一些
  • KVM源代码分析4:内存虚拟化

    终于把KVM源代码分析3 CPU虚拟化写完了 虽然还有run的部分另外在写 还是先看一下内存虚拟化部分 代码版本 https git kernel org pub scm linux kernel git stable linux stab
  • KVM无法进入virt-manager,提示Unable to init server: Could not connect: Connection refused

    1 KVM virt manager不能以root用户进入 需切换成普通用户或者sudo用户 2 需要配置ssh 密钥 3 需要安装Xming或者Xmanager等KVM可用等图形界面软件 无法连接kvm 设置用户到组 一定要当前用户不要r
  • qemu-guest-agent windows下的监控开发

    windows下的qemu guest agent 简称qga 的名字叫做qemu guest agent win32 目前最新版的版本号是qemu guest agent win32 0 12 1 2 2 355 el6 4 9 x86
  • KVM热迁移

    KVM热迁移 介绍 KVM热迁移的前提是拥有共享存储 以下通过NFS实现KVM热迁移 迁移过程 将一处于运行状态的KVM虚拟机从节点kvm 01迁移到kvm 02后继续运行 准备 主机准备 hostname IP地址 系统 配置 kvm 0
  • libvirtError:XML 错误:预期单播 mac 地址,发现多播

    我正在通过 ansible 设置 KVM 自动化 并且我有一个虚拟机一直给我这个错误 libvirtError XML 错误 预期的单播 mac 地址 发现多播 53 54 00 b4 ad 81 我不认为这是一个可靠的问题 因为其他几个虚
  • 当 KVM-QEMU 打开时,Intel-PT 不记录任何数据包

    我尝试在主机上使用 Intel PT 同时在客户机上运行通用软件程序 所以我期望主机中运行的 Intel PT 将记录所有相关数据包 如 PIP FUP TSC 等 以及所有基于 VM 的数据包 如 VMCS 我使用以下命令 perf kv
  • QEMU和KVM在虚拟机I/O中扮演什么角色?

    我发现 QEMU 和 KVM 之间的界限非常模糊 我发现有人说虚拟机是qemu进程 而另一些人说是kvm进程 究竟是什么 而QEMU和KVM在虚拟机I O中扮演什么角色呢 比如一个vm做PIO MMIO的时候 是qemu还是kvm会把它困住
  • 如何使用 hostPath 将单个文件映射到 kubernetes pod 中?

    我有一个自己的 nginx 配置 home ubuntu workspace web conf由脚本生成 我更喜欢把它放在下面 etc nginx conf d除了default conf 下面是nginx yaml apiVersion

随机推荐

  • 代码复现问题以及解决

    问题 cuda版本不匹配 xff0c 对于版本不匹配问题真的很难受CPU版本还有GPU版本问题包安装 xff0c apex加速的安装 xff0c transformer版本也会限制python的版本程序运行 xff0c 如果程序写的是比较好
  • one-hot向量形式

    one hot向量 one hot向量将类别变量转换为机器学习算法易于利用的一种形式的过程 xff0c 这个向量的表示为一项属性的特征向量 xff0c 也就是同一时间只有一个激活点 xff08 不为0 xff09 xff0c 这个向量只有一
  • c语言中的位移位操作

    先要了解一下C语言里所有的位运算都是指二进制数的位运算 即使输入的是十进制的数 xff0c 在内存中也是存储为二进制形式 lt lt 用法 xff1a 格式是 xff1a a lt lt m xff0c a和m必须是整型表达式 xff0c
  • iOS动画(Core Animation)

    一 CABaseAnimation 移动动画 void testPositionAnimation CGFloat tempViewWidth 61 50 CGFloat tempViewY 61 300 UIView tempView 6
  • 使用Linux命令生成随机密码

    使用SHA算法来加密日期 xff0c 并输出结果的前10个字符 xff1a span class token function date span 43 s span class token operator span sha256sum
  • CoreData 从入门到精通(三)关联表的创建

    CoreData 从入门到精通 xff08 三 xff09 关联表的创建 上篇博客中讲了 CoreData 里增删改查的使用 xff0c 学到这里已经可以应对简单的数据存储需求了 但是当数据模型复杂起来时 xff0c 例如你的模型类中除了要
  • 安装golang开发环境,vscode

    官网 https golang google cn dl span class token builtin class name cd span data www span class token function wget span ht
  • Ubuntu16.04 display setting (xfce4-display-settings) segmentation fault 闪退

    虚拟机里装好Xubuntu16 04后 打开设置想调分辨率 不想一点开Display就闪退 使用命令行xfce4 display settings 来调用的话 报错语句为 segmentation fault 解决办法 初始化一下分辨率设置
  • 远程桌面无法连接远程计算机是什么原因?

    很多人在准备用 远程控制 另一台电脑进行相关操作的时候 xff0c 会出现提示说 远程桌面由于以下原因无法连接到远程计算机 xff0c 那么为什么会发生这种问题 xff0c 以及出现这种问题该怎么解决呢 xff1f 一起来看看吧 其实 xf
  • 安卓开发--连接到聚合网,获取JSON数据并解析(踩了好多好多坑)

    本文将会以从聚合网获得数据为例 xff0c 介绍如何在Android Studio中获取JSON并解析 这里做一个简单的天气查询的应用 文章目录 1 准备工作 导入依赖2 核心代码部分2 1 Get方式的http请求2 2 写出查询函数 x
  • W: GPG error: http://repo.mysql.com/apt/ubuntu bionic InRelease: (签名失败)

    签名失败了 安装MySQL8 0的时候遇到的问题 xff0c 当时执行了 apt get update的指令 xff0c 然后出现了下面一大堆 Hit 1 https download docker com linux ubuntu bio
  • 无需修改bios即可让任意主板实现NVME启动

    使用Clover四叶草引导加载NVMe驱动 除了对BIOS的硬改之外 xff0c 还有一种更安全的软件方案 xff1a 使用Clover四叶草引导加载NVMe驱动 Clover是著名的黑苹果引导软件 xff0c 这里借用它来实现对预引导 x
  • PC改电视盒子 无需配置 Android x86 TV 9镜像

    这几天在折腾将旧电脑改成安卓电视盒子 xff0c 发现网上的镜像着实麻烦 xff0c 如果没有vpn xff0c 每次装都要用命令跳过谷歌的自动更新 配置兼容arm 完事了还只能远程安装apk 这个镜像直接配置好了谷歌自动更新 兼容问题 自
  • ubuntu18.04中更换源

    安装很多软件时提示 unable to locate package 手动更换了阿里的软件源就顺畅了 xff0c 速度也很快 方法 xff1a 备份原文件 sudo cp etc apt sources list etc apt sourc
  • (Linux)Debian下安装JDK1.8.0

    昨晚花了两个多小时查资料 xff0c 在Debian下安装了jdk和tomcat xff0c 记录一下 查看Linux版本 xff1a uname span class hljs operator a span 我的是64位的 在oracl
  • 最全的Anaconda虚拟环境操作及Python常用命令 (持续更新---)

    Welcome to My Blog 文章唯一地址 xff1a https blog csdn net REAL liudebai article details 126185097 涵盖常见的Anaconda虚拟环境操作及Python常用
  • 提高Interface Builder高效工作的8个技巧

    原文转载自破船之家的博客 xff1a http beyondvincent com blog 2014 03 19 18 tips for working effectively with interface builder 提高Inter
  • C++ enum类型转换为string

    enum类型的值为int类型 xff0c 如 xff1a enum ElemName People Tree Car Text Cave QRcode Pillar xff0c 其中People的值是0 xff0c Tree的值是1 xff
  • KEIL5烧写成功,但是程序运行不了的原因

    很多种原因 xff0c 可能是配置原因 xff1a 比如
  • 老旧笔记本改造成便携KVM(键盘显示器)

    老旧笔记本改造成便携KVM xff08 键盘显示器 xff09 前言立项 拆机改造显示屏驱动键盘结构 结项 测试后记 前言 本来是一时兴起晒在微信朋友圈的几张图 xff0c 配文说明很短 想起网上有不少笔记本屏幕改造利用的帖子 xff0c