การใช้ ESP32 Bluetooth Classic กับ Arduino IDE

Kar Chi Esp32 Bluetooth Classic Kab Arduino Ide



ESP32 เป็นบอร์ดที่ใช้ไมโครคอนโทรลเลอร์ที่รองรับ Wi-Fi และ Bluetooth เป็นบอร์ดที่ใช้ IoT ที่สามารถรวมเข้ากับเซ็นเซอร์หลายตัวเพื่อดำเนินการตามคำสั่ง บอร์ด ESP32 มีแอพพลิเคชั่นมากมายที่ต้องการการสื่อสารไร้สาย มาพูดคุยกันว่าเราสามารถกำหนดค่า ESP32 Bluetooth และส่งข้อมูลโดยใช้มันได้อย่างไร

ESP32 Bluetooth Classic พร้อม Arduino IDE

บอร์ด ESP32 มาพร้อมกับการสนับสนุน Bluetooth แบบคู่ อันหนึ่งคือ Bluetooth Classic และอันที่สองคือ BLE (Bluetooth Low Energy) วันนี้เราจะมาพูดถึง Bluetooth Classic เท่านั้น ข้อแตกต่างระหว่างทั้งสองคือ Bluetooth Classic สามารถรองรับการถ่ายโอนข้อมูลจำนวนมาก แต่ใช้แบตเตอรี่ในอัตราที่สูงกว่า อย่างไรก็ตาม Bluetooth Low Energy เป็นรูปแบบการประหยัดพลังงานซึ่งใช้สำหรับการสื่อสารทางไกล BLE ยังคงอยู่ในโหมดสลีปจนกว่าจะมีการเริ่มต้นสำหรับการถ่ายโอนข้อมูล







ESP32 Classic Bluetooth Serial Communication

การทำงานของ ESP32 Bluetooth นั้นคล้ายกับ Arduino เช่นเดียวกับที่เราทำใน Arduino เนื่องจากมีการใช้เซ็นเซอร์ Bluetooth ภายนอกเช่น HC-05 เซ็นเซอร์ทั้ง Arduino และ HC-05 สื่อสารผ่านการสื่อสารแบบอนุกรม เป็นกรณีเดียวกันกับ ESP32 แต่ความแตกต่างคือ ESP32 มาพร้อมกับโมดูล Bluetooth ในตัว ซึ่งรับข้อมูลก่อนแล้วจึงส่งต่อไปยังโปรเซสเซอร์ Xtensa



ดังนั้นเพื่อสร้างการสื่อสารนี้” บลูทูธซีเรียล ใช้ไลบรารี่ซึ่งคล้ายกับไลบรารีอนุกรม Arduino แต่อยู่ภายใน ESP32 ต่อไปนี้เป็นฟังก์ชันบางอย่างที่นำเสนอโดยไลบรารีอนุกรม Bluetooth:



  • เริ่ม()
  • มีอยู่()
  • เขียน()
  • อ่าน()

LED ควบคุมด้วย Bluetooth โดยใช้ ESP32

มาเขียนโค้ดง่ายๆ ที่สามารถควบคุม LED โดยใช้ Bluetooth บนมือถือผ่านการสื่อสารไร้สาย Bluetooth กัน ต่อไปนี้เป็นฮาร์ดแวร์ที่จำเป็นในการควบคุม LED โดยใช้การสื่อสารแบบอนุกรม Bluetooth:





  • ESP32
  • นำ
  • เขียงหั่นขนม
  • อุปกรณ์ Android
  • แอปพลิเคชั่น Terminal Bluetooth แบบอนุกรม

วงจร

เชื่อมต่อ LED ที่ขาดิจิตอล 15 ของ ESP32 พร้อมขั้วลบที่เชื่อมต่อที่ GND ของบอร์ด ESP32 สำหรับขีดจำกัดกระแสไฟที่ปลอดภัย เราสามารถเชื่อมต่อตัวต้านทาน (220 โอห์ม) ระหว่างพวกมันได้:

