1. 前言
-
(写在前面:文章的实际操作步骤并不多,如果你感觉太长了啊,很有可能是因为后面的正常使用之外的修改环节写的比较多以及图片占的空间比较多)
-
无意间逛B站,看到了一个Up主将旧手机改造成电脑外挂,据说可以给电脑提升300%的效率(关键是这个视频还被华为官方账号推送过)。这个数字是否精确我不知道,但我猜一定很好玩,既然很好玩,那么就折腾起来吧~
-
但是看完作者的视频之后,却发现这个不是零基础就能用的,还需要进行一定的设置和编译。自己在进行各种资料搜索之后,于是便有了这个教程
-
主要是参考下面这个视频教程(个人不是特别喜欢看视频教程,感觉上面的信息密度太低。有时候短短十分钟的一个视频,因为所有的信息点都是线性均匀分布的,实际看完需要好长好长时间)
-
所用到的GitHub代码库
-
这个项目分为两个客户端,一个是PC端,另一个是安卓端。PC端是使用的Python编写的,安卓端使用的是Java编写的
2. 操作
2.1. PC端
2.1.1. 安装Python环境
这一步因为太过于基础,我默认大家都已经安装好了Python环境。如果确实还没有安装好的话,建议百度一下,会有很多教程,就不赘述了
pip install keyboard
pip install pillow
pip install pyperclip
pip install pyautogui
pip install pypiwin32
最好再安装一个VS Code或者PyCharm,方便接下来的代码调试
2.1.2. 调试代码
下载并打开电脑端的代码
- Controller.py是这个程序的入口
先点击运行一下Controller.py,看是否缺对应的包- 可以看到我这之前因为安装过对应的包了,直接运行起来了,如果那你提示缺少某一个模块,那么就使用pip install xxx的方式安装即可
2.1.3. 设置开机启动
在Windows开机自启动文件夹中添加一个bat文件
(例如 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp ,但是每个人的具体路径一般不相同),添加一个.bat后缀的文件,
在bat文件里面输入下面的命令
pythonw xxx.py
可以参考下面的代码(不过这个路径需要自己根据Controller.py文件具体路径来确定)
pythonw E:\Documents\Desktop\CyberControllerServer-main\Controller.py
这样开机的时候就可以后台启动这个Python程序了
2.2. HMS Core API申请
在开始调试安卓端之前,我们需要先在华为云上面创建一个项目
2.2.1. 注册账号
首先打开华为HMSCore的官网,登录之后会让你选择开发者的类型,我们这里选择个人开发者
- HUAWEI Developer
具体的认证方式可以选择人识别认证以及个人银行卡认证都可以,都是可以瞬间完成的- 我这里选择的是个人银行卡认证
- 继续填写更详细的信息
- 勾选华为开发的各项协议,点击下一步
这里的实名认证成功了,我们点击进入管理中心
2.2.2. 创建应用
点击应用-AppGallery Connect-我的应用-新建
2.2.3. 填写基本信息
弹出的创建应用信息框中大体按照下面的信息进行填写,其中这里的应用名称和项目名称根据自己的喜好填写即可
- 填写完之后,点击确定
2.2.4. 填写应用信息
刚才创建应用的时候,填写的是基本应用信息,现在需要进一步填写应用信息,比如应用介绍、应用分类、应用内截图以及应用logo之类的
软件只是个人使用的,并不需要推广,所以上面的信息我就随便填了
2.2.4.1. 软件图标
- 这个软件图标必须是png格式的,像素为216x216,只要是符合这个格式和尺寸要求的,随便一张图片都可以
2.2.4.2. 应用的截图
- 应用内截图我也是直接百度从网上找的3张美女图片(不代表审美倾向,只是图方便从百度图库中随便搜的,你搜也能搜到这几张图片,哈哈)
- 不过要注意的是,横图的长宽比例必须为16:9,比如分辨率2560x1440,并且大小限制在2M以内,如果不满足这些要求的话,会上传失败
2.2.4.3. 应用分类
-
应用分类也是随便填了,我这里填的是实用工具类
-
所有的信息填完之后点击右上角的保存,到这里这个应用的信息就算全部填写完毕了,后面也不需要提交审核(无需点击下一步
-
如果你点击下一步的话,会让你进行审核,我们这里先不审核
2.2.5. API信息设置
回到刚才的项目列表,点击刚创建的项目
- AppGallery Connect
2.2.5.1. 添加对应的包名
- 这里需要说一下,就是这个包名虽然可以随便填,但是需要独一无二的,不能和别人的重复。如果重名的话,你要么需要改名,要么在后面加一个后缀123之类的
- 我这里填的是com.demo_CyberController
- 点击保存之后,进入API管理界面
2.2.5.2. 勾选机器学习服务
- 我们勾选机器学习服务,因为我们这个工具还可以进行人脸识别、面部解锁之类的,所以需要用到机器学习的模块
2.2.5.3. 复制API信息
- 下面的信息在之后的代码中需要用到:
- 将APIkey复制出来
2.2.5.4. 将JSON信息保存下来
2.3. 安卓端
- 下载android的代码
- https://github.com/KikiLetGo/CyberController
2.3.1. 安装开发工具
安装Android studio
- 安装方法很简单,只需要下载下来,一直点击下一步即可
- https://developer.android.com/studio
- http://redirector.gvt1.com/edgedl/android/studio/install/2021.3.1.17/android-studio-2021.3.1.17-windows.exe
2.3.2. 修改源码
2.3.2.1. 克隆项目
-
安装完Android studio,新建项目-Get from VCS,地址填CyberController的GitHub链接
https://github.com/KikiLetGo/CyberController
?
?
2.3.2.2. 打开项目
-
首先将视图设置为project
-
这样看起来就舒服多了
2.3.2.3. 修改包名
- app/build.gradle
- 将applicationId设置为自己刚才新建的包名
- 将applicationId设置为自己刚才新建的包名
2.3.2.4. 替换JSON文件
- app/agconnect-services.json
- 将这个JSON文件替换为刚才自己下载下来的json文件
- 将这个JSON文件替换为刚才自己下载下来的json文件
2.3.2.5. 修改APIKey
- app/src/main/java/CyberApplication
2.3.2.6. 更改照片
- app/src/main/assets/admin.jpg
- 你的照片是原作者的照片,我们可以把它替换成自己的照片,之后就可以进来面部解锁了
2.3.2.7. 更改自己的登录密码
- app/src/main/java/com.elexlab.cybercontroller/ui/activities/LoginActivity
- 将这里的密码更改自己想要输入的密码即可
2.3.3. 手机连接电脑
2.3.3.1. 将手机通过USB和电脑连接,然后开启USB调试模式
- 之后就可以在Android Studio上面那个自己的手机名称了
2.3.3.2. 关闭纯净模式
- 如果没有关闭纯净模式的话,在安装过程中会一直提示你输入密码,会非常烦,不过不关也没事儿
2.3.4. 编译安装
选择CyberApplication,然后点击run按钮
这样就开始编译安装了
编译完成
可以完成之后,手机端就自动安装上了这个APP,再赋予一些权限即可
2.3.5. APP设置
APP和电脑是通过IP协议进行通讯的,所以在手机端需要设置电脑端的IP地址
查看并修改电脑端的IP地址
- 在电脑的CMD中输入ipconfig查看自己真实的IP地址
- 打开电脑端的TcpServer.py,按照下面的方式查看电脑端的IP地址
- 可以看到,这里打印出来的是一系列IP地址,其中有自己的真实IP地址,也有虚拟网卡的IP地址。我们上一步通过ipconfig查看的IP地址位于第5个位置,那么就需要修改IP地址的列表为4(程序计数和真实计数的差别)
- 可以看到,这里打印出来的是一系列IP地址,其中有自己的真实IP地址,也有虚拟网卡的IP地址。我们上一步通过ipconfig查看的IP地址位于第5个位置,那么就需要修改IP地址的列表为4(程序计数和真实计数的差别)
- 点击上角的设置
- 修改如下
- 之后重启APP,使直接设置生效
手机接电脑
- 电脑端修改了本地IP地址,以及手机端设置了电脑端的IP地址之后,就可以进行连接了
3. 测试
3.1. 测试语音输入
- 看了up主的那个视频,其实自己最想使用的就是这个语音输入功能,所以在对语音输入进行测试
- 我们在手机端按住麦克风说一句"世界你好”,之后松开麦克风
- 可以看到电脑端也显示出来了对应的文字
3.2. 测试翻译功能
- 这个就属于锦上添花的功能了,毕竟自己还有其他的方式来解决翻译功能,不过不得不说,这个翻译功能做起来是真的秀
- 如果想使用框选截图那么就按CapsWriter+A
- up主在视频上展示的功能,例如人脸解锁等,我就不演示了,大家自行尝试吧
4. 注意事项
4.1. 最好是安卓10以及安卓10以上的手机使用
- 安卓10以下的手机可能会闪退
4.2. 把本App加入到电池白名单
- (电池优化选项中找到本App,选择不优化),否则息屏一段时间后,系统将断开socket连接,并且早Doze Mode下无法重连,电脑三连翻译快捷键将无法唤醒屏幕
- 直接搜索电池优化-选择所有应用-在搜索框中搜索自己想要添加白名单的应用即可
5. 结语
- 到这里这个CyberController将手机当做电脑外挂的基础教程就完成了。
- 如果对于这个原项目上面的某些功能不太满意(例如一段时间之后CyberController的翻译不能正常使用了)的话,可以看下面的番外篇进行进一步的设置:
CyberController手机外挂番外篇:对源代码进行二次修改
https://blog.csdn.net/u014723479/article/details/128059496