PC上面的蓝牙的通信(C#)

添加引用InTheHand.Net.Personal.dll

首先创建一个蓝牙类

1 class LanYa {
2 public string blueName { get; set; }                                   //l蓝牙名字
3 public BluetoothAddress blueAddress { get; set; }               //蓝牙的唯一标识符
4 public ClassOfDevice blueClassOfDevice { get; set; }            //蓝牙是何种类型
5 public bool IsBlueAuth { get; set; }                                    //指定设备通过验证
6 public bool IsBlueRemembered { get; set; }                        //记住设备
7 public DateTime blueLastSeen { get; set; }
8 public DateTime blueLastUsed { get; set; }
9 }

然后就是搜索设备

1 List<LanYa> lanYaList = new List<LanYa>();                //搜索到的蓝牙的集合
2 BluetoothClient client = new BluetoothClient();
3 BluetoothRadio radio = BluetoothRadio.PrimaryRadio;  //获取蓝牙适配器
4 radio.Mode = RadioMode.Connectable;
5 BluetoothDeviceInfo[] devices = client.DiscoverDevices();//搜索蓝牙  10秒钟
6 foreach (var item in devices) {
7 lanYaList.Add(new LanYa { blueName = item.DeviceName, blueAddress = item.DeviceAddress, blueClassOfDevice = item.ClassOfDevice, IsBlueAuth = item.Authenticated, IsBlueRemembered = item.Remembered, blueLastSeen = item.LastSeen, blueLastUsed = item.LastUsed });//把搜索到的蓝牙添加到集合中
8 }

蓝牙的配对

1 BluetoothClient blueclient = new BluetoothClient();
2 Guid mGUID1 = BluetoothService.Handsfree;       //蓝牙服务的uuid
3
4  blueclient.Connect(s.blueAddress, mGUID)      //开始配对  蓝牙4.0不需要setpin

客户端

 1 BluetoothClient bl = new BluetoothClient();//
 2 Guid mGUID2 = Guid.Parse("00001101-0000-1000-8000-00805F9B34FB");//蓝牙串口服务的uuiid
 3
 4 try
 5 {
 6 bl.Connect(s.blue_address, mGUID);
 7 //"连接成功";
 8 }
 9 catch(Exception x)
10 {
11 //异常
12 }
13
14 var v = bl.GetStream();
15 byte[] sendData = Encoding.Default.GetBytes(“人生苦短,我用python”);
16 v.Write(sendData, 0, sendData.Length);              //发送

服务器端

 1 bluetoothListener = new BluetoothListener(mGUID2);
 2 bluetoothListener.Start();//开始监听
 3
 4 bl = bluetoothListener.AcceptBluetoothClient();//接收
 5
 6
 7 while (true)
 8 {
 9 byte[] buffer = new byte[100];
10 Stream peerStream = bl.GetStream();
11
12 peerStream.Read(buffer, 0, buffer.Length);
13
14 string data= Encoding.UTF8.GetString(buffer).ToString().Replace("\0", "");//去掉后面的\0字节
15 }

基本上就是这些吧!

时间: 2024-08-06 10:22:23

PC上面的蓝牙的通信(C#)的相关文章

在PC上测试移动端网站和模拟手机浏览器的5大方

查了很多资料,尝试了大部分方法,下面将这一天的努力总结下分享给大家,也让大家免去看那么多文章,以下介绍的方法,都是本人亲自测试成功的方法,测试环境winxp. 一.Chrome*浏览器 chrome模拟手机总共有四种方法,原理都一样,通过伪装User-Agent,将浏览器模拟成Android设备.以下标星的为推荐方法. 1.新建Chrome快捷方式 右击桌面上的Chrome浏览器图标,在弹出的右键菜单中选择"复制",复制一个图标副本到桌面.右击该副本,选择"属性",

BluetoothChat用于蓝牙串口通信的修改方法

本人最近在研究嵌入式的串口通信,任务是要写一个手机端的遥控器用来遥控双轮平衡小车.界面只用了一个小时就写好了,重要的问题是如何与板子所带的SPP-CA蓝牙模块进行通信. SPP-CA模块自带代码,在这里我使用的全部都是SPP-CA的默认模式.其中波特率是9600.读者若要修改其匹配密码,波特率等请使用串口调试工具对SPP-CA使用AT命令进行修改.详情参考其技术手册. 首先介绍Android端,官方的SDK中给了一个BluetoothChat的版本,这个版本稍加修改就可以进行串口通信.由于源代码

在PC上测试移动端网站和模拟手机浏览器的5大方法

查了很多资料,尝试了大部分方法,下面将这一天的努力总结下分享给大家,也让大家免去看那么多文章,以下介绍的方法,都是本人亲自测试成功的方法,测试环境winxp. 一.Chrome*浏览器 chrome模拟手机总共有四种方法,原理都一样,通过伪装User-Agent,将浏览器模拟成Android设备.以下标星的为推荐方法. 1.新建Chrome快捷方式 右击桌面上的Chrome浏览器图标,在弹出的右键菜单中选择"复制",复制一个图标副本到桌面.右击该副本,选择"属性",

绕过限制,在PC上调试微信手机页面

场景 假设一个手机页面,开发者对其做了限制,导致只能在微信客户端中打开.而众所周知手机上非常不利于调试页面,所以需要能在电脑上打开并进行调试.这里针对常见的三种页面做一下分析,一一绕过其限制,(当然不要拿去干坏事) 工具准备 方便调试的浏览器.个人喜欢Chrome,本文基于Chrome 43.0.2357.130 (正式版本) m (32 位)环境. 抓包工具,推荐fiddler4,当然你比较喜欢Wireshark的话也可以,反正只要是能抓到cookies就都可以 能编辑cookies的浏览器插

在PC上运行安卓(Android)应用程序的几个方法

我有一部荣耀3C,一般放在宿舍(我随身携带的是一部诺基亚E63,小巧.稳定.待机时间长),在宿舍我就会用它在微信上看公众号里的文章,最近要考驾照也在上面用驾考宝典.最近想在实验室用这两个软件,但又懒得带手机,而微信没有PC版,驾考宝典的PC版暂时没法同步数据,于是就想在PC上运行这两个软件,搜索了一阵子,找到三种方法: 1.在PC安装一个安卓模拟器,在模拟器里面运行apk: 2.虚拟机安装 Android x86 然后在此系统里运行: 3.利用谷歌chrome浏览器运行(这是一个新颖.有前途.激

Hello China操作系统在Virtual PC上的安装和使用

http://blog.csdn.net/hellochina15/article/details/7253350 本文介绍如何在Windows 7操作系统和Virtual PC 2007虚拟机上安装Hello China操作系统,Hello China的版本是V1.75.对于Windows XP等非Windows 7操作系统,由于不能直接支持虚拟硬盘,不能按照本文介绍的方法安装Hello China的GUI功能,但是可以安装内核和基于字符界面的shell. HelloChina在Virtual

在PC上运行安卓(Android)应用程序的4个方法

我有一部荣耀3C,一般放在宿舍(我随身携带的是一部诺基亚E63,小巧.稳定.待机时间长),在宿舍我就会用它在微信上看公众号里的文章,最近要考驾照也在上面用驾考宝典.最近想在实验室用这两个软件,但又懒得带手机,而微信没有PC版,驾考宝典的PC版暂时没法同步数据,于是就想在PC上运行这两个软件,搜索了一阵子,找到三种方法: 1.在PC安装一个安卓模拟器,在模拟器里面运行apk: 2.虚拟机安装 Android x86 然后在此系统里运行: 3.利用谷歌chrome浏览器运行(这是一个新颖.有前途.激

局域网内任何一台pc上windows下eclipse远程连接hbase数据库

通过很长一段时间的反复失败,终于在windows下实现远程连接hbase数据库,在不断的尝试过程中深感一个详细的文档的重要性,于是就把我配置的详细过程记录下来.文中如果有些地方用词不当,或者理解错误,欢迎您们评论. 一.运行平台 hbase服务器端:Ubuntu 14.04 64位:HBASE1.1.3:JAVA 1.8: hbase客服端:windows32/64位:JAVA1.8:eclipse 4.5: 二.linux服务器端环境配置 1.  安装java 1.8软件 1)下载java软件

在PC上调试微信手机页面的三种方法

场景 假设一个手机页面,开发者对其做了限制,导致只能在微信客户端中打开.而众所周知手机上非常不利于调试页面,所以需要能在电脑上打开并进行调试.这里针对常见的三种页面做一下分析,一一绕过其限制,(当然不要拿去干坏事) 工具准备 ????1.方便调试的浏览器.个人喜欢Chrome,本文基于Chrome 43.0.2357.130 (正式版本) m (32 位)环境: 2.抓包工具,推荐fiddler4,当然你比较喜欢Wireshark的话也可以,反正只要是能抓到cookies就都可以: 3.能编辑c