问题标签 [bluenrg]

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 投票
1 回答
558 浏览

bluetooth-lowenergy - 减少 Instant Passed (0x28) BLE 断开错误的发生

我正在 STM32 SPBTLE-1S 模块(BLE 4.2)上开发一个应用程序。该模块连接到 Raspberry Pi。

当连接质量较低时,有时会在达到连接超时之前断开连接,错误代码为0x28(原因:即时通过)。

当前的连接设置是:

Conn_Interval_Min: 10

Conn_Interval_Max: 20

从属延迟:5

Timeout_Multiplier:3200

阅读有关此类错误的更多信息,似乎发生在“无法执行包含瞬间的 LMP PDU 或 LL PDU,因为这将发生的瞬间已经过去”。这些包通常用于跳频或连接更新。就我而言,它们必须是频率希望的小包。

关于如何防止由“即时通过”错误导致的这些断开连接的任何想法?还是它们仅仅是 BLE 技术的结果?

0 投票
1 回答
135 浏览

c - bluenrg-ms/stm32F4 : Hci 数据包通过 spi

我正在开发一个开发 ble 通信的项目,但我在初始化和理解 ble 的返回帧时遇到了一些麻烦。

降低cs,测试头(0x0A,0x00,0x00,0x00,0x00)并在hci_reset(0x01,0x03,0x0C,0x00)之后直接发送HAL_SPI_TransmitReceive,我想从ble读取返回值。

因此再次降低 cs,测试标头 (0x0B,0x00,0x00,0x00,0x00) 并使用 HAL_SPI_TransmitReceive 发送虚拟数据。我得到这个帧:0x02、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00。

但从我目前所了解的情况来看,我应该得到类似:0x04,0x0E,0x04,0x01,0x03,0x0C,0x00。

有人可以指出我错在哪里吗?

0 投票
1 回答
256 浏览

workbench - ST Bluenrg-ms 示例代码

那里

有没有人尝试过 ST 为他们的 Bluenrg-MS 评估板提供的 4 个示例代码中的任何一个?

https://www.st.com/en/wireless-transceivers-mcus-and-modules/bluenrg-ms.html

示例代码从这里下载:

https://www.st.com/en/embedded-software/stsw-stlkt01.html

我尝试使用 stm32cubeide、AC6 和 atollic truestudio 打开示例项目,但它们都给我错误消息,例如:

在“构建项目”期间发生内部错误。java.lang.NullPointerException

基本上,有太多未解决的包含和变量,在我看来,调试/发布配置不正确。甚至 'uint32_t' 也未解决。我在不同的 PC 上尝试过同样的事情并得到相同的结果。

有没有人尝试使用这些示例代码?或者是否有任何其他示例代码可以作为该板的良好起点?

谢谢。埃里克

0 投票
1 回答
27 浏览

bluetooth-lowenergy - bluenrg-1 是否支持语音控制​​?

我正在致力于在 Bluenrg1/2 芯片上构建端到端通信,它是否支持音频命令并将其转换为数字信号,尽管它具有 PDM 流。任何人都可以对此提供更多见解。先感谢您

0 投票
1 回答
94 浏览

bluetooth-lowenergy - BlueNRG 错误的标题

我买了 ST 的 STEVAL-MKSBOX1V1 并想编写自己的库来创建一个 BLE 应用程序。

板上的 BLE 模块是 SPBTLE-1S,它安装了 BlueNRG-1,我编写了自己的固件,以便使用 SPI 协议进行通信。

使用引脚重置模块后,我从 MCU 向 BLE 模块发送读取请求,

我发送:

{0x0b,0x00,0x00,0x00,0x00}

我得到:

{0xff,0x08,0x00,0x06,0x00}

所以显然没什么好处,因为第一个字节是 0xff 而不是 0x02(对吗?),但第 4 位(0x06)应该指示读取缓冲区内的数据量。