รหัส

เปิด Arduino IDE แล้วเลือกบอร์ด ESP32 ใน Board Manager เพื่อดูวิธีติดตั้งบอร์ด ESP32 ใน Arduino IDE คลิก ที่นี่ . หลังจากเลือกบอร์ดแล้ว ให้เขียนโค้ดด้านล่างในหน้าต่างตัวแก้ไข:



#include   /*ไลบรารีการสื่อสารแบบอนุกรม Bluetooth*/

#define LED_PIN 15  /*นำพินเริ่มต้น*/

บลูทูธSerial SerialBT;

ไบต์ BT_INP;

#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)/*ตรวจสอบบลูทูธใน SDK*/

#error Bluetooth off--เรียกใช้ `make menuconfig` เพื่อเปิดใช้งาน

#endif

การตั้งค่าเป็นโมฆะ ( )

{

 โหมดพิน ( LED_PIN, เอาต์พุต ) ; /* นำพิน ชุด เช่น ผลผลิต */
Serial.begin ( 115200 ) ; /* อัตราบอด สำหรับ การสื่อสารแบบอนุกรม */
SerialBT.begin ( ) ; /* การสื่อสารผ่านบลูทูธเริ่มต้นขึ้น */
Serial.println ( 'บลูทูธพร้อมจับคู่แล้ว...' ) ; /* เมื่อเปิดบลูทูธ */
}
วงโมฆะ ( )
{
ถ้า ( SerialBT. พร้อมใช้งาน ( ) ) /* ตรวจสอบ สำหรับ ความพร้อมใช้งานของข้อมูลบลูทูธ */
{
BT_INP = SerialBT.read ( ) ; /* อ่าน ข้อมูลบลูทูธจากอุปกรณ์ */
Serial.write ( BT_INP ) ; /* พิมพ์ อ่าน ข้อมูล */
}
ถ้า ( BT_INP == '1' ) /* ถ้า สภาพ สำหรับ นำรัฐ */
{
digitalWrite ( LED_PIN สูง ) ; /* เปิดไฟ LED ถ้า 1 ได้รับอินพุต */
}
ถ้า ( BT_INP == '0' )
{
digitalWrite ( LED_PIN ต่ำ ) ; /* ปิดไฟ LED ถ้า 0 ได้รับอินพุต */
}

}

ในโค้ดด้านบนนี้ เราเริ่มต้นด้วยการรวมไลบรารีอนุกรม Bluetooth สำหรับ ESP32 ต่อไปเราได้รวมฟังก์ชั่นไลบรารีอนุกรม Bluetooth ที่จะเปิดใช้งาน ESP32 Bluetooth

พิน LED ถัดไป 15 ถูกเตรียมใช้งานและใช้งาน โหมดพิน () ฟังก์ชั่น LED pin ถูกตั้งค่าเป็นเอาต์พุต

ในส่วนของรหัสที่วนซ้ำ โปรแกรมจะตรวจสอบความพร้อมใช้งานของข้อมูล Bluetooth แบบอนุกรม หากข้อมูลอินพุตเป็น 1 LED จะเปิดขึ้น และหากข้อมูลที่ได้รับเป็น 0 LED จะดับลง

เมื่อรหัสถูกอัปโหลด บลูทูธของบอร์ด ESP32 จะเปิดขึ้นและข้อความต่อไปนี้จะปรากฏบนจอภาพแบบอนุกรม

การติดตั้ง Serial Bluetooth Terminal

เราต้องการอุปกรณ์ Bluetooth ที่สามารถส่งคำแนะนำไปยัง ESP32 ได้ ดังนั้นเราจะใช้สมาร์ทโฟน Android เพื่อเชื่อมต่อกับ ESP32 Bluetooth ขั้นแรก เราต้องติดตั้งเทอร์มินัลอนุกรมในโทรศัพท์ Android ทำตามขั้นตอนด้านล่างเพื่อเชื่อมต่อโทรศัพท์ Android กับ ESP32:

ขั้นตอนที่ 1 : เปิด Google Play Store บนสมาร์ทโฟนแล้วค้นหา เทอร์มินัล Bluetooth แบบอนุกรม . ติดตั้งแอปพลิเคชั่นที่แสดงด้านล่าง:

ขั้นตอนที่ 2 : หลังจากติดตั้งการตั้งค่า Bluetooth ของโทรศัพท์มือถือที่เปิดอยู่ ค้นหา ESP32 Bluetooth แล้วคลิกเพื่อเริ่มจับคู่กับสมาร์ทโฟนของคุณโดยคลิกที่ คู่ :

ขั้นตอนที่ 3 : หลังจากแตะที่ a คู่ , โทรศัพท์มือถือจะเริ่มจับคู่กับ ESP32 Bluetooth:

ขั้นตอนที่ 4 : ตอนนี้เปิดแอปพลิเคชัน Serial Bluetooth Terminal แล้วไปที่อุปกรณ์จากเมนูด้านข้าง:

ขั้นตอนที่ 5 : เมื่อเปิดตัวเลือกอุปกรณ์แล้วระบบจะขออนุญาตหรือกดปุ่ม รีเฟรช ปุ่มที่มุมขวาบน:

ขั้นตอนที่ 6 : ป๊อปอัปต่อไปนี้จะมาคลิกที่ การตั้งค่า และอนุญาตการอนุญาตที่ขอ:

ขั้นตอนที่ 7 : ตอนนี้บอร์ด ESP32 พร้อมรับคำสั่งผ่าน Bluetooth แล้ว ภายใต้ตัวเลือก Bluetooth Classic ให้เลือกบอร์ด ESP32:

ขั้นตอนที่ 8 : เมื่อเลือก ESP32 แล้ว จะเริ่มเชื่อมต่อและหากสำเร็จ a เชื่อมต่อแล้ว ข้อความจะปรากฏขึ้น

ขั้นตอนที่ 9 : ตอนนี้เราสามารถส่งคำสั่งใดๆ ได้โดยพิมพ์ที่นี่ พิมพ์ 1 และคลิกปุ่มส่ง LED บน ESP32 บอร์ดจะเปิด ในทำนองเดียวกันโดยการพิมพ์ 0 LED จะดับลง

ในทำนองเดียวกัน เราสามารถเห็นผลลัพธ์บนจอภาพแบบอนุกรมของ Arduino IDE ที่ได้รับ:

เอาท์พุท:

LED เปิดหลังจากส่ง 1:

LED ดับลงหลังจากส่ง 0:

บันทึก : นอกจากนี้เรายังสามารถกำหนดค่าปุ่มสำหรับคำแนะนำเฉพาะดังที่แสดงในภาพด้านล่าง เมื่อต้องการทำสิ่งนี้ให้คลิกปุ่มและตั้งค่าที่คุณต้องการ ที่นี่เราได้ตั้งค่าสองปุ่มหนึ่งปุ่มสำหรับ HIGH และอีกปุ่มหนึ่งสำหรับสถานะ LOW คุณยังสามารถกำหนดค่าทางลัดเหล่านี้ในค่าเลขฐานสิบหก

บทสรุป

บอร์ด ESP32 มี WiFi ในตัวและรองรับบลูทูธคู่พร้อมบลูทูธแบบคลาสสิกและบลูทูธพลังงานต่ำ คลาสสิกใช้สำหรับการถ่ายโอนข้อมูลสูงในขณะที่ BLE (บลูทูธพลังงานต่ำ) ใช้สำหรับระยะทางสั้น ๆ ที่มีความต้องการพลังงานน้อยกว่า บทความนี้ครอบคลุมถึงการถ่ายโอนข้อมูล Classic Bluetooth และให้แนวคิดเกี่ยวกับวิธีการสื่อสารผ่าน Bluetooth โดยใช้บอร์ด ESP32