微信小程序如何实现蓝牙的实例分享
这篇文章主要介绍了微信小程序 蓝牙的实现实例代码的相关资料,需要的朋友可以参考下
微信小程序 蓝牙的实现实例代码
1.简述
蓝牙适配器接口是基础库版本 1.1.0 开始支持。
iOS 微信客户端 6.5.6 版本开始支持,Android 客户端暂不支持
蓝牙总共增加了18个api接口。
2.Api分类
搜索类
连接类
通信类
3.API的具体使用
详细见官网:
https://mp.weixin.qq.com/debug/wxadoc/dev/api/bluetooth.html#wxgetconnectedbluethoothdevicesobject
4. 案例实现
4.1 搜索蓝牙设备
/** * 搜索设备界面 */ Page({ data: { logs: [], list:[], }, onLoad: function () { console.log('onLoad') var that = this; // const SDKVersion = wx.getSystemInfoSync().SDKVersion || '1.0.0' // const [MAJOR, MINOR, PATCH] = SDKVersion.split('.').map(Number) // console.log(SDKVersion); // console.log(MAJOR); // console.log(MINOR); // console.log(PATCH); // const canIUse = apiName => { // if (apiName === 'showModal.cancel') { // return MAJOR >= 1 && MINOR >= 1 // } // return true // } // wx.showModal({ // success: function(res) { // if (canIUse('showModal.cancel')) { // console.log(res.cancel) // } // } // }) //获取适配器 wx.openBluetoothAdapter({ success: function(res){ // success console.log("-----success----------"); console.log(res); //开始搜索 wx.startBluetoothDevicesDiscovery({ services: [], success: function(res){ // success console.log("-----startBluetoothDevicesDiscovery--success----------"); console.log(res); }, fail: function(res) { // fail console.log(res); }, complete: function(res) { // complete console.log(res); } }) }, fail: function(res) { console.log("-----fail----------"); // fail console.log(res); }, complete: function(res) { // complete console.log("-----complete----------"); console.log(res); } }) wx.getBluetoothDevices({ success: function(res){ // success //{devices: Array[11], errMsg: "getBluetoothDevices:ok"} console.log("getBluetoothDevices"); console.log(res); that.setData({ list:res.devices }); console.log(that.data.list); }, fail: function(res) { // fail }, complete: function(res) { // complete } }) }, onShow:function(){ }, //点击事件处理 bindViewTap: function(e) { console.log(e.currentTarget.dataset.title); console.log(e.currentTarget.dataset.name); console.log(e.currentTarget.dataset.advertisData); var title = e.currentTarget.dataset.title; var name = e.currentTarget.dataset.name; wx.redirectTo({ url: '../conn/conn?deviceId='+title+'&name='+name, success: function(res){ // success }, fail: function(res) { // fail }, complete: function(res) { // complete } }) }, })
4.2连接 获取数据
/** * 连接设备。获取数据 */ Page({ data: { motto: 'Hello World', userInfo: {}, deviceId: '', name: '', serviceId: '', services: [], cd20: '', cd01: '', cd02: '', cd03: '', cd04: '', characteristics20: null, characteristics01: null, characteristics02: null, characteristics03: null, characteristics04: null, result, }, onLoad: function (opt) { var that = this; console.log("onLoad"); console.log('deviceId=' + opt.deviceId); console.log('name=' + opt.name); that.setData({ deviceId: opt.deviceId }); /** * 监听设备的连接状态 */ wx.onBLEConnectionStateChanged(function (res) { console.log(`device ${res.deviceId} state has changed, connected: ${res.connected}`) }) /** * 连接设备 */ wx.createBLEConnection({ deviceId: that.data.deviceId, success: function (res) { // success console.log(res); /** * 连接成功,后开始获取设备的服务列表 */ wx.getBLEDeviceServices({ // 这里的 deviceId 需要在上面的 getBluetoothDevices中获取 deviceId: that.data.deviceId, success: function (res) { console.log('device services:', res.services) that.setData({ services: res.services }); console.log('device services:', that.data.services[1].uuid); that.setData({ serviceId: that.data.services[1].uuid }); console.log('--------------------------------------'); console.log('device设备的id:', that.data.deviceId); console.log('device设备的服务id:', that.data.serviceId); /** * 延迟3秒,根据服务获取特征 */ setTimeout(function () { wx.getBLEDeviceCharacteristics({ // 这里的 deviceId 需要在上面的 getBluetoothDevices deviceId: that.data.deviceId, // 这里的 serviceId 需要在上面的 getBLEDeviceServices 接口中获取 serviceId: that.data.serviceId, success: function (res) { console.log('000000000000' + that.data.serviceId); console.log('device getBLEDeviceCharacteristics:', res.characteristics) for (var i = 0; i < 5; i++) { if (res.characteristics[i].uuid.indexOf("cd20") != -1) { that.setData({ cd20: res.characteristics[i].uuid, characteristics20: res.characteristics[i] }); } if (res.characteristics[i].uuid.indexOf("cd01") != -1) { that.setData({ cd01: res.characteristics[i].uuid, characteristics01: res.characteristics[i] }); } if (res.characteristics[i].uuid.indexOf("cd02") != -1) { that.setData({ cd02: res.characteristics[i].uuid, characteristics02: res.characteristics[i] }); } if (res.characteristics[i].uuid.indexOf("cd03") != -1) { that.setData({ cd03: res.characteristics[i].uuid, characteristics03: res.characteristics[i] }); } if (res.characteristics[i].uuid.indexOf("cd04") != -1) { that.setData({ cd04: res.characteristics[i].uuid, characteristics04: res.characteristics[i] }); } } console.log('cd01= ' + that.data.cd01 + 'cd02= ' + that.data.cd02 + 'cd03= ' + that.data.cd03 + 'cd04= ' + that.data.cd04 + 'cd20= ' + that.data.cd20); /** * 回调获取 设备发过来的数据 */ wx.onBLECharacteristicValueChange(function (characteristic) { console.log('characteristic value comed:', characteristic.value) //{value: ArrayBuffer, deviceId: "D8:00:D2:4F:24:17", serviceId: "ba11f08c-5f14-0b0d-1080-007cbe238851-0x600000460240", characteristicId: "0000cd04-0000-1000-8000-00805f9b34fb-0x60800069fb80"} /** * 监听cd04cd04中的结果 */ if (characteristic.characteristicId.indexOf("cd01") != -1) { const result = characteristic.value; const hex = that.buf2hex(result); console.log(hex); } if (characteristic.characteristicId.indexOf("cd04") != -1) { const result = characteristic.value; const hex = that.buf2hex(result); console.log(hex); that.setData({ result: hex }); } }) /** * 顺序开发设备特征notifiy */ wx.notifyBLECharacteristicValueChanged({ deviceId: that.data.deviceId, serviceId: that.data.serviceId, characteristicId: that.data.cd01, state: true, success: function (res) { // success console.log('notifyBLECharacteristicValueChanged success', res); }, fail: function (res) { // fail }, complete: function (res) { // complete } }) wx.notifyBLECharacteristicValueChanged({ deviceId: that.data.deviceId, serviceId: that.data.serviceId, characteristicId: that.data.cd02, state: true, success: function (res) { // success console.log('notifyBLECharacteristicValueChanged success', res); }, fail: function (res) { // fail }, complete: function (res) { // complete } }) wx.notifyBLECharacteristicValueChanged({ deviceId: that.data.deviceId, serviceId: that.data.serviceId, characteristicId: that.data.cd03, state: true, success: function (res) { // success console.log('notifyBLECharacteristicValueChanged success', res); }, fail: function (res) { // fail }, complete: function (res) { // complete } }) wx.notifyBLECharacteristicValueChanged({ // 启用 notify 功能 // 这里的 deviceId 需要在上面的 getBluetoothDevices 或 onBluetoothDeviceFound 接口中获取 deviceId: that.data.deviceId, serviceId: that.data.serviceId, characteristicId: that.data.cd04, state: true, success: function (res) { console.log('notifyBLECharacteristicValueChanged success', res) } }) }, fail: function (res) { console.log(res); } }) } , 1500); } }) }, fail: function (res) { // fail }, complete: function (res) { // complete } }) }, /** * 发送 数据到设备中 */ bindViewTap: function () { var that = this; var hex = 'AA5504B10000B5' var typedArray = new Uint8Array(hex.match(/[\da-f]{2}/gi).map(function (h) { return parseInt(h, 16) })) console.log(typedArray) console.log([0xAA, 0x55, 0x04, 0xB1, 0x00, 0x00, 0xB5]) var buffer1 = typedArray.buffer console.log(buffer1) wx.writeBLECharacteristicValue({ deviceId: that.data.deviceId, serviceId: that.data.serviceId, characteristicId: that.data.cd20, value: buffer1, success: function (res) { // success console.log("success 指令发送成功"); console.log(res); }, fail: function (res) { // fail console.log(res); }, complete: function (res) { // complete } }) }, /** * ArrayBuffer 转换为 Hex */ buf2hex: function (buffer) { // buffer is an ArrayBuffer return Array.prototype.map.call(new Uint8Array(buffer), x => ('00' + x.toString(16)).slice(-2)).join(''); } })
5.效果展示
发送校验指令。获取结果
Atas ialah kandungan terperinci 微信小程序如何实现蓝牙的实例分享. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Secara umumnya, kita hanya perlu menggunakan salah satu fon kepala atau pembesar suara pada masa yang sama Namun, beberapa rakan telah melaporkan bahawa dalam sistem win11, mereka menghadapi masalah fon kepala dan pembesar suara pada masa yang sama matikan dalam panel realtek dan ia akan baik-baik saja, mari lihat di bawah. Apakah yang perlu saya lakukan jika fon kepala dan pembesar suara saya berbunyi bersama dalam win11 1. Mula-mula cari dan buka "Panel Kawalan" pada desktop 2. Masukkan panel kawalan, cari dan buka "Perkakasan dan Bunyi" 3. Kemudian cari ". Realtek High Definition" dengan ikon pembesar suara. Pengurus Audio" 4. Pilih "Speaker" dan klik "Panel Belakang" untuk memasukkan tetapan pembesar suara. 5. Selepas membuka, kita dapat melihat jenis peranti Jika anda ingin mematikan fon kepala, nyahtanda "Fon Kepala".

1. Leret ke atas di bahagian bawah skrin untuk memaparkan pusat kawalan, seperti yang ditunjukkan di bawah. Klik suis Bluetooth untuk menghidupkan Bluetooth. 2. Kami boleh menyambung ke peranti Bluetooth berpasangan lain atau klik [Cari Peranti Bluetooth] untuk menyambung ke peranti Bluetooth baharu Jangan lupa untuk menghidupkan [Kebolehkesanan] apabila anda mahu rakan lain mencari telefon anda dan menyambung ke Bluetooth. Kaedah 2. 1. Masukkan desktop telefon mudah alih, cari dan buka tetapan. 2. Tarik ke bawah direktori [Settings] untuk mencari [More Settings] dan klik untuk masuk 3. Klik untuk membuka [Bluetooth] dan hidupkan suis Bluetooth untuk menghidupkan Bluetooth.

Tiada modul Bluetooth dalam pengurus peranti sistem win11 Apabila menggunakan sistem Windows 11, kadangkala anda akan menghadapi situasi yang tiada modul bluetooth dalam pengurus peranti. Ini mungkin membawa kesulitan kepada penggunaan harian kita, kerana teknologi Bluetooth telah menjadi sangat biasa dalam masyarakat moden, dan kita sering perlu menggunakannya untuk menyambungkan peranti wayarles. Jika anda tidak menemui modul Bluetooth dalam pengurus peranti, jangan risau, berikut adalah beberapa penyelesaian yang mungkin untuk anda: 1. Semak sambungan perkakasan: Pertama, pastikan anda benar-benar mempunyai modul Bluetooth pada komputer atau komputer riba anda. Sesetengah peranti mungkin tidak mempunyai fungsi Bluetooth terbina dalam, dalam hal ini anda perlu membeli penyesuai Bluetooth luaran untuk menyambung. 2. Kemas kini pemandu: Kadang-kadang sebab mengapa tiada modul Bluetooth dalam pengurus peranti adalah kerana pemandu.

Harry Potter: Magic Awakening baru-baru ini telah menambah fungsi pertukaran ejaan, yang memerlukan pemain menggunakan Bluetooth atau WiFi untuk bertukar-tukar mantra Sesetengah pemain mendapati bahawa mereka tidak boleh menggunakan pertukaran Bluetooth, jadi bagaimana mereka boleh menggunakan Bluetooth untuk bertukar-tukar mantra? Seterusnya, editor akan membawakan kepada anda penyelesaian kepada masalah yang ejaan Harry Potter tidak boleh ditukar menggunakan Bluetooth. Saya harap ia dapat membantu anda. Penyelesaian kepada Pertukaran Ejaan Harry Potter Tidak Menggunakan Bluetooth 1. Mula-mula, pemain perlu mencari Pertukaran Ejaan dalam perpustakaan, dan kemudian mereka boleh menggunakan Bluetooth atau WiFi untuk bertukar. 2. Klik Gunakan Bluetooth, dan ia menggesa anda perlu memuat turun pakej pemasangan baharu, tetapi ia telah dimuat turun sebelum ini, dan sesetengah pemain menjadi keliru. 3. Malah, pemain boleh memuat turun pakej pemasangan baharu dengan pergi ke kedai Untuk ios, mereka boleh pergi ke kedai Apple untuk mengemas kini Untuk Android, mereka boleh memuat turunnya.

Apabila kita membeli telefon bimbit, kita akan melihat bahawa terdapat pilihan sokongan Bluetooth dalam parameter telefon mudah alih Kadang-kadang kita akan menghadapi situasi di mana set kepala Bluetooth yang dibeli tidak sepadan dengan telefon mudah alih. Begitu juga dengan Bluetooth 5.3 yang perlu disokong telefon bimbit itu sebenarnya tidak perlu. Adakah Bluetooth 5.3 memerlukan sokongan telefon bimbit. Jawapan: Bluetooth 5.3 memerlukan sokongan telefon mudah alih. Walau bagaimanapun, mana-mana telefon mudah alih yang menyokong Bluetooth boleh digunakan. 1. Bluetooth serasi ke belakang, tetapi menggunakan versi yang sepadan memerlukan sokongan telefon mudah alih. 2. Contohnya, jika kita membeli headset Bluetooth tanpa wayar menggunakan Bluetooth 5.3. 3. Kemudian, jika telefon bimbit kita hanya menyokong Bluetooth 5.0, maka Bluetooth 5.0 digunakan semasa menyambung 4. Oleh itu, kita masih boleh menggunakan telefon bimbit ini untuk menyambung fon kepala untuk mendengar muzik, tetapi kelajuannya tidak sehebat Bluetooth.
![Cara Memadankan Papan Kekunci Logitech [Penerima USB, Bluetooth, iPad]](https://img.php.cn/upload/article/000/000/164/170032125143335.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Sebelum anda boleh menggunakan papan kekunci wayarles baharu anda dengan PC anda, anda perlu memasangkannya dan dalam panduan ini, kami akan menunjukkan kepada anda cara memasangkan papan kekunci Logitech anda dengan betul. Proses ini sangat mudah dan hanya memerlukan beberapa klik, jadi sertai kami dan kami akan menunjukkan kepada anda cara melakukannya pada PC anda. Bagaimanakah cara saya meletakkan papan kekunci Logitech ke dalam mod berpasangan? Bagaimanakah kita menguji, menyemak dan memberi markah? Sepanjang 6 bulan yang lalu, kami telah berusaha keras untuk mewujudkan sistem semakan baharu untuk cara kami menghasilkan kandungan. Menggunakan ini, kami kemudiannya mengubah semula kebanyakan artikel untuk memberikan kepakaran praktikal dan praktikal mengenai panduan yang kami hasilkan. Untuk butiran lanjut, anda boleh membaca tentang cara kami menguji, menyemak dan menilai pada Laporan Windows. Buka papan kekunci. Jika LED tidak berkelip

Apakah yang perlu saya lakukan jika Bluetooth tidak boleh digunakan dalam sistem Win11 Dengan pelancaran sistem Win11, ramai pengguna tidak sabar untuk menaik taraf komputer mereka? Walau bagaimanapun, sesetengah pengguna menghadapi masalah biasa selepas menaik taraf: Bluetooth tidak berfungsi. Ini adalah isu yang mengecewakan bagi mereka yang bergantung pada peranti Bluetooth. Nasib baik, terdapat beberapa penyelesaian mudah yang boleh membantu anda menyelesaikan masalah ini. Mula-mula, anda boleh cuba mulakan semula komputer anda. Kadangkala, hanya memulakan semula sistem anda boleh menyelesaikan beberapa masalah, termasuk Bluetooth tidak berfungsi. Selepas memulakan semula, semak sama ada Bluetooth berfungsi dengan betul. Jika memulakan semula tidak menyelesaikan masalah, maka anda boleh cuba mengemas kini pemacu Bluetooth. Kadang-kadang, pemandu lama atau rasuah boleh menyebabkan

Menurut berita pada 21 Februari, Samsung hari ini mengumumkan bahawa ia akan membawa fungsi penyiaran audio Bluetooth Auracast kepada siri Galaxy S23, ZFold5, telefon mudah alih ZFlip5 dan tablet siri Galaxy Tab S9 yang telah dinaik taraf kepada OneUI6.1 dan lebih tinggi. Mulai tahun lepas, Samsung telah menambah sokongan untuk fungsi siaran audio Bluetooth Auracast pada set kepala Galaxy Buds 2 Pro dan telefon mudah alih siri Samsung Galaxy S24 yang menjalankan OneUI6.1 turut menambah sokongan. Untuk peranti Samsung yang layak untuk ditingkatkan kepada OneUI6.1, anda boleh membuka "Tetapan" > "Bluetooth" > "Menu tiga titik" > "Gunakan Auracast untuk menyiarkan bunyi."
