问题标签 [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.
embedded - 未知 BlueNRG SPI 响应
我正在尝试通过 SPI 协议与连接到 STM32L1(在NUCLEO-L152RE板上)的 BlueNRG 芯片(在X-NUCLEO-IDB04A1扩展板上)进行通信。
根据 BlueNRG手册,我可以发送一个 5 字节的空 SPI 数据包:(0x0B, 0, 0, 0, 0)
以获取读/写缓冲区大小以及设备状态。状态应该是0x02
(准备好),或者0x00
设备0xFF
是否正在睡眠并且正在唤醒。
这是我得到的通讯:
我的测试应用程序是使用Zinc用 Rust 编写的。MCU 正在运行默认时钟(来自 MSI 的 2048 MHz)。下面是负责 SPI 初始化的代码:
SPI 内部是从zinc master稍微修改的。发送/接收代码组织如下:
问题是 -如何解释或处理这些 BlueNRG 响应?我无法找到它使用的低级协议的任何正式描述(这里不是在谈论 HCI/ACI,而是关于0x02
= ready 以外的状态代码)。我很可能只是错误地初始化了硬件,或者甚至在这里遗漏了一些明显的东西。将不胜感激任何指导。
stm32 - 与 BLueNRG 使用 stm32l053r8t6 nucleo 进行无线通信
您好所有极客,
我正在尝试将新的 GATT 服务添加到 x-cube ble(“ http://www.st.com/web/en ”),但不幸的是,该服务未显示在 ble 调试器(https://play. google.com/store/apps/details?id=com.adatronics.bledebugger&hl=en )
该代码中已经退出的服务是可见的,但是没有形成具有新 uuid 的新服务
(主要下)
stm32 - 使用 BlueNRG Gui 刷新主板固件的问题
我将 Nucleo L476RG 板与 ST Microelectronics 的 X-Nucleo IDB05A1 扩展板一起使用,并希望使用 BlueNRG GUI 对其进行测试和通信。
但我在连接 GUI 时遇到问题。我选择了正确的 COM 端口,打开它,然后它总是说:“未检测到设备!” 和“未检测到固件。更新主板上的固件(在工具菜单下)。” 我尝试使用名为“Flash Motherboard FW”的工具并按照步骤操作,但始终显示“未找到 DFU Bootloader”
任何人有一些建议来解决这个问题?
提前致谢!
embedded - 发现和 bluenrg-ms 之间的 SPI 连接
我正在使用 stm32f4 Discovery board (stm43f407xx) 进行项目,我想与 SPBTLE-RF (IDB05A1 board) 进行通信。
我正在使用带有预分频器 8 的 SPI2(我有 168Mhz,apb1 以 42 Mhz 运行,因此时钟为 5.25 Mhz),数据表显示 bluenrg-ms 中的 spi 时钟工作频率高达 8Mhz,但我无法与芯片通信。
我试过一个核板(spi1 prescaler 4),它工作得很好,所以硬件没问题,然后我试过两个发现板,但没有成功。
我已经仔细检查了所有连接,发现的软件与仅针对引脚和时钟修改的核板相同。
任何人都使用过这个硬件或者可以提出一些建议吗?
stm32 - 从 BLUEnrg-ms 蓝牙设备解密 HCI 事件
我能够成功地通过我的 nucleo-64 板与我的 IDB05A1 进行通信。
我让它可被发现并将我的手机与它配对。但是,配对后,设备立即与我的手机断开连接。在它断开连接之前,我收到一个 HCI 事件,我无法破译:
0x04 0xff 0x0b 0x01 0x0c 0x01 0x08 0x04 0x00 0x02 0x00 0x00 0x02 0x00
请帮我破译这个。带有命令和事件的数据表
这是什么活动?
windows - 将远程 BLE 设备连接到 Windows 10 虚拟端口需要什么蓝牙服务?
我正在做一些蓝牙开发,我有一个运行 SPP 服务的设备。但是我无法在设备所在的位置设置虚拟端口。Windows 在常规蓝牙选项卡中发现设备,但在浏览窗口中查看时:更多蓝牙选项 -> COM 端口 -> 添加... -> 传出 -> 浏览,我找不到该设备。
远程设备信息:
需要哪些服务才能与我的设备建立虚拟通信端口连接?对特性有什么特殊要求吗?
应根据https://support.microsoft.com/en-us/help/10568/windows-10-supported-bluetooth-profiles支持 SPP
bluetooth - BlueNRG-MS 在观察者模式下不生成任何广告报告
我目前正在使用 BlueNRG-MS 堆栈使用两个带有IDB05A1蓝牙 LE 扩展的STM32F401RE Nucleo 板。一个板被配置为广告商模式。其他板配置为观察者模式,应该打印从广告商收到的所有消息。
当我使用如下所示的供应商特定命令开始观察过程时,一切正常,我可以LE_ADVERTISING_EVENT
在HCI_EVENT_CB
函数中进行处理。
当我尝试使用如下所示的标准化蓝牙命令做同样的事情时,即使蓝牙标准说应该这样做,也会LE_ADVERTISING_REPORT
在 中生成和处理no 。HCI_EVENT_CB
关于我做错了什么的任何想法?
提前致谢!
ios - 更新蓝牙设备名称
我正在编程的 STM32 MCU 固件上有一个蓝牙 blueNRG 设备。我希望用户能够更改设备在蓝牙上可见的名称。该应用程序将新名称发送到设备,设备存储它,并在下次启动蓝牙时通过更新设备名称特征来设置它:
但是,在设置新名称并重新启动设备(和 iOS 应用程序)后,iOS 应用程序会继续以旧名称看到它:
但是在应用程序与设备连接和断开连接后,在下一次连接尝试时,即使设备没有重新启动,它也会看到新名称。我用两部 iPhone 做了一个实验,得到了以下结果:
假设当前设备名称是 oldName。iPhone1 连接到设备并将其名称更改为 newName。重新启动设备,重新启动 iPhone1 应用程序。尝试从 iPhone1 连接 - 它将设备视为 oldName。iPhone2 也将设备视为 oldName。从 iPhone1 连接到设备,断开连接并尝试从 iPhone1 再次连接 - 现在它将其视为 newName。与此同时,iPhone2 继续将其视为 oldName,即使在 iPhone2 应用程序重新启动后也是如此。所以同时 iPhone1 将其视为 newName,而 iPhone2 将其视为 oldName。在 iPhone2 上完成连接和断开连接程序后,它也开始将其视为 newName。
有人可以解释一下这种高度神秘的行为吗?为什么只有在连接和断开设备后,每部 iPhone 上的设备名称才会更新?
stm32 - 如何在 IDB008V2 板上加载 st 给出的示例?
我需要在 bluenrg-2 上开发软件。我用的是IDB008V2开发板。我想使用ST提供的聊天示例:https ://www.st.com/en/embedded-software/stsw-bluenrg-dk.html
编译工作正常,但无法将其加载到板上。它重新启动,旧程序仍然存在。另外,stlinkv2(通过JTAG)没有检测到该卡,我被迫使用USB端口。
- 我通过遇到相同的问题尝试了所有其他示例。
- 我使用了 Keil 和 Truestudio,我得到了相同的结果。
- 但是,当我创建一个新程序(Truestudio 的基本程序)时,它可以正确上传到开发板并完美运行。
- 我也尝试将ST的聊天使用的不同源文件移植到一个新项目中,但是我很快发现自己遇到了很多依赖问题,例如未声明的变量等。
我不知道将源文件移植到新项目是否是个好主意。如果我可以将示例程序加载到板上,那将是一个好的开始。