最近做蓝牙开发,想实现树莓派通过蓝牙往iphone发消息,iphone上的app显示这个消息。
看了很多资料,但总觉越看越模糊:
平时使用时,都是先打开手机搜索蓝牙,搜索到外设然后连接,最后再打开APP。所以我的理解是:iphone和外设进行蓝牙连接,和APP是无关的,对吗?
树莓派上的蓝牙,写了个简单的py程序能搜到我手机的蓝牙,而我手机却搜不到树莓派的蓝牙,可能是什么原因呢?
看网上一些example示例,会用到一个uuid字段,不知道这个uuid是干嘛的。因为外设不知道谁会连它,而手机也不知道它可能会连哪个外设,所以uuid应该不是一个定值吧?实在不明白uuid的作用,也不知道怎么获取
如果手机蓝牙和外设连接是与APP无关的,那么在建立连接的过程中,外设需要写程序处理,还是这个功能已经由蓝牙驱动实现了?
看了IOS的corebluetoothframework,各种demo都有会去scan,按照上面的理解,如果建立蓝牙连接和APP无关,那么还需要APP手动去scan吗?
问题有点多,还望有经验的朋友不吝赐教啊。或者能够分享一个不错的教程,目前对整个流程还不太熟悉。网上好多教程上来直接就给代码,都不知道这一步在干什么…
总体来说蓝牙连接的确可以使用iphone自带的系统蓝牙进行,但你发消息给iphone是没有用的,系统蓝牙也不会去解析。
1.总体来说的做法是通过手机app进行搜索和连接和消息发送,iphone也能通过系统蓝牙进行连接,但实际上app没法
2.蓝牙通讯存在2.0和4.0,另外还有蓝牙设备一般分两种形式,蓝牙耳机那种和非蓝牙耳机那种,有些会占用音频。这是可能得原因,其他就不太清楚。
3.uuid就如同是个唯一id一样,很多的做法实际上可以使用蓝牙地址来进行连接,蓝牙名称来告知用什么连接的。
4.我这边之前调试的其他蓝牙第三方设备都会提供自己的连接方法,因为蓝牙通讯是通用的,所以第三方会自己做信息进行确认连接,避免连接到其他蓝牙误以为成功连接
5.app蓝牙一般全部由app来进行实现容易控制流程,比如:由外部系统进行连接蓝牙设备的话,app还得获取连接的蓝牙设备,并且判断该设备是否是自己需要的,app可以从搜索到连接全部把控流程,并且自行建立管理。