டைமர்கள்-மைக்ரோபைத்தானைப் பயன்படுத்தி ஆழ்ந்த தூக்கத்திலிருந்து ESP32 ஐ எழுப்புங்கள்

Taimarkal Maikropaittanaip Payanpatutti Alnta Tukkattiliruntu Esp32 Ai Eluppunkal



ESP32 என்பது மைக்ரோகண்ட்ரோலர் அடிப்படையிலான IoT இயங்குதளமாகும். மைக்ரோகண்ட்ரோலர் போர்டுடன் பணிபுரியும் போது மின் நுகர்வு முக்கிய கவலைகளில் ஒன்றாகும். DC சப்ளை மூலம் ESP32 ஐ இயக்கும் வரை, மின் நுகர்வு பற்றி நாங்கள் அதிகம் கவலைப்பட மாட்டோம், ஆனால் நீண்ட காலத்திற்கு பேட்டரி பேக்கப் திட்டங்களுடன் ஒட்டுமொத்த சக்தியையும் மேம்படுத்த வேண்டும்.

மின்சக்தியைச் சேமிக்க, குறிப்பிட்ட நேரத்தில் ஆழ்ந்த உறக்கப் பயன்முறையில் ESP32ஐ எவ்வாறு அமைக்கலாம் என்பது பற்றி இங்கு விவாதிப்போம். டைமரைப் பயன்படுத்தி ஆழ்ந்த உறக்கத்தில் இருந்து ESP32 ஐ எப்படி எழுப்புவது என்பதை அறியும் முன், ஆழ்ந்த தூக்கத்தின் கருத்தைப் புரிந்துகொள்வோம்:

ESP32 இல் ஆழ்ந்த தூக்கம் என்றால் என்ன

ESP32 அதன் ஒருங்கிணைந்த வைஃபை மற்றும் புளூடூத் தொகுதியின் காரணமாக ஆற்றல்-பசி சாதனமாக இருக்கலாம். ESP32 பொதுவாக வரைகிறது 75mA பெயரளவிலான செயல்பாடுகளுக்கு அது வரை செல்லலாம் 240mA வைஃபை மூலம் தரவை அனுப்பும் போது. இருப்பினும், ஆழ்ந்த தூக்க பயன்முறையை இயக்குவதன் மூலம் இதை மேம்படுத்தலாம்.









ஆழ்ந்த தூக்க பயன்முறையில், ESP32 டிஜிட்டல் சாதனங்கள், பயன்படுத்தப்படாத ரேம் மற்றும் CPUகள் முடக்கப்பட்டுள்ளன. பின்வரும் பகுதிகளின் பட்டியல் மட்டுமே செயல்பாட்டில் உள்ளது:



  • RTC கட்டுப்பாட்டாளர்
  • ULP கோப்ராசசர்
  • RTC வேகமான மற்றும் மெதுவான நினைவகம்
  • RTC சாதனங்கள்





ஆழ்ந்த தூக்க பயன்முறை இயக்கப்பட்டால், முக்கிய CPU நிறுத்தப்படும்; இருப்பினும், ULP (UltraLowPower) கோப்ராசசர் சென்சார்களில் இருந்து தரவைப் படிக்கலாம் மற்றும் தேவைப்படும் போதெல்லாம் CPU ஐ எழுப்பலாம்.

ESP32 இன் இந்த பயன்பாடு சில குறிப்பிட்ட நேரத்தில் அல்லது வெளிப்புற குறுக்கீடு அல்லது நிகழ்வு நிகழும்போது வெளியீட்டை உருவாக்க விரும்புகிறது. இது ESP32 ஆற்றலைச் சேமிக்கிறது, ஏனெனில் அதன் CPU மீதமுள்ள நேரம் முடக்கப்பட்டிருக்கும் மற்றும் அது அழைக்கப்படும் போது மட்டுமே இயக்கப்படும்.



CPU ESP32 உடன் முக்கிய நினைவகம் ஒளிரும் அல்லது அழிக்கப்பட்டது, எனவே இந்த நினைவகத்தில் சேமிக்கப்பட்ட எதுவும் இனி கிடைக்காது. RTC நினைவகம் மட்டுமே அங்கு வைக்கப்பட்டுள்ளது. எனவே, ஆழ்ந்த உறக்கப் பயன்முறையில் செல்வதற்கு முன் ESP32 RTC நினைவகத்தில் WiFi மற்றும் புளூடூத் தரவைச் சேமிக்கிறது.

