马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
安装与设置向导:安卓USB串口驱动库(usb-serial-for-android)
【免费下载链接】usb-serial-for-android Android USB host serial driver library for CDC, FTDI, Arduino and other devices. 项目地点: https://gitcode.com/gh_mirrors/us/usb-serial-for-android
项目底子先容及编程语言
usb-serial-for-android 是一个专为Android平台计划的开源驱动库,它允许开发者通过Android USB主机模式(OTG)与Arduino、FTDI芯片、Silabs CP2102等USB串行装备举行通讯,自Android 3.1版本起被支持,并从Android 4.2稳固工作。该库无需root权限,不依靠ADK或特殊内核驱动,完全由Java实现。项目接纳MIT允许证分发,使得它在开源社区中易于使用和二次开发。
重要编程语言: Java
关键技能和框架
- USB Host API: 使用Android提供的USB主机API来直接与毗连的USB装备交互。
- CDC/ACM Protocol Support: 支持通用串行总线通讯控制与数据传输(CDC/ACM)协议,实用于如Arduino的装备。
- 自界说驱动探测: 提供了UsbSerialProber类以支持未知但兼容的装备,允许添加自界说规则辨认装备。
- 变乱驱动读取: 实现了一种基于变乱的读取机制,通过SerialInputOutputManager处理处罚输入数据流,增强应用相应性。
准备工作与详细安装步调
步调一:获取项目代码
起首,访问项目主页https://github.com/mik3y/usb-serial-for-android,点击“Code”按钮选择ZIP下载大概通过Git克隆堆栈到当地:
- git clone https://github.com/mik3y/usb-serial-for-android.git
复制代码 步调二:情况设置
确保您已安装:
- Android Studio: 最新版本,用于Android应用的开发情况。
- Android SDK: 包罗对应于目标装备的API级别。
- JDK: 至少Java 8以上版本。
步调三:集成库到您的项目
添加JitPack堆栈(对于Gradle项目)
- 打开项目标根目次下的build.gradle(Project)文件。
- 在allprojects块中的repositories添加JitPack堆栈地点:
- allprojects {
- repositories {
- ...
- maven { url 'https://jitpack.io' }
- }
- }
复制代码 大概,如果你使用的是较新版的Gradle而且喜幸亏settings.gradle中管理:
- dependencyResolutionManagement {
- repositories {
- maven { url 'https://jitpack.io' }
- }
- }
复制代码 添加依靠
在您的应用模块的build.gradle(Module)文件中参加以下依靠:
- dependencies {
- implementation 'com.github.mik3y:usb-serial-for-android:3.8.0'
- }
复制代码 步调四:设置装备过滤器(可选)
为了当装备插入时吸取关照,在应用的res/xml目次下创建device_filter.xml文件,并在AndroidManifest.xml中指定它。
device_filter.xml示例
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <usb-device vendor-id="1234" product-id="5678"/>
- </resources>
复制代码 在AndroidManifest.xml中关联此过滤器:
- <activity android:name=".YourActivity">
- <intent-filter>
- <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
- </intent-filter>
- <meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
- android:resource="@xml/device_filter" />
- </activity>
复制代码 步调五:使用驱动举行装备通讯
- 获取可用驱动并打开毗连:
- UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);
- List<UsbSerialDriver> availableDrivers = UsbSerialProber.getDefaultProber().findAllDrivers(manager);
- UsbSerialDriver driver = availableDrivers.get(0);
- UsbDeviceConnection connection = manager.openDevice(driver.getDevice());
- UsbSerialPort port = driver.getPorts().get(0);
- port.open(connection);
- port.setParameters(115200, 8, UsbSerialPort.STOPBITS_1, UsbSerialPort.PARITY_NONE);
复制代码 - 举行数据读写使用:
- byte[] request = {...}; // 准备发送的数据
- port.write(request, WRITE_WAIT_MILLIS);
- int len;
- byte[] response = new byte[1024];
- len = port.read(response, READ_WAIT_MILLIS);
复制代码 - 实现变乱驱动的读取(使用SerialInputOutputManager):
- SerialInputOutputManager ioManager = new SerialInputOutputManager(port, YourActivity.this);
- ioManager.start();
- @Override
- public void onNewData(byte[] data) {
- runOnUiThread(() -> textView.append(new String(data)));
- }
- // 记得在适当的时候关闭端口
- port.close();
复制代码 至此,您已经乐成将usb-serial-for-android集成至您的项目中,并可以开始举行USB串行通讯的开发工作了。记得测试差别场景以包管兼容性和稳固性。
【免费下载链接】usb-serial-for-android Android USB host serial driver library for CDC, FTDI, Arduino and other devices. 项目地点: https://gitcode.com/gh_mirrors/us/usb-serial-for-android
创作声明:本文部分内容由AI辅助天生(AIGC),仅供参考
|