问题标签 [hci]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
989 浏览

disconnect - 如何从 BLE 层获取断开连接事件 - Bluez/Linux

上一个问题如何在 Bluez/Linux 上从 GATT 服务器获取断开连接事件解决了 Bluez 堆栈的断开连接事件。

然而,由于断线检测是在 GATT 层进行的,因此在 GATT 层检测到断线需要一段时间。对于许多应用程序来说,延迟断开检测将是一个问题。

Bluez 提供 HCI API 以在 BLE 层连接/断开连接:

应用程序如何捕获指示由 hci_le_create_conn() 建立的 BLE 连接现已断开的 HCI 事件。

0 投票
4 回答
25601 浏览

bluetooth - 使用 hcitool 设置广告包

关于如何将 USB 蓝牙 4 加密狗设置为 iBeacon 有一篇众所周知的博客文章。它归结为这个神奇的命令:

这个例子的问题是它太不透明了,很难以任何更通用的格式使用它。我已经能够将它分开一点:

向 hci0 设备发送 hci 命令

设置广告包只是魔术,其他stackoverflow命令都说“只需使用它,不要问

是整个数据包的长度,以字节为单位

是设置广告包的标志(详情请咨询)

是对 iBeacon 信息进行编码的“公司特定数据”

我尝试做的是将“FF ...”字节替换为用于设置 NAME 参数“04 09 41 42 43”(应该将其设置为 ABC)的操作码,但这不起作用。

我很惊讶 hcitool 没有给我们一些关于如何设置广告包的示例,因为这在设置各种其他参数(如 TEMP 或 POWER)时非常有用。有没有其他人有过使用 hcitool 来设置 NAME 之类的东西的经验?

0 投票
1 回答
9439 浏览

linux - 从命令行进行蓝牙配对和连接

我想从 linux 的命令行连接并配对到附近可用的蓝牙设备。我通过互联网搜索,发现我们可以通过simple-agent配对,但它在我的设备中不可用。设备中提供以下命令: hcitool、hciconfig、hcidump、sdptool、l2ping、rfcomm。 为了连接到远程设备,我正在运行以下命令。 hcitool cc BD_ADDRESS 但上面的命令正在连接设备一段时间,然后设备再次断开连接。在hcidump输出中,我看到了断开连接事件。无论如何,在linux命令行中我可以通过它测试我的蓝牙吗?一段时间后设备断开连接的原因可能是什么?

0 投票
1 回答
27391 浏览

raspberry-pi - 即使可以使用 hcitool lescan 发现设备,BLE gatttool 也无法连接

我正在使用 USB 蓝牙加密狗运行 RPi。当我使用 hcitool 时,我可以发现 SmartTag 设备。但是当我使用 gatttool 时,我无法连接。它显示“主机已关闭 (112)”。这是我的命令:

检查我的 RPi 上的蓝牙适配器,我得到:

然后,当我像这样使用 gatttool 时,我得到:

当我输入连接时,我得到这个:

我在网上找到一些信息说“主机已关闭”意味着蓝牙传感器未处于可发现模式。但就 SmartTag 而言,这是不正确的,因为我按下了传感器上的一个按钮(侧面按钮),TI 说要推动它以使其可被发现。hcitool lescan 使用相同的设备来查找设备。还有一个在手机上运行的安卓应用程序,当按下同一个按钮时,它会扫描、连接和读取 SmartTag 传感器。

有谁知道问题可能是什么?提前致谢

0 投票
1 回答
2927 浏览

bluetooth - 需要蓝牙命令“hcitool con”和hcitool sr的详细解释

ISSUE :在设备之间切换主/从角色。

我正在努力在蓝牙设备之间切换角色,但没有运气。

我知道有“hcitool sr”命令可以为我们切换角色,但是每次我在建立连接后键入此命令时,都会出现如下所示的错误...

切换角色请求失败:输入/输出错误

我输入了“m”或“s”或全名,如 master 或 slave,但没有成功,而且我在配对成功并建立连接时输入了此命令。

要验证连接,我输入以下命令 hcitool con

o/p:

连接:

ACL DC:A9:71:8D:2D:C6 句柄 43 状态 1 lm SLAVE AUTH ENCRYPT

这是什么意思 ?soemone 能否请我特别解释一下“SLAVE”部分。我对此输出的看法是,我的内部设备 hci0 通过 ACL 链接与 DC:A9:71:8D:2D:C6 的 MAC 地址连接,而我的内部设备是 SLAVE。我对吗 ?

我也注意到,当我一次又一次地执行测试时,有时我开始得到 hcitool con 的结果作为主示例

ACL DC:A9:71:8D:2D:C6 句柄 43 状态 1 lm MASTER AUTH ENCRYPT

0 投票
3 回答
166 浏览

php - 使用 php 发送电子邮件

给定一个标准的 html 表单,如下所示;

和下面的 php

可以发送电子邮件,但是,这种方法会导致一些问题。因为我的表单位于页面底部,所以当单击发送时,页面被重定向回来,焦点回到页面顶部。

提供足够的用户反馈以让用户知道电子邮件已发送的正确方法是什么,是否可以导航回页面并自动滚动到底部 - 允许我将发送按钮更改为绿色或其他什么?

如果做不到这一点,是否有更好的方法来做到这一点?

谢谢

0 投票
1 回答
920 浏览

python - 从 Python 启动和终止嗅探器进程

为了调试蓝牙通信,我想启动嗅探器(hcidump -Xt)并将数据转储到文件中。在终端上,我可以启动这个命令:

然后使用 Ctrl+C 终止相同。

我想使用 python 脚本来实现这一点。就像是:

最后,它应该停止嗅探器进程,并且所有日志都应该存储在 myfile.txt 文件中。我尝试了一些诸如此类的东西。但它没有创建预期的文件。

请告知是否有任何方法可以实现我所需要的。

0 投票
1 回答
3457 浏览

bluetooth - BLE - HCI LE 广告报告事件数据格式

蓝牙标准V4.0 [vol. 2, 7.7.65.2] 允许控制器“在一个 LE Advertising Report 事件中对广告报告进行排队并从多个设备发送信息”。

为了管理此功能,HCI 协议在事件参数中包括字段Num_Reports(值介于 1 和 25 之间)。

如果 Num_reports > 1,通过 HCI 接收的事件数据包中的事件参数是如何组织的?

注 1:蓝牙标准似乎指定了一种不寻常的数据顺序,不是将每个广告报告一个接一个地打包(如事件描述所建议的那样),而是将每种类型的信息一个接一个地打包(即每个广告商的所有 Event_types ,然后是所有地址类型,然后是所有地址,依此类推,直到最后一个字段,所有 rssi 值)。我理解的好吗?

注意 2:我没有找到任何软件示例在一个事件中管理超过 1 个广告报告。这是否意味着现实世界的设备不使用该标准的此功能?

0 投票
2 回答
478 浏览

linux - 如何在 NAO 机器人上接收原始蓝牙包

我想通过蓝牙适配器接收nao机器人的ibeacon信息,让naoqi使用。我想实现诸如 hcidump 之类的 Linux 蓝牙工具来读取原始蓝牙包并提取 ibeaon 信息。

但是,我找不到可行的解决方案。

谁能给我一个实用的解决方案?

0 投票
2 回答
12716 浏览

linux - hcitool scan 和 inq 的区别

看linux上的hcitool命令,技术上有什么区别

我了解远程设备在蓝牙中响应来自本地设备的查询(查询扫描模式)。什么是本地设备的“扫描”,它与查询有何不同?