- ESP32 புளூடூத் மூலம் தொடங்குதல்
- புளூடூத் லோ எனர்ஜி (பி.எல்.இ) மற்றும் ஈ.எஸ்.பி 32 கிளாசிக் புளூடூத் ஆகியவற்றைப் புரிந்துகொள்வது
- ESP32 க்கான Arduino IDE ஐத் தயாரிக்கிறது
- ESP32 க்கான தொடர் புளூடூத் திட்டம்
- ESP32 உடன் சீரியல் புளூடூத்தை சோதிக்கிறது
HC-05 மற்றும் HC-06 போன்ற புளூடூத் தொகுதிகள் Arduino IDE உடன் அமைப்பது எளிதானது மற்றும் விரைவாகப் பயன்படுத்தப்படுகின்றன, ஆனால் அவை அதிக சக்தி நுகர்வு போன்ற அவற்றின் சொந்த வரம்பைக் கொண்டுள்ளன, மேலும் அவை பழைய புளூடூத் V2.0 இல் இயங்குகின்றன. மேலும், சமீபத்தில் எனக்கு ஒரு புதிய ESP32 DEV கிட் கிடைத்தது, இந்த தொகுதிகள் உள்ளமைக்கப்பட்ட வைஃபை மற்றும் புளூடூத், ஏராளமான ஏடிசி மற்றும் டிஏசி பின்ஸ், ஆடியோ ஆதரவு, எஸ்டி கார்டு ஆதரவு, டீப் ஸ்லீப் பயன்முறை போன்ற அம்சங்களைக் கொண்டுள்ளது. IoT திட்டங்களை உருவாக்குவதற்கான அனைத்தும்.
எந்தவொரு பொழுதுபோக்கு ஆர்வலரும் விரும்புவதைப் போலவே, ESP32 இப்போது அதிகாரப்பூர்வமாக Arduino IDE ஆல் ஆதரிக்கப்படுகிறது. முன்னதாக நாங்கள் நீல் கோல்பன்ஸ் நூலகத்துடன் ஒரு பெரிய பணியைச் செய்ய வேண்டும், ஆனால் இப்போது இந்த நபரின் கடின உழைப்பு நிரலாக்கத்திற்கு நன்றி ESP32 Arduino IDE உடன் ஒரு கேக் நடை. எனவே, நான் எனது Arduino IDE ஐத் தொடங்கினேன், BLE நிரல்களுக்கு சில எடுத்துக்காட்டுகளைச் செய்தேன், இதன் மூலம் எனக்கு எதுவும் புரியவில்லை. நீண்ட நேரம் உலாவல் மற்றும் யூடியூபிங்கிற்குப் பிறகு, நீங்கள் ESP32 ஐப் பயன்படுத்தி புளூடூத் லோ எனர்ஜி (BLE) உடன் வேலை செய்ய வேண்டுமானால் புரிந்து கொள்ள இன்னும் நிறைய விஷயங்கள் உள்ளன என்பதை நான் உணர்ந்தேன். BLE ஐ தனித்தனி கட்டுரைகளில் மறைக்க முடிவு செய்தேன், எனவே இங்கே ஸ்மார்ட் ஃபோனைப் பயன்படுத்தி ஒரு எல்.ஈ.டி ஐ மாற்றுவதற்கு ESP32 இன் கிளாசிக் சீரியல் புளூடூத்தைப் பயன்படுத்துவோம்.. BLE அம்சங்களை எவ்வாறு பயன்படுத்துவது என்பதை அறிய நீங்கள் ஆர்வமாக இருந்தால், ESP32 BLE சேவையகம் மற்றும் ESP32 BLE கிளையண்டில் இந்த கட்டுரையை சரிபார்க்கவும்
ESP32 புளூடூத் மூலம் தொடங்குதல்
நான் முயற்சிக்க விரும்பிய முதல் நிரல் ஒரு எளிய நிரலாகும், இதைப் பயன்படுத்தி நல்ல பழைய HC-05 நாட்களைப் போலவே, மொபைல் ஃபோன் புளூடூத் டெர்மினல் பயன்பாட்டிலிருந்து எல்.ஈ.டி. ஆனால், புளூடூத் லோ எனர்ஜி (பி.எல்.இ) அதற்காக உள்தள்ளப்படவில்லை. ESP32 தொகுதியில் இரண்டு வகையான புளூடூத் இருப்பதையும் நான் கண்டுபிடித்தேன், ஒன்று கிளாசிக் புளூடூத், மற்றொன்று BLE புளூடூத் லோ எனர்ஜி. சரி, ஆனால் ஏன்?…. எங்களிடம் இரண்டு வகையான புளூடூத் ஏன் இருக்கிறது, எனது திட்டத்திற்கு நான் எதைப் பயன்படுத்த வேண்டும்?
புளூடூத் லோ எனர்ஜி (பி.எல்.இ) மற்றும் ஈ.எஸ்.பி 32 கிளாசிக் புளூடூத் ஆகியவற்றைப் புரிந்துகொள்வது
கிளாசிக் புளூடூத்தை விட ப்ளூடூத் லோ எனர்ஜி, குறைந்த சக்தியைப் பயன்படுத்துகிறது. முன் வரையறுக்கப்பட்ட கால புதுப்பிப்புகளுடன் தேவையான தரவை அனுப்புவதன் மூலம் இது அடையப்படுகிறது. ஆனால் கிளாசிக் புளூடூத் போலல்லாமல் இது கோப்புகள் அல்லது இசையை மாற்ற பயன்படாது. நீங்கள் இணைத்த புளூடூத் சாதனம் ஆடியோ சாதனம் அல்லது மடிக்கணினி அல்லது தொலைபேசி என்பதை உங்கள் தொலைபேசி தானாக எவ்வாறு அடையாளம் காணும் என்று நீங்கள் எப்போதாவது யோசித்திருக்கிறீர்களா, வயர்லெஸ் ஆடியோ பிளேயர் அல்லது ஃபிட்னஸ் பேண்டில் உள்ள பேட்டரி நிலை தானாகவே நிலைப்பட்டியில் காண்பிக்கப்படுவதையும் நீங்கள் பார்த்திருக்கலாம். உங்கள் மொபைல்; இவை அனைத்தும் BLE சாதனங்களின் பண்புகளுடன் சாத்தியமாகும். ஒரு BLE சாதனம் புளூடூத் V4.0 உடன் இயங்குகிறது மற்றும் குறைந்த சக்தியுடன் சேவையகமாக அல்லது கிளையண்டாக செயல்பட முடியும்பீக்கான்கள், ஸ்மார்ட் கைக்கடிகாரங்கள், உடற்பயிற்சி இசைக்குழுக்கள் போன்றவற்றுக்கு பி.எல்.இ ஒரு சிறந்த தேர்வாகும்.