如果我读取 6 个字节,我会得到

{0x04,0xff,0x03,0x01,0x00,0x01}

根据 AN4494,这正是我在模块复位事件后应该阅读的内容。

那么我的问题是为什么我不断收到 {0xff,0x08,0x00,0x06,0x00} 而不是 {0x02,....} 之类的东西?

BlueNRG1 与 BlueNRG2 有什么不同吗?(很难找到好的文档)

如果有人对这个模块的 SPI 通信有一些经验,我想咨询一下。

提前致谢

0 投票
1 回答
97 浏览

c - STM BlueNRG-MS 最大特征长度

我的一般理解是 BLE 标准支持的特征长度最大为 512 字节。我正在使用 STM 的 BlueNRG-MS 芯片,但是添加特征的函数调用具有长度参数的 uint8_t 值

所以这将只允许 255 个字节的最大特征长度。根据文档,堆栈本身支持 2 个字节,固件版本为 7.2 或更高版本。我有 7.23 所以这应该没问题,但我找不到任何支持charValueLen类型调用的 BlueNRG-MS 中间件的参考或示例uint16_t。我还下载了最新的 STSW-BLUENRG-DK,示例也只支持uint8_t charValueLen.

0 投票
1 回答
244 浏览

flutter - 解码 Ble 数据原始颤动

我正在使用 flutter_blue 库开发一个颤振应用程序来连接 STMicroelectronics 的 BlueNRG-tile。我正在接收来自所需特征的原始数据,然后我注意到能够使用 utf8.decode() 函数将它们转换为字符串。

这是接收到的数据作为列表和问题。

st板中的代码:

谢谢你。

0 投票
0 回答
17 浏览

stm32 - BlueNRG BLE 堆栈广播

BlueNRG BLE Stack Api 是否提供特征广播的可能性,还是我必须通过调用相应的手动执行此操作aci_gatt_update_char_value

0 投票
2 回答
89 浏览

c - BlueNRG 蓝牙:读取中央设备名称

我在外围设备上使用 STM BlueNRG-MS 芯片,连接后我想读取连接的中央设备(安卓手机)的名称。

我以为我可以直接在user_notify注册为 hci 回调的例程中执行此操作

因此,在EVT_LE_CONN_COMPLETE活动中,我使用为中央设备提供的句柄,并使用aci_gatt_read_using_charac_uuid()设备名称(uuid 0x2a00)读取我认为的特征。

长话短说,它不起作用。我不确定的第一件事是,它的start_handleandend_handle参数是什么aci_gatt_read_using_charac_uuid(),它返回ERR_INVALID_HCI_CMD_PARAMS.

有人可以在这里阐明一下吗?

更新
让我感到困惑的是,BlueNRG-MS 编程指南aci_gatt_read_using_charac_uuid()中没有提到该函数。

update2
我将函数调用更改为,aci_gatt_read_using_charac_uuid(cc->handle, 0x0001, 0xffff, UUID_TYPE_16, (uint8_t*)&uuid);但我仍然得到ERR_INVALID_HCI_CMD_PARAMS. 哪个参数甚至可能无效?uuid 存在,如果我将 BlueNRG GUI 与蓝牙加密狗一起使用,我可以读取设备名称。

update3
有没有人使用过这个功能或以某种方式设法从中央设备读取特征?我非常感谢任何帮助或提示。

0 投票
0 回答
69 浏览

python - BlueNRG-X Flasher Utility 无法识别 SWD 连接 (ST-link/V2)

连接 ST-link/V2 时,BlueNRG-X Flasher Utility 无法识别 SWD 连接。我正在通过命令行界面运行闪光灯以获取错误消息(BlueNRG-X_Flasher_Launcher.exe)。出现的错误信息是:

似乎没有找到一些 python 后端文件。我将 libusb-1.0.dll 复制到 windows\system32 并添加到路径,但它没有解决问题。