在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

如何使用ESP32的經(jīng)典串行藍牙來切換使用智能手機的LED

科技觀察員 ? 來源:circuitdigest ? 作者:阿斯溫斯·拉吉 ? 2022-10-28 17:36 ? 次閱讀

像HC-05和HC-06這樣的藍牙模塊很容易設(shè)置,并且可以在Arduino IDE上快速使用,但它們有自己的限制,如高功耗,并且它們在舊的藍牙V2.0上運行。此外,最近我給自己買了一個新的ESP32 開發(fā)套件,這些模塊具有內(nèi)置Wi-Fi 和藍牙、充足的 ADCDAC 引腳、音頻支持、SD 卡支持、深度睡眠模式等功能,它幾乎具備構(gòu)建物聯(lián)網(wǎng)項目所需的一切。

正如任何業(yè)余愛好者都會喜歡它一樣,ESP32 現(xiàn)在也得到了 Arduino IDE 的正式支持。早些時候,我們必須對尼爾·科爾班斯庫做一個巨大的解決方法,但現(xiàn)在由于這個家伙的辛勤工作,用Arduino IDE編程ESP32已經(jīng)成為一個蛋糕。因此,我啟動了我的Arduino IDE,并深入研究了幾個示例BLE程序,通過這些程序我一無所知。經(jīng)過長時間的沖浪和推攏,我意識到,如果您必須使用 ESP32 使用低功耗藍牙 (BLE),還有很多事情需要了解。我決定在單獨的文章中介紹 BLE,因此在這里我們將使用 ESP32 的經(jīng)典串行藍牙來切換使用智能手機LED

ESP32 藍牙入門

我想嘗試的第一個程序是一個簡單的程序,使用它可以打開或關(guān)閉手機藍牙終端應(yīng)用程序中的LED,就像舊的HC-05天一樣。但事實證明,藍牙低功耗(BLE)并沒有因此而縮進。我還發(fā)現(xiàn) ESP32 模塊中有兩種類型的藍牙,一種是經(jīng)典藍牙,另一種是BLE藍牙低功耗。好吧,但是為什么呢?....為什么我們有兩種類型的藍牙,我應(yīng)該為我的項目使用什么?

了解低功耗藍牙 (BLE) 和 ESP32 經(jīng)典藍牙

顧名思義,低功耗藍牙比經(jīng)典藍牙消耗更少的功率。它是通過根據(jù)需要通過預(yù)定義的定期更新發(fā)送數(shù)據(jù)來實現(xiàn)的。但與傳統(tǒng)藍牙不同,它不用于傳輸文件或音樂。你有沒有想過你的手機如何自動識別你剛剛配對的藍牙設(shè)備是音頻設(shè)備或筆記本電腦或手機,你可能還看到無線音頻播放器或健身樂隊的電池電量自動顯示在手機的狀態(tài)欄中;所有這些都可以通過BLE設(shè)備的特性來實現(xiàn)。BLE設(shè)備可與藍牙V4.0配合使用,并且可以作為服務(wù)器或客戶端以低功耗運行,這使得BLE成為信標,智能手表,健身手環(huán)等的理想選擇。

另一方面,經(jīng)典藍牙只是我們用來傳輸文件和其他數(shù)據(jù)的簡單普通的舊藍牙。幾乎所有BLE設(shè)備都具有與之關(guān)聯(lián)的經(jīng)典藍牙功能。HC-05等模塊中使用的藍牙是經(jīng)典藍牙的一個版本,稱為藍牙SSP(串行端口協(xié)議),這意味著藍牙遵循標準串行協(xié)議,這使得發(fā)送和接收數(shù)據(jù)變得更加容易,沒有太多開銷。在本教程結(jié)束時,我們將學(xué)習(xí)如何在 ESP32 中使用串行藍牙功能。

在本文中,我們將使用 ESP32 上的串行藍牙功能將其與智能手機配對,并使用 Play 商店中任何現(xiàn)有的藍牙終端應(yīng)用程序向 ESP32 發(fā)送命令,并相應(yīng)地切換板載 LED。

在后面的文章中,我們將介紹 ESP32 BLE 作為服務(wù)器和客戶端。BLE服務(wù)器通常用于將BLE數(shù)據(jù)發(fā)送到其他藍牙設(shè)備,BLE客戶端用于掃描其他BLE設(shè)備,從而充當(dāng)信標。

正在為 ESP32 準備Arduino IDE

