Chris Sidion Stack Overflow • Recommends
On “Utilizing bluetooth LE on Raspberry Pi using .Net Core”
Background
BlueZ is the Bluetooth stack on Linux. The BlueZ developers encourage the use of their high-level D-Bus APIs. (Source: link to this video or https://elinux.org/images/3/32/Doing_Bluetooth_Low_Energy_on_Linux.pdf, slide 22.) D-Bus lets you control all sorts of system services, and there are D-Bus bindings/packages for lots of platforms including .Net Core. So it should be somewhat simple to write a GATT client or GATT server using .Net targeting Linux (e.g. Raspbian Lite).
Solution
For .Net Core you can use Tmds.DBus to access D-Bus. Tmds.DBus comes with a tool to generate the C# interfaces for a D-Bus service. I used bluetoothctl , the BlueZ interactive command-line tool, to scan and…