C# 使用D总线和.Net内核的蓝牙GATT服务器

C# 使用D总线和.Net内核的蓝牙GATT服务器,c#,.net-core,bluetooth-lowenergy,raspberry-pi3,dbus,C#,.net Core,Bluetooth Lowenergy,Raspberry Pi3,Dbus,我正在尝试在raspberry pi 3和raspbian操作系统上运行蓝牙GATT服务器。基于,BlueZ D-Bus api可以通过库在.Net Core中使用,其C#接口可以使用Tmds.DBus工具生成。 我已经阅读了Bluez文档和大多数现有示例(基于python和c), 但我不明白如何在.NETCore中定义和宣传GATT服务器 任何人都可以提供.Net示例或任何其他解决方案吗?创建BlueZ D-Bus API的外围设备是更棘手的事情之一。您需要创建GATT服务器和广告。与GATT

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


任何人都可以提供.Net示例或任何其他解决方案吗?

创建BlueZ D-Bus API的外围设备是更棘手的事情之一。您需要创建GATT服务器和广告。与GATT客户机不同,创建服务器需要在DBU上注册对象

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

然后,我使用该关键字进行搜索,并在使用该库时打开该库:


这看起来应该引起您的兴趣。

创建一个BlueZ外围设备是使用BlueZ D-Bus API要做的更棘手的事情之一。您需要创建GATT服务器和广告。与GATT客户机不同,创建服务器需要在DBU上注册对象

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

然后,我使用该关键字进行搜索,并在使用该库时打开该库:


看起来您应该对此感兴趣。

您遇到了什么错误?您提供的链接已经有示例代码,所以您一定有错误。@jdweng那篇文章中的示例是关于连接到gatt服务(它是一个gatt客户端),但我想创建并运行一个gatt服务器,公开一个服务(外围蓝牙模式)。您想开发自己的具有两个端口的云应用程序。1) 连接到gatt服务(2)的客户端是一个接受客户端的云服务器应用程序。你不是在创建gatt服务,只是连接到一个现有的服务。你说的云应用是什么意思?蓝牙LE连接中的每个设备可以有两个角色,客户端或服务器。服务器公开一些服务和特性,客户端设备可以连接和使用这些服务。云应用是一个服务器。您需要一个客户端可以连接并与Tmds库通信的网页(服务器)。您遇到了什么错误?您提供的链接已经有示例代码,所以您一定有错误。@jdweng那篇文章中的示例是关于连接到gatt服务(它是一个gatt客户端),但我想创建并运行一个gatt服务器,公开一个服务(外围蓝牙模式)。您想开发自己的具有两个端口的云应用程序。1) 连接到gatt服务(2)的客户端是一个接受客户端的云服务器应用程序。你不是在创建gatt服务,只是连接到一个现有的服务。你说的云应用是什么意思?蓝牙LE连接中的每个设备可以有两个角色,客户端或服务器。服务器公开一些服务和特性,客户端设备可以连接和使用这些服务。云应用是一个服务器。您需要一个网页(服务器),客户端可以连接并与Tmds库通信。非常感谢@ukBaz,我测试了该库,它工作得非常好。非常感谢@ukBaz,我测试了该库,它工作得非常好。