Skip to main content
版本:1.2.4

iOS

Alg SDK接入説明

流程圖

流程圖

環境要求

  • iOS 9.0 或以上,Xcode 9.0或以上.
  • 需要申請dbay賬號,用於SDK鑑權API.

手動集成Alg SDK步驟

SDK連接手機藍牙需要在Info.plist中申請藍牙相關權限

Privacy - Bluetooth Always Usage Description
Privacy - Bluetooth Peripheral Usage Description

調用説明

  • 調用SDK的方法以單例方式調用,導入<DBAlgorithm/DBAlgorithm.h>之後,使用[DBAlgorithmCalculate sharedInstance]進行調用.

SDK 初始化方法説明

-(void)startWithToken: accountId: completion:^(DBErrorCode code);

ParameterTypeDescription
tokenString唯一的token需要找dbay團隊提供
accountIdString唯一的accountId需要找dbay團隊提供
completionBlock有兩個回調參數:1. DBErrorCodeSuccess 成功調用之後的返回可以調用SDK;2. DBErrorCodeInvalidUser 失敗的回調,不能使用SDK

判斷SDK鑑權

-(BOOL)isCanUseSDK;

SDK 關閉方法

調用時機,在結束完流程,不需要用到SDK的時候調用

-(void)close;

SDK 添加設備方法

調用時機,在連接成功回調中調用

-(int)addDevice:(NSString *)deviceName;

ParameterTypeDescription
deviceNameString頭環設備名稱
ResultTypeDescription
deviceIndexInt設備序號

實例

SDK 刪除設備方法

調用時機,在斷開連接回調中調用

-(void)deleteDevice:(NSString *)deviceName;

注意:在多設備連接情況下,必須成對添加和刪除對應的設備,保證算法數據不錯亂

ParameterTypeDescription
deviceNameString頭環設備名稱

SDK 原始數據開關方法

-(void)setRawDataSwitch:(BOOL)isOpenRaw;

ParameterTypeDescription
isOpenRawBOOL原始數據開關

SDK 算法調用

-(void)parseRawString:(NSString )raw deviceIndex:(int)deviceIndex eegCompletion:(void(^)(DBEegModel ))eegCompletion completion:(void(^)(DBAlgorithmModel *))completion;

ParameterTypeDescription
rawString藍牙每幀16進制字符串
deviceIndexInt設備序號
ResultTypeDescription
eegCompletionDBEegModel解析原始數據返回結果
completionDBAlgorithmModel算法返回結果
@interface DBEegModel : DBModel

@property (nonatomic) BOOL detectOK; // 解析成功標誌
@property (nonatomic) BOOL haveSecTime; // 此幀數據是否包含80標誌位
@property (nonatomic) NSArray * af7Eegs; // AF7通道eeg數據
@property (nonatomic) NSArray * af8Eegs; // AF8通道eeg數據
@property (nonatomic) NSArray * af7Leadoffs; // AF7通道佩戴數據
@property (nonatomic) NSArray * af8Leadoffs; // AF8通道佩戴數據
@property (nonatomic) NSNumber * counter; // 第幾個4秒標誌位
@property (nonatomic) NSNumber * flag; //時間標誌在數據幀中的位置
@property (nonatomic) NSNumber * index; // 幀序號

@end

@interface DBAlgorithmModel : DBModel

@property (nonatomic) double mindfulness; // 正念指標
@property (nonatomic) int focus; // 專注指標
@property (nonatomic) int stress; // 壓力指標
@property (nonatomic) int fatigue; // 疲勞指標
@property (nonatomic) int relax; // 放鬆指標
@property (nonatomic) double emotion; // 情緒指標

-(int)getSignalQuailty:(DBSignalQuailtyType)type;// 獲取AF7 AF8通道的信號質量(0是信號正常 1是異常)
-(DBAlgorithmEnergyModel *)getEnergy;// 獲取能量值

@end

/**
能量值model
*/
@interface DBAlgorithmEnergyModel : DBModel

@property (nonatomic) double alpha; // alpha能量值
@property (nonatomic) double beta; // beta能量值
@property (nonatomic) double delta; // delta能量值
@property (nonatomic) double gamma; // gamma能量值

-(double)getMindfullness;

@end

算法指標説明請參考:數據説明

SDK 多維度雷達圖分數

-(void)getMindfullnessScore:(NSArray )array completion:(void(^)(DBRadarModel ))completion;

ParameterTypeDescription
tbrsArray腦電算法計算的能量值裏的getMindfullness獲取的數組
ResultTypeDescription
completionDBRadarModel算法返回四個維度值
@interface DBRadarModel : DBModel

@property (nonatomic) int stability; //正念穩定度
@property (nonatomic) float percent; //正念佔比時間
@property (nonatomic) int score; //正念得分
@property (nonatomic) float potential; //正念潛力值

@end