Python 发送自定义蓝牙数据包(绕过HCI)

Python 发送自定义蓝牙数据包(绕过HCI),python,c,bluetooth,bluez,pybluez,Python,C,Bluetooth,Bluez,Pybluez,我正试图通过蓝牙实现一种绕过HCI的方式。 我会详细说明的。在HCI H4层中有事件字段。我希望能够发送HCI命令。现在-如果我现在就这样做-命令将在控制器接收到命令时停止。我想用我的两个BT模块(BR/EDR)实现的是向另一个BT模块发送HCI H4事件。例如,“更改本地名称”命令 因此,我的最终目标是通过控制器向另一个发送HCI事件,而无需对蓝牙固件进行“反向工程”以添加挂钩/更改 您可以这样想,就像我只想让我的HCI充当“代理”,将我自己定义的数据包直接发送到另一个控制器,而无需任何干预

我正试图通过蓝牙实现一种绕过HCI的方式。 我会详细说明的。在HCI H4层中有事件字段。我希望能够发送HCI命令。现在-如果我现在就这样做-命令将在控制器接收到命令时停止。我想用我的两个BT模块(BR/EDR)实现的是向另一个BT模块发送HCI H4事件。例如,“更改本地名称”命令

因此,我的最终目标是通过控制器向另一个发送HCI事件,而无需对蓝牙固件进行“反向工程”以添加挂钩/更改

您可以这样想,就像我只想让我的HCI充当“代理”,将我自己定义的数据包直接发送到另一个控制器,而无需任何干预

你可以在这里看到答案:

我希望能够使我的控制器发送我自己的HCI H4数据包指示器。(例如:0x01-命令包)

谢谢
Jen.

恐怕您不能,因为所有通过空中接收的数据看起来都像是apper层的数据。@MikePetrichenko假设接收方能够解析它。有办法把它送到那边吗?为什么没有。但是,这将是非标准蓝牙,您必须修改其固件。HCI是主机控制器接口,而不是远程控制器。所以你必须开发自定义协议。顺便说一句,我想。为什么不将HCI作为数据发送,而不在L2CAP或apper(应用程序)leyer上解析它?所以,您可以保持固件不变,并将应该在目标设备上执行的HCI作为简单的数据包发送。一旦目标设备接收到,softwar eon目标设备将作为本地HCI命令执行。我认为您可以使用任何原因,因为BT芯片数据表是打开的,并且使用您自己的固件重新闪存没有问题。我认为从任何BT嗅探器开始都是个好主意,因为它已经改变了固件。不幸的是,我找不到链接,但大约10年前,有一篇文章讲述了如何用开源固件将流行的USB BT加密狗重新闪存到BT嗅探器。