gpt4 book ai didi

bluetooth - 如何在蓝牙低功耗外设中正确设置日期和时间?

转载 作者:行者123 更新时间:2023-12-03 06:47:51 26 4
gpt4 key购买 nike

我正在开发一个传感器设备和一个相应的 iOS 应用程序,它们将使用低功耗蓝牙进行通信。传感器设备需要在实时时钟中维护当前日期和时间。现在,如果我想尽可能地实现蓝牙标准服务,我很困惑在传感器设备中设置时间和日期的正确方法是什么,因为官方文档是矛盾的:

  • ServiceViewer对于“当前时间服务”,它表示可以选择写入“当前时间”特征。这意味着 GATT 客户端(即智能手机)可以通过写入此特性来简单地设置传感器的时间。
  • detailed specifications然而,关于该服务,它表示禁止写入该特征。

与详细规范(2011 年)相比,服务查看器中的信息更新得多(2014 年),因此可以安全地假设详细规范尚未更新吗?

尽管进行了大量的在线研究,但我找不到任何人在 BT-LE 传感器中设置当前日期和时间的示例。

关于最好的继续方式有什么线索吗?

最佳答案

我已经实现了这个,它将在我这边发挥作用,

let date = Date()
let calendar = Calendar.current
var comp = calendar.dateComponents([.day, .month, .year, .hour, .minute, .second, .weekday, .nanosecond], from: date)
let milisecond = comp.nanosecond!/1000000
let quiterValue = milisecond/256
let year_mso = comp.year! & 0xFF
let year_lso = (comp.year! >> 8) & 0xFF
let ajjust_reason = 1

let timeZone = calendar.component(.timeZone, from: date)
let DSTZoon = Calendar.current.timeZone.isDaylightSavingTime()

let Year_MSO_Unsinged = Int8(bitPattern: UInt8(year_mso))
let Year_LSO_Unsinged = Int8(bitPattern: UInt8(year_lso))
let MONTH_Unsinged = Int8(bitPattern: UInt8(comp.month!))
let DAY_Unsinged = Int8(bitPattern: UInt8(comp.day!))
let HOUR_Unsinged = Int8(bitPattern: UInt8(comp.hour!))
let MINUTE_Unsinged = Int8(bitPattern: UInt8(comp.minute!))
let SECOND_Unsinged = Int8(bitPattern: UInt8(comp.second!))
let WEEKDAY_Unsinged = Int8(bitPattern: UInt8(comp.weekday!))
let QUITERVALUE_Unsinged = Int8(bitPattern: UInt8(quiterValue))
let AJRSON_Unsinged = Int8(bitPattern: UInt8(ajjust_reason))

//Current Time Write on tag

let currentTimeArray = [Year_MSO_BYTE, Year_LSO_BYTE, MONTH_BYTE, DAY_BYTE ,HOUR_BYTE ,MINUTE_BYTE ,SECOND_BYTE , WEEKDAY_BYTE , QUITERVALUE_BYTE , AJRSON_BYTE];
let currentTimeArray_data = NSData(bytes: currentTimeArray, length: currentTimeArray.length)
if Device.Current_Time != nil {
deviceValue.peripheral.writeValue(currentTimeArray_data as Data, for: GrillRightDevice.Current_Time!, type: CBCharacteristicWriteType.withResponse)
}

关于bluetooth - 如何在蓝牙低功耗外设中正确设置日期和时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35695711/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com