本次更新主要将lock
API拆分为lock
和chip
两个API,以支持同一APP网关内多个APP同时运行,每个APP扫描并处理多个蓝牙设备,并解决设备独占和芯片分配的问题。通过集中控制的方式,统一管理设备独占和芯片分配,维护系统状态。
你能获得:
POST /api/gap/:node/lock
:请求设备锁,防止设备或任务并发。GET /api/gap/nodes/lock
:查看设备锁状态。DELETE /api/gap/:node/lock
:释放设备锁。POST /api/gap/:node/chip
:请求使用芯片,可指定芯片或自动分配,并标识用途。A: 在多APP并发场景下,设备锁和芯片分配是两个独立的操作。拆分API可以更清晰地表达APP的意图,并提供更精细的控制,例如,APP可以先锁定设备,然后再根据任务类型申请特定的芯片资源。
A: 系统会进行冲突检查,如果发现请求的芯片正在被其他APP使用,或者任务类型冲突,会返回409错误。APP需要根据错误信息,尝试请求其他芯片资源,或者等待当前芯片空闲。
A: 如果芯片连接数已满,系统会返回503错误。APP可以尝试请求其他芯片,或者等待当前芯片的连接数减少。同时,也需要考虑优化连接管理策略,减少不必要的连接。
主要面向蓝牙开发工程师、嵌入式系统工程师以及对蓝牙设备并发连接技术感兴趣的开发者。阅读该文档需要具备一定的蓝牙技术基础和嵌入式系统开发经验,能够理解文档中涉及的API接口和流程图。
随着蓝牙技术的普及,越来越多的应用需要同时连接多个蓝牙设备。在资源有限的嵌入式系统中,如何有效地管理和分配蓝牙芯片资源,保证多个应用能够稳定可靠地运行,成为了一个重要的技术挑战。该文档正是在这种背景下产生的,旨在为解决双芯片场景下的蓝牙设备并发连接问题提供一种可行的解决方案。