0

我正在尝试在安卓设备上通过蓝牙为 Arduino 构建一个家庭自动化系统,并且有几个设备和传感器正在发送数据和其他接收(光敏电阻、从 arduino 到手机的温度和湿度、加速度计从 android 手机到 arduino)和其他简单的东西,比如从手机、伺服系统等控制 LED 灯条

我想知道是否可以在串行通信中发送/接收所有这些数据而不会引起任何问题?

4

1 回答 1

0

是的,这完全有可能。我已经创建了一些相同的应用程序。然而,这是一个巨大的过程。这是我用来创建例如带有 XMC4500 µC 的蓝牙示波器的配方,但它与 arduino 类似。

1) 硬件要求 将串口 (µC) 与蓝牙收发器 (例如 BTM-222) 连接。配置您的串行接口以与该收发器通信(波特率、奇偶校验、开始/停止位)并相应地配置您的收发器模块。

2) 在您的应用上配置蓝牙 在 developer.android.com 上有一个很好的解释。我建议您将应用程序配置为客户端,将 µC 端配置为服务器。

3)定义一个Android用Java通信的通信协议,μC用C/Assembler。为每个交互定义字节码,例如第一个字节是您要执行的命令:

获取温度数据:0x00

获取湿度数据:0x01

...........

µC:编程接收中断以发送请求的值(使用简单的状态机)

Android :发送命令并等待答案(如果有)。

4)测试和调试,测试和调试,测试和调试......

我以 115200 的波特率发送数据没有问题。

我希望这有点帮助

于 2015-08-03T23:43:00.823 回答