|
|
@@ -0,0 +1,282 @@ |
|
|
|
#iFreshSDK instructions |
|
|
|
[中文版](README_CN.md) |
|
|
|
##The conditions of use |
|
|
|
> * iOS 8.0 and above. |
|
|
|
> * The Bluetooth version used by the device requires 4.0 and above. |
|
|
|
> * Need to add iFreshSDK.framework package dependency; |
|
|
|
> * Apply for the key and secret of sdk, application address: http://sdk.aicare.net.cn |
|
|
|
##The document description |
|
|
|
1.iFreshSDK.framework (package name raytao.pingwang.iFreshDemo); |
|
|
|
2.Add the following code to AppDelegate: |
|
|
|
``` |
|
|
|
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { |
|
|
|
// Override point for customization after application launch. |
|
|
|
[iFreshSDK setAppKey:@"key" appSecret:@"secret"]; |
|
|
|
return YES; |
|
|
|
} |
|
|
|
``` |
|
|
|
##The version update information |
|
|
|
For details, please see the "Good Nutrition SDK Release Notes.doc" document. |
|
|
|
|
|
|
|
##Start integration |
|
|
|
1. Import iFreshSDK.framework |
|
|
|
2. Add Bluetooth permissions: |
|
|
|
Add “Privacy - Bluetooth Peripheral Usage Description” to the Info.plist file |
|
|
|
5. Discovery equipment |
|
|
|
1. Call the scan method |
|
|
|
``` |
|
|
|
[[iFreshSDK shareManager] bleDoScan]; |
|
|
|
``` |
|
|
|
2. Compliance with the agreement “BleReturnValueDelegate” |
|
|
|
3. Set the proxy |
|
|
|
``` |
|
|
|
[[iFreshSDK shareManager] setbleReturnValueDelegate:self]; |
|
|
|
``` |
|
|
|
4. Implementation method: |
|
|
|
``` |
|
|
|
/** |
|
|
|
* GlobalBLEmodel model: value ble returns the value; |
|
|
|
* |
|
|
|
* @param model global Bluetooth model data |
|
|
|
*/ |
|
|
|
- (void)bleReturnValueModel:(iFreshModel*)model; |
|
|
|
|
|
|
|
/** |
|
|
|
* Proxy method triggered by the end switch unit |
|
|
|
* GN_UnitEnum unit enumeration |
|
|
|
* unitChang after switching unit |
|
|
|
*/ |
|
|
|
|
|
|
|
- (void)changeUnitWithBle:(GN_UnitEnum) unitChange; |
|
|
|
|
|
|
|
/** |
|
|
|
* Proxy method for changing Bluetooth connection status |
|
|
|
* GN_BleStatus Bluetooth status enumeration |
|
|
|
* bleStatus current Bluetooth status |
|
|
|
*/ |
|
|
|
|
|
|
|
- (void)bleStatusupdate:(GN_BleStatus)bleStatus; |
|
|
|
|
|
|
|
/** |
|
|
|
ble Penetrate Data |
|
|
|
|
|
|
|
@param data Penetrate data |
|
|
|
*/ |
|
|
|
-(void)bluetoothManagerReturePenetrateData:(NSData *)data; |
|
|
|
``` |
|
|
|
## Communication with equipment: |
|
|
|
``` |
|
|
|
/* |
|
|
|
* data input |
|
|
|
*/ |
|
|
|
|
|
|
|
- (void)sendDataToBle:(NSData *)data; |
|
|
|
/** |
|
|
|
* Start scanning, it is recommended to put in the program entrance |
|
|
|
*/ |
|
|
|
- (void)bleDoScan; |
|
|
|
|
|
|
|
/** |
|
|
|
* Stop connecting devices |
|
|
|
*/ |
|
|
|
- (void)closeBleAndDisconnect; |
|
|
|
|
|
|
|
/** |
|
|
|
* Follow the protocol call |
|
|
|
*/ |
|
|
|
- (void)setbleReturnValueDelegate:(id<BleReturnValueDelegate>)delegate; |
|
|
|
|
|
|
|
/** |
|
|
|
* insertTheUnit insert unit |
|
|
|
* |
|
|
|
* @param unit Write units based on GN_UnitEnum enumeration |
|
|
|
*/ |
|
|
|
- (void)insertTheUnit:(GN_UnitEnum)unit; |
|
|
|
|
|
|
|
/** |
|
|
|
* Return to zero |
|
|
|
*/ |
|
|
|
- (void)zeroWriteBle; |
|
|
|
/* |
|
|
|
Setting weight |
|
|
|
*/ |
|
|
|
- (void)setWeight:(NSInteger)weight; |
|
|
|
|
|
|
|
/* |
|
|
|
* Set the maximum number of calories in a single item up to 4294967295 |
|
|
|
*/ |
|
|
|
- (void)setCalorie:(NSInteger)calories; |
|
|
|
|
|
|
|
/* |
|
|
|
* Set total calories - up to 4294967295 |
|
|
|
*/ |
|
|
|
- (void)setTotalCalorie:(NSInteger)toatlCalories; |
|
|
|
|
|
|
|
|
|
|
|
/* |
|
|
|
* Set total fat |
|
|
|
*/ |
|
|
|
- (void)setTotalFat:(NSInteger)fat; |
|
|
|
|
|
|
|
/* |
|
|
|
* Set total protein |
|
|
|
*/ |
|
|
|
- (void)setTotalProtein:(NSInteger)protein; |
|
|
|
|
|
|
|
/* |
|
|
|
* Set total carbohydrates |
|
|
|
*/ |
|
|
|
- (void)setTotalCarbohydrates:(NSInteger)carbohydertes; |
|
|
|
/* |
|
|
|
* Set total fat fiber |
|
|
|
*/ |
|
|
|
- (void)setTotalFiber:(NSInteger)fiber; |
|
|
|
/* |
|
|
|
* Set total cholesterol |
|
|
|
*/ |
|
|
|
- (void)setTotalCholesterd:(NSInteger)cholesterd; |
|
|
|
/* |
|
|
|
* Set the total sodium content |
|
|
|
*/ |
|
|
|
- (void)setTotalSodium:(NSInteger)sodium; |
|
|
|
|
|
|
|
/* |
|
|
|
* Set the total sugar content |
|
|
|
*/ |
|
|
|
- (void)setTotalSugar:(NSInteger)sugar; |
|
|
|
|
|
|
|
/* |
|
|
|
*Set fat |
|
|
|
*/ |
|
|
|
- (void)setFat:(NSInteger)fat; |
|
|
|
|
|
|
|
/* |
|
|
|
*Set protein |
|
|
|
*/ |
|
|
|
- (void)setProtein:(NSInteger)protein; |
|
|
|
/* |
|
|
|
*Set carbohydrates |
|
|
|
*/ |
|
|
|
|
|
|
|
- (void)setCarbohydrates:(NSInteger)carbohydertes; |
|
|
|
/* |
|
|
|
*Set dietary fiber |
|
|
|
*/ |
|
|
|
|
|
|
|
- (void)setFiber:(NSInteger)fiber; |
|
|
|
/* |
|
|
|
*Set cholesterol |
|
|
|
*/ |
|
|
|
|
|
|
|
- (void)setCholesterd:(NSInteger)cholesterd; |
|
|
|
/* |
|
|
|
*Set the sodium content |
|
|
|
*/ |
|
|
|
|
|
|
|
- (void)setSodium:(NSInteger)sodium; |
|
|
|
/* |
|
|
|
*Set the sugar content |
|
|
|
*/ |
|
|
|
- (void)setSugar:(NSInteger)sugar; |
|
|
|
|
|
|
|
/* |
|
|
|
* Shutdown command |
|
|
|
* |
|
|
|
*/ |
|
|
|
- (void)turnOffDevice; |
|
|
|
``` |
|
|
|
##Tools and fat model "iFreshModel" |
|
|
|
The following data is the data returned by the proxy method after the SDK is processed: |
|
|
|
``` |
|
|
|
// Bluetooth callback value: |
|
|
|
@property (nonatomic, copy) NSString *value; |
|
|
|
/ / Data in "g" |
|
|
|
@property (nonatomic, assign) NSInteger gValue; |
|
|
|
/ / Record the last used unit (SDK internal call), |
|
|
|
@property (nonatomic,copy) NSString *Unit; |
|
|
|
|
|
|
|
To convert data according to the unit, please call the following method: |
|
|
|
/** |
|
|
|
* g to lb method |
|
|
|
* weightvalue: the weight string passed in g |
|
|
|
* returned data separated by ":" |
|
|
|
*/ |
|
|
|
+ (NSString *)gTolb:(NSString *)weightValue; |
|
|
|
/** |
|
|
|
* g to oz method |
|
|
|
* weightvalue: the weight string passed in g |
|
|
|
*/ |
|
|
|
+ (NSString *)gTooz:(NSString *)weightVlaue; |
|
|
|
/** |
|
|
|
* lb to g method |
|
|
|
* weightvalue: the weight string passed in lb, please pass the ":" separated data |
|
|
|
*/ |
|
|
|
+ (NSString *)lbTog:(NSString *)weightVlaue; |
|
|
|
/** |
|
|
|
* oz to g method |
|
|
|
* weightvalue: the weight string passed in oz |
|
|
|
*/ |
|
|
|
+ (NSString *)ozTog:(NSString *) weightValue; |
|
|
|
/** |
|
|
|
* g to kg method |
|
|
|
* weightvalue: the weight string passed in g |
|
|
|
*/ |
|
|
|
+ (NSString *)gToKg:(NSString *)weightValue; |
|
|
|
/** |
|
|
|
* g to kg method |
|
|
|
* weightvalue: the weight string passed in g |
|
|
|
*/ |
|
|
|
+ (NSString *)gToJin:(NSString *)weightValue; |
|
|
|
/** |
|
|
|
* kg to g method |
|
|
|
* weightvalue: the weight string passed in kg |
|
|
|
*/ |
|
|
|
+ (NSString *)kgTog:(NSString *)weightValue; |
|
|
|
/** |
|
|
|
* kg to g method |
|
|
|
* weightvalue: the weight string passed in kilograms |
|
|
|
*/ |
|
|
|
+ (NSString *)jinTog:(NSString *)weightValue; |
|
|
|
|
|
|
|
/** |
|
|
|
* kg to lb method |
|
|
|
* weightvalue: the weight string passed in kg |
|
|
|
*/ |
|
|
|
+ (NSString *)kgTolb:(NSString *)weightValue; |
|
|
|
``` |
|
|
|
##Coffee scale timing function |
|
|
|
Send instructions to Bluetooth |
|
|
|
``` |
|
|
|
//start |
|
|
|
-(void)bluetoothCoffeeStartTime; |
|
|
|
//pause |
|
|
|
-(void)bluetoothCoffeePauseTime; |
|
|
|
//Reset |
|
|
|
-(void)bluetoothCoffeeResetTime; |
|
|
|
|
|
|
|
//Countdown starts |
|
|
|
-(void)bluetoothCoffeeCountdownStartTime:(int)min second:(int)sec; |
|
|
|
|
|
|
|
Receive data sent by Bluetooth |
|
|
|
|
|
|
|
/** |
|
|
|
*Agent callback supported by coffee scale |
|
|
|
*workType: Operation instructions for the coffee scale |
|
|
|
*/ |
|
|
|
-(void)bluetoothManagerCoffeeTimingWork:(BleCoffeeTimingWorkType)workType; |
|
|
|
/** |
|
|
|
*Time returned by the coffee scale |
|
|
|
*min: minute |
|
|
|
*sec: seconds |
|
|
|
*countdown: Whether it is countdown, YES: countdown, NO: timing |
|
|
|
*/ |
|
|
|
-(void)bluetoothManagerCoffeeTime:(int)min second:(int)sec isCountdown:(BOOL)countdown; |
|
|
|
/** |
|
|
|
* Coffee scale countdown starts |
|
|
|
*min: minute |
|
|
|
*sec: second |
|
|
|
*/ |
|
|
|
-(void)bluetoothManagerCoffeeCountdownStartTime:(int)min second:(int)sec; |
|
|
|
//APP reply stop alarm command |
|
|
|
-(void)bluetoothManagerSendStopAlarm; |
|
|
|
``` |