0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

通過Arduino使用ESP-WROOM-32(Bluetooth-BLE連接篇)

蔡鼎瑾 ? 來源:DevicePlus ? 作者:DevicePlus ? 2023-02-20 10:49 ? 次閱讀

這篇文章來源于DevicePlus英語網(wǎng)站的翻譯稿。

本文最初發(fā)布在deviceplus網(wǎng)站上,而后被翻譯成中文。

在本文中,我們將使用Bluetooth(BLE)功能連接ESP-WROOM-32與其他設備。

本項目電子設備清單
預計完成時間: 60分鐘
所需部件:
?ESP-WROOM-32 development board

目錄
1. 什么是Bluetooth(藍牙)?
2. Bluetooth和BLE的區(qū)別
3. 在ESP-WROOM-32上使用BLE前的準備
4. 示例程序的運行
5. 總結(jié)

1. 什么是Bluetooth(藍牙)?

pYYBAGPyz8eALkxSAAGJkS1nObM259.png

近年來,頭戴式耳機、入耳式耳機、音箱、車載音響系統(tǒng)、鼠標、鍵盤等很多設備都開始支持Bluetooth通信。雖然與Wi-Fi無線通信不同,但Bluetooth通信對于那些經(jīng)常使用藍牙功能的人來說應該已經(jīng)成為一種比較熟悉的通信方式了。

那么,Bluetooth通信到底是一種什么樣的通信方式呢?大家可能會有這樣的印象:用Bluetooth功能可以和附近的設備通信,不能和遙遠的設備通信。下面,讓我們來大致了解一下Bluetooth的機制和規(guī)格

Bluetooth(藍牙)
Bluetooth(藍牙)是一種無線通信技術(shù)規(guī)范,可實現(xiàn)固定設備和移動設備之間的短距離數(shù)據(jù)交換,還可用于構(gòu)建個人局域網(wǎng)絡(PAN)。該技術(shù)使用短波UHF無線電波進行數(shù)據(jù)傳輸,其波段為2.400 GHz至2.485GHz頻段,這是全球范圍內(nèi)工業(yè)、科學和醫(yī)療領域可以使用的無線電頻段。人們開發(fā)該技術(shù)的初衷是為了找尋一種替代RS-232數(shù)據(jù)線的無線通信方式。

現(xiàn)在,Bluetooth由藍牙技術(shù)聯(lián)盟(SIG)管理,該組織在電信、計算、網(wǎng)絡和消費電子等領域擁有35000多家成員公司。IEEE將Bluetooth標準化為IEEE 802.15.1協(xié)議,但是已不再提供維護。藍牙SIG負責監(jiān)督藍牙規(guī)范開發(fā)、管理證書認證并保護相關(guān)商標權(quán)益。要想銷售藍牙設備,制造商必須符合藍牙SIG的標準。該技術(shù)擁有眾多專利,可授權(quán)給各種合規(guī)設備。截至2009年,藍牙集成電路芯片的年出貨量約為9.2億片。[改編自維基百科]
[改編自維基百科] https://en.wikipedia.org/wiki/Bluetooth

如維基百科中所述,Bluetooth基本上是一種用于數(shù)字設備的短距離無線通信標準。

識別與連接方法
使用Bluetooth時,需要經(jīng)過“配對”和“連接”的步驟。對于無線LAN而言,通常需要輸入密碼才能連接到接入點,而Bluetooth通信則需要一個設備檢測并登錄(認證)另一個設備的過程。

pYYBAGPyz8uAFu0zAAH3jJLAS4c259.png

什么是配對?
比如您想通過Bluetooth功能使用智能手機和耳機時,您需要先進行配對設置,這就像一個面對面的識別(即認證、信息注冊)儀式,允許目標設備之間相互連接。如果沒有這個儀式,比如,如果Bluetooth采用與無線LAN一樣的機制,那么有可能發(fā)生這種事情:A正在使用耳機的過程中,B用密碼認證將A的耳機與自己的智能手機連接起來,A的耳機上會播放B的智能手機上正在播放的音樂。為了防止這種問題,Bluetooth采用了一種對設備之間進行身份驗證和注冊、并在使用時只允許連接已注冊設備的機制。
所以,對于Bluetooth設備而言,基本上每個Bluetooth模塊只能同時建立一個連接。

2. Bluetooth和BLE的區(qū)別

大家應該見過有時會和Bluetooth一起出現(xiàn)的符號“BLE”吧?BLE是Bluetooth的一種。根據(jù)設備的類型和用途,某些設備是采用BLE方式進行通信的。BLE是“Bluetooth Low Energy”的首字母縮寫,與普通的Bluetooth相比,是一種功耗更低的通信方式。

