gpt4 book ai didi

arduino - 如何在 Arduino Uno 上为 HM-10 BLE 设置服务和特性?

转载 作者:行者123 更新时间:2023-12-04 15:55:33 25 4
gpt4 key购买 nike

我有一个 Arduino Uno 连接到一个 HM-10 BLE 设备。我希望能够通过 Xamarin 表单应用程序与之通信。不幸的是,我意识到要这样做,有必要在 Arduino 上为 BLE 模块定义可用服务和支持特性,然后才能开始使用它。

我研究了一些库,例如 CurieBLE,它似乎是最突出的选择,但它不支持老式的 Arduino Uno。

实际上是否有任何我还没有遇到过的用于此目的的在线库,如果没有,我该如何自己定义服务和特征?

最佳答案

这不是它的工作原理。 HM10 具有您需要内置和通信的特性和服务通过 RX 和 TX 引脚与您的 Arduino 连接。
您需要 softserial 库来创建额外的串行连接。

还要考虑到大多数 HM10 设备仅兼容 3.3 伏,并且需要一个电平转换器才能与您的 Arduino 配合使用!另一方面,我在没有电平转换器的情况下将 RX 连接到 TX,将 TX 连接到 RX 没有问题,但这就是你的风险。

将软串行端口的 TX 和 RX 引脚连接到 HM10 设备上的 TX 和 RX 引脚。为您的 Arduino 创建一个可以读取和写入您的软串行连接的草图,您就完成了。

将您的 Xamarin 应用程序设置为 BLE 客户端。
在 Xamarin 表单应用程序上,您的应用程序必须找到设备,
通过获取服务连接到设备,
选择你需要的服务(我的 HM10 是 0000ffe0-0000-1000-8000-00805f9b34fb),
获取所选服务的特征,选择您需要的特征(对于我的 HM10,它是 0000ffe1-0000-1000-8000-00805f9b34fb),
将 ClientCharacteristicConfigurationDescriptor 写入特征,以便能够接收通知。

如果您从 Arduino 发送一条消息(最多 20 个字节的 CHAR 或 BYTE 数组),您的应用程序可以接收它在通知中。如果您从应用程序中编写一条消息,您可以在 Arduino 中阅读它。

要了解 Xamarin 应用程序的工作流程,请查看我在 Github 上的示例:https://github.com/GrooverFromHolland/SimpleBleExample_by_Devicename
它不是 Xamarin 示例,而是通用 Windows BleExample,仅用于展示设置连接所需的内容。

如果您对该示例有疑问,请在我的 Github 页面上创建问题。
对于其他问题,请使用此处的评论。

关于arduino - 如何在 Arduino Uno 上为 HM-10 BLE 设置服务和特性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51840345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com