【问题标题】:Bluetooth GATT server using D-Bus and .Net Core使用 D-Bus 和 .Net Core 的蓝牙 GATT 服务器
【发布时间】:2023-03-07 09:57:01
【问题描述】:

我正在尝试在 raspberry pi 3 和 raspbian OS 上运行蓝牙 GATT 服务器。基于this post,BlueZ D-Bus api可以通过Tmds.DBus库在.Net Core中使用,其C#接口可以使用Tmds.DBus工具生成。 我已经阅读了 Bluez 文档和大多数现有示例(基于 python 和 c), 但我不明白如何在 .Net Core 中定义和宣传 GATT 服务器。

谁能提供 .Net 示例或任何其他解决方案?

【问题讨论】:

  • 您遇到什么错误?您提供的链接已经有示例代码,所以您一定有错误。
  • @jdweng 该帖子中的示例是关于连接到 gatt 服务(它是一个 gatt 客户端),但我想创建并运行一个公开服务的 gatt 服务器(外围蓝牙模式)。跨度>
  • 您想开发自己的具有两个端口的云应用程序。 1) 一个连接到 gatt 服务的客户端 2) 一个接受客户端的云服务器应用程序。您没有创建 gatt 服务,只是连接到现有服务。
  • 云应用是什么意思?蓝牙 LE 连接中的每个设备都可以有两个角色,客户端或服务器。服务器公开一些服务和特性,客户端设备可以连接和使用这些服务。
  • 云应用是一个服务器。您需要一个客户端可以连接并与 Tmds 库通信的网页(服务器)。

标签: c# .net-core bluetooth-lowenergy raspberry-pi3 dbus


【解决方案1】:

使用 BlueZ D-Bus API 创建 BLE 外设是比较棘手的事情之一。您将需要创建 GATT 服务器和广告。与 GATT 客户端不同,创建服务器需要在 dbus 上注册对象。

我不熟悉 .NET,但在 D-Bus 中注册对象的能力是 GATT 服务器正常工作的关键。从这个example我发现关键字是:RegisterObjectAsync

使用该关键字,然后我进行了搜索并发现该库正在使用它:

https://github.com/phylomeno/dotnet-ble-server

您应该对此感兴趣。

【讨论】:

  • 非常感谢@ukBaz,我测试了这个库,它运行良好。
猜你喜欢
  • 2015-02-17
  • 2021-05-01
  • 1970-01-01
  • 2015-06-22
  • 1970-01-01
  • 2015-05-21
  • 1970-01-01
  • 2016-06-01
  • 2018-04-29
相关资源
最近更新 更多