概述

本来以为用Unity开发蓝牙功能非常简单,但是实际上去测试的时候才发现,还是有不少问题的。Unity中蓝牙通讯插件基本上也都是是用于安卓和ios系统的,但是现在的需求是要和HC-02蓝牙串口模块进行通讯,很显然就不符合需求,然后我就想到.net的库如此丰富,写完功能集成到Unity中不就可以了吗!如此便有了这篇博客做个简单的记录,希望能够帮助到需要的开发同僚。

开发环境

  1. Unity2019.4.29f1

  2. Visual Studio 2019

  3. Unity .Net 4.x

本次使用到的.net包

  1. System.IO.Ports
    这个包可以直接在VS的Nuget包管理中下载安装,用于串口通讯,主要使用了SerialPort这个类
  2. InTheHand.Net.Bluetooth.4.0.20

    这个包就是和蓝牙建立连接用的,主要用到了BluetoothClient、BluetoothAddress、BluetoothService这几个类的功能,这个包必须要在Unity中导入动态连接库(DLL)才可以使用。

在这里给到各位一个Unity非常好用的插件,“NuGetForUnity”这个插件可以让你在Unity中非常容易的使用.net所有的包,一键安装非常安逸,以下是百度云链接,有需要的可以拿走,算是一点小福利
链接:https://pan.baidu.com/s/1FWNYAo8YuNJnwp3RfGrWPw
提取码:zg1f


