我想知道是否有人会帮助我解决技术挑战:在 Swift 中读取 Freestyle Libre 传感器数据。糖尿病患者的葡萄糖传感器使用 ISO 15693 协议通过附近与其他设备进行通信。
目前,我已经使用 NFC 核心 NFCTagReaderSession 类与传感器建立了连接。另外,我已经使用 ReadSingleBlock 函数成功提取了数据。该设备在 Data 对象中发回 8 个字节并且不是 UTF8 编码的......所以我在解码这些响应字节时遇到了问题。
我见过有人用 C(arduino 语言)和 Java 解码传感器数据,但转换为 Swift 似乎并不简单。
Arduino 实现:https ://github.com/JoernL/LimiTTer/blob/master/LimiTTer.ino
Java 实现(Android):https ://github.com/vicktor/FreeStyleLibre-NFC-Reader/blob/master/app/FreeStyleLibre/app/src/main/java/com/socialdiabetes/freestylelibre/Abbott.java
如果有人可以帮助我,我将不胜感激:)
现在,读取函数如下所示:
case .iso15693(let tag):
// Read one block of data
tag.readSingleBlock(requestFlags: .highDataRate, blockNumber: 0, resultHandler: { result in
switch result {
case .success(let str):
print(str)
case .failure(let error):
print(error)
}
})
传感器的响应如下所示: