国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

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

科技觀察員 ? 來源:circuitdigest ? 作者:阿斯溫斯·拉吉 ? 2022-10-28 17:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

ESP32 藍牙入門

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

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

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

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

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

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

正在為 ESP32 準備Arduino IDE

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

適用于 ESP32 的串行藍牙程序

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

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

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

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

BluetoothSerial ESP_BT; //Object for Bluetooth

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

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

}

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

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);

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

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

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斷續器方板管理器 編譯和上傳代碼可能需要更長的時間。上傳后,啟動串行監視器(僅用于調試)并打開手機上的藍牙設置。您應該找到一個名為ESP32_LED_Control配對的藍牙設備。

pYYBAGNbooiANa5qAAA5X8_Xec4100.png

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

poYBAGNbooqAPxD4AABQ5pv1TMc229.png

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

pYYBAGNbooqAQ8zFAAAL0YZFtpc925.png

poYBAGNboo6AG-qlAAC7_MZo1j0270.jpg

同樣,您還應該能夠通過從移動應用程序發送0來關閉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);

}

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

    關注

    243

    文章

    24596

    瀏覽量

    690860
  • BLE
    BLE
    +關注

    關注

    13

    文章

    776

    瀏覽量

    66344
  • 低功耗藍牙
    +關注

    關注

    1

    文章

    271

    瀏覽量

    22370
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何快速開發智能手機新外設-藍牙4.0說了算

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

    藍牙4.0模塊如何讓客戶快速開發智能手機新外設

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

    智能手機

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

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

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

    智能手機加平板

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

    模擬智能手機

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

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

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

    自動對焦在智能手機的應用

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

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

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

    如何設計智能手機省電系統?

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

    請問如何去設計一種智能手機系統?

    智能手機系統的硬件設計智能手機系統的軟件設計基于嵌入式Linux的智能手機系統設計
    發表于 04-25 07:00

    如何利用智能手機耳機接口音頻傳輸實現智能手機拓展監測環境溫度、濕度的應用設計?

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

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

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

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

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

    HC05 藍牙模塊 連接 ESP32 經典藍牙

    概述HC05是一款常用的經典藍牙模塊,某寶有大量銷售,主從機一體,而ESP32藍牙兼容經典藍牙
    發表于 11-24 12:36 ?65次下載
    HC05 <b class='flag-5'>藍牙</b>模塊 連接 <b class='flag-5'>ESP32</b> <b class='flag-5'>經典</b><b class='flag-5'>藍牙</b>