1. #微信小程序# 藍(lán)牙模塊

        共 4929字,需瀏覽 10分鐘

         ·

        2022-04-24 09:50

        -Start:關(guān)注本公眾號(hào)后,可直接聯(lián)系后臺(tái)獲取排版美化的詳細(xì)文檔!

        -Hints:本篇文章所編纂的資料均來(lái)自網(wǎng)絡(luò),特此感謝參與奉獻(xiàn)的有關(guān)人員。


        微信小程序-開(kāi)發(fā)步驟說(shuō)明

        -開(kāi)發(fā)賬號(hào)申請(qǐng)

        https://mp.weixin.qq.com/wxopen/waregister?action=step1&token=&lang=zh_CN

        -賬號(hào)APPID獲取

        https://mp.weixin.qq.com/wxamp/basicprofile/index?token=784407765&lang=zh_CN

        微信管理平臺(tái):設(shè)置》賬號(hào)信息》AppID

        -開(kāi)發(fā)工具部署

        下載地址:

        https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

        使用說(shuō)明:

        https://www.w3cschool.cn/weixinapp/weixinapp-devtools.html

        ?

        微信小程序-項(xiàng)目基礎(chǔ)結(jié)構(gòu)

        1 pages,小程序的頁(yè)面組成,有index 頁(yè)面和 logs 頁(yè)面,即歡迎頁(yè)和日志頁(yè)

        Js文件,頁(yè)面邏輯

        Wxml文件,頁(yè)面結(jié)構(gòu)

        Json文件,頁(yè)面配置

        Wxss文件,頁(yè)面樣式

        2 utils 存放js文件,支持公共函數(shù)

        3 app.js是小程序的腳本代碼。監(jiān)聽(tīng)并處理小程序的生命周期函數(shù)、聲明全局變量,調(diào)用微信原生 API、網(wǎng)絡(luò)超時(shí)時(shí)間、底部tab

        4app.json 是小程序的全局配置。配置小程序的頁(yè)面組成,窗口背景色,導(dǎo)航條樣式,默認(rèn)標(biāo)題。注意該文件不可添加任何注釋。

        5 app.wxss是小程序的公共樣式表。頁(yè)面組件的 class 屬性可以直接使用app.wxss 中聲明的樣式規(guī)則。

        6 project.config.json在工具上做的任何配置都會(huì)寫入到這個(gè)文件,當(dāng)你重新安裝工具或者換電腦工作時(shí),你只要載入同一個(gè)項(xiàng)目的代碼包,開(kāi)發(fā)者工具就自動(dòng)會(huì)幫你恢復(fù)到當(dāng)時(shí)你開(kāi)發(fā)項(xiàng)目時(shí)的個(gè)性化配置,其中會(huì)包括編輯器的顏色、代碼上傳時(shí)自動(dòng)壓縮等等一系列選項(xiàng)。

        7 sitemap.json開(kāi)發(fā)者可以通過(guò) sitemap.json 配置,或者管理后臺(tái)頁(yè)面收錄開(kāi)關(guān)來(lái)配置其小程序頁(yè)面是否允許微信索引。當(dāng)開(kāi)發(fā)者允許微信索引時(shí),微信會(huì)通過(guò)爬蟲的形式,為小程序的頁(yè)面內(nèi)容建立索引。當(dāng)用戶的搜索詞條觸發(fā)該索引時(shí),小程序的頁(yè)面將可能展示在搜索結(jié)果中。

        8 readme.md自行添加的關(guān)于項(xiàng)目的說(shuō)明文件

        ?

        微信小程序-藍(lán)牙模塊開(kāi)發(fā)

        -藍(lán)牙API生效周期:

        藍(lán)牙適配器模塊生效周期為調(diào)用?wx.openBluetoothAdapter?至調(diào)用?wx.closeBluetoothAdapter?或小程序被銷毀為止。在小程序藍(lán)牙適配器模塊生效期間,開(kāi)發(fā)者才能夠正常調(diào)用藍(lán)牙相關(guān)的小程序 API,并收到藍(lán)牙模塊相關(guān)的事件回調(diào)。

        -藍(lán)牙設(shè)備地址說(shuō)明:

        --由于系統(tǒng)限制,Android 上獲取到的?deviceId?為設(shè)備 MAC 地址,iOS 上則為設(shè)備uuid。因此?deviceId?不能硬編碼到代碼中。

        --目前不支持在開(kāi)發(fā)者工具上進(jìn)行藍(lán)牙功能的調(diào)試,需要使用真機(jī)才能正常調(diào)用小程序藍(lán)牙接口。

        -低功耗藍(lán)牙BLE說(shuō)明:

        iOS 上對(duì)特征值的?read、write、notify操作,由于系統(tǒng)需要獲取特征值實(shí)例,傳入的?serviceId?與?characteristicId?必須由?wx.getBLEDeviceServices?與?wx.getBLEDeviceCharacteristics?中獲取到后才能使用。建議雙平臺(tái)統(tǒng)一在建立連接后先執(zhí)行?wx.getBLEDeviceServices?與?wx.getBLEDeviceCharacteristics?后再進(jìn)行與藍(lán)牙設(shè)備的數(shù)據(jù)交互。


        微信小程序--藍(lán)牙開(kāi)放接口

        OBJECT參數(shù)說(shuō)明:

        參數(shù)

        類型

        必填

        說(shuō)明

        success

        Function

        成功則返回成功初始化信息

        fail

        Function

        接口調(diào)用失敗的回調(diào)函數(shù)

        complete

        Function

        接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

        --獲取本機(jī)藍(lán)牙適配器狀態(tài)

        wx.getBluetoothAdapterState(OBJECT)

        --初始化藍(lán)牙適配器

        wx.openBluetoothAdapter

        --開(kāi)始搜尋附近的藍(lán)牙外圍設(shè)備

        wx.startBluetoothDevicesDiscovery(OBJECT)

        --停止搜尋附近的藍(lán)牙外圍設(shè)備

        搜尋附近的藍(lán)牙外圍設(shè)備操作比較耗費(fèi)系統(tǒng)資源,請(qǐng)?jiān)谒阉鞑⑦B接到設(shè)備后調(diào)用 stop 方法停止搜索。

        wx.stopBluetoothDevicesDiscovery(OBJECT)

        --獲取所有已發(fā)現(xiàn)的藍(lán)牙設(shè)備,包括已經(jīng)和本機(jī)處于連接狀態(tài)的設(shè)備

        wx.getBluetoothDevices(OBJECT)

        --獲取處于已連接狀態(tài)的設(shè)備

        wx.getConnectedBluetoothDevices(OBJECT)

        --監(jiān)聽(tīng)藍(lán)牙適配器狀態(tài)變化事件

        wx.onBluetoothAdapterStateChange(CALLBACK)

        --監(jiān)聽(tīng)尋找到新設(shè)備的事件

        wx.onBluetoothDeviceFound(CALLBACK)

        wx.createBLEConnection({

        ? // 這里的 deviceId 需要在上面的 getBluetoothDevices 或onBluetoothDeviceFound 接口中獲取

        ? deviceId: deviceId,

        ? success: function (res) {

        ??? console.log(res)

        ? }

        })

        --連接低功耗藍(lán)牙設(shè)備

        wx.createBLEConnection(OBJECT)

        --獲取藍(lán)牙設(shè)備所有 service(服務(wù))

        wx.getBLEDeviceServices(OBJECT)

        --獲取藍(lán)牙設(shè)備所有 characteristic(特征值)

        wx.getBLEDeviceCharacteristics(OBJECT)

        --讀取低功耗藍(lán)牙設(shè)備的特征值的二進(jìn)制數(shù)據(jù)值

        注意:必須設(shè)備的特征值支持read才可以成功調(diào)用,具體參照 characteristic 的 properties 屬性

        wx.readBLECharacteristicValue(OBJECT)

        --向低功耗藍(lán)牙設(shè)備特征值中寫入二進(jìn)制數(shù)據(jù)

        wx.writeBLECharacteristicValue(OBJECT)

        注意:必須設(shè)備的特征值支持write才可以成功調(diào)用,具體參照 characteristic 的 properties 屬性

        tips: 并行調(diào)用多次讀寫接口存在讀寫失敗的可能性

        --啟用低功耗藍(lán)牙設(shè)備特征值變化時(shí)的 notify 功能。

        wx.notifyBLECharacteristicValueChanged(OBJECT)

        注意:必須設(shè)備的特征值支持notify才可以成功調(diào)用,具體參照 characteristic 的 properties

        --監(jiān)聽(tīng)低功耗藍(lán)牙連接的錯(cuò)誤事件,包括設(shè)備丟失,連接異常斷開(kāi)等等

        wx.onBLEConnectionStateChanged(CALLBACK)

        --監(jiān)聽(tīng)低功耗藍(lán)牙設(shè)備的特征值變化

        必須先啟用notify接口才能接收到設(shè)備推送的notification。

        wx.onBLECharacteristicValueChange(CALLBACK)

        --藍(lán)牙配對(duì)接口,僅安卓使用。安卓上藍(lán)牙連接時(shí),部分設(shè)備需先配對(duì)。

        wx.makeBluetoothPair(Objectobject)

        --斷開(kāi)與低功耗藍(lán)牙設(shè)備的連接

        wx.closeBLEConnection(OBJECT)

        --關(guān)閉藍(lán)牙模塊

        wx.closeBluetoothAdapter

        詳細(xì)資料:https://www.w3cschool.cn/weixinapp/weixinapp-bluetooth.html

        ?

        微信小程序-藍(lán)牙連接流程

        小程序與藍(lán)牙設(shè)備建立連接進(jìn)行通訊的一般流程如下:

        詳細(xì)資料:https://blog.csdn.net/liweipei_gd/article/details/114829582

        ?

        微信小程序-藍(lán)牙開(kāi)發(fā)Demo:

        Demo代碼:

        https://developers.weixin.qq.com/s/pQU51zmz7a3K

        Demo連接:

        https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.writeBLECharacteristicValue.html

        Demo思路:

        1打開(kāi)藍(lán)牙適配器接口wx.openBluetoothAdapter

        1.1藍(lán)牙適配器啟用成功,搜索藍(lán)牙設(shè)備wx.startBluetoothDevicesDiscovery

        1.2藍(lán)牙適配器啟用失敗,監(jiān)聽(tīng)藍(lán)牙適配器狀態(tài)變化wx.onBluetoothAdapterStateChange

        1.2.1 當(dāng)藍(lán)牙適配器狀態(tài)為可用時(shí),進(jìn)行搜索藍(lán)牙設(shè)備wx.startBluetoothDevicesDiscovery

        2 搜索藍(lán)牙設(shè)備wx.startBluetoothDevicesDiscovery

        3 獲取發(fā)現(xiàn)的藍(lán)牙設(shè)備wx.onBluetoothDeviceFound

        4 進(jìn)行低功耗藍(lán)牙設(shè)備連接wx.createBLEConnection

        4.1 低功耗藍(lán)牙連接成功,獲取藍(lán)牙設(shè)備所有 service(服務(wù))wx.getBLEDeviceServices(OBJECT)

        4.1.1 低功耗藍(lán)牙連接成功,獲取藍(lán)牙設(shè)備service成功,進(jìn)行獲取藍(lán)牙設(shè)備所有 characteristic(特征值)wx.getBLEDeviceCharacteristics(OBJECT)

        4.1.1.1 低功耗藍(lán)牙連接成功,獲取藍(lán)牙設(shè)備service成功,獲取藍(lán)牙設(shè)備characteristic成功,讀取低功耗藍(lán)牙設(shè)備的特征值的二進(jìn)制數(shù)據(jù)值,wx.readBLECharacteristicValue(OBJECT)

        5 向低功耗藍(lán)牙設(shè)備特征值中寫入二進(jìn)制數(shù)據(jù)wx.writeBLECharacteristicValue

        6 啟用低功耗藍(lán)牙設(shè)備特征值變化時(shí)的 notify 功能wx.notifyBLECharacteristicValueChange

        7 停止搜尋附近的藍(lán)牙外圍設(shè)備wx.stopBluetoothDevicesDiscovery(OBJECT)

        8 關(guān)閉低功耗藍(lán)牙連接?wx.closeBLEConnection

        9 關(guān)閉藍(lán)牙適配器?wx.closeBluetoothAdapter

        ?

        參考資料

        https://blog.csdn.net/qq_37896578/article/details/103721004?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_default&utm_relevant_index=1

        https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.stopBluetoothDevicesDiscovery.html

        https://blog.csdn.net/liweipei_gd/article/details/114829582

        公眾號(hào)二維碼

        End:如果有興趣了解量化交易、數(shù)據(jù)分析和互聯(lián)網(wǎng)+的實(shí)用技術(shù),歡迎關(guān)注本公眾號(hào)

        瀏覽 151
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
          
          

            1. 中国的1级特黄大片儿美女尿尿 | 午夜操逼网| 当今最荒淫操逼视频 | 欧美少妇视频 | 亚洲AV成人无码电影在线观看 |