chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ESP32深度睡眠的教程

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-12-11 17:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:所需的零件

ESP32深度睡眠的教程

在本教程中,我將使用以下部分,因此,如果您想自己嘗試本教程,則需要以下內(nèi)容:

任何ESP32開發(fā)板?http://educ8s.tv/part/ESP32

A Firebeetle ESP32開發(fā)板?http://educ8s.tv/part/FireBeetle

面包板?http://educ8s.tv/part/LargeBreadboard

電線?http://educ8s。電視/零件/電線

LED?http://educ8s.tv/part/LEDs

萬用表?http://educ8s.tv/part/Multimeter

步驟2:在ESP32芯片內(nèi)部

在ESP32芯片內(nèi)部,我們可以找到兩種處理方式內(nèi)核,RAMROM存儲器,WiFi模塊,藍牙模塊,用于加密應(yīng)用程序的硬件加速模塊,RTC模塊以及許多外圍設(shè)備。在RTC模塊內(nèi)部,我們可以找到一個PMU(相量測量單元),它是一種小型且低功耗的32位協(xié)處理器以及8Kbs的RAM存儲器。少量的內(nèi)存非常有用,因為您很快就會發(fā)現(xiàn)。還要注意,即使ESP32芯片的RTC內(nèi)存也比Arduino Uno的內(nèi)存大4倍。

WiFi模塊,處理內(nèi)核和藍牙模塊需要大量電流才能運行。因此,如果我們想節(jié)省電量,則必須在不使用它們時將其禁用。這就是我們現(xiàn)在要做的。我們將把ESP32設(shè)置為Deep – Sleep模式,在該模式下,除RTC模塊外,所有功能都將禁用。有輕度睡眠模式和深度睡眠模式。在深度睡眠模式下,ESP32功耗最低。 在深度睡眠模式下僅需要0.01 mAs的電流,這就是我們今天要嘗試的原因。

步驟3:ESP32深度睡眠模式

在這種模式下,如前所述,所有功能均被禁用。 CPU核心,WiFI模塊,藍牙模塊,外圍設(shè)備等。連同CPU一樣,芯片的主內(nèi)存也被禁用,因此存儲在內(nèi)存中的所有內(nèi)容都會永遠丟失。處于深度睡眠模式時,唯一仍可以工作的模塊是RTC模塊,超低功耗協(xié)處理器及其內(nèi)存!因此,如果將要在深度睡眠模式下生存的數(shù)據(jù)保存到RTC內(nèi)存中,則在喚醒芯片后它們將保持完整。

有三種方法可以喚醒芯片。我們可以使用計時器,GPIO引腳或協(xié)處理器。

今天,我們將學(xué)習(xí)如何使用計時器在特定時間后喚醒芯片。讓我們看一個示例。

步驟4:深度睡眠示例

我已將兩個LED連接到此ESP32板。 ESP32開機時,黃色LED會亮三秒鐘,然后進入深度睡眠模式3秒鐘。喚醒后,它會點亮綠色指示燈3秒鐘,然后返回睡眠狀態(tài)。從現(xiàn)在開始,它只會閃爍綠色LED,因此該芯片記住這不是它第一次啟動,因為我們正在使用RTC內(nèi)存來存儲整數(shù)值。

讓我們快速看一下。在這個項目的代碼。如您所見,代碼非常簡單。為了使ESP32進入深度睡眠模式,我們只需要兩行代碼。

esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR);

esp_deep_sleep_start();

我們使用esp_sleep_enable_timer_wakeup函數(shù)啟用計時器,輸入以秒為單位的睡眠時間,然后調(diào)用esp_deep_sleep_start函數(shù)。而已!

#define uS_TO_S_FACTOR 1000000 /* Conversion factor for micro seconds to seconds */

#define TIME_TO_SLEEP 3 /* Time ESP32 will go to sleep (in seconds) */

RTC_DATA_ATTR int bootCount = 0;

盡管與執(zhí)行代碼有一點不同。當(dāng)我們使用深度睡眠功能時,ESP32每次喚醒時,都會再次執(zhí)行設(shè)置功能。從不調(diào)用循環(huán)函數(shù)。所有變量值都會丟失,除非我們使用此前綴將它們保存在RTC內(nèi)存中。在此示例中,我將bootCount int變量保存到RTC內(nèi)存中,以便程序知道它是否是第一次運行并打開正確的LED。像往常一樣,您可以找到此示例附帶的示例代碼。

步驟5:功耗

現(xiàn)在讓我們看看該板的功耗。 ESP32處于活動模式時,會從電池汲取約60mAs的電流。 ESP32處于深度睡眠模式時,它將消耗約19mAs的電流!這大大降低了電流消耗,但是該芯片的創(chuàng)建者聲稱在深度睡眠模式下需要0.01mA的電流。我們的設(shè)置有什么問題?

罪魁禍?zhǔn)资侵靼濉N沂褂玫氖荄OIT ESP32板,這是大約一年前上市的第一塊ESP32板。電路板的設(shè)計并未針對功耗進行優(yōu)化,因此,即使在深度睡眠模式下,它也需要大量電流。幸運的是,那里有設(shè)計更好的ESP32板。

例如,DFrobot的Firebeetle ESP32板設(shè)計得更好,當(dāng)使用3.3V電源供電時,其深度睡眠電流僅為0.01mAs。如果我們使用之前使用的相同電池組為電路板供電,其輸出約為4.8V,則可以看到在活動模式下的電流消耗為48mAs,而在深度睡眠模式下的電流僅為0.05mAs!印象深刻不是嗎!如果使用3.3V電池或電源,我們可以進一步降低電路板的功耗。我將在以后的視頻中嘗試。在深度睡眠模式下,該板所需的0.05mAs電流是我在功能齊全的ESP32板(具有USB至串行驅(qū)動器,調(diào)節(jié)器和電池電路)中消耗的最低電流。

如果您發(fā)現(xiàn)任何板子都能比Firebeetle板子取得更好的效果,請在下面的評論欄中告訴我,我想嘗試一下。

Firebeetle ESP32板子的功耗在深度睡眠模式非常低。如果使用4節(jié)AA充電電池供電,則每天需要大約1.44毫安時。因此,從理論上講,如果將其置于深度睡眠模式,則這種具有2.500mAhs容量的移動電源可以為該板供電近5年!當(dāng)然,我們將不時喚醒電路板以執(zhí)行需要更多功率的任務(wù),因此電池壽命將大大減少。

步驟6:深入研究睡眠錯誤

不幸的是,ESP32的軟件和硬件尚未成熟。使用深度睡眠模式時,我嘗試在兩個ESP32板上都出現(xiàn)了一個軟件或硬件錯誤。隨機喚醒后,ESP32會進入睡眠狀態(tài),并且不會再次喚醒。此錯誤可能在幾次喚醒后或100次之后發(fā)生。它只是隨機的。

我發(fā)現(xiàn)的一個簡單解決方案是在喚醒后和從RTC內(nèi)存讀取之前添加500ms的小延遲。這樣,項目就可以正常工作,但是,當(dāng)然,我們要付出的代價是減少了電池壽命,因為每次喚醒時芯片處于活動模式的時間要長500ms。我認為此錯誤將在不久的將來通過新的軟件或硬件修復(fù)得到解決。

void setup(){

pinMode(GREEN_LED_PIN,OUTPUT);

pinMode(YELLOW_LED_PIN,OUTPUT);

delay(500);

if(bootCount == 0) //Run this only the first time

{

digitalWrite(YELLOW_LED_PIN,HIGH);

bootCount = bootCount+1;

}else

{

digitalWrite(GREEN_LED_PIN,HIGH);

}

delay(3000);

digitalWrite(GREEN_LED_PIN,LOW);

digitalWrite(YELLOW_LED_PIN,LOW);

esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR);

esp_deep_sleep_start();

}

步驟7:最終想法

我已經(jīng)在項目中使用了深度睡眠功能。您還記得幾周前我發(fā)布的In-Paper電子書溫度計嗎?不更新時需要60mAs的電流?,F(xiàn)在,使用芯片的深度睡眠功能,我設(shè)法將電流消耗降低到0.43mAs。因此,有了這種移動電源,我們現(xiàn)在的電池壽命估計約為3個月。很好,不是嗎?

但是我認為還有很多改進的余地。我的電路中某處有小電流泄漏。如果我們可以減少它,我們可以使該項目用電池運行一年以上!我認為這太神奇了!我們現(xiàn)在有了一塊功能非常強大的板,功耗非常低。最好的是,我們要做的就是利用這一點,只需使用兩行代碼!我將在以后的項目中大量使用此功能。

責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ESP32
    +關(guān)注

    關(guān)注

    26

    文章

    1202

    瀏覽量

    21933
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    ESP32/ESP8266開發(fā)板單向一對多ESP-NOW無線通信

    通過ESP-NOW無線通信協(xié)議實現(xiàn)ESP32開發(fā)板向多個ESP32/ESP 8266開發(fā)板發(fā)送數(shù)據(jù)。
    的頭像 發(fā)表于 03-13 09:23 ?70次閱讀
    <b class='flag-5'>ESP32</b>/<b class='flag-5'>ESP</b>8266開發(fā)板單向一對多<b class='flag-5'>ESP</b>-NOW無線通信

    無需安裝!在瀏覽器里就能玩轉(zhuǎn)ESP32/ESP8266,這個神器絕了!

    無需安裝!在瀏覽器里就能玩轉(zhuǎn)ESP32/ESP8266,這個神器絕了!【往期精選】十年嵌入式最深的痛,不是Bug,而是抓不到日志!vivo宣布原生支持HomeAssistant生態(tài)設(shè)備接入(含
    的頭像 發(fā)表于 01-10 10:01 ?948次閱讀
    無需安裝!在瀏覽器里就能玩轉(zhuǎn)<b class='flag-5'>ESP32</b>/<b class='flag-5'>ESP</b>8266,這個神器絕了!

    ESP32 Wi-Fi 控制 LED 燈的原理

    在智能家居、物聯(lián)網(wǎng)設(shè)備中,用手機通過Wi-Fi控制燈光、風(fēng)扇或插座,已經(jīng)非常普遍。而在嵌入式開發(fā)中,ESP32是最常用的Wi-Fi模塊之一。本文將帶你系統(tǒng)理解:ESP32是如何通過Wi-Fi實現(xiàn)遠程
    的頭像 發(fā)表于 01-09 19:04 ?332次閱讀
    <b class='flag-5'>ESP32</b> Wi-Fi 控制 LED 燈的原理

    ESP32藍牙驅(qū)動MAX98357對音頻音樂播放

    本文介紹了MAX98357音頻模塊的基本特性,并利用ESP32的藍牙功能程序驅(qū)動此模塊,最后用手機藍牙連接ESP32播放手機音樂
    的頭像 發(fā)表于 12-19 19:55 ?2792次閱讀
    <b class='flag-5'>ESP32</b>藍牙驅(qū)動MAX98357對音頻音樂播放

    VSCode + ESP-IDF環(huán)境下給ESP32-S3項目添加頭文件

    VSCode + ESP-IDF環(huán)境下給ESP32-S3項目添加頭文件
    的頭像 發(fā)表于 11-28 07:27 ?2499次閱讀

    #ESP32S3野牛小智

    ESP32
    丙丁先生
    發(fā)布于 :2025年11月25日 08:34:06

    ESP32-WROOM-32 技術(shù)規(guī)格書

    電子發(fā)燒友網(wǎng)站提供《ESP32-WROOM-32 技術(shù)規(guī)格書.pdf》資料免費下載
    發(fā)表于 11-11 17:27 ?0次下載

    樂鑫ESP32-C6和ESP32-C61究竟該如何選擇?一文讀懂本質(zhì)區(qū)別

    樂鑫科技推出的ESP32-C6和ESP32-C61均支持Wi-Fi6,但定位不同。ESP32-C6是多協(xié)議樞紐,集成Wi-Fi6、藍牙5、Zigbee和Thread,適合智能家居網(wǎng)關(guān)和Matter
    的頭像 發(fā)表于 10-28 14:17 ?2172次閱讀
    樂鑫<b class='flag-5'>ESP32</b>-C6和<b class='flag-5'>ESP32</b>-C61究竟該如何選擇?一文讀懂本質(zhì)區(qū)別

    ESP32-C3賦能物聯(lián)網(wǎng)設(shè)備,開啟產(chǎn)品智能化,樂鑫代理商飛??萍?/a>

    ESP32-C3是樂鑫科技推出的高性能物聯(lián)網(wǎng)芯片,搭載RISC-V單核處理器,支持Wi-Fi/藍牙5(LE)雙模連接。該芯片具有多層安全防護機制(安全啟動、Flash加密等)和超低功耗特性(深度睡眠
    的頭像 發(fā)表于 10-27 10:53 ?877次閱讀
    <b class='flag-5'>ESP32</b>-C3賦能物聯(lián)網(wǎng)設(shè)備,開啟產(chǎn)品智能化,樂鑫代理商飛睿科技

    ESP32-C3賦能物聯(lián)網(wǎng)設(shè)備,開啟產(chǎn)品智能化,樂鑫代理商飛??萍?/a>

    ESP32-C3是樂鑫科技推出的高性能物聯(lián)網(wǎng)芯片,搭載RISC-V單核處理器,支持Wi-Fi/藍牙5(LE)雙模連接。該芯片具有多層安全防護機制(安全啟動、Flash加密等)和超低功耗特性(深度睡眠
    的頭像 發(fā)表于 10-27 10:46 ?636次閱讀

    專為 ESP32-P4C5 核心板打造的高效開發(fā)利器

    SDK+詳盡文檔,新手秒上手,高手效率翻倍!雙芯片設(shè)計,釋放澎湃性能ESP32-P4C5核心板采用樂鑫科技的ESP32-P4+ESP32-C5雙芯架構(gòu)!·ESP32-P
    的頭像 發(fā)表于 08-11 18:19 ?1233次閱讀
    專為 <b class='flag-5'>ESP32</b>-P4C5 核心板打造的高效開發(fā)利器

    ESP32-運行網(wǎng)頁服務(wù)器(Web Server)-實用篇

    在前一篇文章《ESP32-運行網(wǎng)頁服務(wù)器(WebServer)-入門篇》,我們介紹了ESP32運行網(wǎng)頁服務(wù)器(WebServer)的原理,然后我們基于ESP32實現(xiàn)了一個demo代碼;看到很多同學(xué)都留言發(fā)表了自己的看法,有很多同
    的頭像 發(fā)表于 07-28 18:05 ?3710次閱讀
    <b class='flag-5'>ESP32</b>-運行網(wǎng)頁服務(wù)器(Web Server)-實用篇

    ESP32開發(fā)板元件資料

    ESP32開發(fā)板元件
    發(fā)表于 07-21 14:47 ?15次下載

    樂鑫ESP32-C5全面進入量產(chǎn)

    樂鑫信息科技 (688018.SH) 宣布,ESP32-C5 現(xiàn)已全面進入量產(chǎn)。
    的頭像 發(fā)表于 05-06 16:50 ?1448次閱讀

    零知開源——ESP32語音交互系統(tǒng)(AI小智)開發(fā)教程

    小智AI聊天機器人是一個基于嵌入式硬件與人工智能技術(shù)深度融合的智能交互系統(tǒng)。該項目以ESP32開發(fā)板為核心,結(jié)合語音喚醒、自然語言處理、音頻解碼播放及圖形化交互界面四大核心模塊,實現(xiàn)人機交互功能
    的頭像 發(fā)表于 03-29 15:33 ?1.2w次閱讀
    零知開源——<b class='flag-5'>ESP32</b>語音交互系統(tǒng)(AI小智)開發(fā)教程