Articles of USB

Android:检测USB

有没有办法在您的活动/应用程序中(以编程方式)知道用户已通过USB将手机连接到PC?

如何在Android 4.0设备上以编程方式启用USB Tethering?

我想在我的Android 4.0设备上启用我的应用程序的USB Tethering? 以下代码适用于Android 2.2,但它不适用于4.0。 有人可以帮忙吗? int USBTethering(boolean b) { try { ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); Log.d(tag, “test enable usb tethering”); Method[] wmMethods = cm.getClass().getDeclaredMethods(); String str = “”; if (b) str = “tether”; else str = “untether”; for (Method method : wmMethods) { Log.d(“in usb tethering method”,method.getName()+”<>”); if (method.getName().equals(str)) { Log.d(tag, “gg==” + […]

如何为libusb android应用程序提供/ dev / bus / usb权限?

我正在开发一个通过jni使用libusb的应用程序。 此应用程序目前仅针对root,usb-host Android 3+计算机。 方案如下: loads which wraps that uses that needs rw access to: /dev/bus/usb/ 所有.so本机库都是我在/ system / lib上安装(作为root)的基础结构的一部分,然后由简单用户运行的java Activities可以使用它们。 这意味着整个USB通信必须从原生方面完成。 我得到了一切正常工作,除了一个问题 – usb权限:/ dev / bus / usb / entries的默认权限是(0660,uid = root,gid = usb)。 显然,运行本机代码的标准java进程不符合上述任何要求,迫使我“chmod 666”相应的/ dev条目,以使其正常工作。 但是,这个解决方案并不是那么好,因为它不会在重新启动或拔出/重新插入设备后继续存在(权限会回到0660)。 我正在寻找的解决方案需要: 生存重启/重新插入 由root安装〜一次〜而不是每次都要打扰用户获取权限 是通用的,可在所有(/大多数)android 3+机器上运行 [非强制性]提供必要的最低凭证 我想到的方向: 更改/init.rc或/ueventd.rc中的权限 – >每次重新启动时都会覆盖这两个权限 安装usbfs / proc / bus […]

通过USB通过Android收集数据

什么是在Android设备( HTC Magic )上作为串口访问USB的最佳方式? 我正在考虑一个OBD-II接口。 我可以在标准手机上执行此操作,还是更需要修改后的固件?

Android外置摄像头选项 – 叠加在video流之上,没有中间人服务器/路由器

我正在寻找一种与Android设备的外部摄像头连接的方法。 它需要成为外置摄像头的原因是因为我需要能够修改摄像头(移除红外滤镜),我不想破坏车载手机摄像头。 无论相机如何通过USB,蓝牙,WiFi或其他通信协议进行连接都无关紧要,两台设备只需要能够在没有中间服务器/路由器的情况下进行通话。 我正在寻找一个解决方案: 不需要生根或重建Android / Linux内核(绝对必须) 允许我在图像/video上叠加项目(好) 访问video流进行图像分析(最好) 最后一项要求不是必需的,但会很好。 我探讨的选项: USB摄像头:根据http://brain.cc.kogakuin.ac.jp/research/usb-e.html重建Linux内核,并尝试使用提供的代码使用摄像头: http : //www.amazon.com/gp/product / B002X3VEIE / ref = oh_o02_s00_i00_details 。 没有丝毫工作。 我后来才知道作者使用的是CM9 mod,但这并不是一个选择,因为它对市场上的应用程序来说不实用。 蓝牙摄像头: Looxcie和CountourGPS看起来是最好的选择,但是Feed会流式传输到他们的应用程序,他们没有API或SDK,所以如何在他们的video源上覆盖? IP摄像头:对我而言,这看起来是最有前途的选择,但如何在没有中间服务器/路由器的情况下访问IP摄像机video源? 带有WiFi BacPac的GoPro HD Hero2看起来很有前途,但它还没有出来,我可以告诉你需要使用类似于蓝牙相机选项的应用程序。 哪些相机可以让我连接到它们并接收直接video输入,我该如何以编程方式进行此操作? 如果可以连接到没有中间人的IP摄像头, Android和MJPEG上的代码以及Android上的 获取IP Camvideo流(MJEPG)看起来很有希望。 我可以覆盖其他应用video源吗? 是否可以直接连接到IP摄像头? 任何建议的选项非常感谢。

Android USB主机到串口连接?

显然,使用Android 2.3.4和3.1,现在可以访问USB配件。 我有一个Ardupilot Mega(基于Arduino)板,USB线连接到我的笔记本电脑,我可以通过COM7和115,200波特的简单串行通信程序连接到它。 这允许我进入命令行界面,我可以发出命令并获取日志。 是否可以编写一个可以通过USB与我的Ardupilot Mega板通信的Android应用程序? 我见过很多类似的线程,但大多数都是预先USB主机。

USB主机模式 – 已授予但未记住的设备访问权限

我有一个完美的USB主机模式应用程序。 我插入设备,Androidpopup允许应用APPNAME访问USB设备? 权限请求窗口,我选中默认情况下使用此USB设备checkbox,然后点击确定 ,然后启动我的应用程序,它与USB设备完美通信。 但… 然后我拔下设备并将其重新插入.Androidpopup允许应用APPNAME访问USB设备? 对话再次。 WTH? 我已经告诉Android默认情况下这样做了,为什么还要再问我一次? 冰淇淋三明治4.0.3和Jellybean 4.1都会发生这种情况。 理想情况下,我希望Android能够记住,即使在我重新启动Android设备之后,我也已授予此特定USB设备的权限。 那么为什么Android不记得我已经授予了许可?

外置USB设备到Android手机?

我想使用Android手机作为一种处理和可视化传感器的方法,该传感器将连接到手机上的USB端口。 传感器将插入micro / mini USB,然后我需要从USB串口读取输入数据。 这可能吗? 我听说有人使用Android来操纵机器人和其他应用程序,但我从未见过Android被用作USB传感器的主机。 我似乎无法find关于这个主题的任何官方文档,但它似乎是一个非常有用的工具。 关于此事的任何想法,链接或信息? 谢谢。

使用Android与USB HID设备通信

我是USB和Android的新手,如果我不清楚地解释自己,请原谅我。 我有一个USB HID设备,我可以在Windows中与之通信。 我正在尝试使用运行Android 3.1的Acer Iconia A500平板电脑建立通信。 我能够find设备,枚举它,获得它唯一可用的接口,获得唯一可用的端点(0),并确定它是什么types的端点(从设备到主机传输中断)。 我对USB规范的理解是,所有HID设备都需要具有控制端点(端点0)和中断IN端点。 但似乎这里的端点0是中断输入端点,而不是控制端点。 然而,为了使设备枚举,它必须成功地在控制端点上传输其描述符数据。 因此,我推断出控制端点必须被find(并使用),因为主机实际上枚举了设备。 这是我能够继续进行的,如上所述,在应用程序级别呈现给我的唯一接口/端点是从设备到主机的中断types。 我的应用程序没有可用的端点从主机到设备,中断或控制。 因此,设备等待被告知该做什么,并且主机等待设备中发生的事情。 不是很刺激。 请记住,此设备在连接到Windows时会正确响应,例如,我能够发送包含13个字节数据的报告,这些数据会导致设备点亮LED。 所以它似乎符合USB HID规范。 作为一种绝望的行为,我尝试将这一个端点用作控制端点和中断OUT端点,使用controltransfer()和UsbRequest()将数据提交给设备,在任何一种情况下都没有响应。 所以我的问题是:“控制传输端点是(?)用于设置设备,为什么我无法find并使用它?” 感谢您的任何见解,以下是相关代码,如果需要,我可以将其余内容全部包括在内: private UsbManager mUsbManager; private UsbDevice mDevice; private UsbDeviceConnection mConnectionRead; private UsbDeviceConnection mConnectionWrite; private UsbEndpoint mEndpointRead; private UsbEndpoint mEndpointWrite; // check for existing devices for (UsbDevice device : mUsbManager.getDeviceList().values()) { //Need to filter for […]

编译和链接libusb for android

我考虑尝试编译某个C-programm,允许通过USB for android控制Gembird SilverShield电源sockets。 在我的Android HDMI电视棒上,这将非常有用。 有一个开放的项目。 它在Linux下工作,依赖于libusb。 目标平台是android ICS。 我想在Ubuntu Linux上开发。 我有什么机会让它发挥作用? 有哪些必要步骤。 设置android SDK,NDK,交叉编译器…… 这里有一个较老的问题,与android上的libusb相关但没有信息如何。 将应用程序移植到机器人自己的USB库可能更容易吗?