மறுபுறம் கிளாசிக் புளூடூத் என்பது கோப்புகள் மற்றும் பிற தரவை மாற்ற நாங்கள் பயன்படுத்தும் எளிய எளிய பழைய புளூடூத் ஆகும். கிட்டத்தட்ட அனைத்து BLE சாதனங்களும் கிளாசிக் புளூடூத் செயல்பாட்டைக் கொண்டுள்ளன. HC-05 போன்ற தொகுதிகளில் பயன்படுத்தப்படும் புளூடூத் என்பது புளூடூத் எஸ்எஸ்பி (சீரியல் போர்ட் புரோட்டோகால்) எனப்படும் கிளாசிக் புளூடூத்தின் பதிப்பாகும், அதாவது புளூடூத் நிலையான சீரியல் நெறிமுறையைப் பின்பற்றுகிறது, இது தரவுகளை மேல்நோக்கி இல்லாமல் அனுப்புவதையும் பெறுவதையும் எளிதாக்குகிறது. இந்த டுடோரியலின் முடிவில், ESP32 இல் சீரியல் புளூடூத் செயல்பாட்டை எவ்வாறு பயன்படுத்துவது என்பதைக் கற்றுக்கொள்வோம்.
இங்கே இந்த கட்டுரையில் நாம் ஒரு ஸ்மார்ட்போனுடன் இணைக்க ESP32 இல் உள்ள சீரியல் புளூடூத் செயல்பாட்டைப் பயன்படுத்துவோம் மற்றும் பிளே ஸ்டோரிலிருந்து ஏற்கனவே இருக்கும் புளூடூத் டெர்மினல் பயன்பாட்டைப் பயன்படுத்தி ESP32 க்கு கட்டளைகளை அனுப்பவும், அதற்கேற்ப எல்.ஈ.டி போர்டை மாற்றவும்.
பின்னர் கட்டுரைகளில் ESP32 BLE ஐ சேவையகமாகவும் கிளையண்டாகவும் உள்ளடக்குவோம். பி.எல்.இ சேவையகம் பொதுவாக பி.எல்.இ தரவை பிற புளூடூத் சாதனங்களுக்கு அனுப்ப பயன்படுகிறது மற்றும் பி.எல்.இ கிளையன்ட் மற்ற பி.எல்.இ சாதனங்களை ஸ்கேன் செய்ய பயன்படுகிறது, இதனால் பெக்கனாக செயல்படுகிறது.
ESP32 க்கான Arduino IDE ஐத் தயாரிக்கிறது
Arduino IDE இயல்பாக ESP32 போர்டை ஆதரிக்காது என்பதை நினைவில் கொள்க; போர்டு மேலாளரைப் பயன்படுத்தி அவற்றை பதிவிறக்கி நிறுவ வேண்டும். இது ESP32 உடனான உங்கள் முதல் நிரல் என்றால், உங்கள் Arduino இல் ESP32 போர்டைச் சேர்க்க இந்த தொடக்க தொடக்க பயிற்சியைப் பின்பற்றி ஒரு சோதனை ஓவியத்தை பதிவேற்றவும்.

