php - 如何在没有无线模块的情况下让Android和Arduino通信

标签 php android serial-port arduino

我开发了一个 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/

相关文章:

php - 正则表达式德国邮政编码

php - 为什么我们在 Windows 中需要 CURLOPT_SSL_VERIFYPEER

php - 简单的 mysql 查询在 php 中不起作用

android - 在按钮中为 drawableLeft APNG 设置动画?

Node.js SerialPort Arduino 时序问题

带中断的 Linux 串行通信

php - WordPress 网站上的 APC 缓存碎片

android - android 中不显示进度对话框?

javascript - 如何在 React Native 上创建具有多个页面的应用程序?

c++ - 如何在不打开串口的情况下使用boost创建串口