sponsored links

ESP8266 深度睡眠與 Arduino IDE (NodeMCU)

本指南展示瞭如何使用 Arduino IDE 與 ESP8266 (NodeMCU) 一起使用深度睡眠。我們將介紹深度睡眠與定時器喚醒和深度睡眠與使用復位 (RST) 引腳的外部喚醒。

ESP8266 深度睡眠與 Arduino IDE (NodeMCU)

要將 ESP8266 置於深度睡眠模式,請使用ESP.deepSleep(美國)並以微秒為單位作為引數睡眠時間傳遞。GPIO 16 必須連線到復位 (RST) 引腳,以便 ESP8266 能夠喚醒。

讓 ESP8266 無限期進入深度睡眠模式ESP.deepSleep(0). ESP8266 將在 RST 引腳接收到 LOW 訊號時喚醒。

引入深度睡眠模式

如果您使用電池供電的 ESP8266 板製作了一個專案,或者您剛剛將 ESP8266 NodeMCU 板連線到移動電源。執行一段時間後,您會發現電池不會持續很長時間,尤其是在您使用 Wi-Fi 的情況下。

ESP8266 深度睡眠與 Arduino IDE (NodeMCU)

如果您將 ESP8266 置於深度睡眠模式,它會降低功耗並且您的電池將持續更長時間。

讓 ESP8266 處於深度睡眠模式意味著減少執行時消耗更多功率的活動(如 Wi-Fi),但留下足夠的活動以在發生有趣的事情時喚醒處理器。

睡眠型別

共有三種不同型別的睡眠模式:調變解調器睡眠輕度睡眠深度睡眠。下表顯示了每種模式之間的差異(來自 ESP8266 資料表的資訊)。


物品


調變解調器睡眠


淺睡眠


沉睡


無線上網


離開


離開


離開


系統時鐘



離開


離開


實時時鐘





中央處理器



待辦的


離開


基板電流


15毫安


0.4毫安


~20 uA


平均電流 (DTIM = 1)


16.2 毫安


1.8毫安



平均電流 (DTIM = 3)


15.4 毫安


0.9毫安



平均電流 (DTIM = 10)


15.2 毫安


0.55毫安


注:表中功耗指的是 ESP8266 作為獨立晶片。如果您使用的是開發板,則它們具有使用更多電流的無源元件。

它們都有不同的用途,應該在不同的應用程式中使用。

在本文中,我們將介紹深度睡眠模式。一切都是關閉的,除了實時時鐘 (RTC),這是 ESP8266 跟蹤時間的方式。

ESP8266 深度睡眠與 Arduino IDE (NodeMCU)

這是最省電的選項,ESP 晶片僅消耗大約 20uA。但是,如果您使用帶有內建程式設計器、LED 等的全功能開發板,您將無法實現如此低功耗的狀態。

深度睡眠素描

在深度睡眠中,示例應用程式如下所示:

  1. ESP8266 連線到 Wi-Fi
  2. ESP8266 執行任務(讀取感測器、釋出 MQTT 訊息等)
  3. 休眠一段預定義的時間
  4. ESP8266 喚醒
  5. 這個過程一遍又一遍地重複

喚醒源

將 ESP8266 置於深度睡眠模式後,有多種喚醒方式:

  • #1 定時器喚醒: ESP8266 在預定義的時間段後自行喚醒
  • #2 外部喚醒:按下 RST 按鈕喚醒 ESP8266(ESP8266 重啟)

#1 ESP8266 帶定時器喚醒的深度睡眠

要透過 ESP8266 使用定時器喚醒,您需要將 RST 引腳連線到NodeMCU 板中標記為 D0 的 GPIO 16 。只需按照下一個示意圖:

ESP8266 深度睡眠與 Arduino IDE (NodeMCU)

僅在上傳程式碼後將 RST 引腳連線到 GPIO 16。

如果您看一下 NodeMCU 引腳分配,您會發現 GPIO 16 是一個特殊引腳,並且它具有 WAKE 功能。

ESP8266 深度睡眠與 Arduino IDE (NodeMCU)

ESP8266 執行時,ESP8266 的 RST 引腳始終為高電平。但是,當 RST 引腳接收到 LOW 訊號時,它會重新啟動微控制器。

如果您使用 ESP8266 設定深度睡眠定時器,一旦定時器結束,GPIO 16 會發送一個 LOW 訊號。這意味著 GPIO 16 連線到 RST 引腳時,可以在設定的時間後喚醒 ESP8266。

ESP8266 NodeMCU 定時器喚醒草圖

安裝 Arduino IDE 的 ESP8266 外掛,轉到工具並選擇“ NodeMCU (ESP-12E 模組) ”。這是您需要上傳到 ESP 的程式碼:

/*
 * ESP8266 Deep sleep mode example
 * Rui Santos
 * Complete Project Details https://randomnerdtutorials.com
 */

void setup() {
  Serial.begin(115200);
  Serial.setTimeout(2000);

  // Wait for serial to initialize.
  while(!Serial) { }

  // Deep sleep mode for 30 seconds, the ESP8266 wakes up by itself when GPIO 16 (D0 in NodeMCU board) is connected to the RESET pin
  Serial.println("I'm awake, but I'm going into deep sleep mode for 30 seconds");
  ESP.deepSleep(30e6); 

  // Deep sleep mode until RESET pin is connected to a LOW signal (for example pushbutton or magnetic reed switch)
  //Serial.println("I'm awake, but I'm going into deep sleep mode until RESET pin is connected to a LOW signal");
  //ESP.deepSleep(0);
}

void loop() {
}

在此示例中,我們在序列監視器中列印一條訊息:

Serial.println("I'm awake, but I'm going into deep sleep mode until RESET pin is connected to a LOW signal");

之後,ESP8266 進入休眠狀態 30 秒。

ESP.deepSleep(30e6);

要將 ESP8266 置於深度睡眠狀態,請使用ESP.deepsleep(美國)並將睡眠時間作為引數傳遞(以微秒為單位)。

在這種情況下,30e6 對應於 30000000 微秒,即 30 秒。

上傳程式碼後,按 RST 按鈕開始執行程式碼,然後將 RST 連線到 GPIO 16。ESP8266 應該每 30 秒喚醒一次,並在 Serial Monitor 中列印一條訊息,如下所示。

ESP8266 深度睡眠與 Arduino IDE (NodeMCU)

此示例僅在序列監視器中列印一條訊息,但在現實世界的應用程式中,您將執行一項有用的任務,例如發出請求、釋出感測器讀數等。

ESP-01 定時器喚醒電路

如果您想使用 ESP-01 板進行類似的設定,您需要焊接一根電線,如下所示。那個小引腳是 GPIO 16,它需要連線到 RST 引腳。

ESP8266 深度睡眠與 Arduino IDE (NodeMCU)

然而,引腳非常小,很難將這樣的電線焊接到 ESP-01 上的 GPIO 16 上……因此,對於這種喚醒模式,您應該使用NodeMCU 板或裸露的 ESP12-E 晶片。

ESP8266 深度睡眠與 Arduino IDE (NodeMCU)

#2 ESP8266 帶外部喚醒的深度睡眠

您還可以透過外部喚醒來喚醒 ESP8266,例如按下按鈕或簧片開關。您只需將 ESP8266 無限期地置於深度睡眠模式,然後將 RST 引腳設定為低電平即可將其喚醒。

要測試此設定,請將按鈕連線到 ESP8266 板,如下圖所示。當您按下按鈕時,RST 引腳變為低電平。

ESP8266 深度睡眠與 Arduino IDE (NodeMCU)

如果您使用的是 ESP-01,請按照下圖進行操作。

ESP8266 深度睡眠與 Arduino IDE (NodeMCU)

ESP8266 外部喚醒草圖

然後,將以下程式碼上傳到您的 ESP8266 開發板。

/*
 * ESP8266 Deep sleep mode example
 * Rui Santos
 * Complete Project Details https://randomnerdtutorials.com
 */

void setup() {
  Serial.begin(115200);
  Serial.setTimeout(2000);

  // Wait for serial to initialize.
  while(!Serial) { }

  // Deep sleep mode for 30 seconds, the ESP8266 wakes up by itself when GPIO 16 (D0 in NodeMCU board) is connected to the RESET pin
  //Serial.println("I'm awake, but I'm going into deep sleep mode for 30 seconds");
  //ESP.deepSleep(30e6); 

  // Deep sleep mode until RESET pin is connected to a LOW signal (for example pushbutton or magnetic reed switch)
  Serial.println("I'm awake, but I'm going into deep sleep mode until RESET pin is connected to a LOW signal");
  ESP.deepSleep(0);
}

void loop() {
}

此程式碼將 ESP8266 無限期地置於深度睡眠模式。為此,您只需將 0 作為引數傳遞給沉睡()功能:

ESP.deepSleep(0);

ESP 只會在某些東西重置電路板時喚醒。在這種情況下,按下按鈕將 RST 引腳拉至 GND。

當您按下按鈕時,ESP8266 會喚醒,執行程式設計任務並重新進入睡眠狀態,直到觸發新的復位事件。

測量電流

當板子處於深度睡眠模式時,用萬用表測量電流消耗,看看它消耗了多少功率。

以下是放置萬用表探頭的方法。

ESP8266 深度睡眠與 Arduino IDE (NodeMCU)

當 ESP-01 處於深度睡眠模式時,它僅使用 0.3mA,大約為 300uA。

ESP8266 深度睡眠與 Arduino IDE (NodeMCU)

請記住,在正常使用 Wi-Fi 期間,ESP8266 可能消耗 50mA 到 170mA 之間的電流。

分類: 汽車
時間: 2022-02-14

相關文章

蕭紅逝世後,許廣平寫過兩篇追憶文章,卻隱約透露出不耐煩和醋意

蕭紅逝世後,許廣平寫過兩篇追憶文章,卻隱約透露出不耐煩和醋意
1923年10月,北國的秋天,天高雲淡,風清氣爽. 北京女子師範學堂,許廣平像往常一樣,坐在教室的第一排,翹首以待一位老師--魯迅先生. "叮鈴鈴--"上課鈴聲一響,她見著一個黑影 ...

47年朱安大限將至,交代許廣平兩份清單,生前所有財物和一份溫暖

47年朱安大限將至,交代許廣平兩份清單,生前所有財物和一份溫暖
1906年,魯迅在日本仙台醫學專科學校學習已近兩年.在此之前,他在東京求學,那時正是日本國力強盛之時,又在甲午海戰中打敗了中國的北洋水師,整個日本瀰漫著野心的氣息和對中國的輕蔑.當時日本的報紙上印著這 ...

魯迅去世後,宋慶齡勸許廣平不必從一而終,她為什麼不聽?

魯迅去世後,宋慶齡勸許廣平不必從一而終,她為什麼不聽?
魯迅和許廣平之間的"師生戀",曾經在民國時期轟動一時. 從1926年,魯迅帶著許廣平第一次一起離京南下算起,一直到1936年10月19日魯迅去世.許廣平和魯迅在一起共同生活了十年. ...

廣東舉辦職業技能競賽促職教發展 對接粵港澳大灣區產業需求
來源:中國新聞網 中新網廣州10月9日電 (記者 王堅)2021年全國工業設計職業技能大賽廣東選撥賽9日在廣州舉辦開幕式.來自全省職業院校.企業的參賽選手將於9日至17日圍繞相應競賽專案同臺競技,展開 ...

高速公路上,超車、超越和各行其道區別在哪裡?再也不用爭論了

高速公路上,超車、超越和各行其道區別在哪裡?再也不用爭論了
高速公路行車中,快車遇到慢車,超車不可避免,但超車的概念,很多人認識比較模糊和籠統,今天咱們透過這段高速公路的實景駕駛,來看一下究竟怎樣超車,才是交通法規所定義的超車. 右側車道一輛黑色SUV,跟行在 ...

國慶新能源車高速充電困難,各車企高速超充規劃如何?

國慶新能源車高速充電困難,各車企高速超充規劃如何?
撰文 | 周勉伍 編輯 | 冷澤林 2021年國慶期間,新能源車高速充電排隊問題引起公眾關注,據央視財經報道,10月1日,一位從深圳回湖南的新能源車車主,在高速公路耒陽服務區給車充電時,花費了五個多小 ...

你的快遞將搭乘自動駕駛!京產自動駕駛重卡年底駛上高速
在近日舉行的2021世界智慧網聯汽車大會上,北汽福田相關負責人向記者介紹,由其研發生產的自動駕駛重卡車將在年底跑上北京的高速路進行測試,實現自動駕駛在幹線物流的示範應用. 從老百姓搭乘的"無 ...

郴州9縣市人口:桂陽縣71萬人,桂東縣16萬人,6個低於50萬人

郴州9縣市人口:桂陽縣71萬人,桂東縣16萬人,6個低於50萬人
郴州9個縣市(8個縣.1個縣級市)2020年的常住人口為: 桂陽縣:70.94萬人.桂陽縣位於郴州西部,土地面積2959平方千米,約佔郴州土地面積的15.26%,是郴州面積最大的區縣.桂陽縣地處湘南丘 ...

值得一去的11個古鎮,秋天風景宜人,美如畫卷!你最喜歡哪一個?

值得一去的11個古鎮,秋天風景宜人,美如畫卷!你最喜歡哪一個?
秋天,是一年之中最美的季節. 劉禹錫曾言:自古逢秋悲寂寥,我言秋日勝春朝.確實,秋風過,金黃的銀杏.落紅的山林互相點綴,處處皆是風景. 而秋之韻味,莫過於古村落,白牆黛瓦,炊煙裊裊,紅楓.銀杏.橙柿裝 ...

是誰毀了電車車主的假期?

是誰毀了電車車主的假期?
出品 | 虎嗅汽車組 作者 | 王笑漁 "就怕出現新聞裡說的那樣,電車停在家不敢開,開油車去的."廣州的蔚來ES6車主許溯向虎嗅表示,這個國慶假期他並沒有選擇開純電動車出門,而是開 ...

良鄉大學城為房山帶來四大優勢,這裡的房子居住投資兩相宜

良鄉大學城為房山帶來四大優勢,這裡的房子居住投資兩相宜
說到良鄉,你會想到什麼?馳名中外的良鄉板栗一定會首先跑進你的腦海裡.這是在唐代就已經作為貢品的特產,甘甜可口,顆顆飽滿.現在讓你再回想一下良鄉這個片區還有什麼讓你印象深刻的地方,你會想到什麼呢?對,良 ...

電動汽車能夠代替燃油汽車嗎?買了電動汽車的你,如今後悔了嗎?

電動汽車能夠代替燃油汽車嗎?買了電動汽車的你,如今後悔了嗎?
前幾天,我和幾個朋友小聚時,一個朋友提出想買純電動汽車,他問這種車要是上高速以後沒電了怎麼辦?另一個朋友激動地說,"開電動汽車你還想上高速?我勸你別買,買這種車就是交智商稅,缺點一大堆,還容 ...

北京3盤上新 1859套房源批次入市

北京3盤上新 1859套房源批次入市
樂居買房訊(壹壹)9月13日北京有3個專案領取預售證,共計批准入市1859套房源,專案分別為保利•錦上(悅錦雅苑).中建京西印玥(興辰佳苑).北京建工·璟玥林汐(璟玥雅苑). ①保利•錦上 保利•錦上 ...

中部10大省域副中心潛力榜,1市擁有都市圈,3市GDP不足2000億

中部10大省域副中心潛力榜,1市擁有都市圈,3市GDP不足2000億
近年來,中部地區深入實施中部崛起.長江經濟帶和"一帶一路"發展戰略,經濟社會保持了快速發展態勢,對推動全國區域經濟協調發展起到了積極作用.縱觀湖北.湖南.河南.安徽.江西.山西中部 ...

當9萬+的二手房通了地鐵口?

當9萬+的二手房通了地鐵口?
觀察房子,有個很有意思的現象,就是隔一條路,房價和交易量能差出很多. 房子是受主觀感受驅動的,當你覺得出行體驗感不佳的時候,房價折損10%都是屢見不鮮的. 在高速公路南側的保利百合,雖然居住密度更高, ...

四環!大寬廳!科技住宅!天閱山河的殺手鐧還有哪些?

四環!大寬廳!科技住宅!天閱山河的殺手鐧還有哪些?
節前,北京一下子上新的30塊宅地,很豪. 在我看來,這30塊地,不僅僅是地而已. 而是一場土地革命. 目標很明確,過程很複雜. 今年的供給主力也很明確,五環外. 四環外,西邊只有衙門口,東邊只有王四營 ...

豐臺首創·天閱山河四個月網籤12%?“四環”大瓦窯地段成色如何?

豐臺首創·天閱山河四個月網籤12%?“四環”大瓦窯地段成色如何?
9月14日,幸福裡獲悉,首創·天閱山河已網籤62套,專案共計508套房,四個月網籤率僅12.2%. 幸福裡點評: 首創·天閱山河與1公里外的國譽萬和城面臨同樣的境遇,定價過高導致去化遇難.專案位於豐臺 ...

北京最大的一塊地熱田原來在這裡!

北京最大的一塊地熱田原來在這裡!
這裡有北京最大的一塊地熱田,這裡有全國首家普及地熱知識的地熱科普展覽中心,這裡有北京市首家村辦公園,這裡的地熱水梯次利用方式已達到世界先進水平,這裡被譽為北京"京西夏威夷",這裡的 ...

自駕遊在路上:北京到重慶沿途高速路的體驗及風景欣賞

自駕遊在路上:北京到重慶沿途高速路的體驗及風景欣賞
讀萬卷書,行萬里路,讀書行旅使我們更加寬廣和豁達,旅行中你會發現美,欣賞美.分享美!旅行途中經歷的風霜雪雨,艱難險阻,憑著自己堅韌的意志去戰勝它,既能豐富我們的人生閱歷,又能提高我們的精神層次.自駕遊 ...

北京 | 同配不同位!價差4w的“府”系新專案,能買嗎?
現在很多人買房一般都是考慮居住品質,寧可犧牲掉通勤時間,買近郊的遠大新,也不願意買老城區的老房子.新小區,更有活力,大多數都是年輕人,而城區的老房子基本上都是老年人在居住.再加上老房子的物業.小區環境 ...