c#读蓝牙数据_“我的硬件”基础教程篇|蓝牙对接

本文档详细介绍了如何使用C#进行蓝牙4.0通信,重点讲解了针对低功耗蓝牙的对接过程。内容包括理解蓝牙4.0的GATT服务和特征值,以及如何通过设置读写特征值来实现串口透传模块的通信配置。此外,还提供了硬件应用中连接和断开蓝牙的步骤。
摘要由CSDN通过智能技术生成
点击上方 蓝色文字关注公众号

 在前面一章已经介绍了如何创建应用,下面开始讲解如何给硬件应用设置通信方式。目前有两种方式可供选择,分别是蓝牙和MQTT,本章介绍蓝牙对接。

1准备工作

   由于微信小程序官方对蓝牙设备的限制,只能使用低功耗蓝牙对接硬件,这个低功耗蓝牙一般来说就是具有蓝牙4.0协议栈以上的蓝牙协议的2.4G无线设备。

dd30fa4bd0e39a80dd8f9c6267a9ce8a.png

某宝上的蓝牙4.0模块

   还没接触过蓝牙4.0的同学可能对这个概念有点搞不清楚,它和以前的蓝牙2.0或蓝牙3.0有什么区别?其实区别确实挺大的,首先蓝牙4.0引入了GATT服务这么一个概念,它包括BLE规范里面强制的GATT服务和开发者自定义的GATT服务,每个服务下面包括了不同的特征值,特征值有带有各种属性,比如write、notify、read等。

43e56246ba202236f8725ad0aae397ff.png

Nordic蓝牙工具查看到的信息

   如何去理解它们的关系呢?就好比一个设备开放了多个接口,每个接口有不同的作用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在C#中从蓝牙设备获取数据,你需要使用.NET Framework提供的Bluetooth API。以下是一个简单的代码示例: ```csharp using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO.Ports; using InTheHand.Net.Sockets; using InTheHand.Net.Bluetooth; namespace BluetoothDemo { class Program { static void Main(string[] args) { // 获取本机蓝牙设备列表 BluetoothClient client = new BluetoothClient(); BluetoothDeviceInfo[] devices = client.DiscoverDevices(); // 选择要连接的设备 BluetoothDeviceInfo device = null; foreach (BluetoothDeviceInfo d in devices) { if (d.DeviceName == "MyDeviceName") { device = d; break; } } if (device != null) { // 连接设备 BluetoothClient client2 = new BluetoothClient(); BluetoothEndPoint ep = new BluetoothEndPoint(device.DeviceAddress, BluetoothService.SerialPort); BluetoothClient client3 = new BluetoothClient(); client3.Connect(ep); // 打开串口通信 SerialPort serialPort = new SerialPort(); serialPort.PortName = "COM1"; // 选择一个未使用的串口号 serialPort.BaudRate = 9600; serialPort.Parity = Parity.None; serialPort.DataBits = 8; serialPort.StopBits = StopBits.One; serialPort.Open(); // 从蓝牙设备数据并输出到控制台 while (true) { if (serialPort.BytesToRead > 0) { Console.Write((char)serialPort.ReadByte()); } } // 关闭串口通信 serialPort.Close(); } else { Console.WriteLine("Device not found."); } Console.ReadLine(); } } } ``` 注意,你需要在项目中引用`InTheHand.Net.Personal.dll`和`InTheHand.Net.Sockets.dll`。此外,你需要将`MyDeviceName`替换为你要连接的蓝牙设备的名称。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值