adb 与pad 交互方法

event

python 复制代码
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 value
        return None
    except requests.RequestException as e:
        print(f"请求出错: {e}")
        return None


def 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 复制代码
<?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代码 ...
}
?>
相关推荐
STER labo5 小时前
mysql配置环境变量——(‘mysql‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件解决办法)
数据库·mysql·adb
sjmaysee8 小时前
CentOS7安装Mysql5.7(ARM64架构)
adb·架构
AtOR CUES1 天前
MySQL——表操作及查询
android·mysql·adb
mOok ONSC1 天前
mysql9.0windows安装
windows·adb
xxjj998a1 天前
Laravel8.x核心特性详解
数据库·mysql·adb
TeDi TIVE1 天前
Linux下MySQL的简单使用
linux·mysql·adb
TeDi TIVE1 天前
MySQL四种备份表的方式
mysql·adb·oracle
rleS IONS1 天前
Linux系统离线部署MySQL详细教程(带每步骤图文教程)
linux·mysql·adb
计算机安禾1 天前
【Linux从入门到精通】第40篇:LAMP/LNMP环境一键部署脚本实战
android·linux·adb
xxjj998a1 天前
Laravel7.x核心特性全解析
数据库·mysql·adb