我目前正在麻省理工学院的应用程序发明者的项目中工作,在那里我通过蓝牙将Android设备连接到Arduino。多个手机可以使用MIT App Inventor通过蓝牙连接到相同的Arduino吗?
是否有可能将多个Android手机连接到这个Arduino,并且有没有一个Arduino可以区分它们的程序?
我目前正在麻省理工学院的应用程序发明者的项目中工作,在那里我通过蓝牙将Android设备连接到Arduino。多个手机可以使用MIT App Inventor通过蓝牙连接到相同的Arduino吗?
是否有可能将多个Android手机连接到这个Arduino,并且有没有一个Arduino可以区分它们的程序?
我假设您使用的是串行蓝牙设备,如HC-06或HC-05。据我所知,即使主模块HC-05一次只能连接到一个客户端(这很有意义,因为另一端的串行连接是相同的)(尽管事实上,蓝牙原则上允许处理多个客户端一次,虽然这是一个相当复杂的任务)。这意味着,您必须为每部手机使用一个串行蓝牙模块,并且您想同时连接。
当使用多个蓝牙模块时,您必须通过串口将它们连接到Arduino,但一次只能有一个设备使用串行连接。根据要连接的电话数量,可以使用SoftwareSerial
库来模拟多个串行连接(因此每个连接都可以通过其自己的SoftwareSerial
对象进行标识),或者必须在数据线之间多路复用数据线不同的串行蓝牙设备(因此您可以通过设置数字引脚来控制与设备的串行连接)。对于最后提到的可能性,我不确定串行连接的属性限制。也许你只能用几个晶体管来复用。
如果你不仅要区分不同的连接,而且直接在不同的电话之间区分(例如记住只有你的手机,而不是其他手机的特殊设置),你将不得不通过蓝牙发送一个标识到Arduino(例如手机的MAC地址)。
如需更多帮助,请以更好的方式陈述您的疑问并告知更多详情