Unity与汇承HC-02蓝牙串口模块通讯
概述
本来以为用Unity开发蓝牙功能非常简单,但是实际上去测试的时候才发现,还是有不少问题的。Unity中蓝牙通讯插件基本上也都是是用于安卓和ios系统的,但是现在的需求是要和HC-02蓝牙串口模块进行通讯,很显然就不符合需求,然后我就想到.net的库如此丰富,写完功能集成到Unity中不就可以了吗!如此便有了这篇博客做个简单的记录,希望能够帮助到需要的开发同僚。
开发环境
Unity2019.4.29f1
Visual Studio 2019
Unity .Net 4.x
本次使用到的.net包
- System.IO.Ports
这个包可以直接在VS的Nuget包管理中下载安装,用于串口通讯,主要使用了SerialPort这个类 - 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蓝牙串口模块通讯相关推荐
- 20220728使用电脑上的蓝牙和汇承科技的蓝牙模块HC-05配对蓝牙串口传输
20220728使用电脑上的蓝牙和汇承科技的蓝牙模块HC-05配对蓝牙串口传输 2022/7/28 11:27 电脑:DELL Vostro 3888,WIN10系统 五.蓝牙模块如何与电脑连接(从模 ...
- uniapp app蓝牙打印_编程器加装蓝牙串口模块与手机APP操作演示
编程器加装蓝牙模块后,可以方便的使用手机查看打印信息,进入控制台执行各种串口命令.本款蓝牙串口APP具有保存打印信息.分享打印信息.设置字体大小.清除屏幕信息.进入控制台.发送串口命令.执行串口命令- ...
- HC-02蓝牙串口模块的配置和使用
HC-02蓝牙串口模块是基于蓝牙2.0并兼容BLE的双模蓝牙数传模块,带底板的蓝牙模块如下图: 模块可以作为从机与HC-05或HC-06的主机设备通信,也可以和手机通信. 模块在上电未连接蓝牙的时候L ...
- android车机蓝牙,安卓APP通过蓝牙串口模块控制DSP车机收音机
从零开始,嘀咕很久 终于可以使用了... 安卓APP是电脑版xdr-gtk 的手机版控制,频谱扫描和RDS还没嘀咕好... 手机APP是在 ace919 eggplant886两位控制DSP车机的基础 ...
- android 车载蓝牙模块,安卓APP通过蓝牙串口模块控制DSP车机收音机
从零开始,嘀咕很久 终于可以使用了... 安卓APP是电脑版xdr-gtk 的手机版控制,频谱扫描和RDS还没嘀咕好... 手机APP是在 ace919 eggplant886两位控制DSP车机的基础 ...
- 关于蓝牙串口模块开发
我想做一个蓝牙串口APP,跟我的蓝牙串口模块进行通讯,但网上找的例子都是查找蓝牙,蓝牙配对什么步骤,这些步骤每个手机都可以手动做,没必要弄了吧,怎么还弄这些步骤呢?只要手动配对后再监听就可以了吧?有开 ...
- android蓝牙模块有哪些类型,蓝牙串口模块是什么?怎么用?有哪些种类?
燚智能点评:蓝牙串口模块,分为经典蓝牙串口(4.0以前的)和BLE串口(4.0以后).经典蓝牙的速度快,和普通串口速度相当,功耗高.BLE的速度慢,也就1K每秒上下,但是功耗低. 如果做物联网产品的控 ...
- arduino蓝牙通讯代码_通过手机控制蓝牙串口模块与Arduino通讯
功能 通过手机APP向蓝牙模块发送指令,蓝牙模块通过串口将指令传递给Arduino开发板,并由Arduino做出反馈,传递给手机. 工具材料Arduino 开发板 ×1 蓝牙串口模块×1 Androi ...
- java 蓝牙读取数据格式,单片机与安卓手机通过蓝牙串口模块利用JSON数据格式通信实例...
原标题:单片机与安卓手机通过蓝牙串口模块利用JSON数据格式通信实例 JSON 指的是 Java 对象表示法(Java Object Notation),JSON 是轻量级的文本数据交换格式,JSON ...
最新文章
- atitit.mp4 视频文件多媒体格式结构详解
- javascript之实现bind
- c#后台修改前台DOM的css属性
- android singleTop 不起作用
- 为ASP.NET MVC配置基于Active Directory的表单认证方式
- java 进程100_原创:如何排查java进程cpu100%的问题
- 2019年全栈工程师技术指南和趋势!
- 60万元奖金 “人脸攻防战”,怎么打?丨独家公开课实录(附baseline)
- 机器人植入情感芯片利与弊_马斯克活猪脑机接口试验成功!多芯片植入,硬币大小,实时读取脑电波,已被批准人脑实验...
- 【BERT】小学生级上手教程,从原理到上手全有图示,还能直接在线运行
- WannaCry深度详细分析报告 转
- Pandas速查手册中文
- 如何去除图片背景变透明?透明背景图片怎么做?
- breadweb控制台下载_路由器刷breed助手下载
- 8类网线利弊_超6类7类8类网线进来挨打 6类线全面测评 网速和传输速率测试
- 微信开放平台 第三方平台开发
- [前端三剑客之CSS]display:none opacity:0 visibility:hidden三角恋的爱恨情仇
- hangman游戏c语言,英语游戏 猜词游戏hangman
- Ubuntu20.04下配置Anaconda3+NVIDIA 驱动+Cuda11.1+Cudnn8.0.5
- php大文件读取excel分割,如何用phpspreadsheet来切割excel大文件(附代码)
热门文章
- 以太坊源码解读(1)以太坊核心概念
- H3U-PLC/AutoShop软件符号表显示注释
- 课程设计-基于SSM的美容美发造型预约管理系统代码Java理发剪发设计造型系统vue美发店管理系统
- 【Visual Studio Code】自动更新失败解决方法
- Apple Developer:Verify your identity and review the updated license agreement.
- 车载空调三态压力开关
- 简单实现Java定时器
- ARM通用中断控制器GIC之中断处理简介
- 【产品推荐】河道水质监测站——水质监测平台
- 宠物连连看2完整Android代码项目