Android Studio无法使用chaquopy python打开COM端口

2024-09-30 01:28:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在android studio中构建一个IoT应用程序,我正在使用适用于android的Chaquopy-Python SDK,因此当我按下android应用程序中的按钮时,我的Python脚本将运行,但不知何故,我收到了类似这样的无法打开端口错误

Process: com.example.firebaseheartratemonitor, PID: 16761
com.chaquo.python.PyException: SerialException: [Errno 2] could not open port COM4: [Errno 2] No such file or directory: 'COM4'
        at <python>.serial.serialposix.open(serialposix.py:325)
        at <python>.serial.serialutil.__init__(serialutil.py:244)

我的Java android代码:

 if (!Python.isStarted()){
            Python.start(new AndroidPlatform(this));
        }
        Python py = Python.getInstance();
        PyObject module = py.getModule("get");

        sendDataOverDisplay.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
              PyObject pyObject = module.callAttr("main", heartrate);

              sendData.setText(pyObject.toString());
            }
        });

我的python代码:

import serial
import time
def main(data):
    with serial.Serial('COM4', 9600) as ser:
        ser.open()
        requiredData = data[0]
        ser.write((requiredData).encode())
        time.sleep(.01)
        ser.close()
        return requiredData

这已经是一个星期了,我不知道如何解决这个错误,任何线索都将不胜感激


Tags: 代码pycom应用程序错误serialopenat
1条回答
网友
1楼 · 发布于 2024-09-30 01:28:16

“COM4”看起来像一个Windows串行端口名,所以在Android上不起作用。尝试使用类似^{}的方法来发现正确的名称

此外,即使您使用了正确的名称,您的应用程序可能仍然没有直接访问端口的权限。如果您在根设备上运行,则可以通过更改端口设备文件的权限使pyserial正常工作。在非根设备上,我知道的唯一选择是使用Java ^{},也许可以借助类似UsbSerial的库。您仍然可以在Chaquopy Python API的帮助下从Python调用这些API

相关问题 更多 >

    热门问题