Bluetooth和BLE的區(qū)別在于通信速度和功耗。如果是發(fā)送數(shù)據(jù)量比較大的應用,比如藍牙耳機等需要發(fā)送音頻數(shù)據(jù)的設備,不適合用BLE通信方式,因為與普通的文本信息不同,這類應用對通信速度和功耗是有一定要求的。BLE的功耗較低,適用于簡單的電源ON/OFF狀態(tài)和可以用文本和數(shù)字簡單表達的數(shù)據(jù)通信。(*BLE有時不需要配對)

poYBAGPyz9CAEeU7AAICtpSQrPk410.png

ESP-WROOM-32模塊支持BLE通信功能,下面讓我們嘗試使用一下吧。

3. 在ESP-WROOM-32上使用BLE前的準備

現(xiàn)在,讓我們嘗試在ESP-WROOM-32上使用BLE功能。在第69篇中,我們已經(jīng)搭建了環(huán)境,但僅憑這個環(huán)境是無法通過Arduino來使用BLE通信功能的,要想使用該功能,還需要下載所需的文件。

pYYBAGPyz9qAK6jfAARbrFFzx9o851.png

所需文件– ESP-BLE-Arduino
https://github.com/nkolban/ESP32_BLE_Arduino/tree/98cd2290d036a4e27db061a76a512b526ef1cc14

從上述頁面的“Clone or download”下載文件(ZIP文件),并將文件保存在Arduino安裝路徑的libraries>BLE目錄中。

pYYBAGPyz9yAEZ7QAAApEXkOOnI903.png

將下載的文件保存在libraries>BLE目錄下。

安裝完這些文件后重啟Arduino IDE,將會在“草圖示例”下生成“ESP BLE Arduino”,只要您能看到它們,就證明準備好了。

pYYBAGPyz9-AF7LMAAFlKAo6B38731.png

4. 示例程序的運行

接下來,我們將ESP-WROOM-32作為Bluetooth設備試用一下。從“File”-“Examples”-“ESP32 BLE Arduino”打開“BLE_client”程序,并將程序?qū)懭腴_發(fā)板。

程序?qū)懭胪瓿珊?,將作為BLE的客戶端啟動(BLE是基于服務器-客戶端的方式來傳輸數(shù)據(jù)的,相關(guān)概念將在后續(xù)文章中進行說明)。

在您的智能手機或其他設備上啟用Bluetooth,并檢測周圍設備,應該會成功顯示ESP-WROOM-32終端。

poYBAGPyz-KAWBijAACQP9rxh5o672.png

總結(jié)

在本文中,我們已做好了將ESP-WROOM-32用作BLE設備的準備。在下一篇文章中,我們將實際使用這種BLE通信功能,嘗試在智能手機或其他設備上操作ESP-WROOM-32、將ESP-WROOM-32的數(shù)據(jù)發(fā)送到支持BLE的智能手機等功能。

pYYBAGPbhjqAbi1JAAAGd6_rQT0867.png

DevicePlus 編輯團隊

設備升級版適用于所有熱愛電子和機電一體化的人。

審核編輯黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • BlueTooth
    +關(guān)注

    關(guān)注

    3

    文章

    207

    瀏覽量

    61269
  • BLE
    BLE
    +關(guān)注

    關(guān)注

    12

    文章

    650

    瀏覽量

    59300
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6461

    瀏覽量

    186528
