iOS - iOS 设备和外部配件 (BluetoothWatch) 之间 BLE 数据传输的 MTU 大小

2024-04-24

我正在为使用 BLE(CoreBluetooth)的蓝牙手表开发 iOS 应用程序(Objective-C),并且我的手表具有 GATT 蓝牙配置文件,iOS 应用程序最低支持来自 iOS7。

我想知道如何使用 Core Bluetooth 框架在 iOS 设备和外部设备之间进行数据传输。

实际上我正在研究我的蓝牙手表的固件升级部分, 每当收到任何更新时,我的 iOS 应用程序都会从​​网络服务获取固件代码(二进制数据),然后它将数据发送到蓝牙手表。

我搜索并得到了一个Apple示例代码: BTLE_传输:https://developer.apple.com/Library/ios/samplecode/BTLE_Transfer/Introduction/Intro.html https://developer.apple.com/Library/ios/samplecode/BTLE_Transfer/Introduction/Intro.html

我想示例代码在我的情况下没有用,因为它具有中央和外围代码并在两个 iOS 设备之间传输数据。

除了这个 BLE 数据传输示例代码之外,还有其他方法吗?或者仅使用此示例代码就可以?(如果可以,怎么办?)

UPDATED:

我的设备有 1 个服务,其中有 2 个特征,一个用于读取,一个用于写入。

根据我使用写入特性的工作流程:

  1. 使用 WRITECHARACTERISTIC 我正在以块的形式发送固件代码的数据

[MYDEVICEINSTANCE writeValue:NSDATACHUNK 对于特性:WRITECHARACTERISTIC 类型:CBCharacteristicWriteWithResponse];

  1. 并在委托方法中“didWriteValueForCharacteristic“我通知读取特征的方法如下

[MYDEVICEINSTANCE setNotifyValue:TRUE forCharacteristic:READCHARACTERISTIC];

  1. 这称为“didUpdateNotificationStateForCharacteristic“我正在检查里面的委托方法是否为 READCHARACTERISTIC正在通知或者不然后我打电话
[MYDEVICEINSTANCE readValueForCharacteristic:READCHARACTERISTIC];
  1. 哪个调用委托方法“didUpdateValueFor 特征“我正在使用以下方式阅读回复READCHARACTERISTIC.value

我的查询:

我想确认Apple 允许的 MTU 最大限制对于来自 iOS 应用程序的外部设备通信,我在步骤 1 中通过发送开始NS数据块从 iOS 应用程序使用 BLE Watch写值

我已经测试过我可以发送 NSDATACHUNKMTU=255尺寸和 BLE 手表接收成功相同。

我在“苹果示例代码:BTLE_Transfer“他们正在使用MTU=20但是,我猜示例代码用于 iOS 设备到 iOS 设备的通信(如果我错了,请纠正我)

所以,如果我使用MTU=250在我的 BLE 通信 iOS 应用程序中,苹果是否有可能拒绝我的应用程序?

或者有谁可以说Apple 允许的 MTU 最大限制是多少?

每一个建议都值得赞赏,

提前致谢


您可以使用任何您想要的 MTU 大小(最多 512)。

连接将使用的值始终是您和他们之间的最小值。

因此,如果他们想要使用等于 50 的 MTU,那么如果您的 MTU 低于 50,则会使用该值;否则,您选择的 50 以上的值都是毫无意义的,因为会选择 50。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS - iOS 设备和外部配件 (BluetoothWatch) 之间 BLE 数据传输的 MTU 大小 的相关文章

  • 检查与 NSURLConnection 连接的有效 IP

    我目前有一个应用程序 它尝试根据我正在与之通信的某些服务器打开网络视图 但是 我允许用户输入自己的服务器 IP 以防 iphone ipad 和服务器 或其他设备 不在同一网络上 但是 我尝试使用 NSURLConnection 来检测是否
  • iOS 9 的 UIAlertView 的替代方案?

    UAlertView在 iOS 9 及更高版本中已弃用 有什么替代方案吗 UIAlertView new UIAlertView alloc initWithTitle Success message Your InApp Purchase
  • iOS 的 WiFi 连接通知,包括 SSID

    新手 IOS 程序员正在寻找一种在 iPhone 连接到 WIFI 网络时收到通知的方法 IE 关于以下转换的通知 3G转WIFI WIFI转3G WIFI 到另一个 WIFI 它应该能够知道我连接到哪个 SSID 在 Android 上花
  • 无法在 Swift 3 / iOS 10 中触发 continueUserActivity

    注意 我已经弄清楚了大部分内容 请参阅最后的更新 还是有些迷茫 我正在尝试在 Swift 3 下的 Xc8b6 中实现 NSUserActivity 处理 但处理程序协议方法的方法签名遇到问题 在当前的文档中 该方法据说是 func app
  • 如何使用 swift 隐藏导航控制器中的后栏按钮

    在故事板 Xcode 6 iOS 8 和 swift 中 我在导航控制器中嵌入了 TableViewController 从对象库中 我拖放一个栏按钮项目作为后退按钮 它显示一个图标图像 当我单击该按钮时 我显示一个设置视图 我怎样才能隐藏
  • iOS中如何以url的形式发布数据?

    我想将 UITextfields 数据发送到服务器 我想发布数据 但服务器向我显示错误消息 请检查我的代码 NSURL url NSURL URLWithString http projectsatseoxperts net au fish
  • iOS 中的设备兼容性问题

    我们上传了一个应用程序 在第一个版本中 我们添加了设备功能 电话 以限制信息 plist 中的 iPhone 设备 在第二个版本中 我们忘记添加 电话 并提交给了应用商店 我们计划上传第三个版本 其中设备功能为 电话 但在提交到 App S
  • 如何使用 GPUImageHarrisCornerDetectionFilter 获取角点

    我正在尝试使用以下方法从静态图像中获取角点GPUImageHarrisCornerDetectionFilter 我查看了项目中的示例代码 查看了文档 还查看了这篇文章 内容大致相同 GPUImage 现有 UIImage 上的 Harri
  • 扩展中的 Swift 'open' 关键字和可重写方法/属性?

    随着介绍openSwift 3 0 中的关键字 Swift 中的 open 关键字是什么 https stackoverflow com questions 38947101 what is the open keyword in swif
  • 场景 - 根据 iPad 或 iPhone 使用专用故事板

    Apple 现在希望我们使用 场景 而不是窗口和屏幕来显示 iPad 和 iPhone 的内容 现在添加了对场景的支持 我似乎失去了使用故事板定位 iPad 或 iPhone 的能力 I set my scenes inside plist
  • 如何关闭使用presentModalViewController打开的视图控制器:

    我使用了一个视图控制器presentModalViewController 现在如何关闭 关闭它 对于 iOS6 使用此代码 self dismissViewControllerAnimated YES completion Nil 代替
  • 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar中?

    我怎样才能添加2个按钮到UINavigationBar没有XIB 2 个按钮应在右侧对齐UINavigationBar 我知道如何添加一个按钮 但是添加两个怎么样 使用 iOS 5 就这么简单 UIBarButtonItem btnShar
  • iOS 13.1 AVAudio 播放器崩溃

    当我跟踪问题时 我的应用程序在 iOS 13 1 上崩溃 然后发现应用程序崩溃是因为AVAudioPlayer 以下是我的播放器设置 if let wrongURL Bundle main url forResource wrongAudi
  • 如何让NSManagedObject不出错?

    我目前正在调试另一个开发人员编写的一个大项目 该项目使用CoreData我对此很陌生 我遇到了崩溃 这是由于某些NSManagedObject是一个错误 我对什么是错误不太了解 我想将对象转换为 非错误 看看它是否有帮助 阅读文档让我想到t
  • 如何在 Swift 2.0 中将结构保存到 NSUserDefaults

    我有一个名为Jar我想将它们的数组保存到 NSUserDefaults 中 这是 jar 结构代码 struct Jar let name String let amount Int init name String amount Int
  • 找不到“folly/Portability.h”文件 React 库

    我的 React Native 项目在 Xcode 上遇到构建失败 错误是 folly Portability h file not found 在过去的几天里 我一直在尝试自己解决这个问题 但无法解决 RN info React Nati
  • Objective-C ARC 只读属性和私有 setter 实现

    在 ARC 之前 如果我希望某个属性对于使用它是只读的 但在类中可写 我可以这样做 Public declaration interface SomeClass NSObject property nonatomic retain read
  • 在 Android 中读取蓝牙 RSSI 以获取 BLE 邻近配置文件

    我目前正在为 Android 开发低功耗蓝牙接近配置文件 并且偶然发现了有关 RSSI 的问题 为了使邻近配置文件起作用 我必须每隔很短的时间就通过已连接的设备接收 RSSI 数据 正如我所做的一些研究 我了解到在设备发现过程中可以获得蓝牙
  • 使用 Box2d 拖放 UIViews (iOS) [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我最近发现了一个很好的教程 用于使用
  • UISlider 可捕捉到固定的步数(如 iOS 7 设置应用中的文本大小)

    我正在尝试创建一个UISlider让您可以从一组数字中进行选择 每个滑块位置应等距 并且滑块应卡入每个位置 而不是在它们之间平滑滑动 这是滑块的行为Settings gt General gt Text Size 这是在 iOS 7 中引入

随机推荐

  • 银光。如何将 InlineUIContainer 内容中的文本与 RichTextBox 中的外部文本对齐

    任务 使 InlineUIContainer 的文本内容与外部文本内联 InlineUIContainer 内容的标准行为是当底部边缘与外部文本内联时 可以使用 RenderTransform 移动 InlineUIContainer 的位
  • CSS 文本对齐延迟与宽度动画

    我正在尝试将文本设置为动画 使其在页面加载时从左到右显示 这只需简单地设置即可完成 keyframes从 0 过渡max width至 100 然而 我的文本对齐设置似乎仅在动画完成后才应用 我只想让文本内容本身显示出我想要的位置 并假设我
  • Django ORM和链式select_相关

    如何使用 Django ORM 执行此查询 它是一个多重联接 从一个表链接到另一个表 关于 select 相关的 Django 文档 https docs djangoproject com en 2 2 ref models querys
  • 如何在一页上放置多个jssor滑块?

    当我尝试在页面上放置多个滑块时 只有第一个滑块有效 有什么办法可以让它们同时工作吗 搜索堆栈溢出后我发现了这个 请按以下方式初始化多个实例 var jssor slider1 new JssorSlider slider1 containe
  • 从另一个数据帧中减去一个数据帧,不包括第一列 Pandas

    我必须使用相同列的数据框 我的任务应该是从 df nap 中减去 df tot 而不触及第一列 A 最简单的解决方案是什么 谢谢你 import numpy as np import pandas as pd df tot pd DataF
  • 在仪表板标题中间对齐可变长度的文本

    我使用闪亮的仪表板包 标题需要有标题 文本和徽标 标题应位于左侧 文本应位于标题的中间 中心 徽标应位于右侧 仪表板侧边栏还有两个过滤器 选择输入 中间的文本显示用户选择 因此文本的长度根据不同的选择而不同 我没有 css 背景 也不知道如
  • 如何将参数传递给 DLL 初始化(例如,通过 LoadLibrary 加载时)?

    如何将参数传递给通过 LoadLibrary 加载的 DLL 的初始化函数 有可能吗 也就是说 无需求助于某种导出函数或共享内存 没有直接的方法 最简单的可能是通过环境变量 它们可以在调用之前轻松设置LoadLibray with sete
  • NgRx - 状态如何组合和初始化

    当我们初始化 Store 时 StoreModule provideStore r1 Reducer1 r2 Reducer2 我们确实将减速器传递到 Store 进行存储 但我们实际上从未将初始状态传递给存储 除了在减速器函数中定义它 c
  • 有没有办法覆盖动作脚本运算符,特别是我想覆盖等于运算符

    是否可以覆盖 equals 运算符 即 对于可以通过 2 个或更多字段匹配来确定相等性的客户类别 如果您的意思是重载 作为 equals 的同义词 那么您不能 因为 ActionScript 不提供运算符重载 只需为您的类编写一个 equa
  • 收到 SIGNAL 11 错误

    再会 我有一个关于使用 SDK 开发 Android 应用程序的问题 我们的应用程序在 Android 2 1 API Level 7 下遇到问题 至少在 Android 2 1 update1 模拟器和 Motorola Droid X
  • 在 post-command-hook 中,这个用于kill-word的命令已经以某种方式变成了kill-region

    In my post command hook回调 当我这样做时kill word the this command var is kill region 并不是kill word正如预期的那样 我想那是因为kill word uses k
  • Swift 3.0 将图像写入目录

    我有一个简单的ImagePicker供用户选择或拍摄个人资料照片 我想保存这个image to the Home Directory方便以后加载 问题是未设置图像类型 Save Image PPimagePicked image let i
  • Spark 2.0 弃用了“DirectParquetOutputCommitter”,没有它如何生活?

    最近 我们从 HDFS 上的 EMR gt S3 上的 EMR 启用了一致视图的 EMRFS 迁移 我们意识到 Spark SaveAsTable 镶木地板格式 写入 S3 的速度比 HDFS 慢约 4 倍 但我们发现使用 DirectPa
  • 在 MySQL 中的分组列中搜索?

    我需要创建一个男人的数据库 男人可以有一个或多个属性 每个男人的属性都有一个特定的值 听起来很简单吧 好吧 继续阅读 因为这个问题有点不可能 5 天处理它 s 所以我创建了这 3 个表 CREATE TABLE guy id int 11
  • Int32 和 UInt32 有什么区别?

    有什么区别Int32 and UInt32 如果它们与容量范围能力相同 问题是出于什么原因UInt32被创造了 我应该什么时候使用UInt32代替Int32 UInt32 不允许负数 从MSDN http msdn microsoft co
  • 修复了滚动 html 文档时的 div

    我正在寻找一个 jquery 插件 可以让我实现这种效果 静态向下滚动 http www bnet com blog drug business it 8217s a trap congress wants to see j j ceo s
  • jQuery hide() div 直到完全加载

    我正在为我的博客使用选项卡式特色帖子 如何实施div latest featured will hide then show 内容完全加载后它会回来吗 document ready function Default Action tab c
  • 从 pod 连接到其他 pod

    基本上 我有一个部署 它创建了 3 个自动扩展的容器 PHP FPM NGINX 和包含应用程序的容器 所有这些都设置了机密 服务和入口 该应用程序还在 PHP FPM 和 NGINX 之间共享项目 因此一切都已设置完毕 由于我想使用 K8
  • M1 Apple Silicon Mac 上的 Dynamodb 本地设置

    我使用 dynamodb 进行了本地设置https docs aws amazon com amazondynamodb latest developerguide DynamoDBLocal DownloadingAndRunning h
  • iOS - iOS 设备和外部配件 (BluetoothWatch) 之间 BLE 数据传输的 MTU 大小

    我正在为使用 BLE CoreBluetooth 的蓝牙手表开发 iOS 应用程序 Objective C 并且我的手表具有 GATT 蓝牙配置文件 iOS 应用程序最低支持来自 iOS7 我想知道如何使用 Core Bluetooth 框