【问题标题】:Acer Iconia A100 Does Not Work With Android ADK?Acer Iconia A100 不能与 Android ADK 一起使用?
【发布时间】:2012-05-09 21:57:56
【问题描述】:

我刚刚将我的三星 Galaxy Tab 2 7"(通过我在这里提出的这个问题:How to tell if an Android device has Open Accessory Mode)换成 Acer Iconia A100 选项卡,以便使用 ADK 和打开附件模式。但是,现在我有了这款平板电脑,但它仍然无法正常工作!我在 2.3(什么都没有)的情况下尝试了它,然后我执行了对 2.3.1 的更新,但仍然一无所获!这变得非常令人沮丧。

列出的 A100 可在包括这个在内的多个站点上工作 在这里:http://www.whizzosoftware.com/forums/blog/1/entry-47-tablets-and-the-android-open-accessory-development-kit-adk/ 以及“Beginning Android ADK with Arduino”一书的第 11 页(可在 google 图书上找到)

我无法弄清楚为什么这不起作用。 我根据这里设置了所有内容:http://developer.android.com/guide/topics/usb/adk.html 一切正常,直到我进入最后一步,在“运行 DemoKit Android 应用程序”第 8 步下。当我执行此步骤时,平板电脑永远不会超过“请连接 DemoKit 板”屏幕。我将平板电脑的微型 USB 插入 Arduino ADK 板(已安装固件),并将 ADK 板插入我的计算机以供电。

这款平板电脑也不能用吗?试图让它工作是非常烦人的。感谢任何可以提供帮助的人。

我可能做错的唯一可能区域是在构建 android 应用程序时:在“运行 DemoKit Android 应用程序”步骤 5 下。它列出了“对于构建目标,选择 Google API(平台 2.3.3,API Level 10)" 为此,我在 Eclipse 中右键单击我的项目,然后选择 properties>android,然后选择 Google API 的 level 10。

另外,当我从 google 编译 ADK 板的固件时,Arduino IDE 给了我几个错误,这些错误都是由于更新而需要更改的语法。我完全忘记了这是什么,但我相信它正在改变一些读取和接收功能。

【问题讨论】:

  • 需要注意的是,我没有使用带有附件屏蔽的 Google ADK 板,我只是使用 Arduino ADK 板尝试简单地建立连接
  • 如果您在插入平板电脑时在 Arduino IDE 中打开串行监视器,您应该会看到一些人类可读的消息。您是否确保在串行监视器中将波特率设置为 115200?

标签: android arduino adk


【解决方案1】:

默认 Google 的 DemoKit 过于复杂,无法将其作为 ADK 的起点。您可能想尝试一些更简单的方法,例如 https://github.com/yanzm/HelloADK - 这对我有用。

有迹象表明 ADK 控制台正在发生什么 - 您可能想要运行 arduino IDE 或任何其他串行端口监视器,并查看在连接 Android 设备时在串行输出中弹出的消息。

另外,请注意编译固件时使用的资源。此页面提供了一组比您使用的页面更新的说明:http://labs.arduino.cc/ADK/Index

【讨论】:

  • 感谢您的回答,我试过了,但是当我将 Arduino 代码放入 Arduino IDE 时,验证时出现此错误 /Users/Home/Documents/Arduino/libraries/AndroidAccessory/AndroidAccessory.h :在函数'void loop()'中:/Users/Home/Documents/Arduino/libraries/AndroidAccessory/AndroidAccessory.h:65:错误:'int AndroidAccessory :: read(void *,int,unsigned int)'是私有的.pde:-1: 错误:在此上下文中
  • @jangoforhire:使用 AndroidAccessory 扩展 Stream 类的事实。像这样:{ AndroidAccessory acc; Command *command = Command::read(&acc); } Command* Command::read(Stream *inputStream) { while (inputStream->available() < 1) { wait() }; int c = inputStream->read(); and so on and so forth}
  • 好的,我正在处理这个。 C 还不是我最喜欢的,但我快到了。问题在于: if (acc.isConnected()) { int len = acc.read(msg, sizeof(msg), 1);那我应该改成什么呢?
【解决方案2】:

我能够在 Acer Iconia Tab A100 上使用 ADK 运行演示套件示例和另一个示例,该示例使用 Circuits@Home USB 扩展板和 Arduino 运行 Ice Cream Sandwich 4.0.3。

我的设置听起来与您在 Arduino 端尝试做的有点不同,但也许我所做的会有所帮助。我已经在 http://digitalhacksblog.blogspot.com/2012/05/arduino-to-android-turning-led-on-and_29.html 记录了对我有用的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-15
    • 2021-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多