WhyCan Forum

人过留名,雁过留声,感谢各位朋友不离不弃地支持。 QQ: 516333132 (挖坑网/填坑网) admin@whycan.cn

您尚未登录。

#1 2019-08-12 12:38:32

guanglun
会员
注册时间: 2018-05-28
累计积分: 24

开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

先不说废话,资料先甩上来:

ATouch安卓APP源码:https://gitee.com/guanglunking/ATouch  【开发环境:AndroidStudio】

ATouch板子源码:https://gitee.com/guanglunking/ESP32_CH374U 【开发环境:Linux SDK:ESP-DIF3.2】

ATouch安卓后台程序源码: https://gitee.com/guanglunking/ATouchService 【开发环境:android-ndk-r13b】

APP下载地址: https://gitee.com/guanglunking/ATouch/blob/master/app/release/ATouchV1.0.apk

淘宝店铺:https://item.taobao.com/item.htm?id=595635571591

演示视频:https://www.bilibili.com/video/av53687214

使用文档:https://gitee.com/guanglunking/ATouch/raw/master/doc/ATouch%E5%90%83%E9%B8%A1%E5%BC%80%E5%8F%91%E6%9D%BF%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.docx

说起这个项目的起源,可能大概也许是源于自己用手搓手机菜的抠脚吧,也或许是因为对开发的热情大过于玩的热情哈哈,反正这个东西反反复复得折腾了半年之久了,对这个东西的定位也渐渐从做一个人人都能玩的商品到单纯做一个有吃鸡功能的开发板。现在把他开源出来,也算是回报互联网上良多开源的资料教程吧!

FluxBB bbcode 测试
FluxBB bbcode 测试

从上面的资料可以看到有三份源码,其中两份(APP和板子源码)还可以理解,另外那个后台源码是啥东西?干啥的?这个还要从实现安卓模拟触屏的功能谈起,主要是因为手机APP无法实现触摸非己界面的功能,而我们有需要在游戏运行的时候触摸屏幕该怎么办呢?解决办法是使用android的ndk开发实现一段后台程序来对触屏文件/dev/input/event进行写操作来实现,所以相对要复杂一些,下面是整个交互的流程概括:

FluxBB bbcode 测试

流程说明:

1.CH374U是一个支持8位并口或者SPI的3端USBHUB芯片,将他通过8位并口与ESP32连起来为ESP32实现了3个USB端口的操作。

2.ESP32通过CH374U模拟ADB协议与手机连接,手机需要打开开发者模式。连接成功后使用端口映射 adb forward tcp:local_port tcp:remote_port 来将安卓后台程序ATouchService与开发板ESP32_CH374U建立socket的通讯连接。

3.ESP32通过CH374U采集键盘鼠标数据(USB HID协议),如果已连接手机就将数据打包发送至手机后台程序ATouchService。

4.后台程序ATouchService将接收到的键鼠信息进行处理,如果此时APPATouch配置并开启了键鼠映射就将其键鼠对应的控制信息发送至手机的 /dev/input/event 文件模拟触摸操作。

  其实东西早就做好开源出来了,后来感觉不发论坛的话没几个人看得到所以补发一下哈哈。。
  更多详细的内容请看上面的博客地址和演示视频。

最近编辑记录 guanglun (2019-08-12 12:43:39)

离线

#2 2019-08-12 13:38:47

微凉VeiLiang
会员
注册时间: 2018-10-28
累计积分: 157

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

666,吃鸡手游刚出来的时候我也想过做这个,不过还是没有动手,没想到楼主实现了。支持支持

离线

#3 2019-08-12 14:05:20

路人乙
会员
注册时间: 2017-09-26
累计积分: 45

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

劲爆好贴, 认真学习!

离线

#4 2019-08-12 14:24:30

jimmy
Moderator
注册时间: 2017-10-29
累计积分: 201

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

三个 USB HOST 口?这是要控制三台手机吗?

离线

#5 2019-08-12 14:25:18

