问题描述
|
我开发了一个Arduino应用程序,可以通过串行监视器控制LED 13。
那是,
如果我在第13针的串行监视器LED中键入0会亮
如果我在串行监视器中键入1,则LED指示灯熄灭。
现在,我想用我的Android手机完成所有这些操作。
我遇到的问题是:
首先,如何创建一个PHP服务器以解决所有问题
如何在我的Android设备上打开本地主机,使其像本地服务器一样运行
如何使服务器与串行端口交互
我并不需要所有的代码和项目,而只是向我展示方法,我会没事的。
解决方法
当直接“开箱即用”时,大多数Android和Arduino设备都无法相互通信-需要添加硬件和/或系统软件修改。
您有多种选择
0)蓝牙相当干净,现在的价格在20美元左右,因此,它既是成本效益最高的选择之一,又是最有可能损坏电话硬件的风险之一-但您说不想这样做。
1)某些电话(例如G1)具有低压串行端口,可以通过[rooting]和安装自定义内核来启用。您将需要电平转换电路,因为arduino的输出电压仍然很低,因此手机无法处理。您还需要通过修改完整的耳机适配器或从诸如sparkfun之类的地方获取特殊的HTCUSB连接器。
2)通过[生根并]安装自定义内核,某些电话可以用作USB主机。它们不提供USB总线电源,但是有了arduino,您就可以将所有东西都暴露在外面,因此,为单独的电源布线非常简单。最近一些平板电脑开箱即用了USB主机模式。编辑:在更高的Android版本中,可能会提供非根USB主机API和USB总线电源,但这因型号而异并且不一致。
3)您可以在arduino上使用USB主机屏蔽,如果设备运行的是Android 2.3.4或更高版本,请使用Gooogle的官方ADK协议与android设备上的软件进行通讯;如果android版本较早,则有使用ADB协议的非官方项目,并且可以在大多数设备上使用(也许进行了少量修改)。两者都旨在保留在android设备上的非特权用户空间内-无需生根,无需内核修改。
4)您可以构建一个低波特率调制解调器,并使用android端的软件调制解调器通过其耳机插孔与android设备对话。
5)您可以在arduino上放置无线以太网屏蔽
,我个人没有使用Arduino的经验。但是Cellbots的家伙有很多项目,这些项目使用Android手机作为小型机器人的大脑,并且大多数情况下都使用Arduino。一切都是开源的,您也许能够找到可以帮助您的示例。