This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2650:CC2650上的 IOS Swift Movement Service

Guru**** 2540720 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/639035/cc2650-ios-swift-movement-service-on-cc2650

器件型号:CC2650

大家好、

我正在尝试编写一个简单的应用程序、以便从我的 SensorTag 读取运动应用传感器。 我正在通过大量示例进行工作、并且真的很难做到这一点。 论坛中很少提到这一点、大多数论坛中提到的是旧传感器、该传感器具有单独的 uuid、用于陀螺仪、磁力仪、加速器。

我的主要信息来源是 Anas Imtiaz 和 此主题编写的内容

在 Swift 3 (使用 xcode 8)中、我已经获得了 DiscoverdidServices 函数。 我使用的是正确的 uuid、并认为移动服务已被发现正常。 现在、我将进入下一个步骤、即 dodDiscoverCharacteristicisticsFor、但无法确定如何启用通知(或通常完成整个 discoverservices 步骤)。

我知道我需要将0x0001写入移动 uuid 配置。 到目前为止、我已经尝试过;

funcperipheral(peripheral: CBPeripheral!, didDiscoverCharacteristicsFor service: CBService, error: NSError?) {

VAR enableValue = NSInteger (0x0001)

var enableBytes = NSData (字节:&enableValue、length:MemoryLayout .SIZE)

    forcharateristic inservice.characteristics!{
        letthisCharacteristic = charateristic asCBCharacteristic
        // check for data characteristics
        ifthisCharacteristic.uuid== CBUIID(string: "F000AA81-0451-4000-B000-000000000000"){
            // Enable Sensor Notification
            peripheral.setNotifyValue(true, forCharacteristic: thisCharacteristic)
        }
        // check for config characteristic
        ifthisCharacteristic.uuid== F000AA81-0451-4000-B000-000000000000{
            // Enable Sensor
            peripheral.writeValue(enablyBytes as Data, for: thisCharacteristic, type: CBCharacteristicWriteType.WithResponse)
        }
    }
}

当我打印(thisCharactic.isNoil化)时、我会得到错误。

真的希望有一些帮助来越过这一点、并且能够读取陀螺仪、ACC 和 MAG 的原始 x、y、z 值。 如果有人能够进来并提供一些能让我到达那里的实际代码、我将不胜感激。 我甚至会在这里买啤酒:)

谢谢、

James

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 James、

    您是否在此处查看了示例 iOS 代码: git.ti.com/sensortag-ios-source-code-example

    在移动服务方面、TI BLE Wiki 上的 SensorTag 用户指南对此进行了介绍。

    对于特定的 iOS 编程问题、我们建议使用专用的智能手机编程站点、如 stackoverflow.net。

    祝你一切顺利
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回复 JXS。 是的、我已经过发布到 stackoverflow、并已经过源代码。 我在源代码中没有看到任何可以启用移动传感器的明显情况。

    此代码块来自 您提到的源代码示例、但我看不到任何关于通过向移动配置 uuid 写入"0x0001"来启用传感器的说明。

    如果 TI 只提供了一个非常基本的 IO 源代码来连接 Sensortag 并仅使用 viewcontroller 读取值、那么对于初学者开发人员来说、这将非常适合。 GIT 集线器的示例过于复杂、无论如何都不会为我编译。

    ///当 iOS 在服务上发现特征时、将调用此委派方法。 特征是外设服务类上的一个数组 
    -(void)外设:(CBPeripheral *)外设发现特性 ForService:(CBService *)服务错误:(NSError *)错误{ 
    对于(service.characteristics 中的 CBCharacteristic *c){ 
    NSLog(@"bluetoothHandler: Discovered characteristic with UUID %@ under service with UUID :%@",c.UID.UIDString, service.UID.UIDString); 
    //检查我们是否已完成扫描所有服务 
    if ([service IsEqual:[self.p.services objectAtIndex:self.p.services.count -1]){ 
    NSLog(@"bluetoothHandler: device is ready for use"); 
    [self.delegate deviceReady:是外围设备:self.p];