Dou*_*ull 14 bluetooth ios core-bluetooth
iOS(iPhone或iPad)应用程序可以同时拥有Core Bluetooth(BTLE)中央管理器和外围管理器对象吗?
它们可以异步操作,还是主应用程序线程需要使它们共享(来回切换).
共享概念算法将是:禁用外围设备管理器,启用中央管理器并执行中央功能,然后禁用中央管理器,启用外围设备mgr,并执行外围功能(即发送自动数据,等待并响应远程特性命令),重复......
背景技术细节:我们有一个本地系统,有多个iOS设备和多个非iOS设备,需要通过BTLE进行互通.非iOS设备均使用Broadcom BCM20732蓝牙LE芯片.但硬件还没有准备好,所以我使用iOS设备来模拟非iOS,这需要同步中央和外围功能,即.1.充当集中询问系统中多个其他非iOS设备的核心.2.充当外围设备以响应来自iOS用户界面设备的数据请求.
Dou*_*ull 13
我搞定了.我刚刚开始使用Apple"BTLE中心外设转移",然后首先删除它所拥有的-35 db错误(搜索"-35"然后删除if(){return}),然后我将两个中心结合起来.并将peripheral.m转换为单个UIViewController .m文件,添加一个UISwitch来选择两个服务UUID中的一个,并修改外围发送器以自动递增文本字段(在初始化为ASCII'0'之后).
我连续两个iPad mini,每个都将递增的数字发送到另一侧.它获得了超过900次转移然后挂起.但我已经看到Apple"BTLE cp transfer"在几分钟后总是挂起,要求iPad继续重启.我结束了应用程序的iPad和循环电源,重新启动应用程序,他们达到1600增量,然后挂起.
为了解决问题,我将根据Abo的建议添加资源控制,以防止中央和外围管理人员同时连接.
| 归档时间: |
|
| 查看次数: |
5926 次 |
| 最近记录: |