正文

 void Start(){//创建一个蓝牙客户端对象BluetoothClient client = new BluetoothClient();//创建一个串口对象,这里的串口根据电脑的不同,自行填写,我这里用的是COM6SerialPort com = new SerialPort("COM6");//设置串口对象的一些基本参数com.BaudRate = 9600; //波特率com.Parity = Parity.None; //校验位com.StopBits = StopBits.One;//停止位com.Handshake = Handshake.RequestToSend;//控制协议//打开串口com.Open();//蓝牙的唯一标识,可要可不要,下面会赋值一次,我只是用来做对照,此处的蓝牙唯一标识是倒序的,注意一下BluetoothAddress blueAddress = new BluetoothAddress(new byte[] { 0x24, 0x49, 0x05, 0xbf, 0x0c, 0x00 });print(blueAddress); //从搜索到的所有蓝牙设备中选择需要的那个foreach (var item in client.PairedDevices){print(item.DeviceName);//蓝牙模块的名字叫hc-02if (item.DeviceName.Equals("HC-02")){print("找到啦");print("正在连接!");//获得蓝牙模块的唯一标识符blueAddress = item.DeviceAddress;     //打印对照print(blueAddress);//开始连接唯一标识过的蓝牙client.Connect(blueAddress, BluetoothService.SerialPort);if (client.Connected){print("连接成功!");//创建IO流对象Stream peerStream = client.GetStream();  //发送测试HEXData = { 0xaa, 0xaa, 0x01, 0x02, 0x99, 0x05, 0x45, 0x00};// 发送指令peerStream.Write(HEXData, 0, HEXData.Length); print("发送成功!");}}}}void Update(){//TODO 这里还要写一份接收串口消息的代码 用于一直监听蓝牙的状态}

准备工作做完以后,正文的工作就非常简单了,都是C#的基础知识应用,我在这里贴出了发送消息的代码,接收消息的代码我就没写了,都是非常简单的内容。在代码上我都写了注释,清晰易懂,大家按照自己的需求把功能写完善封装好即可。


这里再提醒一下, 波特率,校验位,停止位,控制协议等都要保持一致,否则可能会出现无法正常通讯的情况
还有在做通讯测试的时候,在汇承自带的工具中,记得点开HEX接收,因为都是16进制的数据,不点这个会无法
显示数据。

蓝牙的唯一标识在设备和打印机这个里面看


Unity与汇承HC-02蓝牙串口模块通讯相关推荐

  1. 20220728使用电脑上的蓝牙和汇承科技的蓝牙模块HC-05配对蓝牙串口传输

    20220728使用电脑上的蓝牙和汇承科技的蓝牙模块HC-05配对蓝牙串口传输 2022/7/28 11:27 电脑:DELL Vostro 3888,WIN10系统 五.蓝牙模块如何与电脑连接(从模 ...

  2. uniapp app蓝牙打印_编程器加装蓝牙串口模块与手机APP操作演示

    编程器加装蓝牙模块后,可以方便的使用手机查看打印信息,进入控制台执行各种串口命令.本款蓝牙串口APP具有保存打印信息.分享打印信息.设置字体大小.清除屏幕信息.进入控制台.发送串口命令.执行串口命令- ...

  3. HC-02蓝牙串口模块的配置和使用

    HC-02蓝牙串口模块是基于蓝牙2.0并兼容BLE的双模蓝牙数传模块,带底板的蓝牙模块如下图: 模块可以作为从机与HC-05或HC-06的主机设备通信,也可以和手机通信. 模块在上电未连接蓝牙的时候L ...

  4. android车机蓝牙,安卓APP通过蓝牙串口模块控制DSP车机收音机

    从零开始,嘀咕很久 终于可以使用了... 安卓APP是电脑版xdr-gtk 的手机版控制,频谱扫描和RDS还没嘀咕好... 手机APP是在 ace919 eggplant886两位控制DSP车机的基础 ...

  5. android 车载蓝牙模块,安卓APP通过蓝牙串口模块控制DSP车机收音机

    从零开始,嘀咕很久 终于可以使用了... 安卓APP是电脑版xdr-gtk 的手机版控制,频谱扫描和RDS还没嘀咕好... 手机APP是在 ace919 eggplant886两位控制DSP车机的基础 ...

  6. 关于蓝牙串口模块开发

    我想做一个蓝牙串口APP,跟我的蓝牙串口模块进行通讯,但网上找的例子都是查找蓝牙,蓝牙配对什么步骤,这些步骤每个手机都可以手动做,没必要弄了吧,怎么还弄这些步骤呢?只要手动配对后再监听就可以了吧?有开 ...

  7. android蓝牙模块有哪些类型,蓝牙串口模块是什么?怎么用?有哪些种类?

    燚智能点评:蓝牙串口模块,分为经典蓝牙串口(4.0以前的)和BLE串口(4.0以后).经典蓝牙的速度快,和普通串口速度相当,功耗高.BLE的速度慢,也就1K每秒上下,但是功耗低. 如果做物联网产品的控 ...

  8. arduino蓝牙通讯代码_通过手机控制蓝牙串口模块与Arduino通讯

    功能 通过手机APP向蓝牙模块发送指令,蓝牙模块通过串口将指令传递给Arduino开发板,并由Arduino做出反馈,传递给手机. 工具材料Arduino 开发板 ×1 蓝牙串口模块×1 Androi ...

  9. java 蓝牙读取数据格式,单片机与安卓手机通过蓝牙串口模块利用JSON数据格式通信实例...

    原标题:单片机与安卓手机通过蓝牙串口模块利用JSON数据格式通信实例 JSON 指的是 Java 对象表示法(Java Object Notation),JSON 是轻量级的文本数据交换格式,JSON ...

最新文章

  1. Y1ng‘s BabyCode
  2. 使用cordova serve build以及tomcat进行web 调试。
  3. nginx服务器的配置
  4. cnn输入层_多尺度CNN特征图的分析与应用
  5. sql 自定义函数 示例_SQL Server SESSION_CONTEXT()函数与示例
  6. 开源框架Struts:FormBean滴那些事儿
  7. AO*算法详解,附例子和算法详细步骤
  8. 初始runtime(运行时机制)
  9. 恐龙机器人钢索恐龙形态_恐龙有的四脚行走有的两脚行走,有的会飞有的会游,差别咋这么大...
  10. CPU的工作原理浅析
  11. maya2018 + VS2017 C++编译环境搭建
  12. 纸鸢|物联设备PLC梯形图编程
  13. mysql partition赋权_Mysql的赋权
  14. 教你win10更新失败怎么解决,win10系统更新失败怎么办
  15. 看懂nfl定理需要什么知识_NFL球队为什么不经常通过?
  16. 解决更新包与已安装应用的签名不一致的问题
  17. 开源项目车牌识别EasyPR的使用
  18. Delphi 屏蔽系统的Ctrl+Alt+Del
  19. 论文阅读笔记:ProjectionNet: Learning Efficient On-Device Deep Networks Using Neural Projections
  20. 打印机设置为双面打印

热门文章

  1. 领带的打法10种——男士必看,女士更要看(图)
  2. GDAL for Python教程(2)
  3. RayFire 3D爆炸碎裂效果制作插件(中文序列号激活版下载)
  4. 分布式算法真是吊炸天 – memcached - 第287篇
  5. 渔网-刺网-三层刺网:三层刺网
  6. 北邮某牛人找工作切身感受
  7. 分享券商量化交易接口申请流程
  8. Codeforces 444 C - DZY Loves Colors
  9. supersoket2.0 预告片
  10. 基于java的购物中心商铺管理系统的设计与实现/商铺管理系统