項目前期準備(1)——基於微信小程序與STM32知識準備階段

前言

正所謂做一個大項目一般都需要軟硬件的知識結合,當然了這也不一定,有些項目只是需要做一個系統,APP開發等這些。不過對於我想一般人都會遇到這種問題——用什麼方法來解決用軟件來實現控制硬件,實施數據傳輸。一般有人都會選擇使用APP來控制硬件方面的研究。不過今天的話我就先拋棄APP,先來講一下根據我網上查找了好久找到的另一種方法 —— 一種基於微信小程序和單片機BLE透傳的簡要解決方法。

因爲根據微信小程序發展的形勢來說還是挺火的,再者目前關於微信小程序在控制硬件方面的研究還非常少, 所以說這個方面研究還是挺不錯的。那麼何爲BLE透傳?

BLE透傳

BLE透傳即低功耗藍牙透明傳輸, 單片機發送數據給低功耗藍牙時, 不需要其他協議, 低功耗藍牙就可以將數據發送給其他藍牙接收設備, 實現單片機與微信小程序之間的通信,使用方便。

BLE透傳模塊選擇

目前的話,我覺得可以推薦一下HC-05/06藍牙模塊。因爲採用HC-05/06藍牙模塊進行數據透傳, 具有成本低、體積小、功耗低和收發靈敏度高等優點。使用時,BLE透傳模塊RXD引腳與單片機TXD引腳連接, TXD引腳與單片機RXD引腳連接, 實現系統的通信功能。下面是HC-05模塊與單片機配對方式。

在這裏插入圖片描述
**具體使用方法也可以在淘寶搜索HC-05模塊,有些商家也提供了資料。
資料下載
提取碼:9g8a

軟件部分

下面就簡單地說一下微信小程序與單片機的通信原理:
微信小程序內置了18個BLEBLE藍牙API接口, 通調用BLE藍牙API接口成功連接藍牙設備後, 可以通過Bluetoothsocket實現微信小程序與BLE藍牙的數據接收和發送。
在設計過程中中, 會使用到以下的接口:
1.openBluetoothAdapt 用於開啓和初始化藍牙;
2.getBluetoothAdaptState 用於檢查藍牙是否開啓;
3.startBluetoothDevicesDiscover 用於開始設備搜索並當發現一個設備後會觸發 4.onBlueDeviceFound 事件;
5. creatBLEConnection 用於搜索到設備後連接設備;
6.getBLEDeviceService 用於連接成功後根據目標服務ID找到指定的服務ID, 每一個服務都包含一組特徵值用來描述服務特性, 如是否可讀, 是否可寫, 是否開啓notify等,。
7. 利用 getBLEDeviceCharacteristics 獲取該特徵值值。
8.最終 onBLECharacteristicValueChange 用於監聽數據變化[4]。

微信小程序BLE藍牙API調用方法框圖如圖:

在這裏插入圖片描述

注意

iOS 微信客戶端 6.5.6 版本開始支持,Android 6.5.7 版本開始支持
藍牙適配器模塊生效週期爲調用 wx.openBluetoothAdapter 至調用 wx.closeBluetoothAdapter 或小程序被銷燬爲止。
在小程序藍牙適配器模塊生效期間,開發者才能夠正常調用藍牙相關的小程序 API,並收到藍牙模塊相關的事件回調。
注意
由於系統限制,Android 上獲取到的 deviceId 爲設備 MAC 地址,iOS 上則爲設備 uuid。因此 deviceId 不能硬編碼到代碼中。
目前不支持在開發者工具上進行藍牙功能的調試,需要使用真機才能正常調用小程序藍牙接口。
低功耗藍牙(BLE)注意事項
iOS 上對特徵值的 read、write、notify操作,由於系統需要獲取特徵值實例,傳入的 serviceId 與 characteristicId 必須由 wx.getBLEDeviceServices 與 wx.getBLEDeviceCharacteristics 中獲取到後才能使用。建議雙平臺統一在建立連接後先執行 wx.getBLEDeviceServices 與 wx.getBLEDeviceCharacteristics 後再進行與藍牙設備的數據交互。

方案結果

目前,已經滿足於項目上的功能實現。具體美化還需要繼續操作寫代碼。因爲本人已經從事於算法學習,因此呢,我就沒有再次更新了。效果如下:
登錄界面如下:
在這裏插入圖片描述
藍牙掃描連接界面:

在這裏插入圖片描述

功能選擇界面如下:

在這裏插入圖片描述

結束導語

**因爲項目中我還負責了神經網絡的人臉識別,所以這裏我就簡單地描述了實現方案和結果。最後還推薦大家一個藍牙模塊調試軟件:Android的APP——BLE調試

藍牙模塊本人使用的是點擊這裏

emm,對於這個方案的話,你們要是還是不太懂BLE數據傳送這個的話,我可以推薦你們去看一下這個:

手把手教你開發BLE數據透傳應用程序

當然了,如果大家對微信小程序開發不太懂得話,可以點擊下面鏈接瞭解瞭解一下:

**微信小程序開發指南教程**

如果有什麼問題的話,可以在評論區發表意見,大家共同學習一下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章