ஆழ்ந்த உறக்கப் பயன்முறையை மீட்டமைத்ததும் அல்லது அகற்றப்பட்டதும் ESP32 சிப் தொடக்கத்திலிருந்தே நிரலின் செயல்பாட்டைத் தொடங்குகிறது.

ஆழ்ந்த உறக்கத்திலிருந்து நாம் வெவ்வேறு முறைகளைப் பயன்படுத்தி ESP32 ஐ எழுப்பலாம்.

ESP32 இல் வேக் அப் மூலங்கள்

ஆழ்ந்த உறக்கத்தில் இருந்து ESP32 ஐ எழுப்ப பல ஆதாரங்கள் உள்ளன:

  • டைமர்
  • தொடு ஊசிகள்
  • வெளிப்புற விழிப்பு ext0
  • வெளிப்புற விழிப்பு ext1

இந்த வழிகாட்டியில் நாம் உள்ளடக்குவோம் டைமர் எழுந்திரு ESP32க்கான ஆதாரம்.

ஆழ்ந்த தூக்கத்திலிருந்து ESP32 ஐ எழுப்ப டைமரை எவ்வாறு பயன்படுத்துவது

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

MicroPython குறியீட்டைப் பயன்படுத்தி ESP32 ஐ ஆழ்ந்த தூக்க பயன்முறையில் வைக்க ஆழ்ந்த தூக்கத்தில்() இருந்து செயல்பாடு இயந்திர தொகுதி பயன்படுத்தப்படும். MicroPython இல் ஆழ்ந்த தூக்க செயல்பாட்டின் தொடரியல் பின்வருமாறு:

இயந்திரம். ஆழ்ந்த தூக்கத்தில் ( தூங்க_நேரம்_மி.எஸ் )

இந்த செயல்பாடு எடுக்கும் 1 வாதம் இது ஒரு முன் வரையறுக்கப்பட்ட நேரம் மில்லி விநாடிகள் .

எழுவதற்கு ESP32 டைமரைப் பயன்படுத்துவதைப் புரிந்து கொள்ள, ஒவ்வொரு குறிப்பிட்ட நேரத்திற்குப் பிறகும் LED ஒளிரும் மற்றும் பணி முடிந்ததும் மீண்டும் தூங்கச் செல்லும் ஒரு உதாரணத்தை எடுத்துக்கொள்வோம்.

எடுத்துக்காட்டு குறியீடு

ஏதேனும் MicroPython எடிட்டரைத் திறந்து கீழே கொடுக்கப்பட்டுள்ள குறியீட்டை ESP32 போர்டில் பதிவேற்றவும். MicroPython ஓவியங்களைப் பதிவேற்ற இங்கு நாம் Thonny IDE ஐப் பயன்படுத்துவோம்.

# குறியீடு மூல Linuxhint.com

இருந்து இயந்திரம் இறக்குமதி ஆழ்ந்த தூக்கத்தில்

இருந்து இயந்திரம் இறக்குமதி பின்

இருந்து நேரம் இறக்குமதி தூங்கு

தலைமையில் = பின் ( 4 , பின். வெளியே ) #PIN 4 LED வெளியீட்டிற்கு வரையறுக்கப்பட்டுள்ளது

தலைமையில். மதிப்பு ( 1 ) #எல்இடியை 1 நொடிக்கு இயக்கவும்

தூங்கு ( 1 )

தலைமையில். மதிப்பு ( 0 ) #எல்இடியை 1 நொடிக்கு அணைக்கவும்

தூங்கு ( 1 )

அச்சு ( 'இப்போது தூங்கப் போகிறேன்' )

ஆழ்ந்த தூக்கத்தில் ( 5000 ) #5 வினாடிகள் தூங்குங்கள்

டீப்ஸ்லீப் லைப்ரரியை இறக்குமதி செய்தோம் போன்ற தேவையான நூலகங்களை இறக்குமதி செய்வதன் மூலம் குறியீடு தொடங்கப்பட்டது.

அதன் பிறகு ESP32 pin 4 க்கு ஒரு புதிய பொருள் உருவாக்கப்பட்டது. ESP32 எழுந்திருக்கும் ஒவ்வொரு முறையும் இந்த முள் வெளியீட்டைக் காண்பிக்கும்.

தலைமையில் = பின் ( 4 , பின். வெளியே )

கீழே கொடுக்கப்பட்டுள்ள கட்டளைகள் 1 நொடி தாமதத்துடன் எல்இடி ஒளிரும்.

