آموزش های کاربردیاینترنت اشیاء (IOT)بایگانی مطالبپروژه های ESP32

معرفی و راه اندازی بلوتوث کلاسیک در ماژول ESP32

در این آموزش ابتدا به معرفی کامل تکنولوژی بلوتوث کلاسیک خواهیم پرداخت سپس نحوه راه اندازی بلوتوث کلاسیک در ماژول ESP32 بصورت مرحله به مرحله همراه با دستور های مورد نیاز را به شما آموزش خواهیم داد، همراه ما باشید و در پایان نظرات و دانش خود را با ما به اشتراک بگذارید.


معرفی تکنولوژی بلوتوث کلاسیک

بلوتوث یک تکنولوژی بی سیم استاندارد برای تبادل اطلاعات در فاصله ی کم است. امروزه ارتباط از طریق بلوتوث، یکی از متدوال ترین و پرکاربردترین روش های تبادل اطلاعات بین دستگاه ها می باشد. دستگاه های زیادی مانند گوشی های موبایل، ساعت ها و گجت های هوشمند، هدفون های بی سیم، ماوس، کیبوردهای بی سیم و … برای ارتباط با یکدیگر و تبادل اطلاعات از بلوتوث استفاده می کنند.

از مزایای بلوتوث مصرف توان و هزینه ی کم است. ارتباط بلوتوث را می توان به دو دسته ی کلاسیک (نوع متداول آن) و کم مصرف (BLE) تقسیم کرد.

بلوتوث کلاسیک در ماژول ESP32


راه اندازی بلوتوث کلاسیک در ESP32

تراشه های ESP32 علاوه بر وای فای، دارای ارتباط بلوتوث نیز هستند و امکان ارتباط با دستگاه های دیگر با این تکنولوژی را فراهم می کنند. ESP32، هردو نوع ارتباط بلوتوث کلاسیک و کم مصرف را پشتیبانی می کند.


راه اندازی بلوتوث کلاسیک ماژول ESP32 بسیار ساده تر از نوع کم مصرف آن است. در این مقاله راه اندازی بلوتوث کلاسیک در ماژول ESP32 را از دو طریق مورد بررسی و آزمایش قرار خواهیم داد.

  • راه اندازی بلوتوث کلاسیک در نقش سرور و اتصال گوشی هوشمند به آن

  • راه اندازی ارتباط بین دو ماژول ESP32 درنقش کلاینت و سرور توسط بلوتوث کلاسیک

1- راه اندازی بلوتوث کلاسیک ماژول ESP32 در نقش سرور و اتصال گوشی هوشمند به آن

جهت انجام این پروژه به یک ماژول ESP32، یک کابل USB سریال جهت آپلود کد بر روی ماژول، نرم افزار Arduino IDE و اپلیکیشن Serial Bluetooth Terminal نیاز داریم و همچنین کتابخانه مورد نیاز جهت اجرای این پروژه “BluetoothSerial.h” می باشد.

کد راه اندازی بلوتوث کلاسیک جهت اتصال گوشی هوشمند به آن به صورت زیر است:

#include "BluetoothSerial.h"

#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth is not enabled! Please run `make menuconfig` to and enable it
#endif

BluetoothSerial SerialBT;

void setup() {
Serial.begin(115200);
SerialBT.begin("ESP32test"); //Bluetooth device name
Serial.println("The device started, now you can pair it with bluetooth!");
}
void loop() {
if (Serial.available()) {
SerialBT.write(Serial.read());
}
if (SerialBT.available()) {
Serial.write(SerialBT.read());
}
delay(20);
}

پس از آپلود کد عبارت !The device started, now you can pair it with bluetooth را در سریال مانیتور مشاهده می کنید، به این معنی که می توان دستگاه ها را از طریق بلوتوث با ماژول جفت کرد.

نرم افزار Arduino IDE
نرم افزار Arduino IDE

بعد از این مرحله ابتدا بلوتوث گوشی هوشمند خود را فعال کنید. سپس به اپلیکیشن Serial Bluetooth Terminal مراجعه کنید. در قسمت دیوایس و بلوتوث کلاسیک باید نام دستگاه های بلوتوث فعال را مشاهده کنید. سپس، با ESP32test جفت شوید و به ترمینال بلوتوث سریال برگردید. شما باید یک پیام “connected” دریافت کنید.

