# bleOTG **Repository Path**: douba__junbao/bleOTG ## Basic Information - **Project Name**: bleOTG - **Description**: No description available - **Primary Language**: Python - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 10 - **Created**: 2025-04-29 - **Last Updated**: 2025-04-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # bleOTG ## 介绍 硬件购买地址: https://fengmm521.taobao.com/ ## 软件架构 上位机使用python编写,建议python使用3.8版本,这个版本支持win7系统的最高python版本 主控板中的固件只适合在我这里购买的硬件烧写,其他途径购买的硬件是不支持使用我这里的固件的 ## 安装教程 1.先在电脑上安装python3.8才可以使用上位机程序,如果只是编写离线运行的程序,不录制坐标电脑可以不用安装python 2.在电脑上安装编程工具,个人推荐vscode 3.使用这里的tool目录下的上传工具可以把编写好的离线程序或者坐标相关文件复制到主控板进行脱机运行 4.安装固件烧写工具esptool和micropython文件上传命令行工具ampy,以及opecv-python: ``` bash #安装esptool固件烧写工具,python安装成功后,在命令行下运行下边命令 pip install esptool -i https://pypi.tuna.tsinghua.edu.cn/simple #安装ampy的micrpython文件上传工具,在命令行下运行下边命令 pip install adafruit-ampy -i https://pypi.tuna.tsinghua.edu.cn/simple #安装电脑端录制坐标的一个第三方库opencv工具,在命令行下运行下边命令 pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple ``` ## 使用说明 使用方法除了这里的说明,还可以参看一下相关python代码,主要是主控板的main.py文件和电脑端录制main.py文件 ### 录制坐标方法 "1电脑录制坐标程序":这个目录下是电脑端通过串口实时控制坐标和点击的程序. 1)使用前先将主控板连接到电脑USB口,安装好ch340的usb转串口驱动, 2)在电脑设备管理器中查看串口号,将串口号填入config.txt的port字段 3)使用手机搜索主控板蓝牙设备,找到fengmm521.taobao.com的蓝牙名称并连接 4}等手机蓝牙连接正常后,双击run.bat运行电脑端录制程序 这时当鼠标在显示出的图片上移动和点击时可以在手机上看到一个同样移动的坐标.当电脑在显示图上点击时,手机上也会有相应点击动作. 要录制点击坐标和点击逻辑时,按住电脑键盘的ctrl键不松的情况下点击鼠标即可,所有点击连接录制完成时,按下电脑1数字键即可把录制的坐标保存在电脑上.后边使用时修改名字后上传到主控板来使用,或者修改名字后在电脑上按数字键2加载测试运行也是可以的,电脑端运行时修改的名字具体可以参看main.py代码的加载逻辑处. ### 主控板上脱离电脑运行 在使用脱机程序时,需要先把录制或者编辑的相关坐标文件上传到控制板上.所以这里先说一下上传工具的使用方法: 1.打开上传工具,设置好串口和波特率,然后连接上设备 ![1.png](https://gitee.com/woodcol/bleOTG/raw/master/%E5%85%B6%E4%BB%96/img/1.png) 2.打开要上传的文件夹 ![2.png](https://gitee.com/woodcol/bleOTG/raw/master/%E5%85%B6%E4%BB%96/img/2.png) ![3.png](https://gitee.com/woodcol/bleOTG/raw/master/%E5%85%B6%E4%BB%96/img/3.png) 3.选择要上传的文件,然后点发送上传文件到控制板 ![4.png](https://gitee.com/woodcol/bleOTG/raw/master/%E5%85%B6%E4%BB%96/img/4.png) #### 关于主控板上传文件说明 这部分可以看相关main.py文件中的内容.其中有两个主要文件 run.txt当把这个文件上传到主控板时,主控板将启动脱机运行方式,run.txt内容如下: ``` json ["all.txt",10,1,1,100] ``` 这里的: all.txt:是录制的脚本执行顺序. 10:为主控板手机连上蓝牙后,等10秒后开始启动点击脚本 1:点击间隔时间是否使用随机间隔 1:点击坐标是否使用小范围随机 100:all.txt中的脚本顺序,执行多少次循环 all.txt,这个文件中的内容为录制的不同脚本执行顺序说明,这个文件会被main.py解析,并按这里指定的顺序执行录制的脚本,这里的示例使用内容如下: ``` json [["script1.txt",5,240000],["script2.txt",1,360000],["script3.txt",2,60000]] ``` 这里的内容为一个json数组,里边分别显示三个脚本,scritp1.txt,script2.txt,script3.txt,按顺序执行: 其中的一项: ``` python #[脚本文件名,连续执行次数,每次间隔毫秒时间值] ["script1.txt",5,240000] ``` 解释如下: script1.txt:电脑端录制的脚本内容 5:这个脚本连续执行次数为5次 240000:连续执行时,间隔时间为240000毫秒,也就是5分钟间隔时间 ## 其他 ##### 网盘下载地址 链接: https://pan.baidu.com/s/14lR1jPof8F6sbFXJ2Zae8g?pwd=1234 提取码: 1234 ##### B站视频说明 https://www.bilibili.com/video/BV1jC41137H3/ 20240908:最新增加了autojs手机OTG控制点击器的方法 ## 新加hid手机控制功能接口 ## 使用方法 先在手机中安装对应的安卓应用apk. apk安装包下载地址: https://gitee.com/woodcol/bleOTG/blob/master/autoxjs-手机HID程序/hid手机控制/fengmm521_hid.apk 把fengmm521_hid.apk安装到手机上.然后启动fengmm521安卓程序.之后就可以使用下边的api进行蓝牙设备扫描和连接了.也可以手动在手机设置里找到蓝牙设备然后手动配对.配对成功后,需要调用先调用一次connect这个接口,之后才可以调用touch和base64的对应http请求接口 对应http请求可以用任意程序发请求,也可以在局域网中使用浏览器直接发送请求 产品对应的蓝牙硬件可在下边购买: https://fengmm521.taobao.com/ ###指令接口说明: 使用用的 "手机ip地址" 如果你是在手机上使用autoxjs等工具,可以使用手机本地地址: ``` java 127.0.0.1 ``` 如果你是使用局域网控制手机,这个地址使用手机局域网地址即可,如下边这样的手机ip地址: ``` java 192.168.1.102 ``` 不论是局域网,还是手机上的app调用手机本地ip,直接在8080端口发http的get请求即可调用接口,实际上手机程序启动后,会自动在后台开启一个端口是8080的http服务器. 使用中有问题可以联系微信: woodmage 要查看教程请访问我的B站: https://space.bilibili.com/166287840 #### 1.测试连接接口 地址: http://手机ip地址:8080/hello 返回产品相关信息 #### 2.查看已经配对的蓝牙设备列表 地址: http://手机ip地址:8080/devices 成功: 返回已配对蓝牙设备 失败: 返回错误信息 #### 3.连接配对成功的蓝牙设备 地址: http://手机ip地址:8080/connect?name=蓝牙名称 成功: 返回 ok 失败: 返回错误信息 因为蓝牙消息长度限制,蓝牙名称字符长度不能大于15个字符 #### 4.给蓝牙设备发送自定义字符串数据 地址: http://手机ip地址:8080/base64?data=要发送的字符串数据 成功: 返回 ok 失败: 返回错误信息 说明: 这里要发送的数据可以是任意字符串数据,因为使用url发送,其他字符串或者二进制数据需要打包成base64格式来发送,固为蓝牙消息长度限制大于18个字符的数据会丢失 #### 5.申请手机截图权限 地址: http://手机ip地址:8080/capimgpermission 成功: 返回 ok 失败: 返回错误信息 说明: 申请时要打开当前app,在有截图申请时手机上点确定按钮,后边的截图才可以得到手机画面 #### 6.获陬一张手机画面截图 地址: http://手机ip地址:8080/capimg 成功: 直接返回一张jpeg的手机画面图片 失败: 返回错误信息 说明: 需要先调用8接口的截图权限,之后才可以使用这个接口获取手机画面 #### 7.获取手机屏幕分辨率 地址: http://手机ip地址:8080/screensize 成功: 返回一个json数据,例如:{"w":1080,"h":2160} 失败: 返回错误信息 说明: 返回的分辨率可以用来设置蓝牙点击器分辨率,或用于截图画面大小的确定 #### 8. 点击相关指令接口地址 地址: http://手机ip地址:8080/touch 这个接口需要调用参数,具体参数中的 cmd 说明如下: ##### 1. 鼠标按下坐标(x,y) http://手机ip地址:8080/touch?cmd=1&x=x坐标&y=y坐标 ##### 2. 鼠标抬起或移动到一个坐标(x,y) http://手机ip地址:8080/touch?cmd=2&x=x坐标&y=y坐标 ##### 3. 鼠标在 (x,y) 坐标上点击一次 http://手机ip地址:8080/touch?cmd=3&x=x坐标&y=y坐标 ##### 4. 鼠标滑动,鼠标按下用 dt 毫秒时间从坐标(x,y)点滑动到(x2,y2)点,滑动到之后快速抬起鼠标 http://手机ip地址:8080/touch?cmd=4&x=x坐标&y=y坐标&x2=x2坐标&y2=y2坐标&dt=滑动所用时间(单位:毫秒) ##### 5. 鼠标按下用 dt 毫秒时间从坐标(x,y)点滑动到(x2,y2)点,滑动到之后保持鼠标按下状态 http://手机ip地址:8080/touch?cmd=5&x=x坐标&y=y坐标&x2=x2坐标&y2=y2坐标&dt=滑动所用时间(单位:毫秒) ##### 10. 设置一个屏幕分辨率,x 为宽度,y 为高度 http://手机ip地址:8080/touch?cmd=10&x=宽度&y=高度 ##### 101.修改蓝牙名并重启设备 http://手机ip地址:8080/touch?cmd=101&name=蓝牙名称 因为蓝牙限制蓝牙名称长度不能大于15个字符 ##### 102.设置蓝牙模块之间espNow无线通讯的主机mac地址 http://手机ip地址:8080/touch?cmd=101&mac=其他主控蓝牙模块的mac地址 ##### 104.使用espnow无线技术给其他蓝牙模块发消息 1).发送当前蓝牙模块的mac地址给102设置的主控蓝牙模块 http://手机ip地址:8080/touch?cmd=104 2).给102设置的其他主控蓝牙模块发送msg消息 http://手机ip地址:8080/touch?cmd=104&msg=要发送的消息 因为蓝牙限制消息长度不能大于15个字符 ##### 106.启动蓝牙小板上传的录制好的一个点击脚本,filename参数为脚本没有扩展名的名字 http://手机ip地址:8080/touch?cmd=106&filename=录制的txt脚本名 因为蓝牙限制录制的txt脚本名长度不能大于15个字符 ##### 108.停止当前正在运行的录制txt脚本,如果有脚本运行就停止,没有就无动作 http://手机ip地址:8080/touch?cmd=108 ##### 999.重启蓝牙设备 http://手机ip地址:8080/touch?cmd=108 ## 帮助信息获取 http://手机ip地址:8080 ##### 交流QQ群: 蓝牙点击器QQ交流群: 831284695 ![QQ交流群.jpg](https://gitee.com/woodcol/bleOTG/raw/master/QQ%E4%BA%A4%E6%B5%81%E7%BE%A4.jpg)