超级萌新
会员
注册时间: 2018-05-04
累计积分: 267

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

新出来的 ESP32S2据说自带 usb otg,这样是不是更容易了

离线

#6 2019-08-12 14:33:35

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 7,826

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

全栈中的战神!

离线

#7 2019-08-12 15:06:32

真的是很烦
会员
注册时间: 2018-10-08
累计积分: 106

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

咱俩这想法撞的死死的,   没想到实物都做出来了

离线

#8 2019-08-12 15:10:31

真的是很烦
会员
注册时间: 2018-10-08
累计积分: 106

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

"使用android的ndk开发实现一段后台程序来对触屏文件/dev/input/event进行写操作来实现", 
  --- 为什么不直接借用 adb 实现?

离线

#9 2019-08-12 16:21:14

guanglun
会员
注册时间: 2018-05-28
累计积分: 24

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

真的是很烦 说:

"使用android的ndk开发实现一段后台程序来对触屏文件/dev/input/event进行写操作来实现", 
  --- 为什么不直接借用 adb 实现?

原因是adb的touch命令执行速度太慢,无法实现快速的多点触控模拟

离线

#10 2019-08-12 16:22:06

guanglun
会员
注册时间: 2018-05-28
累计积分: 24

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

jimmy 说:

三个 USB HOST 口?这是要控制三台手机吗?

键盘鼠标插上去占用两个,手机插上去占用一个

离线

#11 2019-08-12 16:35:26

guanglun
会员
注册时间: 2018-05-28
累计积分: 24

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

超级萌新 说:

新出来的 ESP32S2据说自带 usb otg,这样是不是更容易了

就工作量来说差不多,从思路上说就简单了

离线

#12 2019-08-12 16:48:03

lcfmax
会员
注册时间: 2018-04-13
累计积分: 163

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

楼主威武

离线

#13 2019-08-15 17:03:59

2B青年欢乐多
会员
注册时间: 2019-01-08
累计积分: 11

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

我擦  牛

离线

#14 2019-08-17 21:01:38

真的是很烦
会员
注册时间: 2018-10-08
累计积分: 106

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

离线

#15 2019-08-18 07:06:48

jiangchun9981
会员
注册时间: 2019-07-31
累计积分: 20

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

scrcpy 好像是通过ADB的机制,不需要ROOT

不知道楼主的直接读写DEV的文件方式需要ROOT吗?

离线

#16 2019-08-20 09:04:48

firstman
会员
注册时间: 2019-04-06
累计积分: 174

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

可以通过 f1c100s 这种 usb otg 接口,安装 adb 操作安卓手机吗?

离线

#17 2019-08-20 13:36:21

guanglun
会员
注册时间: 2018-05-28
累计积分: 24

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

jiangchun9981 说:

scrcpy 好像是通过ADB的机制,不需要ROOT

不知道楼主的直接读写DEV的文件方式需要ROOT吗?

我这也是ADB操作的啊,无需ROOT

离线

#18 2019-08-20 13:36:53

guanglun
会员
注册时间: 2018-05-28
累计积分: 24

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

firstman 说:

可以通过 f1c100s 这种 usb otg 接口,安装 adb 操作安卓手机吗?

可以的

离线

#19 2019-08-20 13:38:14

guanglun
会员
注册时间: 2018-05-28
累计积分: 24

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

真的是很烦 说:

这种投屏的的模拟触摸方式太慢,没有直接写event的方式速度快

离线

#20 2019-08-20 20:35:46

checkout
会员
注册时间: 2018-11-09
累计积分: 78

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

触摸事件和你的原理应该一样,延迟高的是图像,scrcpy不只是投屏
移植不难,这是移植到v3s上的效果:https://whycan.cn/t_2736.html

最近编辑记录 checkout (2019-08-20 20:36:58)

离线

#21 2019-08-20 20:50:22

firstman
会员
注册时间: 2019-04-06
累计积分: 174

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

guanglun 说:
firstman 说:

可以通过 f1c100s 这种 usb otg 接口,安装 adb 操作安卓手机吗?

