当前位置: 首页 > news >正文

adb 与pad 交互方法

event

import requests
import time
import random
import os# http://fspcdiy.d33173.chshtzs.com/action.php
# 连接设备(有线直接连接,无线需先执行adb tcpip 5555)
os.system('adb devices')  # 验证连接# 定义点击函数
def tap(x, y):os.system(f'adb shell input tap {x} {y}')def check_status():# 添加随机参数和禁用缓存的请求头timestamp = int(time.time())rand = random.randint(0, 9999)url = f"http://fspcdiy.d33173.chshtzs.com/do.php?cmd=status&_={timestamp}{rand}"headers = {'Cache-Control': 'no-cache, no-store, must-revalidate','Pragma': 'no-cache','Expires': '0'}try:response = requests.get(url, headers=headers)if response.status_code == 200:content = response.text.strip()if content.startswith("Current action: "):value = content[len("Current action: "):].strip()print('test:' + value)return valuereturn Noneexcept requests.RequestException as e:print(f"请求出错: {e}")return Nonedef delete_action():# 同样为delete请求添加防缓存措施timestamp = int(time.time())rand = random.randint(0, 9999)delete_url = f"http://fspcdiy.d33173.chshtzs.com/do.php?cmd=delete&_={timestamp}{rand}"headers = {'Cache-Control': 'no-cache, no-store, must-revalidate','Pragma': 'no-cache','Expires': '0'}try:requests.get(delete_url, headers=headers)except requests.RequestException as e:print(f"删除操作出错: {e}")def main():while True:value = check_status()if value and value != "No action stored":if value == "UP":print("UP")# 向上tap(1719, 510)time.sleep(3)delete_action()elif value == "DOWN":print("DOWN")# 向下tap(1719, 688)time.sleep(3)delete_action()elif value == "LEFT":print("LEFT")# 向左tap(1626, 606)time.sleep(3)delete_action()elif value == "RIGHT":print("RIGHT")# 向右tap(1800, 596)time.sleep(3)delete_action()elif value == "CLAMP":print("CLAMP")# 夹子tap(1000, 1132)time.sleep(3)delete_action()elif value == "FOOD1":print("FOOD1")# 动作1 上tap(285, 521)time.sleep(3)delete_action()elif value == "FOOD2":print("FOOD2")# 动作2 下tap(290, 704)time.sleep(3)delete_action()elif value == "FOOD3":print("FOOD3")# 动作3 左tap(195, 607)time.sleep(3)delete_action()elif value == "FOOD4":print("FOOD4")# 动作4 右tap(377, 608)time.sleep(3)delete_action()else:print(f"未知动作: {value}")time.sleep(3)if __name__ == "__main__":main()

do.php

<?php
// 定义存储文件路径
$storage_file = 'shared_action.txt';if (isset($_GET['action'])) {file_put_contents($storage_file, $_GET['action']);echo "Action stored: " . htmlspecialchars($_GET['action']);
} elseif (isset($_GET['cmd'])) {$command = strtolower($_GET['cmd']);if ($command === 'status') {if (file_exists($storage_file)) {echo "Current action: " . htmlspecialchars(file_get_contents($storage_file));} else {echo "No action stored";}} elseif ($command === 'delete') {if (file_exists($storage_file)) {unlink($storage_file);}echo "Action deleted successfully";} else {echo "Invalid command";}
} else {// 显示使用说明echo "<h1>Action Management System</h1>";// ... 其余HTML代码 ...
}
?>
http://www.lryc.cn/news/608780.html

相关文章:

  • MyBatis动态SQL精要:从<if>到<foreach>的灵活拼接之道
  • Go语言声明变量
  • 怎么修改论文格式呢?提供一份论文格式模板
  • 【Bluedroid】btif_av_handle_event 流程源码解析
  • 面向智能体的上下文工程:策略、实现与 LangGraph 实践
  • LangChain4J入门:接入大模型
  • 系统学习算法:专题十六 字符串
  • 第三章-提示词-高级:开启智能交互新境界(13/36)
  • 日常--详细介绍qt Designer常用快捷键(详细图文)
  • 【QT】概述
  • 高质量数据集|建设三大难点
  • 01.MySQL 安装
  • 服务器中切换盘的操作指南
  • Android 之 MVVM架构
  • 使用 Docker 部署 Golang 程序
  • 第四章:OSPF 协议
  • Dify中自定义工具类的类型
  • WebMvc自动配置流程讲解
  • MySQL 索引失效的场景与原因
  • 嵌入式开发学习———Linux环境下IO进程线程学习(二)
  • 04.Redis 的多实例
  • 笔试——Day27
  • 前端面试手撕题目全解析
  • 【数据迁移】Windows11 下将 Ubuntu 从 C 盘迁移到 D 盘
  • Redis——常用指令汇总指南(三)(哈希类型)
  • Odoo OWL前端框架全面学习指南 (后端开发者视角)
  • 三角洲行动ACE反作弊VT-d报错?CPU虚拟化如何开启!
  • GitOps:云原生时代的革命性基础设施管理范式
  • Ubuntu20.04 Carla安装与和Ros联合仿真
  • Ubuntu22.4部署大模型前置安装