如何使Android和Arduino在没有无线模块的情况下进行通信

问题描述

| 我开发了一个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。一切都是开源的,您也许能够找到可以帮助您的示例。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...