unity 2017.3 安卓蓝牙(二)订阅蓝牙及数据解析

unity 2017.3 安卓蓝牙(一)初始化蓝牙连接 最近在使用Bluetooth+LE+for+iOS+and+Android+v2.3这个插件开发基于安卓设备的蓝牙模块。蓝牙模块大概分成七步:1.建立中心角色2.扫描外设(discover)3.连接外设(connect)4.扫描外设中的服务和特征(discover)    4.1 获取外设的services    4.2 获取外设的Characteristics,获取Characteristics... 阅读详情

接上篇,我们写到了连接蓝牙,之后我们就需要订阅蓝牙的信息了。

订阅蓝牙消息

最后一个参数是一个回调,它会传回三个信息分别是地址、UUID和数据,这个数据是串口通讯中常用的byte[],出于项目需要,我要进行一次数据转换。

    /// <summary>
    /// 订阅蓝牙消息
    /// </summary>
    public void SubscribeBluetoothMsg()
    {
        Show("开始订阅机器人消息!");

        BluetoothLEHardwareInterface.SubscribeCharacteristicWithDeviceAddress(bleAddress, _ServiceUUID, _NotifyUUID, delegate { }, OnCharacteristicNotification);
    }

数据转换

这部分代码负责将收到的数据转换为16进制字符串信息,并显示在UI上方便观察。

    /// <summary>
    /// 数据转换
    /// </summary>
    void OnCharacteristicNotification(string deviceAddress, string characteristicUUID, byte[] data)
    {
        Show("数据解析");
        StringBuilder hex = new StringBuilder(data.Length * 2);
        foreach (byte b in data)
        {
            hex.AppendFormat("{0:x2}", b);
        }
        string str = hex.T
Unity Bluetooth LE Plugin for Android插件的使用记录 Unity用插件蓝牙连接外部设备,并且接收信息 阅读详情

相关推荐

unity 2017.3 安卓蓝牙(三)向蓝牙设备发送(Write)消息

API插件为我们准备的API是BluetoothLEHardwareInterface.WriteCharacteristic(string name, string service, string characteristic, byte[] data, int length, bool withResponse, Action&lt;string&gt; action);共七个参数,分别是:设...

Testiness_Wind的博客 4368

Unity Android蓝牙低功耗(BLE)插件开发实战指南

本文为Unity开发者提供了Android蓝牙低功耗(BLE)插件开发的完整实战指南。详细解析了从环境配置、权限申请到设备扫描、连接及数据通信的核心流程,并分享了动态权限处理、后台连接保持等进阶避坑技巧,帮助开发者高效实现Unity应用与智能硬件的BLE通信。

rgv23456789的博客 641

Unity蓝牙跨平台开发终极指南:从核心原理到实战避坑

蓝牙(Bluetooth)作为一种短距离无线通信技术,其核心原理基于射频通信,通过协议栈实现设备间的数据交换。在移动应用与物联网开发中,蓝牙技术价值显著,尤其适用于智能硬件连接、设备间数据传输等应用场景。Unity引擎作为跨平台开发工具,整合蓝牙功能时需处理Android与iOS的平台差异,涉及低功耗蓝牙(BLE)通信、GATT协议及原生插件调用等关键技术。本文聚焦Unity蓝牙开发,针对跨平台通信架构设计、数据读写优化及平台特定疑难问题提供解决方案,涵盖Android JNI交互、iOS后台限制等实践要点

weixin_30947043的博客 401

Unity+Arduino蓝牙通信避坑指南:5分钟搞定BLE设备连接(含完整代码示例)

本文详细介绍了Unity与Arduino通过BLE(低功耗蓝牙)实现高效通信的完整方案,包括环境配置、设备连接核心流程、数据交换优化策略及实战案例。重点解析BLE与经典蓝牙协议的差异,提供可直接复用的代码示例,帮助开发者快速解决智能硬件交互中的通信问题。

c2d3e4f的博客 1029

基于Arduino与Unity的PICO 4 VR触觉手套DIY全攻略

触觉反馈技术是提升虚拟现实沉浸感的关键,其核心原理是通过执行器模拟物理接触的力或震动感。在物联网与嵌入式系统领域,利用微控制器驱动执行器并与上位机通信是实现该技术的常见工程实践。Arduino作为开源硬件平台,结合其丰富的传感器与执行器生态,为快速原型开发提供了便利;而Unity引擎强大的XR交互开发能力,则使其成为连接虚拟内容与物理硬件的中枢。本项目正是这一技术组合的典型应用:通过Arduino(推荐ESP32)驱动**震动电机**阵列,构建可穿戴手套硬件;利用**蓝牙**无线通信协议,建立与PICO 4

weixin_33806300的博客 475

Unity蓝牙开发终极指南:跨平台通信原理、实战方案与性能优化

蓝牙通信作为设备间无线连接的基础技术,其核心在于协议栈的交互与数据交换机制。从原理层面看,蓝牙分为经典蓝牙与低功耗蓝牙两大协议类型,分别适用于高速数据流传输与低功耗间歇性通信场景。在技术实现上,由于Unity引擎本身不直接集成操作系统底层的硬件驱动接口,开发者需要通过平台特定的插件机制进行桥接,调用Android、iOS或Windows的原生蓝牙API。这一技术方案的价值在于打通了Unity应用与物理世界的连接通道,使得智能硬件控制、物联网设备交互、AR/VR增强体验等应用场景成为可能。针对Unity蓝牙开

weixin_27014595的博客 267

Unity蓝牙手柄串口通信:SerialPort避坑与实战解决方案

串口通信是硬件交互的经典方式,通过定义波特率、数据位等参数实现设备间数据交换。其原理基于稳定的字节流传输,在工业控制、嵌入式开发中广泛应用。然而,当这一技术应用于无线蓝牙环境时,尤其是通过虚拟COM端口连接蓝牙手柄,其固有的稳定性假设面临挑战。蓝牙协议栈的动态连接特性、系统权限管理以及Unity引擎的特殊运行环境,使得直接使用C#的SerialPort类极易引发权限异常、数据乱码或连接超时等问题。本文聚焦Unity开发中蓝牙手柄的串口通信实践,深入剖析SerialPort在无线场景下的适配难点,并提供从端口

weixin_34034670的博客 535

Unity与Arduino BLE通信插件开发:从GATT协议到跨平台数据流实战

蓝牙低功耗(BLE)技术凭借其低功耗、快速连接和广泛的原生支持,已成为物联网设备与移动应用、游戏引擎通信的关键桥梁。其核心基于GATT协议,通过定义服务、特性和描述符,实现了设备间的结构化数据交换。在游戏开发、数字孪生和交互艺术领域,BLE的价值在于能够将物理世界的传感器数据(如陀螺仪、按钮)或执行器指令(如电机控制)实时、无线地接入虚拟环境,创造沉浸式互动体验。本文聚焦于解决Unity引擎与Arduino等嵌入式硬件通过BLE通信的工程挑战,详细阐述了如何设计一个兼顾直接GATT操作与高效数据流管理的跨平

weixin_34345753的博客 438

Unity安卓FPS+RPG+生存手游开发:从核心玩法到手柄支持实战

在移动游戏领域,第一人称射击(FPS)游戏因其强烈的沉浸感和紧张刺激的对抗性,一直是玩家和开发者关注的热点。然而,纯粹的射击玩法已难以满足玩家日益增长的需求,将角色扮演(RPG)的成长、叙事和生存建造等元素融入其中,正成为手游创新的重要方向。今天要探讨的,正是这样一个融合了RPG元素的硬核末日生存题材FPS手游——《太阳天堂的钥匙》v0.9.9版本,其对手柄的原生支持更是为移动端FPS体验带来了新的可能。本文将深入解析这类融合型游戏的设计思路、技术实现,并重点探讨在安卓平台上实现手柄支持的关键技术与实战方案

weixin_34008784的博客 416

Unity 蓝牙终极指南:从理论到实战,无线连接你的硬件

我将遵循我们一贯的风格:从高级概念入手,解释其复杂性所在,然后提供一个基于现有开源库的、经过验证的、可操作性极强的实战教程,并附上完整的代码和详细注释。前言:剪断那根线!你已经掌握了如何通过 USB 线连接硬件,但这还不够酷。想象一下:玩家挥舞着一个自定义的无线魔杖,游戏中的法术随之舞动;一个可穿戴的生物传感器实时将心率数据传输到 VR 训练应用中;或者一个便携的物理设备无线控制着数字孪生模型。这一切的核心技术,就是蓝牙。然而,在 Unity 中实现蓝牙通信并非易事。。

leoysq的博客 287

Bluetooth+LE+for+iOS+and+Android+v2.3

Bluetooth+LE+for+iOS+and+Android+v2.3

组态王|组态王通过选择日期实现历史数据的查询

②在弹出的【插入通用控件】对话框选择【Calender Control】控件,然后点击【确定】按钮,关闭对话框,然后在画面上适当的位置按住鼠标左键并拖动,绘制出一个矩形框,放开鼠标,就完成了控件的绘制。此函数将指定的时间格式(年,月,日,时,分,秒)转换为以秒为单位的长整型数,转换的时间基准是UTC(格林尼治)1970年1月1日00:00:00。实现内容,通过两个日历控件选择开始日期和结束日期,然后点击【历史数据查询】按钮,在报表中显示对应时间段的数据集。另外你用过哪些组态软件?

做有价值的事,积累有价值的笔记! 4565

OpenSceneGraph编译、安装、开发环境

详细描述WIndows 10下使用Visual Studio 2019编译OpenSceneGraph 3.6.5的操作流程

国产CAx(CAD/CAE/CAM)软件研发 8772

别再手动写用例了!用AI Agent自动生成测试用例的保姆级实战(附Python代码)

本文详细介绍了如何利用AI Agent技术自动生成测试用例,大幅提升测试工程师的工作效率。通过Python代码实战演示,从环境搭建到核心Agent构建(需求解析、场景挖掘、用例编排),再到与企业工具链(TestRail、Jira)的深度集成,帮助团队实现测试用例的智能化生成与管理。

weixin_30897233的博客 646

让 AI 自己“画施工图”——基于扩散模型的智能 CAD 管线生成

AI驱动CAD管线设计革命:Layout2CAD实现30秒自动化出图 针对设计院70%时间耗费在管线绘制的问题,研究团队基于Stable Diffusion开发了Layout2CAD系统,实现建筑草图到DWG施工图的智能转换。该系统采用三阶段流程:语义分割建筑底图→扩散生成多通道Heatmap(含管径/标高信息)→矢量化输出DWG实体,结合129M参数的多模块模型(Diffusion UNet+GraphRefiner)及规范判别器,确保1mm精度并自动满足GB50015-2019标准。

qq_74383080的博客 2014

BQ27220燃料计量芯片与Arduino库kode_bq27220实战指南

燃料计量(Fuel Gauge)是嵌入式电池管理系统的核心技术,通过电压、电流、温度多维建模实现荷电状态(SOC)与健康状态(SOH)的动态估算。其原理基于电化学阻抗补偿算法(如CEDV),区别于简单电压查表法,具备自学习与老化适应能力。该技术显著提升便携设备续航预测精度与低功耗可靠性,广泛应用于TWS耳机、可穿戴设备及医疗电子等场景。本文围绕TI BQ27220高精度燃料计量IC及其配套Arduino库kode_bq27220展开,覆盖硬件连接规范、I²C初始化要点、SOC/SOH实时读取、EDV阈值配置

weixin_35671843的博客 331

你的小龙虾 OpenClaw 还很笨?快给它装上这几个核心技能(OpenClaw 必装skills整理)

🦞 刚装小龙虾OpenClaw? 本文分享一些OpenClaw必装技能,从视觉理解到智能学习,让它从“会聊天”变“会干活” 🚀

XiaoqiangClub的博客 870

GEE高阶应用——如何绘制2000-2022年土地利用变化轨迹时序图

土地利用变化是指在一定时间范围内,土地利用类型和结构发生的变化。时序变化是指这种变化随时间的推移而发生的序列变化。土地利用变化轨迹的时序变化具体介绍如下:首先,土地利用变化轨迹的时序变化体现在土地利用类型的演变上。在过去的几十年里,随着人口的增加、经济的发展和城市化的推进,土地利用类型发生了显著的变化。传统的农田逐渐减少,而城市、工业、交通、居住等用地的面积不断扩大。同时,随着环境保护意识的提高,生态保护用地、森林、湿地等绿色用地的面积也在增加。

此星光明博客 1113

记录:解决Ubuntu20.04安装ros报错E: Unable to locate package ros-kinetic-desktop-full【亲测有效】

报错:E: Unable to locate package ros-kinetic-desktop-full.尝试好久一直都无法下载,最后得知真相的我眼泪哗哗的直流。

**My Coding Family** 6万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

上一篇: unity 2017.3 安卓蓝牙(一)初始化蓝牙连接
下一篇: unity 2017.3 IOS蓝牙(一)权限配置
testiness_wind
博客等级 码龄9年 101粉丝 55原创
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值