IT评测·应用市场-qidao123.com

标题: 外接串口板,通过串口打开adb模式 [打印本页]

作者: 悠扬随风    时间: 2024-9-10 02:48
标题: 外接串口板,通过串口打开adb模式
一、依赖库

  1. import subprocess
  2. import serial
  3. from serial.tools import list_ports
  4. import logging
  5. import time
复制代码
二、代码

  1. import subprocess
  2. import serial
  3. from serial.tools import list_ports
  4. import logging
  5. import timedef openAdb(com):    # com = []    # for i in list_ports.comports():    #     if 'USB Serial' in i.description:    #         print(i.description)    #         com = i.name    #         print(com)    #         logging.debug(f'serial port:{com}')    #         break    print("try to open adb")    ser = serial.Serial(com, 115200, timeout=0.1)    if ser.is_open:        ser.write(b"\n")        time.sleep(1)        ser.write(b"root\n")        ser.write(b"\n")        time.sleep(1)        ser.write(b"Visteon@JMC23651\n")        time.sleep(1)        ser.write(b"dtach -a /tmp/glconsole\n")        ser.write(b"su\n")        ser.write(b"Vist@jmc789\n")        time.sleep(1)        ser.write(b"start setmode_device\n")        time.sleep(1)    ser.close()def check_adb(com):    count = 0    while True:        try:            subprocess.run(["adb", "kill-server"], check=True)            subprocess.run(["adb", "start-server"], check=True)            output = subprocess.check_output("adb devices", shell=True).decode('utf-8')            # print("Output of adb devices:", output.strip())            devices = []            lines = output.strip().split('\n')            for line in lines[1:]:                if '\tdevice' in line:                    device_info = line.split('\t')[0]                    devices.append(device_info)            print(devices)            if devices is not None and len(devices) > 0:                print("Device found. Performing operations...")                break            else:                print("Device not found. Switching modes and retrying...")                openAdb(com)                count += 1                if count >= 5:                    print("Please check if the environment is OK")                    break        except subprocess.CalledProcessError as e:            print("An error occurred while executing adb command:", e)            breakif __name__ == '__main__':    com = 'COM24'    # openAdb(com)    check_adb(com)
复制代码
三、使用场景

必要外接继电器,通过串口下令打开车机调试模式


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4