光轮 发表于 2019-8-12 12:51:45

吃鸡开发板ESP32+CH374U方案开源,鼠标键盘玩手机吃鸡!

本帖最后由 光轮 于 2019-8-12 12:53 编辑

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

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://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

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





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



流程说明:

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 文件模拟触摸操作。

其实整个项目比较有意义的地方在于使用MCU的USB通过ADB协议与手机通讯,这一部分实现代码和原理网上不咋好找,可用于充电桩给手机充电的时候桩应用的用途哈哈。。。

光轮 发表于 2020-3-14 13:40:09

代码托管 github:

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

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

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

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

newkey 发表于 2019-8-12 13:00:06

牛人啊,赞一个

jackjiao 发表于 2019-8-12 13:03:06

厉害,赞一个

lzg1987 发表于 2019-8-12 13:04:08

好几次遇到人没按到发射子弹上被人给打死,就在想要是用鼠标键盘该多好。

wxws 发表于 2019-8-12 13:50:13

有点意思 ,顶一个

kakashi007 发表于 2019-8-12 13:52:44


厉害,赞一个

aleyn 发表于 2019-8-12 14:02:24

这个绝对牛人,+32个赞

jiaowoxiaolu 发表于 2019-8-12 14:08:00

又是一个硬件外挂,距离后台截屏opcv识别敌人自动开枪不远了,一枪一个小学生{:lol:}

xiaomu 发表于 2019-8-12 14:08:22

牛人,赞,
我记得论坛原来有个项目 使用手机usb otg功能,同mcu通讯的

hongfadg 发表于 2019-8-12 14:20:32

研究研究,,找不到原理图啊,,楼主能把原理图也发来吗,,多谢!!!

lr120363092 发表于 2019-8-12 14:20:36

强,不过没啥时间玩游戏

leijiayou 发表于 2019-8-12 14:27:20

大牛      膜拜

jssd 发表于 2019-8-12 14:36:36

大神,膜拜!!!

liujinhan 发表于 2019-8-12 14:40:32

高手,赞!~

lovelywwei 发表于 2019-8-12 14:41:04

牛X,话不多说,先顶为敬!!!

天下乌鸦一般黑 发表于 2019-8-12 14:49:08

这个简直吊爆了。。。

langton 发表于 2019-8-12 15:07:57

牛逼牛逼~

浮华一生 发表于 2019-8-12 15:20:53

弱弱 问一下 有人玩 第五人格没{:lol:}

abigpad 发表于 2019-8-12 15:23:54

高速在民间。

kydl2345 发表于 2019-8-12 15:32:08

物理外挂牛批

lyg407 发表于 2019-8-12 15:33:49

这个可以。 感谢分享!

浮生莫若闲 发表于 2019-8-12 16:10:47

哈哈,你们这么搞会被封号的

ZL_electric 发表于 2019-8-12 16:47:51

这属于外设,不属于挂,跟官方的手柄异曲同工,我更喜欢手柄,方便拿

saccapanna 发表于 2019-8-12 16:58:01

再加一个图像识别,自动瞄准……可以深玩下去

gentlerain 发表于 2019-8-12 17:12:40

这是高手!

kation122 发表于 2019-8-12 17:21:20

大侠,请问这个会被游戏识别为外设玩家吗,外设玩家不能匹配手机玩家的。

光轮 发表于 2019-8-12 17:36:01

kation122 发表于 2019-8-12 17:21
大侠,请问这个会被游戏识别为外设玩家吗,外设玩家不能匹配手机玩家的。 ...

目前我玩不会被检测,不保证以后这么玩的人多起来以后会检测。。。

dxf5200 发表于 2019-8-12 17:58:50

牛逼,学习了

不舍的六年 发表于 2019-8-12 18:38:16

这个就厉害啦{:lol:}

bipengjiang 发表于 2019-8-12 18:43:49

厉害!         

amazing030 发表于 2019-8-12 18:53:42

买了这种QQ玩第一次封10天第二次封了两月用微信就没事

mo812 发表于 2019-8-12 19:43:25

感觉手机差的话外设作用提升不大

我是一个大白菜 发表于 2019-8-12 19:48:28

楼主牛人啊,厉害

pzt 发表于 2019-8-12 22:16:32

看来楼主也是个吃鸡达人了{:lol:}

muniao 发表于 2019-8-12 22:53:20

厉害的吃鸡玩家

neqee 发表于 2019-8-13 09:56:23

大牛膜拜~~

qdght 发表于 2019-8-13 10:25:53

牛掰,膜拜

关于以后 发表于 2019-8-13 10:32:09

是真的强。

ayumi8 发表于 2019-8-13 10:46:52

这套东西多少钱吧?

zhongsandaoren 发表于 2019-8-13 13:01:51

又厉害,又闲

jayzah 发表于 2019-8-13 19:21:22

手机要root才可以写入/dev/input/event吧?

光轮 发表于 2019-8-13 21:02:40

jayzah 发表于 2019-8-13 19:21
手机要root才可以写入/dev/input/event吧?

adb执行的任务可以对event进行读写,所以无需root

blueagle2012 发表于 2019-8-14 00:14:46

开挂了   牛

huangqi412 发表于 2019-8-14 00:49:02

