- ESP32 బ్లూటూత్తో ప్రారంభించడం
- బ్లూటూత్ లో ఎనర్జీ (BLE) మరియు ESP32 క్లాసిక్ బ్లూటూత్ను అర్థం చేసుకోవడం
- ESP32 కోసం Arduino IDE ని సిద్ధం చేస్తోంది
- ESP32 కోసం సీరియల్ బ్లూటూత్ ప్రోగ్రామ్
- ESP32 తో సీరియల్ బ్లూటూత్ను పరీక్షిస్తోంది
HC-05 మరియు HC-06 వంటి బ్లూటూత్ మాడ్యూల్స్ Arduino IDE తో సెటప్ చేయడం సులభం మరియు త్వరగా ఉపయోగించడం, కానీ అవి అధిక విద్యుత్ వినియోగం వంటి వాటి స్వంత పరిమితిని కలిగి ఉంటాయి మరియు అవి పాత బ్లూటూత్ V2.0 పై పనిచేస్తాయి. అలాగే, ఇటీవల నాకు కొత్త ESP32 DEV కిట్ వచ్చింది, ఈ మాడ్యూళ్ళలో అంతర్నిర్మిత Wi-Fi మరియు బ్లూటూత్, తగినంత ADC మరియు DAC పిన్స్, ఆడియో సపోర్ట్, SD కార్డ్ సపోర్ట్, డీప్ స్లీప్ మోడ్ వంటి ఫీచర్లు ఉన్నాయి. IoT ప్రాజెక్టులను నిర్మించడానికి ప్రతిదీ.
ఏదైనా అభిరుచి గలవారు ఇష్టపడే విధంగా, ESP32 ఇప్పుడు ఆర్డునో IDE చేత అధికారికంగా మద్దతు ఇస్తుంది. ఇంతకుముందు మేము నీల్ కోల్బన్స్ లైబ్రరీతో భారీ ప్రత్యామ్నాయం చేయవలసి ఉంది, కానీ ఇప్పుడు ఆర్డునో ఐడిఇతో ఈ వ్యక్తి చేసిన హార్డ్ వర్క్ ప్రోగ్రామింగ్ ESP32 కి ధన్యవాదాలు. అందువల్ల, నేను నా Arduino IDE ని ప్రారంభించాను మరియు కొన్ని ఉదాహరణ BLE ప్రోగ్రామ్లకు వెళ్ళాను, దీని ద్వారా నాకు ఏమీ అర్థం కాలేదు. చాలా కాలం సర్ఫింగ్ మరియు యూట్యూబింగ్ తరువాత మీరు ESP32 ను ఉపయోగించి బ్లూటూత్ లో ఎనర్జీ (BLE) తో పనిచేయవలసి వస్తే అర్థం చేసుకోవడానికి ఇంకా చాలా విషయాలు ఉన్నాయని నేను గ్రహించాను. నేను BLE ని ప్రత్యేక వ్యాసాలలో కవర్ చేయాలని నిర్ణయించుకున్నాను, కాబట్టి ఇక్కడ స్మార్ట్ ఫోన్ను ఉపయోగించి LED ని టోగుల్ చేయడానికి ESP32 యొక్క క్లాసిక్ సీరియల్ బ్లూటూత్ను ఉపయోగిస్తాము. BLE లక్షణాలను ఎలా ఉపయోగించాలో తనిఖీ చేయడానికి మీకు ఆసక్తి ఉంటే, ESP32 BLE సర్వర్ మరియు ESP32 BLE క్లయింట్లో ఈ కథనాన్ని తనిఖీ చేయండి
ESP32 బ్లూటూత్తో ప్రారంభించడం
నేను ప్రయత్నించాలనుకున్న మొదటి ప్రోగ్రామ్ ఒక సాధారణ ప్రోగ్రామ్, ఇది మంచి పాత HC-05 రోజుల మాదిరిగానే మొబైల్ ఫోన్ బ్లూటూత్ టెర్మినల్ అప్లికేషన్ నుండి LED ని ఆన్ లేదా ఆఫ్ చేయవచ్చు. కానీ బ్లూటూత్ లో ఎనర్జీ (బిఎల్ఇ) దాని కోసం ఇండెంట్ చేయబడలేదు. ESP32 మాడ్యూల్లో రెండు రకాల బ్లూటూత్ ఉన్నాయని నేను కనుగొన్నాను, ఒకటి క్లాసిక్ బ్లూటూత్ మరియు మరొకటి BLE బ్లూటూత్ లో ఎనర్జీ. సరే, కానీ ఎందుకు?…. మనకు రెండు రకాల బ్లూటూత్ ఎందుకు ఉంది మరియు నా ప్రాజెక్ట్ కోసం నేను ఏమి ఉపయోగించాలి?
బ్లూటూత్ లో ఎనర్జీ (BLE) మరియు ESP32 క్లాసిక్ బ్లూటూత్ను అర్థం చేసుకోవడం
Bluetooth తక్కువ శక్తి, పేరు క్లాసిక్ Bluetooth కంటే ఖర్చవుతుంది శక్తి తక్కువగా సూచిస్తుంది. ముందుగా నిర్వచించిన ఆవర్తన నవీకరణలతో అవసరమైన డేటాను పంపడం ద్వారా ఇది సాధించబడుతుంది. క్లాసిక్ బ్లూటూత్ మాదిరిగా ఇది ఫైల్స్ లేదా మ్యూజిక్ బదిలీ చేయడానికి ఉపయోగించబడదు. మీరు జత చేసిన బ్లూటూత్ పరికరం ఆడియో పరికరం లేదా ల్యాప్టాప్ లేదా ఫోన్ అని మీ ఫోన్ స్వయంచాలకంగా ఎలా గుర్తిస్తుందో మీరు ఎప్పుడైనా ఆలోచిస్తున్నారా, వైర్లెస్ ఆడియో ప్లేయర్ లేదా ఫిట్నెస్ బ్యాండ్లోని బ్యాటరీ స్థాయి స్వయంచాలకంగా స్థితి పట్టీలో చూపబడుతుందని మీరు చూడవచ్చు. మీ మొబైల్; BLE పరికరాల లక్షణాలతో ఇవన్నీ సాధ్యమే. ఒక BLE పరికరం పనిచేస్తుంది Bluetooth V4.0 మరియు ఒక సర్వర్ లేదా చేస్తుంది ఒక క్లయింట్ వలె తక్కువ విద్యుత్ తో నిర్వహించగలబీకాన్లు, స్మార్ట్ గడియారాలు, ఫిట్నెస్ బ్యాండ్లు మొదలైన వాటికి అనువైన ఎంపిక BLE.
మరోవైపు క్లాసిక్ బ్లూటూత్ ఫైల్స్ మరియు ఇతర డేటాను బదిలీ చేయడానికి మేము ఉపయోగించే సాధారణ సాదా పాత బ్లూటూత్. దాదాపు అన్ని BLE పరికరాలతో క్లాసిక్ బ్లూటూత్ కార్యాచరణ ఉంది. HC-05 వంటి మాడ్యూళ్ళలో ఉపయోగించే బ్లూటూత్ అనేది బ్లూటూత్ SSP (సీరియల్ పోర్ట్ ప్రోటోకాల్) అని పిలువబడే క్లాసిక్ బ్లూటూత్ యొక్క సంస్కరణ, అనగా బ్లూటూత్ ప్రామాణిక సీరియల్ ప్రోటోకాల్ను అనుసరిస్తుంది, ఇది ఎక్కువ ఓవర్ హెడ్ లేకుండా డేటాను పంపడం మరియు స్వీకరించడం సులభం చేస్తుంది. ఈ ట్యుటోరియల్ చివరలో ESP32 లో సీరియల్ బ్లూటూత్ కార్యాచరణను ఎలా ఉపయోగించాలో నేర్చుకుంటాము.
ఇక్కడ ఈ వ్యాసంలో మేము ESP32 లోని సీరియల్ బ్లూటూత్ ఫంక్షన్ను స్మార్ట్ఫోన్తో జత చేయడానికి ఉపయోగిస్తాము మరియు ప్లే స్టోర్ నుండి ఇప్పటికే ఉన్న ఏదైనా బ్లూటూత్ టెర్మినల్ అనువర్తనాన్ని ఉపయోగించి ESP32 కు ఆదేశాలను పంపండి మరియు తదనుగుణంగా LED బోర్డును టోగుల్ చేయండి.
తరువాతి వ్యాసాలలో మేము ESP32 BLE ను సర్వర్తో పాటు క్లయింట్గా కవర్ చేస్తాము. BLE సర్వర్ సాధారణంగా ఇతర బ్లూటూత్ పరికరాలకు BLE డేటాను పంపడానికి ఉపయోగించబడుతుంది మరియు ఇతర BLE పరికరాలను స్కాన్ చేయడానికి BLE క్లయింట్ ఉపయోగించబడుతుంది, తద్వారా ఇది బెకన్గా పనిచేస్తుంది.
ESP32 కోసం Arduino IDE ని సిద్ధం చేస్తోంది
గమనించండి Arduino IDE అప్రమేయంగా ESP32 బోర్డ్కు మద్దతు ఇవ్వదు; మీరు బోర్డు మేనేజర్ను ఉపయోగించి వాటిని డౌన్లోడ్ చేసి ఇన్స్టాల్ చేయాలి. ఇది ESP32 తో మీ మొదటి ప్రోగ్రామ్ అయితే, మీ Arduino కు ESP32 బోర్డ్ను జోడించడానికి మరియు ప్రారంభ స్కెచ్ను అప్లోడ్ చేయడానికి ఈ ప్రారంభ ట్యుటోరియల్ను అనుసరించండి.
ఇంకా, మీరు మైక్రోకంట్రోలర్ను ఉపయోగించకుండా, ESP32 తో మరిన్ని ప్రాజెక్టులు చేయవచ్చు.
ESP32 కోసం సీరియల్ బ్లూటూత్ ప్రోగ్రామ్
ESP32 బ్లూటూత్ ఉపయోగించి LED ని టోగుల్ చేయడానికి పూర్తి ప్రోగ్రామ్ ఈ పేజీ చివరిలో ఇవ్వబడింది. ఈ శీర్షిక కింద, చిన్న స్నిప్పెట్లకు కోడ్ను విచ్ఛిన్నం చేసి వాటిని అర్థం చేసుకోవడానికి ప్రయత్నిద్దాం. మీరు ఇప్పటికే HC-05 వంటి ఇతర బ్లూటూత్ మాడ్యూళ్ళను ఉపయోగించినట్లయితే, మీరు ఈ ESP32 బ్లూటూత్ క్లాసిక్ ఉదాహరణ ప్రోగ్రామ్ చాలా పోలి ఉంటుంది.
ప్రోగ్రామ్ యొక్క ఆలోచన ESP32 ను ఉపయోగించి సీరియల్ బ్లూటూత్ కనెక్షన్ను ప్రారంభించడం మరియు జత చేసిన పరికరాల నుండి డేటాను వినడం. ఇన్కమింగ్ డేటా '1' అయితే మనం ఎల్ఈడీని ఆన్ చేసి, అది '0' అయితే మనం ఎల్ఈడీ ఆఫ్ చేయాలి. ESP32 బ్లూటూత్ బ్లూటొత్ SSP వలె పని చేసేలా చేసే హెడ్డర్ ఫైల్ బ్లూటూత్స్రియల్ను జోడించడం ద్వారా మేము మా ప్రోగ్రామ్ను ప్రారంభిస్తాము.
#include "BluetoothSerial.h" // సీరియల్ బ్లూటూత్ కోసం హెడర్ ఫైల్, డిఫాల్ట్గా Arduino లోకి చేర్చబడుతుంది
ఈ లైబ్రరీ వెనుక చాలా విషయాలు జరుగుతున్నాయి, కాని విషయాలు సరళంగా ఉంచడానికి దాని గురించి లోతుగా తెలుసుకోవద్దని మేము ఎంచుకున్నాము. మనకు అవసరమైన తదుపరి విషయం మా బ్లూటూత్ సంబంధిత కార్యకలాపాల కోసం ఒక వస్తువు. ఇక్కడ నేను గనిని ESP_BT అని పేరు పెట్టాను , కాని మీరు ఏదైనా పేరును ఎంచుకోవచ్చు.
బ్లూటూత్సీరియల్ ESP_BT; // బ్లూటూత్ కోసం ఆబ్జెక్ట్
తరువాత, శూన్య సెటప్ () ఫంక్షన్ లోపల. మేము బాడ్ రేట్ 9600 తో సీరియల్ కమ్యూనికేషన్ను ప్రారంభిస్తాము మరియు బ్లూటూత్ సిగ్నల్ను పేరుతో ప్రారంభిస్తాము. ఇక్కడ నేను దీనికి “ESP32_LED_Control ” అని పేరు పెట్టాను , ఇది జత చేయడానికి ప్రయత్నిస్తున్నప్పుడు మా ఫోన్ ద్వారా కనుగొనబడే పేరు. చివరగా నేను బ్లూటూత్ సిగ్నల్ ఆధారంగా టోగుల్ చేయబోతున్నందున అంతర్నిర్మిత LED పిన్ను అవుట్పుట్ పిన్గా ప్రకటించాను.
శూన్య సెటప్ () { Serial.begin (9600); // 9600 ESP_BT.begin ("ESP32_LED_Control") లో సీరియల్ మానిటర్ను ప్రారంభించండి ; // మీ బ్లూటూత్ సిగ్నల్ పేరు సీరియల్.ప్రింట్ల్న్ ("బ్లూటూత్ పరికరం జత చేయడానికి సిద్ధంగా ఉంది"); పిన్ మోడ్ (LED_BUILTIN, OUTPUT); // LED పిన్ అవుట్పుట్ అని పేర్కొనండి }
అనంతమైన శూన్య లూప్ ఫంక్షన్ లోపల, బ్లూటూత్ మాడ్యూల్ నుండి ఏదైనా డేటా వస్తుందా అని మేము తనిఖీ చేస్తాము, అవును అయితే డేటా చదివి వేరియబుల్ ఇన్కమింగ్ లో నిల్వ చేయబడుతుంది. ఆర్డునో అందుకుంటున్న దాన్ని క్రాస్ చెక్ చేయడానికి మేము ఈ విలువను సీరియల్ మానిటర్లో ప్రింట్ చేస్తాము.
if (ESP_BT.available ()) // బ్లూటూత్ నుండి మనకు ఏదైనా లభిస్తుందో లేదో తనిఖీ చేయండి { ఇన్కమింగ్ = ESP_BT.read (); // మేము స్వీకరించేదాన్ని చదవండి సీరియల్.ప్రింట్ ("స్వీకరించబడింది:"); సీరియల్.ప్రింట్ల్న్ (ఇన్కమింగ్);
ఇప్పుడు, ఏ డేటా వచ్చినా వేరియబుల్ ఇన్కమింగ్లో నిల్వ చేయబడుతుంది, కాబట్టి మనం ఈ వేరియబుల్ను expected హించిన విలువతో నేరుగా పోల్చవచ్చు మరియు అవసరమైన చర్యను చేయవచ్చు. కానీ బ్లూటూత్ నుండి పంపిన విలువ చార్ రూపంలో ఉంటుంది మరియు ఫోన్ నుండి పంపబడుతున్న చార్ యొక్క దశాంశ విలువను ఆర్డునో చదువుతుంది. చార్ '0' కోసం మా విషయంలో దశాంశ విలువ 48 మరియు చార్ '1' కోసం దశాంశ విలువ 49 అవుతుంది. ప్రతి అక్షరానికి దశాంశ విలువ ఏమిటో అర్థం చేసుకోవడానికి మీరు ASCII చార్ట్ను చూడవచ్చు.
ఇక్కడ మేము ఇన్కమింగ్ వేరియబుల్ను 48 మరియు 49 తో వరుసగా 0 మరియు 1 కోసం తనిఖీ చేసాము. ఇది 1 అయితే, మేము ఎల్ఈడీని ఆపివేసి, ఎల్ఈడీ ఆపివేయబడిందని, దీనికి విరుద్ధంగా 0 అని బ్లూటూత్కు రసీదు సందేశాన్ని తిరిగి ప్రింట్ చేస్తాము.
if (ఇన్కమింగ్ == 49) { డిజిటల్ రైట్ (LED_BUILTIN, HIGH); ESP_BT.println ("LED ఆన్ చేయబడింది"); } if (ఇన్కమింగ్ == 48) { డిజిటల్ రైట్ (LED_BUILTIN, LOW); ESP_BT.println ("LED ఆపివేయబడింది"); }
ESP32 తో సీరియల్ బ్లూటూత్ను పరీక్షిస్తోంది
మీ ESP ని మీ Arduino IDE కి కనెక్ట్ చేయండి మరియు ప్రారంభ ట్యుటోరియల్లో చర్చించినట్లు సరైన బోర్డు మరియు పోర్ట్ను ఎంచుకోండి. ఇది 3 వ పార్టీ బోర్డు మేనేజర్ కాబట్టి, కోడ్ సంకలనం మరియు అప్లోడ్ కావడానికి కొంచెం సమయం పడుతుంది. అప్లోడ్ చేసిన తర్వాత సీరియల్ మానిటర్లను ప్రారంభించండి (డీబగ్గింగ్ కోసం) మరియు మీ ఫోన్లో బ్లూటూత్ సెట్టింగ్ను తెరవండి. మీరు ESP32_LED_Control జత పేరుతో బ్లూటూత్ పరికరాన్ని కనుగొనాలి .
ఇప్పుడు మీరు మీ స్మార్ట్ఫోన్లో ఏదైనా బ్లూటూత్ టెర్మినల్ అనువర్తనాన్ని తెరవవచ్చు, నేను గూగుల్ యాప్ స్టోర్ నుండి డౌన్లోడ్ చేసిన “బ్లూటూత్ టెర్మినల్” అనేదాన్ని ఉపయోగిస్తున్నాను. మేము ఇప్పుడే జత చేసిన పరికరానికి బ్లూటూత్ అనువర్తనాన్ని కనెక్ట్ చేయండి మరియు 1 అని టైప్ చేసి పంపండి నొక్కండి.
ESP32 మాడ్యూల్ దానిని స్వీకరించి, మా ప్రోగ్రామ్ ప్రకారం LED ని ఆన్ చేయాలి మరియు పైన చూపిన స్క్రీన్ షాట్ లాగా LED ఆన్ చేయబడిందని మీకు రసీదు సందేశం ఇవ్వాలి. మీరు సీరియల్ మానిటర్ను కూడా తనిఖీ చేయవచ్చు, ఇది ESP32 బ్లూటూత్ ద్వారా స్వీకరించబడిన డేటాను దశాంశ ఆకృతిలో చూపిస్తుంది, ఇది మీ Arduino 0 కి 48 మరియు 1 కి 49 ని ముందు వివరిస్తుంది. నా టెర్మినల్ విండో యొక్క స్నాప్షాట్ క్రింద చూపబడింది.
అదేవిధంగా, మీరు మొబైల్ అప్లికేషన్ నుండి 0 పంపడం ద్వారా కూడా LED ని ఆపివేయగలగాలి. పూర్తి పని క్రింది వీడియోలో చూపబడింది. మీరు ట్యుటోరియల్ అర్థం చేసుకున్నారని మరియు ఉపయోగకరమైనదాన్ని నేర్చుకున్నారని ఆశిస్తున్నాము. మీకు ఏవైనా సందేహాలు ఉంటే వాటిని దిగువ వ్యాఖ్య విభాగంలో ఉంచడానికి సంకోచించకండి లేదా ఇతర సాంకేతిక సహాయం కోసం మా ఫోరమ్లను ఉపయోగించండి.