可以的

请教这个驱动里面要开启哪一项呢? 然后移植一个 adb 进来?

离线

#22 2019-08-20 21:27:25

checkout
会员
注册时间: 2018-11-09
累计积分: 78

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

adb只是个协议

离线

#23 2019-08-20 21:38:22

firstman
会员
注册时间: 2019-04-06
累计积分: 174

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

checkout 说:

adb只是个协议

buildroot 里面有 adb tools, 勾上编译一下就可以, 但是不知道USB驱动怎么弄

离线

#24 2019-08-20 22:14:49

checkout
会员
注册时间: 2018-11-09
累计积分: 78

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

adb的话需要主机模式,直接执行就行了,adbd是从机模式下的,另外还需配置内核,选择configfs和fuctionfs,

firstman 说:
checkout 说:

adb只是个协议

buildroot 里面有 adb tools, 勾上编译一下就可以, 但是不知道USB驱动怎么弄

离线

#25 2019-08-20 22:35:53

firstman
会员
注册时间: 2019-04-06
累计积分: 174

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

QQ20190820223450.png

弄了一个 adb 执行程序进去, 然而, 并不能连到我的小米手机.

总觉得还有一个协议没有勾选.

最近编辑记录 firstman (2019-08-20 22:36:43)

离线

#26 2019-08-20 22:50:00

firstman
会员
注册时间: 2019-04-06
累计积分: 174

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

貌似要打上这几个补丁才行:

In kernel .config, the Android gadget drivers are enabled:

CONFIG_USB_ANDROID=y
CONFIG_USB_ANDROID_ADB=y
CONFIG_USB_ANDROID_MASS_STORAGE=y
CONFIG_USB_ANDROID_RNDIS=y
CONFIG_USB_ANDROID_RNDIS_WCEIS=y

https://community.nxp.com/thread/256677

最近编辑记录 firstman (2019-08-20 22:50:17)

离线

#27 2019-08-20 22:59:08

firstman
会员
注册时间: 2019-04-06
累计积分: 174

离线

#28 2019-08-20 23:10:30

checkout
会员
注册时间: 2018-11-09
累计积分: 78

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

你首先要分清adb和adbd的区别。adbd是手机里面跑的那种,需要支持gadget,adb是主机模式下跑的,用来连接手机

firstman 说:

https://whycan.cn/files/members/1574/QQ20190820223450.png

弄了一个 adb 执行程序进去, 然而, 并不能连到我的小米手机.

总觉得还有一个协议没有勾选.

离线

#29 2019-08-21 09:23:49

guanglun
会员
注册时间: 2018-05-28
累计积分: 24

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

checkout 说:

触摸事件和你的原理应该一样,延迟高的是图像,scrcpy不只是投屏
移植不难,这是移植到v3s上的效果:https://whycan.cn/t_2736.html

这个应该是只读了event吧?

离线

#30 2019-08-21 09:51:30

checkout
会员
注册时间: 2018-11-09
累计积分: 78

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

还可以远程控制的,反向控制手机

guanglun 说:
checkout 说:

触摸事件和你的原理应该一样,延迟高的是图像,scrcpy不只是投屏
移植不难,这是移植到v3s上的效果:https://whycan.cn/t_2736.html

这个应该是只读了event吧?

最近编辑记录 checkout (2019-08-21 09:52:02)

离线

#31 2019-08-21 10:13:57

guanglun
会员
注册时间: 2018-05-28
累计积分: 24

Re: 开源!吃鸡开发板ESP32+CH374U方案,让你通过鼠标键盘玩手机吃鸡游戏!

checkout 说:

还可以远程控制的,反向控制手机

guanglun 说:
checkout 说:

触摸事件和你的原理应该一样,延迟高的是图像,scrcpy不只是投屏
移植不难,这是移植到v3s上的效果:https://whycan.cn/t_2736.html

这个应该是只读了event吧?

那不错 如果能多点控制就更好了

离线

页脚