図1に示すように、初期化ブルートゥースモジュール
ブルートゥースを使用するには、Bluetoothモジュールを初期化する必要があります。状態監視を設定することに加えて、すべてのBluetoothインターフェースは、初期化が完了した後に正常に動作するために必要とされます。
// Bluetoothモジュールを初期化します
bluetooth.openAdapter({
// Bluetoothのスイッチシステムを開くかどうか、デフォルトはfalse
operateAdapter:真、
成功:関数(){
console.log( '成功');
}、
失敗:関数(データコード){
console.log( '取り扱い失敗、コード= $ {コード}')。
IF(コード=== 10001){
Bluetoothがオンになっていない//、ユーザーは、Bluetoothをオンにするように指示されます
}
}、
完了:関数(){
console.log( '完全');
}
})
2、機器の周りに検索
あなたは、低消費電力のBluetoothデバイスの周りに見つかった運転を検索することができます。スキャンを実行する前に、あなたは、検索結果を受信すると、コールバックデバイスの検出とを登録する必要があります
//デバイス検出コールバックをスキャンする前に登録
bluetooth.ondevicefound =関数(データ){
console.log(「新しいデバイスリストに設立しました」);
data.devices.forEach(デバイス=> {
//見つける必要な機器は、スキャンを停止します
bluetooth.stopDevicesDiscovery();
_this.deviceId = device.deviceId。
console.log( '新しいデバイスを発見処理:$ {JSON.stringify(デバイス)}')。
console.log( '処理advertisData = $ {_ this.ab2hex(device.advertisData)}')。
{(device.serviceDataでキーを聞かせて)のために
console.log( 'のserviceDataハンドリング:UUID = $ {キー}のserviceData = $ {)_ this.ab2hex(device.serviceData [キー]}')
}
})
}。
//スキャンを開始
bluetooth.startDevicesDiscovery({
//デバイスのUUIDを指定して、16ビット、32ビット、128ビットのUUIDをサポートし、走査装置の周りのすべてを満たしていません
サービス:[ '1105']、
//重複したデバイスのレポートを許可するかどうか、あなたがデータのパケットをブロードキャストする聞いていない場合は、この勧告が設定されていない場合、デフォルト値はfalseです
allowDuplicatesKey:偽、
//間隔を報告し、ミリ秒単位で、すなわちすぐに0に報告し、デフォルト値は0です
期間:1000、
成功:関数(){
console.log( '成功');
}
})
3、接続
デバイスに接続された機器を操作する前に、接続操作はデバイスIDによって直接行うことができ、スキャン動作は不要です。接続する前に、あなたは、インターフェイスモニタリングデバイスの切断状態の接続状態を設定するために登録することができます。
//デバイスの接続状況のモニターを登録
bluetooth.onbleconnectionstatechange =関数(データ){
console.log( 'デバイス状態変更処理:のDeviceID = $ {data.deviceId}、{data.connected} = $接続を');
//は、デバイスの接続ステータスを更新します
_this.connected = data.connected。
IF(data.connected){
ターゲット・デバイスが接続された後//、サービスのリストにアクセス
_this.getServices()。
}他{
//このように再接続または再スキャンなど、関連する切断操作を行います
}
}
//接続されたデバイス
bluetooth.createBLEConnection({
DEVICEID:_this.deviceId、
成功:関数(){
}、
失敗:関数(データコード){
}、
完全:関数(){}
})
4、機器のサービス情報へのアクセス
bluetooth.getBLEDeviceServices({
DEVICEID:_this.deviceId、
成功:機能(データ){
data.services.forEach(サービス=> {
//スクリーニング装置をのuuidできる定義によれば、彼らが必要とするサービスを取得します
IF(service.isPrimary){
_this.serviceId = service.uuid。
//特徴値の一覧を取得します
_this.getCharacteristices()。
}
})
}、
失敗:関数(データコード){}、
コンプリート(){}
})