ios 与 linux 蓝牙通讯,IOS Ble蓝牙开发实现方法

IOS Ble蓝牙开发实现方法

发布时间:2019-12-26 18:44

来源:互联网

当前栏目:web技术类

本篇博文阐述如何开发Ble蓝牙。在蓝牙中的一些常见服务,扫描,以及链接;

主蓝牙类文件.h

主蓝牙类文件.m

UUID文件

蓝牙列表展示的文件

一:引入Ble蓝牙的框架

BuleHelp.h

#import

//导入蓝牙框架

#import

#import "DeviceModel.h"

#import "Constants.h"

#import "CommonUserDefaults.h"

#import "CommonUtil.h"

#import "TempDB.h"

#define COMMAND_PACKET_MIN_SIZE 7

@interface BlueHelp : NSObject

//蓝牙的设备搜索显示在列表中

@property (nonatomic, strong) NSMutableArray *periperals;

//连接peripheral

@property(nonatomic,strong) CBPeripheral *peripheral;

//连接peripheral

@property(nonatomic,strong) CBPeripheral *selectperipheral;

//中心管理者

@property (nonatomic, strong) CBCentralManager *centerManager;

@property (nonatomic,strong) DeviceModel *deviceModel;

//设备列表

@property (nonatomic,strong) NSMutableArray *deviceList;

@property (nonatomic,strong) NSMutableArray *commandArray;

//是否进行ota升级

@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;

//是否发送数据

@property (nonatomic) BOOL isSendData;

@property (strong,nonatomic) CommonUtil *commonUtil;

@property (strong,nonatomic) TempDB *tempDB;

@property (strong,nonatomic) NSDate *currentDate;

//时间格式化

@property(strong,nonatomic) NSDateFormatter *dateformatter;

@property(strong,nonatomic) NSString *deviceName;

//@property (nonatomic,strong) NSUserDefaults *userDefaults;

@property (nonatomic,strong) CommonUserDefaults *userDefaults;

//发送温度数据

@property (nonatomic,strong) CBCharacteristic *sendtempcharateristic;

//发送OTA数据

@property (nonatomic,strong) CBCharacteristic *sendotacharateristic;

//高/低温度数据

//@property (nonatomic,strong) CBCharacteristic *sendhighalarmcharateristic;

//

//@property (nonatomic,strong) CBCharacteristic *sendlowalarmcharateristic;

//ota

@property (nonatomic,strong) CBCharacteristic *senddfucharateristic;

//发送字符串'CR'清除机子上的最大值(3个字节)

@property (nonatomic,strong) CBCharacteristic *senddcrstrateristic;

//发送字符串'PD'机子关机(3个字节)

@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;

///<===============方法区块=======================>

+ (id)sharedManager;

-(NSMutableArray *)getDeviceList;

-(NSMutableArray *)getPeriperalList;

-(void)startScan;

//连接蓝牙

-(void)contentBlue:(int) row;

//断开蓝牙

-(void)disContentBle;

//断开ota的蓝牙连接

-(void)disContentOtaBle;

//温度符号

-(void)writeTempUnit:(NSString *)value;

//写入报警开关

-(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;

//写入设备的开关按钮

-(void)writeBluePD:(NSString *)value;

//写入低温报警

//-(void)writeLowAlarm:(NSString *)value;

//

写入高温报警

//-(void)writeHighAlarm:(NSString *)value;

//OTA固件升级 又称为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;

//是否是第一次连接设备

@property(assign,nonatomic) BOOL isconnected;

//当前的时间

@property(nonatomic,assign) long currentTime;

@property(nonatomic,strong) NSString *macAddre;

@property(nonatomic,strong) NSString *macName;

-(void)disMainOtaBle;

@end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值