தலைமையில். மதிப்பு ( 1 )

தூங்கு ( 1 )

தலைமையில். மதிப்பு ( 0 )

தூங்கு ( 1 )

இங்கே ஆர்ப்பாட்ட நோக்கங்களுக்காக, நாங்கள் LED ஐ சிமிட்டுகிறோம். இருப்பினும், வேறு எந்த சாதனத்தையும் கட்டுப்படுத்த முடியும்.

தூங்கச் செல்வதற்கு முன், ESP32 ஸ்லீப் பயன்முறையில் செல்கிறது என்ற செய்தியை அச்சிட்டோம்.

அச்சு ( 'இப்போது தூங்கப் போகிறேன்' )

குறிப்பு: ESP32 ஸ்லீப் பயன்முறைக்குச் செல்வதற்கு முன், 5 அல்லது அதற்கு மேற்பட்ட வினாடிகள் தாமதத்தைச் சேர்க்கலாம். ஒரு திட்டத்தை உருவாக்கி புதிய ஸ்கிரிப்டை எழுதும்போது இது நமக்கு உதவுகிறது. புதிய குறியீட்டைப் பதிவேற்றும் போது, ​​போர்டு விழித்திருக்க வேண்டும், ஸ்லீப் பயன்முறையில் இல்லாமல் இருக்க வேண்டும். நாங்கள் தாமதத்தைச் சேர்க்கவில்லை என்றால், ESP32 ஐ அவேக் பயன்முறையில் பிடித்து புதிய ஸ்கிரிப்டைப் பதிவேற்றுவது கடினமாக இருக்கும்.

புதிய ஸ்கிரிப்டை எழுதி, இறுதிக் குறியீடு தயாரானதும், ஸ்கிரிப்ட்டின் இறுதிப் பதிப்பில் இந்த தாமதத்தை அகற்றலாம்.

இறுதியாக, ESP32 பலகை 5 நொடிகள் (5000 ms) ஆழ்ந்த உறக்கத்தில் வைக்கப்படுகிறது.

இயந்திரம். ஆழ்ந்த தூக்கத்தில் ( 5000 )

5 வினாடிகள் நேரம் கடந்ததும், ESP32 விழித்தெழுந்து, குறியீட்டைப் போலவே மறுதொடக்கம் செய்கிறது IN பொத்தானை.

  வரைகலை பயனர் இடைமுகம், உரை, பயன்பாட்டு விளக்கம் தானாக உருவாக்கப்படும்

வெளியீடு

தோனி ஐடிஇயின் ஷெல் முனையத்தில் பின்வரும் வெளியீட்டைக் காணலாம். ஒவ்வொரு 5 நொடிக்கும் பிறகு ESP32 ஆழ்ந்த உறக்கத்தில் இருந்து எழுந்து GPIO பின் 4 இல் LED ஐ சிமிட்டுவதை இங்கே காணலாம்.

GPIO 4 இல் LED மாறும் ஆன் 1 நொடிக்கு.

1 நொடிக்குப் பிறகு எல்இடி மாறும் ஆஃப் .

இப்போது ESP32 போர்டு மீண்டும் 5 வினாடிகளுக்கு ஸ்லீப் பயன்முறைக்குச் செல்லும், அதன் பிறகு முழு செயல்முறையும் மீண்டும் நிகழ்கிறது. எனவே டைமர் குறியீட்டைப் பயன்படுத்தி ESP32 ஆழ்ந்த தூக்க பயன்முறையை வெற்றிகரமாகக் கட்டுப்படுத்தியுள்ளோம்.

முடிவுரை

இங்கே இந்த டுடோரியலில், MicroPython இல் எழுதப்பட்ட டைமர் நிரலைப் பயன்படுத்தி ஆழ்ந்த உறக்கத்திலிருந்து எழுவதற்கு ESP32 ஐ உள்ளமைத்துள்ளோம். குறியீட்டைப் பயன்படுத்தி நாங்கள் பதிவேற்றினோம் தோனி ஐடிஇ . ESP32 விழித்தெழுந்து எல்இடியை ஒளிரச் செய்தவுடன் ஒரு செய்தியை அச்சிட்டுள்ளோம்; இருப்பினும், ESP32 ஆழ்ந்த உறக்கத்திலிருந்து எழுந்தவுடன் இந்தக் கட்டுரையைப் பயன்படுத்தி ஒருவர் எந்தப் பணியையும் செய்யலாம்.