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