WeChat アプレットは Bluetooth 通信プロトコルを使用してハードウェアの概要を接続します (Bluetooth の初期化、デバイスの検索、デバイスの表示)

序文

最近、全国限定の小規模プログラムプロジェクトを立ち上げましたが、これは主に人体の基本的なバイタルサイン(心電図、心拍数、血中酸素飽和度、血糖、尿酸などの検出)を検出する製品であり、製品は当社が独自に開発しており、ハードウェアも自社製であるため、ソフトウェアも研究開発チーム全員で開発しています。

電流検出基板は蓝牙协议データの送信のみをサポートしており、さまざまな機能を実現するために小さなプログラムと検出基板は命令を送受信する必要があります。鉄は熱いうちに打て。今日は小さなプログラムを使用して Bluetooth に接続する方法を整理します。

Bluetoothモジュールを初期化する

アプレットで Bluetooth 機能を使用する場合は、まずwx.openBluetoothAdapterBluetooth アダプタ モジュールを呼び出して初期化する必要があります。有効期間は、呼び出しwx.openBluetoothAdapterから呼び出しwx.closeBluetoothAdapterまたはアプレットの破棄までです。

WeChat オープンドキュメント: アプレットの Bluetooth アダプター モジュールが有効な場合にのみ、開発者は通常、Bluetooth 関連のアプレット API を呼び出し、Bluetooth モジュールに関連するイベント コールバックを受信できます (バインド監視はこの制限の対象ではありません)。

アプレットの Bluetooth サポートは次のとおりです。经典蓝牙: iOS はシステム制限により一時的に利用できなくなり、Android は現在計画中です。蓝牙低功耗 (BLE)::主机模式基本ライブラリ 1.1.0 (WeChat クライアント iOS 6.5.6、Android 6.5.7) のサポートを開始しました。从机模式: 基本ライブラリ 2.10.3 のサポートを開始しました。蓝牙信标 (Beacon): 基本ライブラリ 1.2.0 のサポートを開始しました。

Bluetooth接続の一般的なプロセス

1.Bluetoothデバイスの初期化

まず、Bluetooth モジュールを初期化するメソッドを呼び出しましょうwx.openBluetoothAdapter。携帯電話が Bluetooth をオンにできない場合、またはアプレットの Bluetooth 認証が拒否された場合、失敗コールバックがトリガーされます。ユーザーの優れたエクスペリエンスを向上させるために、効果的なリマインダーを与えることができます。コードは以下のように表示されます。

wx.openBluetoothAdapter({success: function (res) {console.log("初始化蓝牙成功")//查找蓝牙设备findBlue();},fail: function (res) {wx.showModal({content: '请开启手机蓝牙!',showCancel: false,success (res) {}})}}) 

: 他の Bluetooth 関連は、通話後に使用するAPI必要がありますwx.openBluetoothAdapterそれ以外の場合は、APIエラー **(errCode=10000)** が返されます。

2. Bluetooth デバイスを検索する

Bluetooth モジュールの初期化に成功したら、次のステップで Bluetooth デバイスを検索できます。wx.startBluetoothDevicesDiscovery近くの Bluetooth デバイスの検索を開始するには、このメソッドを呼び出す必要があります。この操作はシステム リソースを消費します。目的のデバイスを検索した後、検索を停止するのに間に合うようにこのメソッドを呼び出す必要がありますwx.stopBluetoothDevicesDiscovery関連するコードは次のとおりです。

const findBlue = model => {wx.startBluetoothDevicesDiscovery({services:	["xxxxxxxx", "0000FFB0-xxxxxx"],interval: 0,success: function (res) {ConnectedDeviceRelated.isSearchBluetooth_detectionBoard = trueif (model != 'repeat' && e != 'notSearch') {wx.showToast({title: '正在搜索中...',icon: 'none',duration: 1500})}//解决iOS第一次进入检测页面卡死的问题setTimeout(function (params) {getBluetoothDevices()},500)},fail:function (res) {console.log('搜索蓝牙设备错误',res)if (res.errMsg == 'startBluetoothDevicesDiscovery:fail:location permission is denied') {wx.showModal({title: '警告',content: '微信的位置权限被拒绝,请到设置中手动开启授权!',showCancel: false,success(res) {}})}}})} 

その中には、services検索対象の Bluetooth デバイスのメイン サービス リストが含まれておりUUID、一部の Bluetooth デバイスは独自のメインserviceサービスをブロードキャストしますUUIDこのパラメータを設定すると、ブロードキャスト パケットに UUID に対応するメイン サービスを持つ Bluetooth デバイスのみが検索され、処理する必要のない他の Bluetooth デバイスはこのパラメータによってフィルタリングされます。私のサンプルコードに書いてあるのは、XXX実際の状況に応じて来てくださいということです。

なお、 Bluetooth機能は測位許可を使用する必要があり、安卓微信 6.0上記バージョンでは測位許可がない場合、または測位スイッチがONになっていない場合、デバイス検索を行うことができません。この場合、安卓微信 8.0.16インターフェイス呼び出しが成功する前にデバイスをスキャンできず、8.0.16それ以降のバージョンでは、エラーが返されます。エラーを返した後、ユーザーに位置情報のアクセス許可を有効にするよう求めることをお勧めします。

コードは次の段落であり、すでに配置されています。

fail:function (res) {console.log('搜索蓝牙设备错误',res)if (res.errMsg == 'startBluetoothDevicesDiscovery:fail:location permission is denied') {wx.showModal({title: '警告',content: '微信的位置权限被拒绝,请到设置中手动开启授权!',showCancel: false,success(res) {}})}} 

3. 検索された Bluetooth デバイスを取得する

前の方法では、近くにある Bluetooth デバイスを検索しましたが、見つけた後はどうすればよいでしょうか? ビジネスシーンでの活用に向けて発信していきます。Bluetooth モジュールが有効な場合、デバイスに接続されているデバイスも含め、検索されたすべての Bluetooth デバイスを取得します。指定したデバイスを取得したら、Bluetooth デバイスのデバイス ID を別途保存し、以降の操作で使用します。コードは以下のように表示されます:

 //获取蓝牙设备信息const getBluetoothDevices = () => {wx.getBluetoothDevices({success: function (res) {if (res.devices.length > 0) {for (var i = 0; i < res.devices.length; i++) {if (res.devices[i].localName == ConnectedDeviceRelated.inputValue) {console.log('看一下获取到的指定设备', res.devices[i])ConnectedDeviceRelated.deviceId = res.devices[i].deviceIdapp.globalData.deviceId = res.devices[i].deviceIdapp.globalData.bluetooth = res.devices[i].localNamecreateBLEConnection()break;}if (res.devices.length - 1 == i) {findBlue('repeat')}}} else {findBlue('repeat')}},fail: function () {console.log("搜索蓝牙设备失败")}})} 

次の図は、取得したデバイスの印刷情報です。

やっと

ネットワーク セキュリティに触れたことのない学生のために、詳細な学習と成長のロードマップを用意しました。これは最も科学的で体系的な学習ルートであると言え、誰もがこの大まかな方向に従うことに問題はありません。

同時に、成長ルートに応じたセクションごとのサポートビデオも用意されています。


サポートビデオはもちろん、さまざまなドキュメント、書籍、資料、ツールが分類され、カテゴリに分類されています。

スペースが限られているため、情報の一部のみが表示されます。必要な友達は [下のカードをクリック] して無料で入手できます。

おすすめ

転載: blog.csdn.net/Android062005/article/details/129195588