两个android设备使用usb通信,如何在Android中找到USB设备并使用pySerial与它们通信?...

我目前正在做一个项目,我需要将心率传感器连接到Android设备上,并在基于Kivy的应用程序上可视化数据。在

试图使用serial.tools.list_ports.comports,但在设备上没有返回任何内容。他们已经声明该功能只支持有限数量的操作系统,所以我认为它在Android上不起作用。在

我已将所有需要的要求包括在buildozer.spec以及白名单中的termios(因此我在包含模块方面没有任何问题):# requirements of the app

requirements = kivy==master,python3crystax,hostpython3crystax,sdl2_image,sdl2_mixer,sdl2_ttf,sdl2_six,pyjnius,pyserial,serial

我试着编辑AndroidManifest.xml文件的意图过滤器部分,以使我的应用程序有USB权限,但它也不起作用。在

我检查了一个应用程序,发现该设备没有特定的名称,而是通过插入和拔出USB来更改的名称,例如:/dev/bus/usb/001/002 --> /dev/bus/usb/001/003 --> ...

还试图使用其他页面中声明的通用名称/dev/ttyUSB0/,但没有成功。在

返回的错误是对端口的权限被拒绝。在

我怎么能列出连接到设备的USB设备,最终打开一个端口与它通信?在

更新1:

我最近尝试使用一些pyjnius函数。下面是我写的代码:

^{pr2}$

我在main.py中调用self.device。它不返回任何值。在

更新2:

我试图转换我从self.usbMgr.getDeviceList()得到的HashMap,但是没有成功。我只得到

>

更新3:

我找到了一种方法来返回插入式USB设备的名称。在values = self.usb_mgr.getDeviceList().values() #returns Collection

valuesArray = values.toArray() #returns list in python

deviceName = valuesArray[0].getDeviceName() #[0] for testing

self.device = str(deviceName)

这起作用了。我目前没有USB传感器,我不确定pySerial是否能在Android上正常工作,但这将在周一进行测试。在

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值