【发布时间】:2017-05-06 22:27:23
【问题描述】:
我目前正在 MIT App Inventor 从事一个项目,我正在通过蓝牙将 Android 设备连接到 Arduino。
是否可以将多个 Android 手机连接到这个 Arduino,是否有一个 Arduino 可以区分它们的程序?
【问题讨论】:
标签: android bluetooth arduino app-inventor
我目前正在 MIT App Inventor 从事一个项目,我正在通过蓝牙将 Android 设备连接到 Arduino。
是否可以将多个 Android 手机连接到这个 Arduino,是否有一个 Arduino 可以区分它们的程序?
【问题讨论】:
标签: android bluetooth arduino app-inventor
我假设您使用的是串行蓝牙设备,例如 HC-06 或 HC-05。据我所知,即使是主模块 HC-05 一次也只能连接一个客户端(这是有道理的,因为另一端的串行连接是相同的)(尽管事实上,蓝牙原则上允许处理多个客户端一次,尽管这是一项相当复杂的任务)。这意味着,您必须为每部手机使用一个串行蓝牙模块,并且要同时连接。
当使用多个蓝牙模块时,您必须将它们通过串行连接到 Arduino,但一次只能使用一个设备使用串行连接。根据您要连接的电话数量,您可以使用SoftwareSerial 库来模拟多个串行连接(因此每个连接都可以由其自己的SoftwareSerial 对象标识),或者您必须多路复用您的不同串行蓝牙设备之间的数据线(以便您控制与设备的串行连接,例如设置数字引脚)。对于最后提到的可能性,我不确定串行连接中的属性限制。也许你可以只用几个晶体管进行多路复用。
如果您不仅想区分不同的连接,还想直接区分不同的手机(例如只记住您手机的特殊设置,而不是其他手机),您必须通过蓝牙向 Arduino 发送标识(例如手机的 MAC 地址)。
如需更多帮助,您应该以更好的方式陈述您的问题并提供更多详细信息
【讨论】: