我正在为使用 BLE(CoreBluetooth)的蓝牙 watch 开发 iOS 应用程序(Objective-C),我的 watch 有 GATT 蓝牙配置文件,iOS 应用程序最低支持来自 iOS7。
我想知道我们如何使用 Core Bluetooth 框架在 iOS 设备和外部设备之间进行数据传输。
实际上我正在研究我的蓝牙 watch 的固件升级部分, 每当收到任何更新时,我的 iOS 应用程序将从网络服务获取固件代码(二进制数据),然后将数据发送到蓝牙 watch 。
我已经搜索并获得了一个 Apple 示例代码: BTLE_Transfer:https://developer.apple.com/Library/ios/samplecode/BTLE_Transfer/Introduction/Intro.html
我想示例代码在我的案例中没有用,因为它具有中央和外围代码以及在两个 iOS 设备之间传输数据。
除了这个BLE数据传输示例代码,还有其他方法吗?或者只有这个示例代码才有可能?(如果是的话如何?)
更新:
我的设备有 1 个服务,具有 2 个特性,一个用于读取,一个用于写入。
根据我使用写入特性的工作流程:
[MYDEVICEINSTANCE writeValue:NSDATACHUNK forCharacteristic:WRITECHARACTERISTIC type:CBCharacteristicWriteWithResponse];
[MYDEVICEINSTANCE setNotifyValue:TRUE forCharacteristic:READCHARACTERISTIC];
[MYDEVICEINSTANCE readValueForCharacteristic:READCHARACTERISTIC];
我的查询:
我想确认 Apple 允许的 MTU 最大限制 用于来自 iOS 应用程序的外部设备通信,我在第 1 步开始时将 NSDATACHUNK 发送到 BLE Watch从 iOS 应用程序使用 writeValue
我已经测试过我可以发送 MTU=255 大小的 NSDATACHUNK 并且 BLE watch 正在成功接收。
我在“Apple 示例代码:BTLE_Transfer”中发现他们正在使用 MTU=20 但是,我猜该示例代码用于 iOS 设备到 iOS 设备的通信(如果我错了,请纠正我)
那么,如果我在我的 iOS 应用程序中使用 MTU=250 进行 BLE 通信,苹果是否有可能拒绝我的应用程序?
或者有没有人可以说Apple 允许的最大 MTU 限制是多少?
感谢每一个建议,
提前致谢
最佳答案
您可以使用任何您想要的 MTU 大小(最多 512)。
连接将使用的值始终是您和他们之间的最小值。
因此,例如,如果他们想要使用等于 50 的 MTU,那么如果您的 MTU 低于 50,则将使用该值;否则,无论您选择高于 50 的哪个值都没有意义,因为会选择 50。
关于iOS - iOS 设备和外部附件(蓝牙 watch )之间 BLE 数据传输的 MTU 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26712694/
我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t
我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此
在Cooper的书BeginningRuby中,第166页有一个我无法重现的示例。classSongincludeComparableattr_accessor:lengthdef(other)@lengthother.lengthenddefinitialize(song_name,length)@song_name=song_name@length=lengthendenda=Song.new('Rockaroundtheclock',143)b=Song.new('BohemianRhapsody',544)c=Song.new('MinuteWaltz',60)a.betwee
这里有一个很好的答案解释了如何在Ruby中下载文件而不将其加载到内存中:https://stackoverflow.com/a/29743394/4852737require'open-uri'download=open('http://example.com/image.png')IO.copy_stream(download,'~/image.png')我如何验证下载文件的IO.copy_stream调用是否真的成功——这意味着下载的文件与我打算下载的文件完全相同,而不是下载一半的损坏文件?documentation说IO.copy_stream返回它复制的字节数,但是当我还没有下
我正在检查一个Rails项目。在ERubyHTML模板页面上,我看到了这样几行:我不明白为什么不这样写:在这种情况下,||=和ifnil?有什么区别? 最佳答案 在这种特殊情况下没有区别,但可能是出于习惯。每当我看到nil?被使用时,它几乎总是使用不当。在Ruby中,很少有东西在逻辑上是假的,只有文字false和nil是。这意味着像if(!x.nil?)这样的代码几乎总是更好地表示为if(x)除非期望x可能是文字false。我会将其切换为||=false,因为它具有相同的结果,但这在很大程度上取决于偏好。唯一的缺点是赋值会在每次运行
我正在尝试解析一个文本文件,该文件每行包含可变数量的单词和数字,如下所示:foo4.500bar3.001.33foobar如何读取由空格而不是换行符分隔的文件?有什么方法可以设置File("file.txt").foreach方法以使用空格而不是换行符作为分隔符? 最佳答案 接受的答案将slurp文件,这可能是大文本文件的问题。更好的解决方案是IO.foreach.它是惯用的,将按字符流式传输文件:File.foreach(filename,""){|string|putsstring}包含“thisisanexample”结果的
在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList()Obt
1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里
📢博客主页:https://blog.csdn.net/weixin_43197380📢欢迎点赞👍收藏⭐留言📝如有错误敬请指正!📢本文由Loewen丶原创,首发于CSDN,转载注明出处🙉📢现在的付出,都会是一种沉淀,只为让你成为更好的人✨文章预览:一.分辨率(Resolution)1、工业相机的分辨率是如何定义的?2、工业相机的分辨率是如何选择的?二.精度(Accuracy)1、像素精度(PixelAccuracy)2、定位精度和重复定位精度(RepeatPrecision)三.公差(Tolerance)四.课后作业(Post-ClassExercises)视觉行业的初学者,甚至是做了1~2年
我理解(我认为)Ruby中类变量和类的实例变量之间的区别。我想知道如何从该类外部访问该类的实例变量。从内部(即在类方法中而不是实例方法中),它可以直接访问,但是从外部,有没有办法做MyClass.class.[@$#]variablename?我没有任何具体原因要这样做,只是学习Ruby并想知道是否可行。 最佳答案 classMyClass@my_class_instance_var="foo"class上述yield:>>foo我相信Arkku演示了如何从类外部访问类变量(@@),而不是类实例变量(@)。我从这篇文章中提取了上述内