首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android OTG之USB转串口模块通讯

Android OTG之USB转串口模块通讯 微信公众号:CodingAndroid CSDN:http://blog.csdn.net/xinpengfei521 1.背景简介 我们公司开发了一款室内机平板...2.分析及实现思路 智能门锁的控制是通过使用 433射频(不了解的请百度)来进行通讯的; 平板是没法与智能门锁直接进行通讯,但是厂家提供了一个433通讯模块(支持串口); 而平板(支持OTG)是支持USB...3.主要代码实现 3.1初始化USB转串口模块 由于我们选用的是CH340模块,我们先导入ch340的 jar 包,然后在代码中检查手机/平板是否支持USB HOST模式,如果支持我们就初始化通讯时的相关参数...:波特率、数据位、停止位等,具体的参数看你们之间通讯的协议。...初始化完成之后,我们就可以打开USB进行通讯了,同时初始化完成之后我们需要开启一个读取数据的线程,这样,一旦收到数据或者相应的响应包(一般也叫ACK)我们就可以进行相应的处理了。

3.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android项目实战(四十六):Usb转串口通讯(CH34xUARTDriver)

    需求为:手机usb接口插入一个硬件,从硬件上获取数据 例如:手机usb插入硬件A,A通过蓝牙通讯获取设备a、b的数据,作为中转站(可以做些数据处理)将数据(设备a、b产生的)传给手机程序。              ...手机自身蓝牙连接有问题(厂商蓝牙底层的修改导致的不稳定, 不能连接多个)  缺点:部分手机不支持OTG,即无法获取usb接口连接硬件的数据 ?...如果不想设备插入就弹出提示是否打开某个程序的话,就不用做这一步) <meta-data android:name="android.hardware.<em>usb</em>.action.<em>USB</em>_DEVICE_ATTACHED...串口插拔操作的监听,写死在jar包中了,如需定制,需要自己修改jar包源代码        4、关于第三步中的操作不是必须的,可根据需求决定是否添加        5、并不是所有的手机都支持<em>usb</em>串口<em>通讯</em>

    3.3K80

    Android项目实战(四十六):Usb转串口通讯(CH34xUARTDriver)

    需求为:手机usb接口插入一个硬件,从硬件上获取数据 例如:手机usb插入硬件A,A通过蓝牙通讯获取设备a、b的数据,作为中转站(可以做些数据处理)将数据(设备a、b产生的)传给手机程序。              ...手机自身蓝牙连接有问题(厂商蓝牙底层的修改导致的不稳定, 不能连接多个)  缺点:部分手机不支持OTG,即无法获取usb接口连接硬件的数据 ?...如果不想设备插入就弹出提示是否打开某个程序的话,就不用做这一步) <meta-data android:name="android.hardware.<em>usb</em>.action.<em>USB</em>_DEVICE_ATTACHED...串口插拔操作的监听,写死在jar包中了,如需定制,需要自己修改jar包源代码        4、关于第三步中的操作不是必须的,可根据需求决定是否添加        5、并不是所有的手机都支持<em>usb</em>串口<em>通讯</em>

    1.7K60

    USB总线-USB协议简介(一)

    对应具体的设备上,只要是支持USB协议的设备,都可以连接计算机,如USB键盘、USB鼠标、USB摄像头、USB音箱等。...2.USB协议版本 从USB协议诞生至今,出现了多个USB协议版本,如USB1.0、USB1.1、USB2.0、USB3.0、USB3.1、USB3.2。...改名为USB3.2 Gen1,USB3.1改名为USB3.2 Gen2,而将能够使用两个USB Type-C Rx/Tx针脚的USB3.2改名为USB3.2 Gen2×2。...USB集线器(Hub)可以将一个USB接口扩展成多个USB接口,扩展出的USB接口又可以通过USB集线器(Hub)扩展,每个USB接口都可以接USB设备。...每个USB设备都有端点0的控制端点,当USB设备插入到USB主机拓扑网络中时,USB主机就通过端点0与USB设备通信,对USB设备进行配置,便于后续的数据传输。USB协议保证控制传输有足够的带宽。

    6.1K30

    USB 描述符和 USB 枚举

    USB 设备状态切换图 2....对于一个 USB 设备,它可以多种配置(Configuration)。比如 4G 上网卡就有 2 种配置:U 盘、上网卡。第 1 次把 4G 上网卡插入电脑时,它是一个 U 盘,可以按照里面的程序。...大多数的USB设备只有一种配置。 一个配置下,可以有多个接口(Interface),接口等同于功能(Function)。比如USB 耳机有两个接口(功能):声音收发、按键控制。...一个 USB 设备, 只有一个设备描述符:用来表示设备的 ID、它有多少个配置、它的端点 0 一次最大能传输多少字节数据 可能有多个配置描述符:用来表示它有多少个接口、供电方式、最大电流 一个配置描述符下面...3.1 设备描述符 3.2 配置描述符 3.3 接口描述符 3.4 端点描述符 3.5 示例 在 Ubuntu 中可以执行lsusb -v查看 USB 设备的描述符信息: $ sudo lsusb

    59920

    linux usb端点

    前言 端点在实际的USB通讯过程种的具体作用与含义十分重要,但是有些难以理解,自己整理一些知识作为备忘。 (注:1、文中的EP表示Endpoint; 一、端点概念。...端点(Endpoint),是主机与设备之间通讯数据的接收或来源。主机与设备之间通信时最终会总用于设备上的各个端点,它是主机与设备间通信流的一个逻辑终端。...USB设备进行访问。...五、端点与管道 1、管道的概念 管道是主机软件(数据缓存区),和USB设备各各端点之间的数据传输连接,他是两者之间通信流的抽象(实际上数据传输是USB总线接口完成)。...1)、“流”指不具有USB定义格式的数据流,流通道中的数据是流的形式,也就是该数据内容不具有USB要求的结构。

    10K30

    BadUSB的前世今生:USB RUBBER DUCKY和Teensy USB

    USB RUBBER DUCKY和Teensy都可用于实施HID模拟攻击,其中USB RUBBER DUCKY入手简单,傻瓜式操作,但价格不菲啊;而Teensy USB性价比比较高,也可用来制作各种酷炫的...二、USB RUBBER DUCKY(USB 橡皮鸭) 1.介绍 ? USB RUBBER DUCKY(USB 橡皮鸭)是最早的按键注入工具。...在USB橡皮鸭插入到目标系统中 ⑤当看到命令提示窗口时,移除USB橡皮鸭; 三、Teensy USB ?...不需要特殊的编程器,只需要一个标准的Mini-B USB线缆、一台带有USB口的PC机或Macintosh机。...USB设备; ②USB RUBBER DUCKY和Teensy不能够自动复制传播,仅实现了从USB设备->计算机的单向感染途径,缺少计算机->USB设备的感染途径,仅适用于定点攻击(Targeted attack

    3.7K100

    USB总线-Linux内核USB3.0设备控制器复合设备之USB gadget configfs分析(七)

    /bcdDevice # USB 1.1: 0x0110 # USB 2.0: 0x0200, USB 2.1: 0x0210, USB 2.5: 0x0250 # USB 3.0: 0x0300...主要的工作流程为: 分配一个config_usb_cfg1结构体,该结构体包含了usb_configuration结构体,保存了该USB设备的配置信息。 设置USB设备的配置描述符的某些选项。...执行流程如下: 判断输入的USB控制器名称,若输出为空或者是none,则解除usb_gadget_driver和底层USB控制器的绑定。...调用UDC驱动接口usb_udc_connect_control连接USB主机控制器,这样USB主机就能识别并枚举USB设备。...USB gadget configfs提供了一个便捷的配置方法,用户可以灵活的组织USB function驱动,以组成不同功能的USB设备复合设备,当配置完成后,USB gadget configfs并不参与

    10.2K20

    带你遨游USB世界

    塔顶为USB主控制器和根集线器(Root Hub),下面接USB集线器(Hub),集线器将一个USB口扩展为多个USB口,USB2.0规定集线器的层数最多为6层,理论上一个USB主控制器最多可接127个设备...Linux USB驱动总体结构图 从Host侧看,在Linux驱动中,处于USB驱动最底层的是USB主机控制器硬件,在其上运行的是USB主机控制器驱动,在主机控制器上的为USB核心层,再上层为USB设备驱动层...主机控制器驱动负责识别和控制插入其中的USB设备,USB设备驱动控制USB设备如何与主机通信,USB Core则负责USB驱动管理和协议处理的主要工作。...2.3、USB描述符 对应上述USB设备的构成,USB采用描述符来描述USB设备的属性,在USB协议的第九章(chaper 9)中,有对USB描述符的详细说明,在Linux驱动的以下文件中,定义了USB...USB枚举的示意图如下: ? 3.2、USB标准请求的结构 上述提及的USB标准请求的结构如下: ? 3.2、USB标准请求的结构 上述提及的USB标准请求的结构如下: ?

    2.7K21

    USB流量取证分析

    USB是 UniversalSerial Bus(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯,例如键盘、鼠标、打印机、磁盘或网络适配器等等。...我们这里主要演示USB的鼠标流量和键盘流量。Linux下的分析已经比较多了,下面的环境均在Windows下进行。 一、鼠标流量 1.1 特点分析 USB鼠标流量的规则如下所示: ?...1.2 使用Wireshark捕获和分析 要想使用Wireshark进行捕获,需要在安装时勾选上usbpcap工具选项,这样你的Wireshark中会有一个usb接口的选项,点击就可以进行抓包了。...Wireshark中捕获的USB流量集中在Leftover Capture Data模块,我们可以使用tshark工具来进行提取。...在USB协议的 文档中搜索 keyboard。就可以找到击键信息和数据包中16进制数据的对照表: ? 2.2 使用Wireshark捕获和分析 捕获的步骤与上面相似。

    2.9K20

    USB passthrough技术分析

    libusb的代码,作者简单翻了一下,跑了一下测试代码,看了一下trace,大概意思就是分析/sys/bus/usb/devices目录下的文件/文件夹,进而可以打开usb设备,或者获取usb设备的attr...;在用户态实现usb协议,则可以直接操作硬件。...usb的设备虚拟化,则和其他usb设备一样,guest中对usb设备进行操作,则qemu把对应的操作通过libusb透传给host的usb设备。...可见,usb的passthrough,并不是直接让guest直接访问host的usb设备。 4,lsusb 相关命令lsusb是一个不错的命令。 ?...后记: 作者对usb协议并不熟悉,关于libusb的解释也未必完全准确。 请教过一个kernel高手的朋友,见我不会usb,还鄙视了我一下~囧

    1.9K110
    领券