ఈ కథనంలో, మేము ESP32 బోర్డ్ను Android ఫోన్తో కనెక్ట్ చేస్తాము మరియు బ్లూటూత్ ద్వారా డేటాను కమ్యూనికేట్ చేస్తాము. ఇంకా, మేము నేరుగా Android స్మార్ట్ఫోన్ ద్వారా ESP32 యొక్క GPIO పిన్లతో కనెక్ట్ చేయబడిన LEDని నియంత్రిస్తాము.
కంటెంట్:
- ESP32 బ్లూటూత్ LE అంటే ఏమిటి
- ఆండ్రాయిడ్ స్మార్ట్ఫోన్తో బ్లూటూత్ ద్వారా కమ్యూనికేట్ చేయడానికి ESP32ని ఎలా ప్రోగ్రామ్ చేయాలి
- ఆండ్రాయిడ్ ఫోన్తో ESP32 బ్లూటూత్ని కనెక్ట్ చేయడానికి దశలు
- సర్క్యూట్ రేఖాచిత్రం
- హార్డ్వేర్
- అవుట్పుట్
- ముగింపు
ESP32 బ్లూటూత్ LE అంటే ఏమిటి
ESP32 అనేది మైక్రోకంట్రోలర్ బోర్డ్, ఇది బ్లూటూత్ క్లాసిక్ మరియు బ్లూటూత్ తక్కువ శక్తి రెండింటికి మద్దతు ఇస్తుంది, దీనిని స్మార్ట్ బ్లూటూత్ అని కూడా పిలుస్తారు. BLE లేదా స్మార్ట్ బ్లూటూత్ శక్తి-సమర్థవంతమైన కమ్యూనికేషన్ కోసం ప్రత్యేకమైనది లేదా స్వల్ప-శ్రేణి కమ్యూనికేషన్ లేదా చిన్న డేటా బదిలీల కోసం రూపొందించబడింది.
ESP32 యొక్క BLE కార్యాచరణ బ్లూటూత్ కమ్యూనికేషన్లలో సర్వర్గా లేదా క్లయింట్గా పనిచేయడానికి వీలు కల్పిస్తుంది. ఇది చదవడం మరియు వ్రాయడం వంటి సేవలను నిర్వహించగలదు. ఇది కనెక్షన్లను ఎన్క్రిప్ట్ చేయగలదు మరియు UART-BLE పాస్-త్రూ మోడ్లో డేటా ట్రాన్స్మిషన్ కోసం సీరియల్ పోర్ట్ ప్రొఫైల్ (SPP) కనెక్షన్లను ఏర్పాటు చేయగలదు. ESP32 బ్లూటూత్ 4.2 ప్రోటోకాల్లకు మద్దతు ఇస్తుంది, అంటే ఇది ఫిజికల్ లేయర్ (PHY) మరియు లింక్ లేయర్ (LL) వంటి వివిధ లేయర్లకు అనుకూలంగా ఉంటుంది. ఇది హోస్ట్ కంట్రోలర్ ఇంటర్ఫేస్ (HCI)కి కూడా మద్దతునిస్తుంది.
ESP32 క్లాసిక్ మరియు BLE బ్లూటూత్ కోసం తేడా పట్టికను తనిఖీ చేయండి.
ఫీచర్ | క్లాసిక్ బ్లూటూత్ | తక్కువ శక్తి బ్లూటూత్ (BLE) |
కమ్యూనికేషన్ రకం | స్థిరమైన, రెండు-మార్గం కమ్యూనికేషన్ | అడపాదడపా, ప్రధానంగా వన్-వే డేటా బరస్ట్లు |
కార్యాచరణ పరిధి | 100 మీటర్ల వరకు చేరుకోవచ్చు | సాధారణంగా 100 మీటర్ల లోపు పనిచేస్తుంది |
శక్తి వినియోగం | 1 వాట్ వరకు వినియోగిస్తుంది | 10 మిల్లీవాట్ల నుండి 500 మిల్లీవాట్ల వరకు ఉంటుంది |
బదిలీ వేగం | డేటా బదిలీ రేట్లు సెకనుకు 1 నుండి 3 మెగాబిట్ల వరకు మారుతూ ఉంటాయి | సెకనుకు 125 కిలోబిట్స్ నుండి సెకనుకు 2 మెగాబిట్లకు మద్దతు ఇస్తుంది |
ప్రతిస్పందన సమయం | దాదాపు 100 మిల్లీసెకన్ల జాప్యం | 6 మిల్లీసెకన్ల జాప్యంతో త్వరిత ప్రతిస్పందన |
వాయిస్ మద్దతు | వాయిస్ ట్రాన్స్మిషన్ అమర్చారు | వాయిస్ ట్రాన్స్మిషన్ ఫంక్షనాలిటీ లేదు |
ఈ ESP32 బ్లూటూత్ కథనాలను మరిన్నింటిని పొందడానికి చూడండి.
- ESP32 బ్లూటూత్ - అల్టిమేట్ గైడ్
- ESP32 – బ్లూటూత్ క్లాసిక్ vs బ్లూటూత్ లో ఎనర్జీ (BLE)
ఆండ్రాయిడ్ స్మార్ట్ఫోన్తో బ్లూటూత్ ద్వారా కమ్యూనికేట్ చేయడానికి ESP32ని ఎలా ప్రోగ్రామ్ చేయాలి
బ్లూటూత్ ప్రోటోకాల్ని ఉపయోగించి Android ఫోన్తో కమ్యూనికేట్ చేయడానికి ESP32ని ప్రోగ్రామ్ చేయడానికి, మీరు ESP32 బ్లూటూత్ సీరియల్ లైబ్రరీని సెటప్ చేయాలి. దాని కోసం, మీరు తప్పనిసరిగా ESP32 బోర్డు ఇన్స్టాల్ చేసిన Arduino IDE సెటప్ను కలిగి ఉండాలి.
ESP32 బ్లూటూత్ని సెట్ చేసిన తర్వాత, మీరు బ్లూటూత్ సీరియల్ ఆండ్రాయిడ్ అప్లికేషన్ను ఇన్స్టాల్ చేయాలి. ఇది బ్లూటూత్ సీరియల్ కమ్యూనికేషన్ని ఉపయోగించి Android ఫోన్ నుండి ESP32కి సూచనలను పంపడానికి మిమ్మల్ని అనుమతిస్తుంది.
ఈ దశల్లో ప్రతిదానిని నిశితంగా పరిశీలిద్దాం:
ఆండ్రాయిడ్ ఫోన్తో ESP32 బ్లూటూత్ని కనెక్ట్ చేయడానికి దశలు
బ్లూటూత్ కమ్యూనికేషన్ కోసం ESP32 బోర్డ్ను ప్రోగ్రామ్ చేయడానికి, ఈ క్రింది దశలను అనుసరించండి:
దశ 1: Arduino IDEలో ESP32 బోర్డ్ను ఇన్స్టాల్ చేయడం
Arduino IDEలో ESP32ని ఇన్స్టాల్ చేయడానికి, ఈ కథనంలో అందించిన గైడ్ని అనుసరించండి.
Arduino IDEలో ESP32 బోర్డ్ను ఇన్స్టాల్ చేస్తోంది
సంస్థాపన తర్వాత, ESP32 బోర్డును Arduino IDE ఉపయోగించి కనెక్ట్ చేయవచ్చు మరియు ప్రోగ్రామ్ చేయవచ్చు.
దశ 2: ESP32 బ్లూటూత్ కోడ్ను అప్లోడ్ చేయండి
ESP32 బోర్డ్ను ఇన్స్టాల్ చేసిన తర్వాత, మీరు Arduino IDEలో ముందుగా ఇన్స్టాల్ చేసిన వివిధ లైబ్రరీలు మరియు వాటి ఉదాహరణలను చూస్తారు. ఈ లైబ్రరీలన్నీ ESP32 బోర్డుకి సంబంధించినవి. బ్లూటూత్ సీరియల్ కమ్యూనికేషన్ కోసం, మేము ESP32ని ఉపయోగించబోతున్నాము BluetoothSerial.h లైబ్రరీ ఉదాహరణ కోడ్.
ఉదాహరణ కోడ్ను తెరవడానికి, Arduino IDEని తెరిచి, దీనికి వెళ్లండి: ఫైల్ > ఉదాహరణలు > BluetoothSerial > SerialtoSerialBT
ఈ ఉదాహరణ కోడ్ని తెరవడానికి, ESP32 బోర్డ్ ఎంచుకోబడిందని నిర్ధారించుకోండి.
ఉదాహరణ కోడ్ను తెరిచిన తర్వాత, మీరు మీ Arduino IDE విండోలో క్రింది కోడ్ను చూస్తారు:
//Linuxhint కు స్వాగతం#'BluetoothSerial.h'ని చేర్చండి
//#USE_PINని నిర్వచించండి // జత చేసే సమయంలో మీకు PIN కావాలంటే దీన్ని వ్యాఖ్యానించవద్దు
స్థిరంగా చార్ * పిన్ = '1234' ; // కస్టమ్ జత చేసే పిన్ని నిర్వచించండి
స్ట్రింగ్ పరికరం_పేరు = 'ESP32' ;
#నిర్వచించినట్లయితే (కాన్ఫిగ్_బిటి_ఎనేబుల్) || ! నిర్వచించబడింది(CONFIG_BLUEDROID_ENABLED)
#error బ్లూటూత్ ప్రారంభించబడలేదు! దీన్ని ఎనేబుల్ చేయడానికి `మేక్ మెనూకాన్ఫిగ్`ని అమలు చేయండి
#ఎండిఫ్
#నిర్వచించినట్లయితే (CONFIG_BT_SPP_ENABLED)
#error సీరియల్ బ్లూటూత్ లేదు లేదా ప్రారంభించబడలేదు. ఇది ESP32 చిప్కు మాత్రమే అందుబాటులో ఉంది.
#ఎండిఫ్
BluetoothSerial SerialBT ;
శూన్యం సెటప్ ( ) {
క్రమ. ప్రారంభం ( 115200 ) ;
సీరియల్BT. ప్రారంభం ( పరికరం_పేరు ) ; //బ్లూటూత్ పరికరం పేరు
క్రమ. printf ( 'పరికరం' % లు 'ప్రారంభించబడింది. \n మీ పరికరాన్ని జత చేయడం ప్రారంభించండి! \n ' , పరికరం_పేరు. c_str ( ) ) ;
//Serial.printf('MAC చిరునామా %sతో '%s' పరికరం ప్రారంభించబడింది.\nదీనిని బ్లూటూత్తో జత చేయడం ప్రారంభించండి!\n', device_name.c_str(), SerialBT.getMacString());
#ifdef USE_PIN
సీరియల్BT. సెట్పిన్ ( పిన్ ) ;
క్రమ. println ( 'పిన్ ఉపయోగించడం' ) ;
#ఎండిఫ్
}
శూన్యం లూప్ ( ) {
ఉంటే ( క్రమ. అందుబాటులో ( ) ) {
సీరియల్BT. వ్రాయడానికి ( క్రమ. చదవండి ( ) ) ;
}
ఉంటే ( సీరియల్BT. అందుబాటులో ( ) ) {
క్రమ. వ్రాయడానికి ( సీరియల్BT. చదవండి ( ) ) ;
}
ఆలస్యం ( ఇరవై ) ;
}
కోడ్ను అప్లోడ్ చేసిన తర్వాత, మీరు స్క్రీన్పై క్రింది సందేశాన్ని చూస్తారు. మీ ESP32 బోర్డ్ జత చేయడానికి సిద్ధంగా ఉందని ఈ సందేశం వివరిస్తుంది.
దశ 3: కోడ్ వివరణ
అవసరమైన లైబ్రరీలను చేర్చడం మరియు బ్లూటూత్ లభ్యత కోసం తనిఖీ చేయడంతో కోడ్ ప్రారంభమైంది. ఇది బ్లూటూత్ పరికరం పేరు మరియు పిన్ కోసం వేరియబుల్లను కూడా సెటప్ చేస్తుంది.
లో సెటప్() ఫంక్షన్, సీరియల్ బాడ్ కమ్యూనికేషన్ నిర్వచించబడింది మరియు బ్లూటూత్ పరికరం దాని పేరుతో ప్రారంభించబడింది. జత చేసే సమయంలో ప్రామాణీకరణ కోసం అనుకూల PINని సెట్ చేయవచ్చు.
ది లూప్() ఫంక్షన్ సీరియల్ మరియు బ్లూటూత్ కనెక్షన్లలోని డేటా కోసం నిరంతరం తనిఖీ చేస్తుంది. ఇది ESP32 మరియు జత చేయబడిన బ్లూటూత్ పరికరానికి మధ్య రెండు-మార్గం కమ్యూనికేషన్ను ఏర్పాటు చేయడానికి అనుమతిస్తుంది.
దశ 4: Android అప్లికేషన్ను ఇన్స్టాల్ చేయండి
కోడ్ అప్లోడ్ చేయబడిన తర్వాత, బ్లూటూత్ కనెక్షన్ కోసం Android అప్లికేషన్ను ఇన్స్టాల్ చేసి కాన్ఫిగర్ చేయడం తదుపరి దశ.
ప్లే స్టోర్ని తెరిచి, ఇన్స్టాల్ చేయండి సీరియల్ బ్లూటూత్ టెర్మినల్ అప్లికేషన్.
ఇన్స్టాలేషన్ తర్వాత, స్మార్ట్ఫోన్ బ్లూటూత్ సెట్టింగ్లను తెరిచి, మీ ఫోన్ను ESP32 బ్లూటూత్తో కనెక్ట్ చేయండి. మీరు Arduino IDE కోడ్లో PINని నిర్వచించినట్లయితే, మీరు PINని నమోదు చేయాలి, లేకపోతే అది నేరుగా కనెక్ట్ అవుతుంది.
ఇప్పుడు సీరియల్ బ్లూటూత్ అప్లికేషన్ను తెరిచి, ఎంచుకోండి పరికరాలు ఎంపిక.
కొత్తగా తెరిచిన మెను నుండి, ESP32 పరికరాన్ని ఎంచుకోండి. ఈ జాబితా ప్రస్తుతం సక్రియంగా ఉన్న అన్ని బ్లూటూత్ పరికరాలను చూపుతుంది.
మీరు చూడగలిగినట్లుగా, ESP32 బ్లూటూత్ మీ Android స్మార్ట్ఫోన్కు కనెక్ట్ చేయబడింది.
కనెక్షన్ని పరీక్షించడానికి, మేము ఒక స్ట్రింగ్ను పంపబోతున్నాము. ఇక్కడ నేను రెండు వేర్వేరు తీగలను పంపాను.
Arduino IDE టెర్మినల్లో కూడా అదే రెండు స్ట్రింగ్లు ప్రదర్శించబడతాయని మీరు గమనించవచ్చు.
ఇప్పుడు మనం ఒక అడుగు ముందుకు వేసి, ఆండ్రాయిడ్ స్మార్ట్ఫోన్ ద్వారా ESP32 బ్లూటూత్ని ఉపయోగించి LED వంటి బాహ్య పరిధీయాన్ని నియంత్రిద్దాం.
దశ 5: బ్లూటూత్ ద్వారా Android ఫోన్ని ఉపయోగించి LEDని నియంత్రించండి
ESP32 మరియు Android బ్లూటూత్ని ఉపయోగించి LEDని నియంత్రించడానికి, ముందుగా పై కోడ్ని సవరించండి మరియు LED కోసం GPIO పిన్ను నిర్వచించండి. ఆ తర్వాత, మీరు LEDని ఆన్ మరియు ఆఫ్ చేయడానికి విలువలను సెట్ చేయాలి.
తదుపరి కొనసాగించడానికి క్రింది కోడ్ను అప్లోడ్ చేయండి.
#include# LED_PIN 15ని నిర్వచించండి // LED పిన్ను నిర్వచించండి
BluetoothSerial SerialBT ; // బ్లూటూత్ సీరియల్ వస్తువును సృష్టించండి
బైట్ BT_INP ; // బ్లూటూత్ ఇన్పుట్ నిల్వ చేయడానికి వేరియబుల్
// SDK కాన్ఫిగరేషన్లో బ్లూటూత్ మరియు బ్లూడ్రాయిడ్ ప్రారంభించబడిందో లేదో తనిఖీ చేయండి
#నిర్వచించినట్లయితే (కాన్ఫిగ్_బిటి_ఎనేబుల్) || ! నిర్వచించబడింది(CONFIG_BLUEDROID_ENABLED)
#error బ్లూటూత్ ప్రారంభించబడలేదు. దీన్ని ఎనేబుల్ చేయడానికి `మేక్ మెనూకాన్ఫిగ్`ని అమలు చేయండి.
#ఎండిఫ్
శూన్యం సెటప్ ( ) {
పిన్ మోడ్ ( LED_PIN , అవుట్పుట్ ) ; // LED పిన్ను అవుట్పుట్గా సెట్ చేయండి
క్రమ. ప్రారంభం ( 115200 ) ;
సీరియల్BT. ప్రారంభం ( 'ESP32' ) ; // 'ESP32' పేరుతో బ్లూటూత్ని ప్రారంభించండి
క్రమ. println ( 'బ్లూటూత్ పరికరం జత చేయడానికి సిద్ధంగా ఉంది.' ) ; // బ్లూటూత్ సిద్ధంగా ఉందని సూచించండి
}
శూన్యం లూప్ ( ) {
// బ్లూటూత్ నుండి చదవడానికి ఏదైనా డేటా అందుబాటులో ఉందో లేదో తనిఖీ చేయండి
ఉంటే ( సీరియల్BT. అందుబాటులో ( ) ) {
BT_INP = సీరియల్BT. చదవండి ( ) ; // బ్లూటూత్ నుండి ఇన్కమింగ్ బైట్ని చదవండి
క్రమ. వ్రాయడానికి ( BT_INP ) ; // రీడ్ బైట్ని సీరియల్ మానిటర్కి ఎకో చేయండి
}
// అందుకున్న బ్లూటూత్ డేటాను తనిఖీ చేయండి మరియు LED స్థితిని సెట్ చేయండి
ఉంటే ( BT_INP == '1' ) {
డిజిటల్ రైట్ ( LED_PIN , అధిక ) ; // '1' అందితే LEDని ఆన్ చేయండి
} లేకపోతే ఉంటే ( BT_INP == '0' ) {
డిజిటల్ రైట్ ( LED_PIN , తక్కువ ) ; // '0' అందితే LED ని ఆఫ్ చేయండి
}
}
బ్లూటూత్ని ఉపయోగించి LEDని నియంత్రించడానికి ESP32 మైక్రోకంట్రోలర్ కోసం ఈ కోడ్. ఇది బ్లూటూత్ కమ్యూనికేషన్ కోసం లైబ్రరీని కలిగి ఉంటుంది. తర్వాత, ఇది LED పిన్ను నిర్వచిస్తుంది మరియు ESP32 అనే పరికరంతో బ్లూటూత్ను సెటప్ చేస్తుంది. ప్రధాన లూప్ బ్లూటూత్ డేటాను చదువుతుంది మరియు అందుకున్న కమాండ్ (1 కోసం ఆన్, 0 ఆఫ్ కోసం) ఆధారంగా LEDని ఆన్ లేదా ఆఫ్ చేస్తుంది.
సర్క్యూట్ రేఖాచిత్రం
సర్క్యూట్ రేఖాచిత్రం సులభం, పిన్ వద్ద కనెక్ట్ చేయబడిన LED D15 ESP32 యొక్క. మీరు LED నియంత్రణ కోసం ఏదైనా ఇతర GPIOని నిర్వచించవచ్చు.
సంబంధిత: ESP32 పిన్అవుట్ సూచన–అల్టిమేట్ గైడ్
హార్డ్వేర్
హార్డ్వేర్లో, మీకు బ్రెడ్బోర్డ్, ESP32 బోర్డు మరియు LED అవసరం. సిస్టమ్తో ESP32ని కనెక్ట్ చేయండి మరియు ప్రోగ్రామ్ను దానికి అప్లోడ్ చేయండి.
ఇప్పుడు Android ఫోన్ బ్లూటూత్ సీరియల్ కమ్యూనికేషన్స్ అప్లికేషన్ నుండి 1 మరియు 0ని పంపండి.
మీరు Android ఫోన్ నుండి అందుకున్న Arduino IDE టెర్మినల్లో అదే ఇన్పుట్ను చూస్తారు.
అవుట్పుట్
మీరు అధిక లేదా 1 విలువను పంపిన తర్వాత LED ఆన్ అవుతుంది, అదే విధంగా మీరు తక్కువ విలువను పంపినప్పుడు LED ఆఫ్ అవుతుంది.
అనుకూల బటన్ను సెట్ చేయండి
మీరు సీరియల్ బ్లూటూత్ అప్లికేషన్లో అనుకూల బటన్ను కూడా సెట్ చేయవచ్చు. ఉదాహరణకు, అధిక మరియు తక్కువ విలువల బటన్ను సృష్టించవచ్చు. ఈ విధంగా, మీరు విలువలను మాన్యువల్గా టైప్ చేయవలసిన అవసరం లేదు. బదులుగా, మీరు సత్వరమార్గం బటన్ను నొక్కాలి మరియు మీరు సెట్ చేసిన సూచనలను ఇది అమలు చేస్తుంది.
గమనిక: బటన్ సెట్టింగ్లను తెరవడానికి, బటన్పై ఎక్కువసేపు నొక్కండి.
హై బటన్ విలువను సెట్ చేయడానికి, కింది సెట్టింగ్లను నిర్వచించండి.
తక్కువ బటన్ విలువకు సారూప్యత, మీరు దిగువ సెట్టింగ్లను నిర్వచించాలి.
మేము బ్లూటూత్ని ఉపయోగించి ఆండ్రాయిడ్ ఫోన్తో ESP32 బోర్డ్ని విజయవంతంగా కనెక్ట్ చేసాము. ఇప్పుడు మీరు దీన్ని ఉపయోగించి అనేక ప్రాజెక్ట్లను సృష్టించవచ్చు. ఇలా, మీరు రిలే సర్క్యూట్ ద్వారా ESP32 బ్లూటూత్ని ఉపయోగించి మీ గృహోపకరణాలను నియంత్రించవచ్చు.
సంబంధిత: Arduino IDEని ఉపయోగించి ESP32తో రిలే చేయండి
ముగింపు
ESP32 అనేది Wi-Fi మరియు బ్లూటూత్ సామర్థ్యాలతో కూడిన అధునాతన మైక్రోకంట్రోలర్ బోర్డ్. ఈ రెండు అంతర్నిర్మిత మాడ్యూల్లు అధునాతన ప్రాజెక్ట్లను రూపొందించడానికి మరియు వైర్లెస్గా పెరిఫెరల్స్ను నియంత్రించడంలో మీకు సహాయపడతాయి. అదేవిధంగా, మీరు ESP32ని ఆండ్రాయిడ్ ఫోన్తో కనెక్ట్ చేయవచ్చు మరియు వివిధ కార్యకలాపాలను చేయవచ్చు. దాని కోసం, మీరు బ్లూటూత్ సీరియల్ ఆండ్రాయిడ్ అప్లికేషన్ను ఇన్స్టాల్ చేయాలి. ఇన్స్టాల్ చేసిన తర్వాత, ESP32 బ్లూటూత్ కోసం ఉదాహరణ కోడ్ను తెరిచి, దానిని మీ బోర్డుకి అప్లోడ్ చేయండి. కోడ్ అప్లోడ్ చేయబడిన తర్వాత, మీరు దానిని Android ఫోన్ ద్వారా మీ బోర్డ్తో జత చేయవచ్చు.