安卓高手啊

lwy86 发表于 2019-8-14 12:39:35

应该研究一下 飞智的 CapAir Mapping 电容隔空映射,那个才不会封.

jayzah 发表于 2019-8-19 23:07:50

楼主还有多余的板子吗,卖一套给玩玩吧

love0679 发表于 2019-8-20 08:19:56

标记标记~学习学习~ADB

Firman 发表于 2019-8-20 08:33:03

能把它改成蓝牙连接就好了。

fengyunyu 发表于 2019-8-20 08:47:46

看起来高大上

daleda 发表于 2019-8-20 08:52:42

{:smile:}楼主力作,很好的作品。感谢。

linhuaou 发表于 2019-8-20 09:01:24

学习了。。。

weimas 发表于 2019-8-20 09:06:05

果然是高手,难怪感觉自己吃鸡水平越来越差了{:titter:}

grash 发表于 2019-8-20 10:08:44

大神呀,曾经研究过一段安卓模拟按键,手机必须得ROOT,而且反应还慢半拍,后来放弃了。牛人居然搞定了,当初没有想到直接修改文件的方法。请问这个修改文件模拟触摸的方法手机需要ROOT吗?

xuwuhan 发表于 2019-8-20 10:50:51

牛啊。{:3_41:}

光轮 发表于 2019-8-20 13:32:29

grash 发表于 2019-8-20 10:08
大神呀,曾经研究过一段安卓模拟按键,手机必须得ROOT,而且反应还慢半拍,后来放弃了。牛人居然搞定了,当 ...

通过ADB操作的,无需ROOT

光轮 发表于 2019-8-20 13:33:52

Firman 发表于 2019-8-20 08:33
能把它改成蓝牙连接就好了。

蓝牙连接做来着,代码里都有,只是ESP32的蓝牙延迟有点严重,会有卡顿,没调试好所以没写出来

光轮 发表于 2019-8-20 13:34:36

jayzah 发表于 2019-8-19 23:07
楼主还有多余的板子吗,卖一套给玩玩吧

板子还有

crazydtone 发表于 2019-8-20 13:43:55

厉害啦,谢谢分享呢。

光轮 发表于 2019-8-20 13:55:14

hongfadg 发表于 2019-8-12 14:20
研究研究,,找不到原理图啊,,楼主能把原理图也发来吗,,多谢!!!

原理图已上传

智涅 发表于 2019-8-20 14:00:48

不错,立马收藏

syj0925 发表于 2019-8-20 15:57:31

楼主硬件、嵌入式软件、安卓app开发和安卓系统开发都懂,绝对是大神,敢问楼主工作上是哪方面为主?

雨醉江南 发表于 2019-8-20 16:02:01

高手,物理外挂

光轮 发表于 2019-8-20 17:03:08

syj0925 发表于 2019-8-20 15:57
楼主硬件、嵌入式软件、安卓app开发和安卓系统开发都懂,绝对是大神,敢问楼主工作上是哪方面为主? ...

嵌入式软件

光轮 发表于 2019-8-21 09:54:33

代码托管 github:

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

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

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

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

sunliezhi 发表于 2020-3-11 17:20:58

光轮 发表于 2019-8-21 09:54
代码托管 github:

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


前面3个都是安卓文件

光轮 发表于 2020-3-14 13:42:26

sunliezhi 发表于 2020-3-11 17:20
前面3个都是安卓文件

代码托管 github:

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

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

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

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

dingwei 发表于 2020-4-5 16:02:45

这个牛,不错,吃鸡马克一下

oooios 发表于 2020-4-5 16:08:40

厉害

fuu 发表于 2020-4-5 22:40:22

厉害,物理外挂

dreambox 发表于 2020-4-6 10:06:28

赞一个            

孤独飞行 发表于 2020-4-8 16:41:54

会不会有延时?

dxb0391 发表于 2020-4-8 17:10:43

厉害,厉害。

shiva_shiva 发表于 2020-4-8 17:36:14

功力深厚!!!

supercoo 发表于 2020-4-8 17:49:35

kation122 发表于 2019-8-12 17:21
大侠,请问这个会被游戏识别为外设玩家吗,外设玩家不能匹配手机玩家的。 ...

那就一群外设的互相打{:biggrin:}

ardon 发表于 2020-4-9 11:27:51

技术很牛,不过看到一个新闻“腾讯以不正当竞争为由,起诉“吃鸡”外设厂商,将于5月11日开庭”。这种东西会不会"惹火上身"!

iamseer 发表于 2020-4-9 12:29:37

LZ既然用ADB连接电路板到安卓,为何不直接adb shell input发送数据,还要经过一个APP中转?

scofiled 发表于 2020-4-13 20:46:57

主要在于通讯

kxhui88 发表于 2020-4-13 23:04:38

这个可以学习下

foxpro2005 发表于 2020-8-24 09:31:03

牛,比较厉害 {:handshake:}

大米饭 发表于 2020-8-24 11:45:14

这个物理外挂厉害了

hanshiruo 发表于 2021-5-18 21:17:33


牛,比较厉害
页: [1]
查看完整版本: 吃鸡开发板ESP32+CH374U方案开源,鼠标键盘玩手机吃鸡!