بعد از این مرحله همانطور که در عکس ها مشاهده می کنید، می توان هر متنی را در قسمت تایپ اپلیکیشن نوشت و ارسال کرد و آن را در سریال مانیتور Arduino IDE مشاهده کرد و یا متنی را در قسمت تایپ Arduino IDE نوشت و آن را در ترمینال اپلیکیشن مشاهده کرد.

 راه اندازی بلوتوث کلاسیک ماژول ESP32 در نقش سرور و اتصال گوشی هوشمند به آن
راه اندازی بلوتوث کلاسیک ماژول ESP32 در نقش سرور و اتصال گوشی هوشمند به آن

2-راه اندازی ارتباط بین دو ESP32 درنقش کلاینت و سرور توسط بلوتوث کلاسیک

در این حالت یک ماژول در نقش سرور ظاهر می شود و ماژول دیگر در نقش کلاینت و تبادل داده ها از این طریق صورت می گیرد. کد راه اندازی بلوتوث کلاسیک در نقش سرور به صورت زیر می باشد:

#include "BluetoothSerial.h"

BluetoothSerial SerialBT;

String name = "ESP32test";//device to connect with
bool connected;

void setup() {
Serial.begin(115200);
pinMode(16, OUTPUT); 
pinMode(17, OUTPUT); 
SerialBT.begin("ESP32test_Master", true); //true starts as master
Serial.println("The device started in master mode, make sure remote BT device is on!");

connected = SerialBT.connect(name);//connect to "ESP32test"

delay(5000);//time to connect

if (connected) {
Serial.println("Connected Succesfully!");
}
}

void loop() {

if (SerialBT.connected())
{
digitalWrite(17, LOW);//turn on
digitalWrite(16, HIGH);//turn off
}
else
{
digitalWrite(17, HIGH);//turn off
digitalWrite(16, LOW); //turn on
}

if (Serial.available()) {
SerialBT.write(Serial.read());
}
if (SerialBT.available()) {
Serial.write(SerialBT.read());
}
delay(20);
}

کد راه اندازی بلوتوث کلاسیک در نقش کلاینت:

#include "BluetoothSerial.h"

#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth is not enabled! Please run `make menuconfig` to and enable it
#endif

BluetoothSerial SerialBT;

void setup() {
Serial.begin(115200);
pinMode(16, OUTPUT); 
pinMode(17, OUTPUT);
SerialBT.begin("ESP32test"); //Bluetooth device name
Serial.println("The device started, now you can pair/connect it with phone!");
}

void loop() {
if (Serial.available()) {
SerialBT.write(Serial.read());
}
if (SerialBT.available()) {
Serial.write(SerialBT.read());
//SerialBT.write(SerialBT.read());//echo back
}
delay(20);

if (SerialBT.connected())
{
digitalWrite(17, LOW);//turn on
digitalWrite(16, HIGH);//turn off
}
else
{
digitalWrite(17, HIGH);//turn off
digitalWrite(16, LOW); //turn on
}

}

خروجی کد ها در مد سرور و کلاینت به صورت زیر است که پس از اتصال موفق می توان در قسمت تایپ سریال مانیتور هر متنی را تایپ کرد و برای ماژول دیگر فرستاد.

راه اندازی ارتباط بین دو ماژول ESP32 درنقش کلاینت و سرور توسط بلوتوث کلاسیک

راه اندازی ارتباط بین دو ماژول ESP32 درنقش کلاینت و سرور توسط بلوتوث کلاسیک


این مقاله چطور بود ؟
+1
39
+1
41
+1
2
مشاهده بیشتر

پریسا اکبری

کارشناس برق- قدرت و کارشناس ارشد کنترل. علاقه مند به سیستم های هوشمند و اینترنت اشیا. به مدت بیش از 1 سال است که در تیم سخت افزار سازان نام آور مشغول به فعالیت هستم.

نوشته های مشابه

دکمه بازگشت به بالا