請注意,默認情況下,Arduino IDE 不支持 ESP32 板;您必須使用主板管理器下載并安裝它們。如果這是您使用 ESP32 的第一個程序,請按照此入門教程將 ESP32 開發(fā)板添加到 Arduino 并上傳測試草圖。
此外,您可以使用 ESP32 完成更多項目,而無需使用任何微控制器

適用于 ESP32 的串行藍牙程序

本頁末尾提供了使用 ESP32 藍牙切換 LED的完整程序。在此標題下,讓我們將代碼分解為小片段并嘗試理解它們。如果您已經(jīng)使用過其他藍牙模塊,如 HC-05,那么您會發(fā)現(xiàn)這個ESP32 藍牙經(jīng)典示例程序非常相似。

該程序的想法是使用 ESP32 初始化串行藍牙連接,并偵聽來自配對設(shè)備的數(shù)據(jù)。如果傳入的數(shù)據(jù)是“1”,那么我們打開LED,如果是“0”,我們應(yīng)該關(guān)閉LED。我們通過添加頭文件藍牙序列開始我們的程序,這使得 ESP32 藍牙可以作為藍牙 SSP 工作。

#include "BluetoothSerial.h" //Header File for Serial Bluetooth, will be added by default into Arduino

這個庫背后有很多事情在發(fā)生,但我們選擇不深入研究它以保持簡單。我們需要的下一件事是藍牙相關(guān)操作的對象。在這里,我把我的名字命名為ESP_BT,但你可以選擇任何名字。

BluetoothSerial ESP_BT; //Object for Bluetooth

接下來,在空隙設(shè)置()函數(shù)內(nèi)部。我們以波特率9600開始串行通信,并使用名稱初始化藍牙信號。在這里,我將其命名為“ESP32_LED_Control”,這將是我們的手機在嘗試配對時可以找到的名稱。最后,我將內(nèi)置LED引腳聲明為輸出引腳,因為我們將根據(jù)藍牙信號切換它。

void setup() {

Serial.begin(9600); //Start Serial monitor in 9600

ESP_BT.begin("ESP32_LED_Control"); //Name of your Bluetooth Signal

Serial.println("Bluetooth Device is Ready to Pair");

pinMode (LED_BUILTIN, OUTPUT);//Specify that LED pin is output

}

在無限空洞循環(huán)函數(shù)中,我們檢查是否有任何數(shù)據(jù)來自藍牙模塊,如果是,則讀取數(shù)據(jù)并將其存儲在傳入變量中。我們還在串行監(jiān)視器上打印此值,只是為了交叉檢查Arduino正在接收的內(nèi)容。

if (ESP_BT.available()) //Check if we receive anything from Bluetooth

