我正在开发一个涉及Android设备和arduino之间通信的项目。项目的最终组装将是一个类似于盒子的结构,只有android设备的屏幕可见(其余的边将被封闭)。空间很重要;我希望设备尽可能小。使用最少的电缆。 使用usb host apis建立了与arduino的通信。 现在; Android平板电脑和arduino通过以下方式连接:
问题:我希望Android平板电脑通过连接为自己充电。
目前,arduino从Android平板电脑中获得了力量。然而;最后平板电脑和arduino将连接几个小时;那将耗尽电池。 arduino板将从外部电源获得电力。我希望平板电脑能从arduino中获取能量。平板电脑关闭时,此功能正常;然而,平板电脑会自动停止充电,并在打开电源后立即开始放电。
这可能是因为平板电脑进入主机模式(作为USB HOST)而arduino作为设备/附件。通常在这种连接中,主机发送电源,附件自身充电。这可能是另一种方式吗?
我的理解是,在这些类型的连接中,首先实现主机协商协议(HNP)以确定主机。有可能强行使arduino主机和平板电脑成为配件吗?在这种情况下,可以进行适当的沟通吗?
或者,是否可以在Android应用程序中启用和禁用主机模式?
主要目的是能够从usb otg电缆获取电力(我试图避免使用额外的电缆)
如果有人可以提供帮助,我们将不胜感激。
提前许多:)
答案 0 :(得分:5)
作为主机连接时,您的设备将无法获取电量。
您应该查看Android Open Accessory(AOA) Protocol,但需要使用适当的硬件进行连接。
AOA允许平板电脑作为USB配件连接,这将允许它汲取电量和充电,但它也让Android设备的行为就像主机将命令发送到连接的硬件一样。