本篇博文闡述如何開發(fā)Ble藍(lán)牙。在藍(lán)牙中的一些常見服務(wù),掃描,以及鏈接;
主藍(lán)牙類文件.h 主藍(lán)牙類文件.m UUID文件 藍(lán)牙列表展示的文件一:引入Ble藍(lán)牙的框架<CoreBluetooth/CoreBluetooth.h>
BuleHelp.h
#import <Foundation/Foundation.h>//導(dǎo)入藍(lán)牙框架#import <CoreBluetooth/CoreBluetooth.h>#import "DeviceModel.h"#import "Constants.h"#import "CommonUserDefaults.h"#import "CommonUtil.h"#import "TempDB.h"#define COMMAND_PACKET_MIN_SIZE 7@interface BlueHelp : NSObject//藍(lán)牙的設(shè)備搜索顯示在列表中@property (nonatomic, strong) NSMutableArray <CBPeripheral*>*periperals;//連接peripheral@property(nonatomic,strong) CBPeripheral *peripheral;//連接peripheral@property(nonatomic,strong) CBPeripheral *selectperipheral;//中心管理者@property (nonatomic, strong) CBCentralManager *centerManager;@property (nonatomic,strong) DeviceModel *deviceModel;//設(shè)備列表@property (nonatomic,strong) NSMutableArray *deviceList;@property (nonatomic,strong) NSMutableArray *commandArray;//是否進(jìn)行ota升級(jí)@property (nonatomic) BOOL isOta;@property (nonatomic) BOOL isWritePacketDataSuccess;@property (strong,nonatomic) NSString * checkSumType;/*! * @property isApplicationValid * * @discussion flag used to check whether the application writing is success * */@property (nonatomic) BOOL isApplicationValid;/*! * @property checkSum * * @discussion checkSum received from the device for writing a single row * */@property (assign) uint8_t checkSum;/*! * @property startRowNumber * * @discussion Device flash start row number * */@property (nonatomic) int startRowNumber;/*! * @property endRowNumber * * @discussion Device flash end row number * */@property (nonatomic) int endRowNumber;/*! * @property siliconIDString * * @discussion siliconID from the device response * */@property (strong,nonatomic) NSString *siliconIDString;/*! * @property siliconRevString * * @discussion silicon rev from the device response * */@property (strong,nonatomic) NSString *siliconRevString;//是否發(fā)送數(shù)據(jù)@property (nonatomic) BOOL isSendData;@property (strong,nonatomic) CommonUtil *commonUtil;@property (strong,nonatomic) TempDB *tempDB;@property (strong,nonatomic) NSDate *currentDate;//時(shí)間格式化@property(strong,nonatomic) NSDateFormatter *dateformatter;@property(strong,nonatomic) NSString *deviceName;//@property (nonatomic,strong) NSUserDefaults *userDefaults;@property (nonatomic,strong) CommonUserDefaults *userDefaults;//發(fā)送溫度數(shù)據(jù)@property (nonatomic,strong) CBCharacteristic *sendtempcharateristic;//發(fā)送OTA數(shù)據(jù)@property (nonatomic,strong) CBCharacteristic *sendotacharateristic;//高/低溫度數(shù)據(jù)//@property (nonatomic,strong) CBCharacteristic *sendhighalarmcharateristic;////@property (nonatomic,strong) CBCharacteristic *sendlowalarmcharateristic;//ota@property (nonatomic,strong) CBCharacteristic *senddfucharateristic;//發(fā)送字符串'CR'清除機(jī)子上的最大值(3個(gè)字節(jié))@property (nonatomic,strong) CBCharacteristic *senddcrstrateristic;//發(fā)送字符串'PD'機(jī)子關(guān)機(jī)(3個(gè)字節(jié))@property (nonatomic,strong) CBCharacteristic *senddoutstrateristic;//靜音@property (strong,nonatomic) CBCharacteristic *sendmutealarmcharateristic;//calset@property(strong,nonatomic) CBCharacteristic *sendcalsetcharateristic;//intervaltime@property(strong,nonatomic) CBCharacteristic *sendintervaltimecharateristic;//alarmswitch@property(strong,nonatomic) CBCharacteristic *sendalarmswitchcharateristic;//tempunit@property(strong,nonatomic) CBCharacteristic *sendtempunitcharateristic;@property(strong,nonatomic) CBCharacteristic *sendlowalarmswitchcharateristic;///<===============方法區(qū)塊=======================>+ (id)sharedManager;-(NSMutableArray *)getDeviceList;-(NSMutableArray *)getPeriperalList;-(void)startScan;//連接藍(lán)牙-(void)contentBlue:(int) row;//斷開藍(lán)牙-(void)disContentBle;//斷開ota的藍(lán)牙連接-(void)disContentOtaBle;//溫度符號(hào)-(void)writeTempUnit:(NSString *)value;//寫入報(bào)警開關(guān)-(void)writeAlarmSwitch:(NSString *)value;//寫入mute alarm-(void)writeMuteAlarm:(NSString *)value;//寫入CR CLERVULE-(void)writeClearCR:(NSString *)value;//寫入interval time-(void)writeIntervalTime:(NSString *)value;//寫入cal set-(void)writeCalSet:(NSString *)value;//寫入設(shè)備的開關(guān)按鈕-(void)writeBluePD:(NSString *)value;//寫入低溫報(bào)警//-(void)writeLowAlarm:(NSString *)value;//////寫入高溫報(bào)警//-(void)writeHighAlarm:(NSString *)value;//OTA固件升級(jí) 又稱為DFU-(void)writeUpdateOTA:(NSString*)value;-(void)writeBlueOTA:(NSString *)value;-(void)wirteBlueOTAData:(NSData *)value;-(void)writeLowAlarmSwitch:(NSString *)value;-(void) discoverCharacteristicsWithCompletionHandler:(void (^) (BOOL success, NSError *error)) handler;-(void)updateValueForCharacteristicWithCompletionHandler:(void (^) (BOOL success,id command,NSError *error)) handler;-(void) stopUpdate;-(void) setCheckSumType:(NSString *) type;-(NSData *) createCommandPacketWithCommand:(uint8_t)commandCode dataLength:(unsigned short)dataLength data:(NSDictionary *)packetDataDictionary;-(void) writeValueToCharacteristicWithData:(NSData *)data bootLoaderCommandCode:(unsigned short)commandCode;/* * 停止掃描 */-(void)stopScan;//是否是第一次連接設(shè)備@property(assign,nonatomic) BOOL isconnected;//當(dāng)前的時(shí)間@property(nonatomic,assign) long currentTime;@property(nonatomic,strong) NSString *macAddre;@property(nonatomic,strong) NSString *macName;-(void)disMainOtaBle;@end
新聞熱點(diǎn)
疑難解答
圖片精選