శక్తిని ఆదా చేసేందుకు నిర్ణీత సమయంలో డీప్ స్లీప్ మోడ్లో ESP32ని ఎలా సెట్ చేయవచ్చో ఇక్కడ చర్చిస్తాం. టైమర్ని ఉపయోగించి గాఢ నిద్ర నుండి ESP32ని ఎలా మేల్కొలపాలో తెలుసుకోవడానికి ముందు, గాఢ నిద్ర భావనను అర్థం చేసుకుందాం:
ESP32లో గాఢ నిద్ర అంటే ఏమిటి
ESP32 దాని ఇంటిగ్రేటెడ్ WiFi మరియు బ్లూటూత్ మాడ్యూల్ కారణంగా పవర్-హంగ్రీ పరికరం కావచ్చు. ESP32 సాధారణంగా డ్రా చేస్తుంది 75mA నామమాత్రపు కార్యకలాపాల కోసం ఇది వరకు వెళ్ళవచ్చు 240mA WiFi ద్వారా డేటాను ప్రసారం చేస్తున్నప్పుడు. అయితే, డీప్ స్లీప్ మోడ్ని ఎనేబుల్ చేయడం ద్వారా మనం దీన్ని ఆప్టిమైజ్ చేయవచ్చు.
లోతైన నిద్ర మోడ్లో, ESP32 డిజిటల్ పెరిఫెరల్స్, ఉపయోగించని RAM మరియు CPUలు ఆఫ్ చేయబడ్డాయి. కింది భాగాల జాబితా మాత్రమే పని చేస్తుంది:
- ఆర్టీసీ కంట్రోలర్
- ULP కోప్రాసెసర్
- RTC ఫాస్ట్ అండ్ స్లో మెమరీ
- RTC పెరిఫెరల్స్
లోతైన నిద్ర మోడ్ ప్రారంభించబడినప్పుడు, ప్రధాన CPU మూసివేయబడుతుంది; అయినప్పటికీ, ULP (UltraLowPower) కోప్రాసెసర్ ఇప్పటికీ సెన్సార్ల నుండి డేటాను చదవగలదు మరియు అవసరమైనప్పుడు CPUని మేల్కొలపగలదు.
ESP32 యొక్క ఈ అప్లికేషన్ మనం నిర్దిష్ట సమయంలో లేదా బాహ్య అంతరాయం లేదా ఈవెంట్ జరిగినప్పుడు అవుట్పుట్ను రూపొందించాలనుకున్నప్పుడు ఉపయోగపడుతుంది. ఇది ESP32 పవర్ని ఆదా చేస్తుంది, ఎందుకంటే దాని CPU మిగిలిన సమయానికి ఆఫ్లో ఉంటుంది మరియు కాల్ చేసినప్పుడు మాత్రమే ఆన్ అవుతుంది.
CPU ESP32తో పాటు ప్రధాన మెమరీ కూడా ఫ్లాష్ చేయబడింది లేదా తొలగించబడుతుంది, కాబట్టి ఈ మెమరీలో నిల్వ చేయబడిన ఏదైనా ఇకపై అందుబాటులో ఉండదు. అక్కడ కేవలం ఆర్టీసీ మెమరీ మాత్రమే ఉంచబడుతుంది. కాబట్టి, ESP32 డీప్ స్లీప్ మోడ్లోకి వెళ్లే ముందు RTC మెమరీలో WiFi మరియు బ్లూటూత్ డేటాను సేవ్ చేస్తుంది.
డీప్ స్లీప్ మోడ్ను రీసెట్ చేసిన తర్వాత లేదా తొలగించిన తర్వాత ESP32 చిప్ ప్రోగ్రామ్ యొక్క ఎగ్జిక్యూషన్ను మొదటి నుండి ప్రారంభిస్తుంది.
గాఢ నిద్ర నుండి మనం ESP32ని వివిధ పద్ధతులను ఉపయోగించి మేల్కొలపవచ్చు.
ESP32లో వేక్ అప్ సోర్సెస్
గాఢ నిద్ర నుండి ESP32ని మేల్కొలపడానికి బహుళ మూలాలు అందుబాటులో ఉన్నాయి:
- టైమర్
- టచ్ పిన్స్
- బాహ్య మేల్కొలుపు ext0
- బాహ్య మేల్కొలుపు ext1
ఈ గైడ్లో మేము కవర్ చేస్తాము టైమర్ మేల్కొలపండి ESP32 కోసం మూలం.
గాఢ నిద్ర నుండి ESP32ని మేల్కొలపడానికి టైమర్ని ఎలా ఉపయోగించాలి
ESP32 అంతర్నిర్మిత టైమర్ మాడ్యూల్ని కలిగి ఉన్న RTC కంట్రోలర్తో వస్తుంది, ఇది ESP32ని ముందే నిర్వచించిన సమయం తర్వాత మేల్కొలపగలదు. ఈ ఫీచర్ విస్తారమైన అప్లికేషన్లను కలిగి ఉంది, ఇక్కడ మనకు సమయం స్టాంపింగ్ అవసరం లేదా సరైన విద్యుత్ వినియోగాన్ని కొనసాగిస్తూ నిర్దిష్ట సమయాల్లో సూచనలను అమలు చేయాలి.
మైక్రోపైథాన్ కోడ్ని ఉపయోగించి ESP32ని లోతైన నిద్ర మోడ్లో ఉంచడానికి గాఢనిద్ర() నుండి ఫంక్షన్ యంత్రం మాడ్యూల్ ఉపయొగించబడుతుంది. మైక్రోపైథాన్లో గాఢ నిద్ర ఫంక్షన్ యొక్క సింటాక్స్ క్రింది విధంగా ఉంది:
యంత్రం. గాఢనిద్ర ( నిద్ర_సమయం_మి.లు )ఈ ఫంక్షన్ పడుతుంది 1 వాదన ఇది ముందే నిర్వచించబడిన సమయం మిల్లీసెకన్లు .
మేల్కొలపడానికి ESP32 టైమర్ని ఉపయోగించడాన్ని అర్థం చేసుకోవడానికి, ప్రతి సెట్ సమయం గడిచిన తర్వాత LED బ్లింక్ అయ్యే మరియు టాస్క్ పూర్తయిన తర్వాత తిరిగి నిద్రపోయే ఒక ఉదాహరణ తీసుకుంటాము.
ఉదాహరణ కోడ్
ఏదైనా మైక్రోపైథాన్ ఎడిటర్ని తెరిచి, క్రింద ఇచ్చిన కోడ్ని ESP32 బోర్డులో అప్లోడ్ చేయండి. ఇక్కడ మేము MicroPython స్కెచ్లను అప్లోడ్ చేయడానికి Thonny IDEని ఉపయోగిస్తాము.
# కోడ్ సోర్స్ Linuxhint.comనుండి యంత్రం దిగుమతి గాఢనిద్ర
నుండి యంత్రం దిగుమతి పిన్ చేయండి
నుండి సమయం దిగుమతి నిద్ర
దారితీసింది = పిన్ చేయండి ( 4 , పిన్ చేయండి. బయటకు ) LED అవుట్పుట్ కోసం #PIN 4 నిర్వచించబడింది
దారితీసింది. విలువ ( 1 ) #1 సెకను LED ని ఆన్ చేయండి
నిద్ర ( 1 )
దారితీసింది. విలువ ( 0 ) #1 సెకను LED ని ఆఫ్ చేయండి
నిద్ర ( 1 )
ముద్రణ ( 'ఇప్పుడు నిద్రపోతున్నాను' )
గాఢనిద్ర ( 5000 ) #5 సెకన్ల పాటు నిద్రపోండి
మేము డీప్స్లీప్ లైబ్రరీని దిగుమతి చేసుకున్నాము వంటి అవసరమైన లైబ్రరీలను దిగుమతి చేయడం ద్వారా కోడ్ ప్రారంభించబడింది.
ఆ తర్వాత ESP32 పిన్ 4 కోసం కొత్త వస్తువు సృష్టించబడుతుంది. ESP32 మేల్కొన్న ప్రతిసారీ ఈ పిన్ అవుట్పుట్ను చూపుతుంది.
దారితీసింది = పిన్ చేయండి ( 4 , పిన్ చేయండి. బయటకు )క్రింద ఇవ్వబడిన ఆదేశాలు 1 సెకను ఆలస్యంతో LED బ్లింక్ అవుతాయి.
దారితీసింది. విలువ ( 1 )నిద్ర ( 1 )
దారితీసింది. విలువ ( 0 )
నిద్ర ( 1 )
ఇక్కడ ప్రదర్శన ప్రయోజనాల కోసం, మేము LED ని బ్లింక్ చేస్తాము. అయితే, ఏదైనా ఇతర పరికరాన్ని కూడా నియంత్రించవచ్చు.
నిద్రపోయే ముందు మేము ESP32 స్లీప్ మోడ్లో వెళ్తున్నట్లు సందేశాన్ని ముద్రించాము.
ముద్రణ ( 'ఇప్పుడు నిద్రపోతున్నాను' )గమనిక: ESP32 స్లీప్ మోడ్లోకి వెళ్లడానికి ముందు మనం ఇక్కడ 5 లేదా అంతకంటే ఎక్కువ సెకన్ల ఆలస్యాన్ని కూడా జోడించవచ్చు. ప్రాజెక్ట్ను నిర్మించేటప్పుడు మరియు కొత్త స్క్రిప్ట్ను వ్రాసేటప్పుడు ఇది మాకు సహాయపడుతుంది. కొత్త కోడ్ని అప్లోడ్ చేస్తున్నప్పుడు బోర్డు తప్పనిసరిగా మేల్కొని ఉండాలి మరియు స్లీప్ మోడ్లో ఉండకూడదు. మేము ఆలస్యాన్ని జోడించకుంటే, ESP32ని మేల్కొలుపు మోడ్లో పట్టుకోవడం మరియు కొత్త స్క్రిప్ట్ను అప్లోడ్ చేయడం మాకు కష్టమవుతుంది.
కొత్త స్క్రిప్ట్ను వ్రాసిన తర్వాత మరియు తుది కోడ్ సిద్ధమైన తర్వాత, మేము స్క్రిప్ట్ యొక్క చివరి సంస్కరణలో ఈ ఆలస్యాన్ని తీసివేయవచ్చు.
చివరగా, ESP32 బోర్డు 5 సెకన్ల (5000 ms) పాటు గాఢ నిద్రలో ఉంచబడుతుంది.
యంత్రం. గాఢనిద్ర ( 5000 )5 సెకన్ల సమయం దాటిన తర్వాత ESP32 మేల్కొని, కోడ్ని పోలిన రీస్టార్ట్ చేస్తుంది IN బటన్.
అవుట్పుట్
Thonny IDE యొక్క షెల్ టెర్మినల్లో క్రింది అవుట్పుట్ను గమనించవచ్చు. ప్రతి 5 సెకన్ల తర్వాత ESP32 గాఢ నిద్ర నుండి మేల్కొని, GPIO పిన్ 4 వద్ద LEDని బ్లింక్ చేయడాన్ని మనం ఇక్కడ చూడవచ్చు.
GPIO 4 వద్ద LED మారుతుంది పై 1 సెకను కోసం.
1 సెకను తర్వాత LED మారుతుంది ఆఫ్ .
ఇప్పుడు ESP32 బోర్డు మళ్లీ 5 సెకన్ల పాటు స్లీప్ మోడ్లోకి వెళుతుంది మరియు ఆ తర్వాత మొత్తం ప్రక్రియ పునరావృతమవుతుంది. కాబట్టి మేము టైమర్ కోడ్ని ఉపయోగించి ESP32 లోతైన నిద్ర మోడ్ను విజయవంతంగా నియంత్రించాము.
ముగింపు
ఇక్కడ ఈ ట్యుటోరియల్లో, మైక్రోపైథాన్లో వ్రాసిన టైమర్ ప్రోగ్రామ్ను ఉపయోగించి గాఢ నిద్ర నుండి మేల్కొలపడానికి మేము ESP32ని కాన్ఫిగర్ చేసాము. మేము కోడ్ని ఉపయోగించి అప్లోడ్ చేసాము థోనీ IDE . ESP32 మేల్కొన్నప్పుడు మరియు LED బ్లింక్ అయిన తర్వాత మేము కేవలం ఒక సందేశాన్ని ముద్రించాము; అయినప్పటికీ, ESP32 గాఢ నిద్ర నుండి మేల్కొన్న తర్వాత ఈ కథనాన్ని ఉపయోగించి ఎవరైనా ఏదైనా పనిని అమలు చేయవచ్చు.