收藏 人收藏

    評論

    相關(guān)推薦

    esp-wroom-32如何在不使用wifi功能的情況下獲取mac地址?

    你好 我想檢查 esp-wroom-32 模塊的mac_address。 我已經(jīng)通過初始化wifi然后調(diào)用函數(shù)來esp_get_mac檢查了它。 但是,如果我想在不使用 wifi 功能的情況下獲取該 mac 地址。 有沒有其他
    發(fā)表于 07-19 09:37

    esp-wroom-32 AP模式下的最大帶寬是多少?

    我正在使用 esp-wroom-32 模塊,我們想在 AP Station 模式下使用它。我想知道 AP 模式下模塊的最大帶寬是多少,以及我可以連接wroom 32 模塊的 AP 多少個站點
    發(fā)表于 07-19 06:16

    ESP32-WROOM-32E、ESP32-WROOM-32D、ESP32-WROOM-32U 有什么區(qū)別?ESP32-WROOM-32 后綴字母代表的意思是?

    ESP32-D0WD-V3,板載天線。 ESP32-WROOM-32E、ESP32-WROOM-32D、ESP32-WROOM-32U是樂鑫(Espressif Systems)推出
    的頭像 發(fā)表于 07-17 10:09 ?7058次閱讀
    <b class='flag-5'>ESP32-WROOM</b>-32E、<b class='flag-5'>ESP32-WROOM</b>-32D、<b class='flag-5'>ESP32-WROOM</b>-32U  有什么區(qū)別?<b class='flag-5'>ESP32-WROOM</b>-32 后綴字母代表的意思是?

    使用ESP-WROOM-32模塊遇到的幾個疑問求解

    我想在我的項目中使用 ESP-WROOM-32 模塊。我想將其與外部 MCU 一起使用。S0,我有一些疑問,如下所示: 1).esp-wroom-32 的哪個 uart,我可以使用? 2).是否有
    發(fā)表于 07-16 07:26

    為什么esp32-wroom32不能通過串口與外設通訊?

    我是硬件小白,以前做軟件開發(fā),最近剛自學一個月單片機開發(fā),我自學實驗項目: 通過esp32-wroom32 這個開發(fā)板通過串口與支持串口TTL 通訊的數(shù)碼管通訊(這個數(shù)碼管是在某寶購買的中盛
    發(fā)表于 07-01 08:28

    ESP32 Dev Module上傳程序運行不正常的原因?

    我的開發(fā)核心板是ESP-WROOM-32,CH9102X驅(qū)動,開發(fā)環(huán)境是Arduino IDE, 開發(fā)板選哪個?我選ESP32 Dev Module,但是感覺有點詭異,上傳程序運行不正常。 應該選
    發(fā)表于 07-01 07:15

    請問ESP32-C3可以使用藍牙連接電腦嗎?

    5.2 我使用模組的UART-Bluetooth LE 透傳模式可以連接手機的測試工具,但無法連接電腦,電腦搜索不到藍牙,換其他電腦可以搜索到也連接不上,這是模組的問題,還是電腦問題,
    發(fā)表于 06-27 08:10

    如何通過BLE播放音頻?

    現(xiàn)在是我有一個android app,有一塊esp32板子上面有喇叭,板子刷了a2dp_sink例子的固件。如果用bluetooth 和板子pair之后,可以播放音樂。 現(xiàn)在要求不用bluetooth,而是用
    發(fā)表于 06-26 06:36

    IOS連接ESP32 ble,外設名稱和本地名稱不一致是為什么?

    環(huán)境 *使用的模塊或芯片:ESP32-WROOM-32D *IDF版本:ESP-IDF Release v3.3.5 *使用的手機:蘋果ios;版本:14.4.2版本 *BLE測試工具為
    發(fā)表于 06-21 13:31

    ESP32如何使用SPI的DMA?

    module:ESP-WROOM-32 IDF Version:ESP-IDF 4.3 各位,ESP32的技術(shù)手冊中有關(guān)于SPI DMA的描述,但是在ESP-IDF編程指南http
    發(fā)表于 06-18 08:18

    esp32連接nrf-connect報錯Error 133(0x85): GATT ERROR的原因?

    開發(fā)板用的是ESP-WROOM-32,芯片是esp32 d0wn v3, 軟件用的是gatt_server_service_table例子,代碼無改動,手機realme x 連接
    發(fā)表于 06-13 06:46

    esp32通過ble連接win10,為什么連不上?

    開發(fā)板用的是ESP-WROOM-32,芯片是esp32 d0wn v3,軟件用的是gatt_server_service_table 官方例子,代碼無改動,燒錄后連接win10(版本
    發(fā)表于 06-13 06:05

    樂鑫ESP-WROOM-02 技術(shù)規(guī)格書

    電子發(fā)燒友網(wǎng)站提供《樂鑫ESP-WROOM-02 技術(shù)規(guī)格書.pdf》資料免費下載
    發(fā)表于 01-14 09:52 ?2次下載
    樂鑫<b class='flag-5'>ESP-WROOM</b>-02 技術(shù)規(guī)格書

    ESP8684-WROOM-06C技術(shù)規(guī)格書

    電子發(fā)燒友網(wǎng)站提供《ESP8684-WROOM-06C技術(shù)規(guī)格書.pdf》資料免費下載
    發(fā)表于 12-13 09:17 ?0次下載
    <b class='flag-5'>ESP8684-WROOM</b>-06C技術(shù)規(guī)格書

    ESP32-WROOM-32開發(fā)板教程

    ESP32-WROOM-32是一款功能強大的物聯(lián)網(wǎng)開發(fā)板,它基于Espressif的ESP32芯片,擁有更多的性能和功能。在本篇文章中,我將為您提供一份詳盡、詳實、細致的教程,以幫助您快速上手
    的頭像 發(fā)表于 12-08 13:55 ?9694次閱讀