android+usb转串口+唯一id,Android USB转串口通信

本文详细介绍了如何在Android设备上实现USB转串口通信,包括动态注册USB设备权限、查询USB设备、连接设备并设置参数、监听数据传输以及关闭连接的过程。此外,还提到了支持的不同USB芯片类型和相关通信参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、引用

二、截图

废话不多说,先上图,micro usb -> usb 连接的测试温度的外设(其实是个测试粮油品质的,还有TPM值等等)

524d1009c069

usb_connect.png

三、流程

1、mainfest中注册监听USB拔插动作并且过滤对应vid,pid的设备。这个是静态的,在下面实例中用的是动态的,具体可以参考引用中的第【2】个。

2、查找所有的USB设备

3、动态注册需要用的USB设备权限

4、连接已注册的USB设备,并设置连接参数

5、设置返回监听,并对话

6、按照不同的协议解析byte[]数据获得对应数据(在此不表)

7、关闭连接等

四、代码

0、配置:git上的案例,把其中usbSerialForAndroid的这个module拿下来,关联到自己的工程上面去

build.gradle-app

dependencies {

compile project(':usbSerialForAndroid')

}

settings.gradle

include ':app', 'usbSerialForAndroid'

1、动态监听USB拔插动作+USB注册动作

private String USB_PERMISSION = "xxxxxxxxxx.usb.permission";

private PendingIntent mPrtPermissionIntent; //获取外设权限的意图

/**

* 动态注册usb广播,拔插动作,注册动作

* */

private void register(){

//注册在此service下的receiver的监听的action

IntentFilter intentFilter = new IntentFilter();

intentFilter.addAction(UsbManager.ACTION_USB_DEVICE_ATTACHED);

intentFilter.addAction(UsbManager.ACTION_USB_ACCESSORY_ATTACHED);

intentFilter.addAction(UsbManager.ACTION_USB_DEVICE_DETACHED);

intentFilter.addAction(USB_PERMISSION);

registerReceiver(usbReceiver, intentFilter);//注册receiver

//通知监听外设权限注册状态

//PendingIntent:连接外设的intent

//ask permission

mPrtPermissionIntent = PendingIntent.getBroadcast(this, 0, new Intent(USB_PERMISSION), 0);

}

private BroadcastReceiver usbReceiver = new BroadcastReceiver() {

@Override

public void onReceive(Context context, Intent intent) {

if (intent == null) {

return;

}

String action = intent.getAction();

// USB注册动作

if (USB_PERMISSION.equals(action)) {

synchronized (this) {

if (intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false)) {

if ((UsbDevice) intent.getParcelableExtra(UsbManager.EXTRA_DEVICE) !

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值