Skip to content

sam38124/JzOsBleHelper

Repository files navigation

Platform characteristic

JzOsBleHelper

一套高效且敏捷的IOS Ble溝通框架,幫助開發者快速部署你的藍牙應用.另外支持android版本

android版本

目錄

<

如何導入到項目

支持SwiftPackage。

如何使用

1.在要監聽藍牙的地方繼承BleCallBack

class ViewController: UIViewController,BleCallBack {
    
    var bles:[CBPeripheral]=[CBPeripheral]()
    
    //連線中的回調
    func onConnecting() {
        print("onConnecting")
    }
    //連線失敗時回調
    func onConnectFalse() {
        print("onConnectFalse")
    }
    //連線成功時回調
    func onConnectSuccess() {
        print("onConnectSuccess")
    }
    
    //三種方式返回接收到的藍芽訊息
    func rx(_ a: BleBinary) {
        print("rx:\(a.readHEX())")
        print("rx:\(a.readUTF())")
        print("rx:\( a.readBytes())")
    }
    
    //三種方式返回傳送的藍芽訊息
    func tx(_ b: BleBinary) {
        print("tx:\(b.readHEX())")
        print("tx:\(b.readUTF())")
        print("tx:\( b.readBytes())")
    }
    
    //返回搜尋到的藍芽,可將搜尋到的藍芽儲存於陣列中,可用於之後的連線
    func scanBack(_ device: CBPeripheral) {
        if(!bles.contains(device)){
            bles.append(device)
        }
    }
    
    //藍芽未打開,經聽到此function可提醒使用者打開藍芽
    func needOpen() {
        print("noble")
    }
    
   }

宣告BleHelper並且開始使用

lazy var helper=BleHelper(self)

藍牙掃描以及連線

開始掃描

  helper.startScan()

開始連線

   helper.connect(bles[0], 10)

停止掃描藍牙

   helper.stopScan()

藍牙斷線

  helper.disconnect()

訊息傳送

四種方式向藍牙傳送Hello Ble的訊息,RxChannel為要接收資料的特徵值,TxChannel為要傳送資料的特徵值!

TxChannel以及RxChannel的UUID必需由藍牙的開發者定義
格式範例:8D81
HexString
 helper.writeHex("48656C6C6F20426C65", TxChannel, RxChannel)
UTF-8
helper.writeUtf("Hello Ble", TxChannel, RxChannel)
Bytes
helper.writeBytes([0x48,0x65,0x6C,0x6C,0x6F,0x20,0x42,0x6C,0x65], TxChannel, RxChannel)
Data
helper.writeData("Hello Ble".data(using: .utf8), TxChannel, RxChannel)

關於我

橙的電子android and ios developer

*line:sam38124

*gmail:sam38124@gmail.com

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages