与Arduino一起使用Android系统

27

有没有人尝试过让Android和Arduino相互通信?

我在网上找到了一些项目:

你们认为最好的方法是什么可以让它们进行通信?


3
这个问题现在已经不再具有实际意义,因为有了Android开放硬件接口(Android Open Hardware Interface):http://developer.android.com/guide/topics/usb/adk.html - Robert Massaioli
6个回答

18

要么为您的Android手机构建串行电缆,例如G1的此电缆http://www.instructables.com/id/Android-G1-Serial-To-Arduino/

要么为您的Arduino添加蓝牙模块,

或者使用Arduino的以太网盾并通过TCP / IP连接。

使用哪种取决于您的项目和预算。我不知道除G1之外的其他手机是否存在串行电缆选项。蓝牙模块的优点是对于Arduino和手机都是无线的,而使用以太网盾,您可以通过在防火墙上使用端口转发来使Arduino全球可访问。


5

自从Amarino成立以来,我一直在使用它,而且从未遇到过任何问题。然而,由于我只使用了一个项目,因此我没有其他项目的经验。

这是我最喜欢的两个开源设备。不加入iPhone的行列,真是太好了。当有人采取主动去超越时,我真的感到很高兴,因为这表明你考虑了长远。大多数人都不会这样做。


2
一种解决方法是让Arduino充当USB主机,并使用Android Debug Bridge(ADB)协议进行通信。这适用于任何未经root的原始Android设备。更多信息请参见:code.google.com/p/microbridge

1

你的选择似乎只能通过串行接口或蓝牙连接两者(我猜你可能需要一个蓝牙模块或类似的东西)。互联网上有很多关于如何设置Arduino与这两种方式连接的资源。

你也可以在Arduino上设置一些基本的服务器,并通过控制台、手机上的特定界面或者基于Web的界面与之交互。似乎有相当多的机器人设计是由Android/Arduino控制的,你可以看看这些。

如果没有更多关于连接后你打算做什么的想法,很难给出更具体的建议。不过,如果你对Android手机进行了Root,就可以在上面安装一个精简版的Debian系统,然后使用apt-get命令安装各种软件包。考虑到这一点,将Arduino连接到计算机和连接到Android手机之间几乎没有什么区别。

[编辑]: 如果没有其他办法,你可以制作一个基于Arduino的这样一个项目:Android Controlled Statue


0

我之前听说过有人尝试通过USB实现这个功能,但他们指出问题在于Android不完全支持USB主机。如果这是唯一的问题,似乎很容易就能移植USB主机驱动程序!?!也许我把它简化了。


0

我喜欢Nikolaus的回答。 我认为连接的最佳方式是在Arduino中编写TCP/IP服务器(可以在互联网上轻松找到示例),并使用以太网盾(约10美元)或Wifi盾(约10美元)。两种解决方案的TCP/IP服务器使用相同的代码,唯一的区别是INIT。

移动性:如果您需要让Arduino移动,请购买Wifi盾。

静态:如果您处于静态状态,并且只想从Android手机控制,请使用ETH盾(成本较低)。

Adrian


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接