Android外部配件开发库?

Android外部配件开发库?,android,usb,arduino,microcontroller,Android,Usb,Arduino,Microcontroller,我想用传感器(或者用Arduino或者用微控制器自制的电路)构建一个设备,我想通过USB电缆将数据从它发送到Android设备。通过USB连接设备需要什么库?有什么文件我可以看吗?问题是,每当我搜索这个时,我只会得到关于ADK及其主板的结果,而不是其他设备的结果。 有什么事我应该事先知道吗?我对这两个领域都不是新手,但这是我的第一个项目,两个领域都有联系 谢谢。首先要检查的是您的Android设备是否配备了界面。在这种情况下,您可以将常规USB设备连接到Android,并使用与该设备通信 然而,

我想用传感器(或者用Arduino或者用微控制器自制的电路)构建一个设备,我想通过USB电缆将数据从它发送到Android设备。通过USB连接设备需要什么库?有什么文件我可以看吗?问题是,每当我搜索这个时,我只会得到关于ADK及其主板的结果,而不是其他设备的结果。 有什么事我应该事先知道吗?我对这两个领域都不是新手,但这是我的第一个项目,两个领域都有联系


谢谢。

首先要检查的是您的Android设备是否配备了界面。在这种情况下,您可以将常规USB设备连接到Android,并使用与该设备通信

然而,典型的安卓设备(几乎所有手机)仅配备USB设备接口,用于连接PC或其他USB主机。在这种情况下,您必须使用Android的支持。背后最重要的想法是,它交换(逻辑)USB设备和USB主机角色。正是USB主机查找具有特定供应商/产品ID的设备,选择特定的USB协议接口,然后简单地使用找到的输入/输出批量端点进行通信-非常聪明,不是吗


为了构建Android开放式附件兼容设备,您需要一个带有USB主机接口的CPU。如果您想使用Arduino,这可能是一个很好的起点,因为它已经实现了Android开放附件协议。还有一些。

首先要检查的是您的Android设备是否配备了接口。在这种情况下,您可以将常规USB设备连接到Android,并使用与该设备通信

然而,典型的安卓设备(几乎所有手机)仅配备USB设备接口,用于连接PC或其他USB主机。在这种情况下,您必须使用Android的支持。背后最重要的想法是,它交换(逻辑)USB设备和USB主机角色。正是USB主机查找具有特定供应商/产品ID的设备,选择特定的USB协议接口,然后简单地使用找到的输入/输出批量端点进行通信-非常聪明,不是吗

为了构建Android开放式附件兼容设备,您需要一个带有USB主机接口的CPU。如果您想使用Arduino,这可能是一个很好的起点,因为它已经实现了Android开放附件协议。还有一些。

您有两种解决方案

1:您的Arduino板充当USB主机并为Android设备供电。

使用此解决方案,您必须在Arduino板上实现和USB主机堆栈,并且必须实现Android开放附件协议。您的Arduino板必须为Android设备供电。然后,您必须使用应用程序与您的板进行通信

Avantage:

  • 使用几乎所有的Android设备(Android设备上不需要USB主机端口)
缺点:

  • 设备板更复杂(必须为两个设备供电)
  • 固件更复杂(必须实现USB附件模式)

    2。您的Arduino板充当USB设备,Android设备提供电源 您可以登机。

使用此解决方案,您不必实现特定的USB协议。您的板将充当标准USB设备。由于你是一个设备,你可以直接通过USB电缆为你的主板供电(安卓设备将为自己和你的键盘供电)。为了与你的董事会沟通,你将使用安卓系统

Avantage:

  • 设备板非常简单
  • 固件简单且易于调试(您甚至可以使用PC进行测试)
缺点:

  • 仅适用于具有USB主机端口的Android设备
  • 在大多数设备上,您需要特定的电缆或适配器(例如:otg usb主机电缆)
我有解决方案2的经验,而且效果很好。Android源代码的所有源代码都可以从下面的链接获得。我已经验证了它与我在以下Android设备上工作的公司的传感器设备一起工作:

  • 三星Galaxy S3
  • Acer Iconia标签a200
  • 华硕变速器垫TF300T
但是,如果您想了解我们的体验,它应该适用于大多数平板电脑和最新的手机。

您有两种解决方案

1:您的Arduino板充当USB主机并为Android设备供电。

使用此解决方案,您必须在Arduino板上实现和USB主机堆栈,并且必须实现Android开放附件协议。您的Arduino板必须为Android设备供电。然后,您必须使用应用程序与您的板进行通信

Avantage:

  • 使用几乎所有的Android设备(Android设备上不需要USB主机端口)
缺点:

  • 设备板更复杂(必须为两个设备供电)
  • 固件更复杂(必须实现USB附件模式)

    2。您的Arduino板充当USB设备,Android设备提供电源 您可以登机。

使用此解决方案,您不必实现特定的USB协议。您的板将充当标准USB设备。由于你是一个设备,你可以直接通过USB电缆为你的主板供电(安卓设备将为自己和你的键盘供电)。为了与你的董事会沟通,你将使用安卓系统

Avantage:

  • 设备板非常简单
  • 固件简单且易于调试(您甚至可以使用PC进行测试)
缺点:

  • 仅适用于具有USB主机端口的Android设备
  • 在大多数设备上,您需要特定的电缆或适配器(例如:otg usb主机电缆)
我有解决方案2的经验,而且效果很好。全s