這篇文章來源于DevicePlus英語網站的翻譯稿。
本文最初發布在deviceplus網站上,而后被翻譯成中文。
在本文中,我們將使用Bluetooth(BLE)功能連接ESP-WROOM-32與其他設備。
本項目電子設備清單
預計完成時間: 60分鐘
所需部件:
?ESP-WROOM-32 development board
目錄
1. 什么是Bluetooth(藍牙)?
2. Bluetooth和BLE的區別
3. 在ESP-WROOM-32上使用BLE前的準備
4. 示例程序的運行
5. 總結
1. 什么是Bluetooth(藍牙)?
近年來,頭戴式耳機、入耳式耳機、音箱、車載音響系統、鼠標、鍵盤等很多設備都開始支持Bluetooth通信。雖然與Wi-Fi等無線通信不同,但Bluetooth通信對于那些經常使用藍牙功能的人來說應該已經成為一種比較熟悉的通信方式了。
那么,Bluetooth通信到底是一種什么樣的通信方式呢?大家可能會有這樣的印象:用Bluetooth功能可以和附近的設備通信,不能和遙遠的設備通信。下面,讓我們來大致了解一下Bluetooth的機制和規格。
Bluetooth(藍牙)
Bluetooth(藍牙)是一種無線通信技術規范,可實現固定設備和移動設備之間的短距離數據交換,還可用于構建個人局域網絡(PAN)。該技術使用短波UHF無線電波進行數據傳輸,其波段為2.400 GHz至2.485GHz頻段,這是全球范圍內工業、科學和醫療領域可以使用的無線電頻段。人們開發該技術的初衷是為了找尋一種替代RS-232數據線的無線通信方式。
現在,Bluetooth由藍牙技術聯盟(SIG)管理,該組織在電信、計算、網絡和消費電子等領域擁有35000多家成員公司。IEEE將Bluetooth標準化為IEEE 802.15.1協議,但是已不再提供維護。藍牙SIG負責監督藍牙規范開發、管理證書認證并保護相關商標權益。要想銷售藍牙設備,制造商必須符合藍牙SIG的標準。該技術擁有眾多專利,可授權給各種合規設備。截至2009年,藍牙集成電路芯片的年出貨量約為9.2億片。[改編自維基百科]
[改編自維基百科] https://en.wikipedia.org/wiki/Bluetooth
如維基百科中所述,Bluetooth基本上是一種用于數字設備的短距離無線通信標準。
識別與連接方法
使用Bluetooth時,需要經過“配對”和“連接”的步驟。對于無線LAN而言,通常需要輸入密碼才能連接到接入點,而Bluetooth通信則需要一個設備檢測并登錄(認證)另一個設備的過程。
什么是配對?
比如您想通過Bluetooth功能使用智能手機和耳機時,您需要先進行配對設置,這就像一個面對面的識別(即認證、信息注冊)儀式,允許目標設備之間相互連接。如果沒有這個儀式,比如,如果Bluetooth采用與無線LAN一樣的機制,那么有可能發生這種事情:A正在使用耳機的過程中,B用密碼認證將A的耳機與自己的智能手機連接起來,A的耳機上會播放B的智能手機上正在播放的音樂。為了防止這種問題,Bluetooth采用了一種對設備之間進行身份驗證和注冊、并在使用時只允許連接已注冊設備的機制。
所以,對于Bluetooth設備而言,基本上每個Bluetooth模塊只能同時建立一個連接。
2. Bluetooth和BLE的區別
大家應該見過有時會和Bluetooth一起出現的符號“BLE”吧?BLE是Bluetooth的一種。根據設備的類型和用途,某些設備是采用BLE方式進行通信的。BLE是“Bluetooth Low Energy”的首字母縮寫,與普通的Bluetooth相比,是一種功耗更低的通信方式。
Bluetooth和BLE的區別在于通信速度和功耗。如果是發送數據量比較大的應用,比如藍牙耳機等需要發送音頻數據的設備,不適合用BLE通信方式,因為與普通的文本信息不同,這類應用對通信速度和功耗是有一定要求的。BLE的功耗較低,適用于簡單的電源ON/OFF狀態和可以用文本和數字簡單表達的數據通信。(*BLE有時不需要配對)
ESP-WROOM-32模塊支持BLE通信功能,下面讓我們嘗試使用一下吧。
3. 在ESP-WROOM-32上使用BLE前的準備
現在,讓我們嘗試在ESP-WROOM-32上使用BLE功能。在第69篇中,我們已經搭建了環境,但僅憑這個環境是無法通過Arduino來使用BLE通信功能的,要想使用該功能,還需要下載所需的文件。
所需文件– ESP-BLE-Arduino
https://github.com/nkolban/ESP32_BLE_Arduino/tree/98cd2290d036a4e27db061a76a512b526ef1cc14
從上述頁面的“Clone or download”下載文件(ZIP文件),并將文件保存在Arduino安裝路徑的libraries>BLE目錄中。
將下載的文件保存在libraries>BLE目錄下。
安裝完這些文件后重啟Arduino IDE,將會在“草圖示例”下生成“ESP BLE Arduino”,只要您能看到它們,就證明準備好了。
4. 示例程序的運行
接下來,我們將ESP-WROOM-32作為Bluetooth設備試用一下。從“File”-“Examples”-“ESP32 BLE Arduino”打開“BLE_client”程序,并將程序寫入開發板。
程序寫入完成后,將作為BLE的客戶端啟動(BLE是基于服務器-客戶端的方式來傳輸數據的,相關概念將在后續文章中進行說明)。
在您的智能手機或其他設備上啟用Bluetooth,并檢測周圍設備,應該會成功顯示ESP-WROOM-32終端。
總結
在本文中,我們已做好了將ESP-WROOM-32用作BLE設備的準備。在下一篇文章中,我們將實際使用這種BLE通信功能,嘗試在智能手機或其他設備上操作ESP-WROOM-32、將ESP-WROOM-32的數據發送到支持BLE的智能手機等功能。
DevicePlus 編輯團隊
設備升級版適用于所有熱愛電子和機電一體化的人。
審核編輯黃宇
-
BlueTooth
+關注
關注
3文章
221瀏覽量
62620 -
BLE
+關注
關注
12文章
696瀏覽量
60483 -
Arduino
+關注
關注
189文章
6494瀏覽量
190333
發布評論請先 登錄
【AI技術支持】ESP32-S3模組EspBleOTA搜索不到ble_ota例程的藍牙問題處理

ESP32-S3-WROOM-1/ESP32-S3-WROOM-1U技術規格書
【AI技術支持】ESP32-C3模組AT+MQTT連接AWS證書問題處理

請問ESP32-WROOM-32D/32U是否支持WiFi Direct模式?
esp-wroom-32如何在不使用wifi功能的情況下獲取mac地址?
esp-wroom-32 AP模式下的最大帶寬是多少?
ESP32-WROOM-32E、ESP32-WROOM-32D、ESP32-WROOM-32U 有什么區別?ESP32-WROOM-32 后綴字母代表的意思是?

評論