மேலும், நீங்கள் எந்த மைக்ரோகண்ட்ரோலரையும் பயன்படுத்தாமல், ESP32 உடன் கூடுதல் திட்டங்களைச் செய்யலாம்.
ESP32 க்கான தொடர் புளூடூத் திட்டம்
ESP32 புளூடூத்தைப் பயன்படுத்தி எல்.ஈ.டி மாற்றுவதற்கான முழுமையான நிரல் இந்தப் பக்கத்தின் இறுதியில் கொடுக்கப்பட்டுள்ளது. இந்த தலைப்பின் கீழ், குறியீட்டை சிறிய துணுக்குகளாக உடைத்து அவற்றைப் புரிந்துகொள்ள முயற்சிக்கவும். நீங்கள் ஏற்கனவே HC-05 போன்ற பிற புளூடூத் தொகுதிகளைப் பயன்படுத்தியிருந்தால், இந்த ESP32 புளூடூத் கிளாசிக் எடுத்துக்காட்டு நிரல் மிகவும் ஒத்ததாக இருப்பதைக் காணலாம்.
திட்டத்தின் யோசனை ESP32 ஐப் பயன்படுத்தி சீரியல் புளூடூத் இணைப்பைத் தொடங்குவது மற்றும் இணைக்கப்பட்ட சாதனங்களிலிருந்து தரவைக் கேட்பது. உள்வரும் தரவு '1' ஆக இருந்தால், எல்.ஈ.டியை இயக்குகிறோம், அது '0' ஆக இருந்தால் எல்.ஈ.டி. ப்ளூடூத்ஸீரியல் என்ற தலைப்பு கோப்பைச் சேர்ப்பதன் மூலம் எங்கள் திட்டத்தைத் தொடங்குகிறோம், இது ESP32 புளூடூத்தை புளூடோத் எஸ்எஸ்பியாக செயல்பட வைக்கிறது.
# அடங்கும் "BluetoothSerial.h" // சீரியல் புளூடூத்துக்கான தலைப்பு கோப்பு, முன்னிருப்பாக Arduino இல் சேர்க்கப்படும்
இந்த நூலகத்தின் பின்னால் நிறைய விஷயங்கள் நடந்து கொண்டிருக்கின்றன, ஆனால் விஷயங்களை எளிமையாக வைத்திருக்க அதில் ஆழமாகப் போக வேண்டாம் என்று நாங்கள் தேர்ந்தெடுத்தோம். அடுத்தது நமக்குத் தேவை எங்கள் புளூடூத் தொடர்பான செயல்பாடுகளுக்கான ஒரு பொருள். இங்கே நான் என்னுடையதை ESP_BT என்று பெயரிட்டேன், ஆனால் நீங்கள் எந்த பெயரையும் தேர்வு செய்யலாம்.
புளூடூத்ஸீரியல் ESP_BT; // புளூடூத்துக்கான பொருள்
அடுத்து, வெற்றிட அமைவு () செயல்பாட்டின் உள்ளே. நாங்கள் பாட் வீதம் 9600 உடன் சீரியல் தகவல்தொடர்புகளைத் தொடங்குகிறோம் மற்றும் புளூடூத் சிக்னலை ஒரு பெயருடன் துவக்குகிறோம். இங்கே நான் இதற்கு “ESP32_LED_Control ” என்று பெயரிட்டுள்ளேன், இது இணைக்க முயற்சிக்கும் போது எங்கள் தொலைபேசியால் கண்டறியப்படும் பெயராக இருக்கும். புளூடூத் சிக்னலின் அடிப்படையில் அதை மாற்றுவோம் என்பதால் இறுதியாக உள்ளமைக்கப்பட்ட எல்இடி முள் வெளியீட்டு முள் என்று அறிவித்தேன்.
void setup () { Serial.begin (9600); // 9600 ESP_BT.begin இல் தொடர் மானிட்டரைத் தொடங்குங்கள் ("ESP32_LED_Control"); // உங்கள் புளூடூத் சிக்னலின் பெயர் Serial.println ("புளூடூத் சாதனம் இணைக்கத் தயாராக உள்ளது"); pinMode (LED_BUILTIN, OUTPUT); // எல்இடி முள் வெளியீடு என்பதைக் குறிப்பிடவும் }
எல்லையற்ற வெற்றிட வளைய செயல்பாட்டின் உள்ளே, புளூடூத் தொகுதியிலிருந்து ஏதேனும் தரவு வருகிறதா என்று நாங்கள் சோதிக்கிறோம், ஆம் எனில், தரவு உள்வரும் உள்வரும் இடத்தில் படித்து சேமிக்கப்படுகிறது. இந்த மதிப்பை சீரியல் மானிட்டரில் அச்சிடுகிறோம், இது Arduino ஆல் பெறப்படுவதைக் கடக்க.
if (ESP_BT.available ()) // புளூடூத்திலிருந்து எதையும் நாங்கள் பெறுகிறோமா என்று சரிபார்க்கவும் { உள்வரும் = ESP_BT.read (); // நாம் பெறுவதைப் படியுங்கள் Serial.print ("பெறப்பட்டது:"); Serial.println (உள்வரும்);
இப்போது, பெறப்பட்ட தரவு எதுவுமே மாறி உள்வரும் இடத்தில் சேமிக்கப்படுகிறது, எனவே இந்த மாறியை எதிர்பார்த்த மதிப்புடன் நேரடியாக ஒப்பிட்டு தேவையான செயலைச் செய்யலாம். ஆனால் புளூடூத்திலிருந்து அனுப்பப்பட்ட மதிப்பு கரி வடிவத்தில் இருக்கும், மேலும் தொலைபேசியிலிருந்து அனுப்பப்படும் கரியின் தசம மதிப்பை அர்டுயினோ வாசிக்கும். கரி '0' க்கான எங்கள் விஷயத்தில் தசம மதிப்பு 48 ஆகவும், கரி '1' க்கு தசம மதிப்பு 49 ஆகவும் இருக்கும். ஒவ்வொரு எழுத்துக்கும் தசம மதிப்பு என்னவாக இருக்கும் என்பதைப் புரிந்துகொள்ள ASCII விளக்கப்படத்தைப் பார்க்கலாம்.
இங்கே நாம் உள்வரும் மாறியை முறையே 0 மற்றும் 1 ஐ சரிபார்க்க 48 மற்றும் 49 உடன் ஒப்பிட்டுள்ளோம். இது 1 ஆக இருந்தால், எல்.ஈ.டியை அணைத்துவிட்டு, எல்.ஈ.டி அணைக்கப்பட்டுள்ளதாகவும், அதற்கு நேர்மாறாக 0 க்கு ஒரு ஒப்புதல் செய்தியை புளூடூத்துக்கு மீண்டும் அச்சிடுவோம்.
if (உள்வரும் == 49) { டிஜிட்டல்ரைட் (LED_BUILTIN, HIGH); ESP_BT.println ("LED இயக்கப்பட்டது"); } if (உள்வரும் == 48) { டிஜிட்டல்ரைட் (LED_BUILTIN, LOW); ESP_BT.println ("எல்.ஈ.டி முடக்கப்பட்டுள்ளது"); }
ESP32 உடன் சீரியல் புளூடூத்தை சோதிக்கிறது
உங்கள் ESP ஐ உங்கள் Arduino IDE உடன் இணைத்து, டுடோரியலைத் தொடங்குவதில் விவாதித்தபடி சரியான போர்டு மற்றும் போர்ட்டைத் தேர்ந்தெடுக்கவும். இது 3 வது கட்சி வாரிய மேலாளர் என்பதால், குறியீடு தொகுக்கப்பட்டு பதிவேற்றப்படுவதற்கு இன்னும் சிறிது நேரம் ஆகலாம். பதிவேற்றியதும் சீரியல் மானிட்டர்களைத் தொடங்கவும் (பிழைத்திருத்தத்திற்காக) உங்கள் தொலைபேசியில் புளூடூத் அமைப்பைத் திறக்கவும். நீங்கள் ESP32_LED_Control ஜோடி என்ற புளூடூத் சாதனத்தைக் கண்டுபிடிக்க வேண்டும்.

இப்போது நீங்கள் உங்கள் ஸ்மார்ட்போனில் எந்த புளூடூத் டெர்மினல் பயன்பாட்டையும் திறக்கலாம், கூகிள் ஆப் ஸ்டோரிலிருந்து பதிவிறக்கம் செய்யப்பட்ட “புளூடூத் டெர்மினல்” என்ற பெயரைப் பயன்படுத்துகிறேன். நாங்கள் இணைத்த சாதனத்துடன் புளூடூத் பயன்பாட்டை இணைத்து 1 ஐ தட்டச்சு செய்து அனுப்பவும்.

ESP32 தொகுதி அதைப் பெற்று, எங்கள் நிரலின் படி எல்.ஈ.டியை இயக்க வேண்டும், மேலும் மேலே காட்டப்பட்டுள்ள ஸ்கிரீன் ஷாட்டைப் போல எல்.ஈ.டி இயக்கப்பட்டது என்று ஒப்புதல் செய்தியை உங்களுக்கு வழங்க வேண்டும். சீரியல் மானிட்டரையும் நீங்கள் சரிபார்க்கலாம், இது ஈஎஸ்பி 32 புளூடூத் மூலம் பெறப்படும் தரவை தசம வடிவத்தில் காண்பிக்கும், இது உங்கள் ஆர்டுயினோ 0 க்கு 48 மற்றும் 1 க்கு 49 க்கு முன்பு விளக்கியது. எனது முனைய சாளரத்தின் ஸ்னாப்ஷாட் கீழே காட்டப்பட்டுள்ளது.


இதேபோல், மொபைல் பயன்பாட்டிலிருந்து 0 ஐ அனுப்புவதன் மூலமும் நீங்கள் எல்.ஈ.டி அணைக்க முடியும். முழுமையான வேலை கீழே உள்ள வீடியோவில் காட்டப்பட்டுள்ளது. நீங்கள் டுடோரியலைப் புரிந்துகொண்டு பயனுள்ள ஒன்றைக் கற்றுக்கொண்டீர்கள் என்று நம்புகிறேன். உங்களுக்கு ஏதேனும் சந்தேகம் இருந்தால், அவற்றை கீழே உள்ள கருத்துப் பிரிவில் விடலாம் அல்லது பிற தொழில்நுட்ப உதவிக்கு எங்கள் மன்றங்களைப் பயன்படுத்தவும்.
