我正在尝试在安卓设备上通过蓝牙为 Arduino 构建一个家庭自动化系统,并且有几个设备和传感器正在发送数据和其他接收(光敏电阻、从 arduino 到手机的温度和湿度、加速度计从 android 手机到 arduino)和其他简单的东西,比如从手机、伺服系统等控制 LED 灯条
我想知道是否可以在串行通信中发送/接收所有这些数据而不会引起任何问题?
我正在尝试在安卓设备上通过蓝牙为 Arduino 构建一个家庭自动化系统,并且有几个设备和传感器正在发送数据和其他接收(光敏电阻、从 arduino 到手机的温度和湿度、加速度计从 android 手机到 arduino)和其他简单的东西,比如从手机、伺服系统等控制 LED 灯条
我想知道是否可以在串行通信中发送/接收所有这些数据而不会引起任何问题?
是的,这完全有可能。我已经创建了一些相同的应用程序。然而,这是一个巨大的过程。这是我用来创建例如带有 XMC4500 µC 的蓝牙示波器的配方,但它与 arduino 类似。
1) 硬件要求 将串口 (µC) 与蓝牙收发器 (例如 BTM-222) 连接。配置您的串行接口以与该收发器通信(波特率、奇偶校验、开始/停止位)并相应地配置您的收发器模块。
2) 在您的应用上配置蓝牙 在 developer.android.com 上有一个很好的解释。我建议您将应用程序配置为客户端,将 µC 端配置为服务器。
3)定义一个Android用Java通信的通信协议,μC用C/Assembler。为每个交互定义字节码,例如第一个字节是您要执行的命令:
获取温度数据:0x00
获取湿度数据:0x01
...........
µC:编程接收中断以发送请求的值(使用简单的状态机)
Android :发送命令并等待答案(如果有)。
4)测试和调试,测试和调试,测试和调试......
我以 115200 的波特率发送数据没有问题。
我希望这有点帮助