代码之家  ›  专栏  ›  技术社区  ›  Jeppe Christensen

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

  •  1
  • Jeppe Christensen  · 技术社区  · 6 年前

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

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

    在网上有没有我还没有遇到的用于此目的的库,如果没有,我如何自己定义服务和特性?

    1 回复  |  直到 6 年前
        1
  •  2
  •   GrooverFromHolland    6 年前

    它不是这样工作的。HM10具有您需要内置和通信的特性和服务 通过RX和TX引脚连接Arduino。

    另外,考虑到大多数HM10设备只有3.3伏兼容,需要一个电平移位器与您的Arduino工作! 另一方面,我连接的RX到TX和TX到RX没有电平变换器没有问题,但这是你的风险。

    将软串行端口的TX和RX引脚连接到HM10设备上的TX和RX引脚。

    将Xamarin应用程序设置为BLE客户端。
    在Xamarin表单应用程序中,您的应用程序必须找到设备,
    通过获取服务连接到设备,

    获取所选服务的特征,选择所需的特征(对于我的HM10,它是0000ffe1-0000-1000-8000-00805f9b34fb),
    将ClientCharacteristicConfigurationDescriptor写入特征,以便能够接收通知。

    在通知中。 如果您从应用程序中编写了一条消息,您可以在Arduino中读取它。

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


    对于其他问题,请使用此处的注释。