{

incoming = ESP_BT.read(); //Read what we recevive

Serial.print("Received:"); Serial.println(incoming);

現(xiàn)在,接收到的任何數(shù)據(jù)都存儲在傳入的變量中,因此我們可以直接將此變量與預(yù)期值進行比較并執(zhí)行所需的操作。但是從藍牙發(fā)送的值將采用字符形式,Arduino 將讀取從手機發(fā)送的字符的十進制值。在我們的例子中,對于字符“0”,十進制值將為48,對于字符“1”,十進制值將為49。您可以參考 ASCII 圖表來了解每個字符的十進制值。

在這里,我們將傳入變量與 48 和 49 進行了比較,以分別檢查 0 和 1。如果是1,那么我們關(guān)閉LED,并將確認消息打印回藍牙,說LED已關(guān)閉,反之亦然。

if (incoming == 49)

{

digitalWrite(LED_BUILTIN, HIGH);

ESP_BT.println("LED turned ON");

}

if (incoming == 48)

{

digitalWrite(LED_BUILTIN, LOW);

ESP_BT.println("LED turned OFF");

}

使用 ESP32 測試串行藍牙

將 ESP 連接到 Arduino IDE,然后選擇正確的電路板和端口,如入門教程中所述。因為它是一個3斷續(xù)器方板管理器 編譯和上傳代碼可能需要更長的時間。上傳后,啟動串行監(jiān)視器(僅用于調(diào)試)并打開手機上的藍牙設(shè)置。您應(yīng)該找到一個名為ESP32_LED_Control配對的藍牙設(shè)備。

pYYBAGNbooiANa5qAAA5X8_Xec4100.png

現(xiàn)在,您可以在智能手機上打開任何藍牙終端應(yīng)用程序,我正在使用從Google應(yīng)用商店下載的名為“藍牙終端”的應(yīng)用程序。將藍牙應(yīng)用程序連接到我們剛剛配對的設(shè)備,然后鍵入1并按發(fā)送。

poYBAGNbooqAPxD4AABQ5pv1TMc229.png

ESP32 模塊應(yīng)按照我們的程序接收并打開 LED,并向您發(fā)送確認消息,指出 LED 已打開,如上圖所示。您還可以檢查串行監(jiān)視器,它將以十進制格式顯示 ESP32 藍牙接收的數(shù)據(jù),即 Arduino 將按 48 表示 0 和 49 表示 1,如前所述。我的終端窗口的快照如下所示。

pYYBAGNbooqAQ8zFAAAL0YZFtpc925.png

poYBAGNboo6AG-qlAAC7_MZo1j0270.jpg

同樣,您還應(yīng)該能夠通過從移動應(yīng)用程序發(fā)送0來關(guān)閉LED。

/*Program to control LED (ON/OFF) from ESP32 using Serial Bluetooth

* Thanks to Neil Kolbans for his efoorts in adding the support to Arduino IDE

* Turotial on: www.circuitdigest.com

*/


#include "BluetoothSerial.h" //Header File for Serial Bluetooth, will be added by default into Arduino



BluetoothSerial ESP_BT; //Object for Bluetooth


int incoming;

int LED_BUILTIN = 2;


void setup() {

Serial.begin(9600); //Start Serial monitor in 9600

ESP_BT.begin("ESP32_LED_Control"); //Name of your Bluetooth Signal

Serial.println("Bluetooth Device is Ready to Pair");


pinMode (LED_BUILTIN, OUTPUT);//Specify that LED pin is output

}


void loop() {



if (ESP_BT.available()) //Check if we receive anything from Bluetooth

{

incoming = ESP_BT.read(); //Read what we recevive

Serial.print("Received:"); Serial.println(incoming);


if (incoming == 49)

{

digitalWrite(LED_BUILTIN, HIGH);

ESP_BT.println("LED turned ON");

}



if (incoming == 48)

{

digitalWrite(LED_BUILTIN, LOW);

ESP_BT.println("LED turned OFF");

}

}

delay(20);

}

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

    關(guān)注

    242

    文章

    23770

    瀏覽量

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

    關(guān)注

    12

    文章

    696

    瀏覽量

    60475
  • 低功耗藍牙
    +關(guān)注

    關(guān)注

    1

    文章

    244

    瀏覽量

    21893
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    如何快速開發(fā)智能手機新外設(shè)-藍牙4.0說了算

    `如何快速開發(fā)智能手機新外設(shè)―論低功耗藍牙技術(shù)在智能移動設(shè)備中的應(yīng)用―USB協(xié)議的產(chǎn)生,讓個人電腦的外設(shè)如雨后春筍般地涌現(xiàn)。同樣,做為智能手機最新開放的低功耗
    發(fā)表于 03-02 10:19

    藍牙4.0模塊如何讓客戶快速開發(fā)智能手機新外設(shè)

    `如何快速開發(fā)智能手機新外設(shè)―論低功耗藍牙技術(shù)在智能移動設(shè)備中的應(yīng)用―USB協(xié)議的產(chǎn)生,讓個人電腦的外設(shè)如雨后春筍般地涌現(xiàn)。同樣,做為智能手機最新開放的低功耗
    發(fā)表于 03-21 11:17

    智能手機

    智能手機圖紙誰有呢能看清
    發(fā)表于 06-23 19:55

    智能手機如何判斷人臉的貼近

    智能手機里應(yīng)用的傳感器是多種多樣的,其中距離傳感器就是智能手機里面經(jīng)常應(yīng)用的一種傳感器,距離傳感器有什么作用呢?我們都知道,智能手機都是觸屏手機,當(dāng)人體接觸屏幕時,能激活相應(yīng)用的應(yīng)用軟
    發(fā)表于 09-30 16:03

    智能手機加平板

    怎樣把智能手機中的藍牙和GPS.sim通訊硬件和軟件移植到平板電腦里、望高手賜教、給個思路
    發(fā)表于 10-15 18:20

    模擬智能手機

    STM32單片機模擬智能手機
    發(fā)表于 09-26 10:19

    你怎么定義智能手機殼,覺得高科技+手機殼=智能手機殼嗎?!

    搜到的這個寶就是MOPIC的3D智能手機殼,瞬間感覺這就是為我準備滴^&^~為啥說它是個寶,一起來看看就知道了。你怎么定義智能手機殼,覺得高科技+手機殼=智能手機
    發(fā)表于 01-05 09:56

    自動對焦在智能手機的應(yīng)用

    作者:高級產(chǎn)品營銷經(jīng)理Jason Whetstone當(dāng)今最想要的智能手機特性對于許多用戶,相機性能已成為一臺智能手機最重要的方面。社交媒體和線上業(yè)務(wù)使每個人都成為攝影師或影片導(dǎo)演,輔以幾百萬像素
    發(fā)表于 07-16 08:50

    智能手機怎么才能更加智能

    很明顯,智能手機不僅融入了我們的日常商業(yè)活動,而且融入了我們的日常生活。過去,智能手機被定義為采用專用操作系統(tǒng)(OS)的蜂窩電話。這意味著智能手機可以增加或安裝/刪除應(yīng)用軟件,雖然這種定義稍嫌簡單了點。今天的
    發(fā)表于 08-20 08:32

    如何設(shè)計智能手機省電系統(tǒng)?

    智能手機中包含了很多耗能設(shè)備, 諸如MP3、MPEG- 4、Wi-Fi、數(shù)碼相機、3D 游戲等等。在手機電池容量還沒有實現(xiàn)質(zhì)的飛躍的前提下, 我們不得不考慮手機電源節(jié)能的問題。我主要通過了以下四個方面
    發(fā)表于 11-05 08:03

    請問如何去設(shè)計一種智能手機系統(tǒng)?

    智能手機系統(tǒng)的硬件設(shè)計智能手機系統(tǒng)的軟件設(shè)計基于嵌入式Linux的智能手機系統(tǒng)設(shè)計
    發(fā)表于 04-25 07:00

    如何利用智能手機耳機接口音頻傳輸實現(xiàn)智能手機拓展監(jiān)測環(huán)境溫度、濕度的應(yīng)用設(shè)計?

    本文介紹一種利用智能手機耳機接口音頻傳輸,實現(xiàn)智能手機拓展監(jiān)測環(huán)境溫度、濕度的應(yīng)用設(shè)計與實現(xiàn)方案,同時提出了可兼容2種不同耳機接口標準的解決方案,增強了智能手機拓展應(yīng)用價值。
    發(fā)表于 05-11 06:50

    使用電腦的USB端口對智能手機充電

    對于在辦公室工作的人來說,在辦公室里充電智能手機是必要的,但大多數(shù)人都無法避免兩個錯誤。他們將使用電腦的USB端口對智能手機充電,否則他們的數(shù)據(jù)線往往會掉到地面上,這樣可能會損壞數(shù)據(jù)線。 用電
    發(fā)表于 09-14 07:48

    用8051通過HC-05藍牙模塊與智能手機通信控制門鎖

    描述使用8051的藍牙門鎖使用您的智能手機通過藍牙控制您家的門鎖。 系統(tǒng)使用 8051 通過 HC-05 藍牙模塊與智能手機通信,如果密碼正
    發(fā)表于 09-14 06:45

    HC05 藍牙模塊 連接 ESP32 經(jīng)典藍牙

    概述HC05是一款常用的經(jīng)典藍牙模塊,某寶有大量銷售,主從機一體,而ESP32藍牙兼容經(jīng)典藍牙
    發(fā)表于 11-24 12:36 ?65次下載
    HC05 <b class='flag-5'>藍牙</b>模塊 連接 <b class='flag-5'>ESP32</b> <b class='flag-5'>經(jīng)典</b><b class='flag-5'>藍牙</b>
    主站蜘蛛池模板: 天堂网中文在线最新版 | 男女爱爱是免费看 | 久久久久久国产精品免费免费 | 国产hs免费高清在线观看 | 国产网站免费 | 天天摸天天看天天做天天爽 | 久久久久激情免费观看 | 久久国产美女 | 99久久精品99999久久 | 欧美色图亚洲 | 亚洲一区在线观看视频 | 免费精品99久久国产综合精品 | 狠狠色狠狠色综合日日不卡 | 美女扒开腿让男生桶爽网站 | 亚洲xx视频 | 亚洲免费成人网 | dy888午夜秋霞影院不卡 | 网站四虎1515hhcom | 欧美日韩国产乱了伦 | 天天干天天做天天操 | 亚洲欧美视频在线播放 | 亚偷熟乱区视频在线观看 | 黄色一级毛片看一级毛片 | 日本番囗 | 人人爽天天爽夜夜爽qc | 国模娜娜扒开嫩木耳 | 91深夜福利| 黄色片网站大全 | 免费被视频网站在线观看 | 每日最新avhd101天天看新片 | aaa级片| 青青热久免费精品视频在线观看 | 又污又黄的网站 | 在线观看视频在线观看 | 成人性欧美丨区二区三区 | 欧美黄色成人 | 成人在色线视频在线观看免费大全 | 99热最新在线观看 | 日本最新免费网站 | 色婷婷社区 | 色色色爱 |