我开发了一个 Arduino 应用程序,我可以在其中控制 LED 13 通过串行监视器。
也就是说,
- 如果我在串行监视器中键入 0,引脚 13 的 LED 会亮起并且
- 如果我在串行监视器中键入 1,LED 灯会熄灭。
现在我想用我的 Android 手机完成这一切。 我遇到的问题是:
- 首先,如何创建一个 PHP 服务器来解决所有这些问题
- 如何在我的 Android 设备上打开本地主机,使其像本地服务器一样运行
- 如何让服务器与串口交互
我不是要所有的代码和项目,只是告诉我方法,我会没事的。
最佳答案
大多数 Android 和 Arduino 设备在直接“开箱即用”时无法相互通信 - 需要添加硬件和/或修改系统软件。
你有多种选择
0) 蓝牙相当干净,现在价格在 20 美元左右,因此它既是最具成本效益的选择之一,也是最不可能损坏手机硬件的选择之一 - 但你说你不想要那个。
1) 某些手机(例如 G1)具有低压串行端口,可以通过 [root 并] 安装自定义内核来启用。您将需要电平转换电路作为 arduino 的输出电压,而低电平对于手机来说仍然太高无法处理。您还需要采购一个特殊的 HTCUSB 连接器,方法是修改完整的耳机适配器或从 sparkfun 等地方获取。
2) 有些手机可以通过 [root 和] 安装自定义内核来充当 USB 主机。它们不提供 USB 总线电源,但是有了 arduino,你就可以把所有东西都放在外面了,所以连接一个单独的电源应该相当简单。一些最近的平板电脑具有开箱即用的 USB 主机模式。 编辑:对于更高的 Android 版本,非根 USB 主机 API 和 USB 总线电源可能可用,但这因型号而异,并且一直不一致。
3) 您可以在arduino 上使用USB host shield,如果设备运行Android 2.3.4 或更高版本,请使用Gooogle 的官方ADK。与 Android 设备上的软件对话的协议(protocol);如果 android 版本较早,则有一些非官方项目使用 ADB 协议(protocol)并且应该适用于大多数设备(可能需要稍作修改)。两者都旨在保留在 Android 设备上的非特权用户空间内 - 无需生根,无需修改内核。
4) 您可以构建一个低波特率调制解调器,并在 android 端使用软件调制解调器,通过其耳机插孔与 android 设备通话。
5) 你可以在arduino上放一个无线以太网屏蔽
关于php - 如何在没有无线模块的情况下让Android和Arduino通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6140882/