在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

如何在任何物聯網應用中使用ESP8266來節省電力

科技觀察員 ? 來源:circuitdigest ? 作者:Rishabh Jain ? 2022-09-06 15:37 ? 次閱讀

隨著物聯網革命每天都在蓬勃發展,連接設備的數量正在迅速增加。未來,大部分設備將相互連接并實時通信。這些設備面臨的問題之一是功耗。這個功耗因素是任何物聯網設備和物聯網項目的關鍵和決定性因素之一。

眾所周知,ESP8266 是構建任何物聯網項目的最受歡迎的模塊之一,因此在本文中,我們將了解如何在任何物聯網應用中使用 ESP8266 來節省電力。在這里,我們每隔 15 秒將 LM35 溫度傳感器數據上傳到 ThingSpeak 云,在這 15 秒內,ESP8266 保持在 DeepSleep 模式以節省電量

降低功耗的不同方法

有幾種方法可以優化嵌入式和物聯網設備的功耗。可以在硬件和軟件上進行優化。有時我們無法優化硬件組件以降低功耗,但我們可以通過更改和優化代碼指令和功能在軟件方面做到這一點。不僅如此,開發人員還可以修改時鐘頻率以降低微控制器功耗。

我們可以編寫一個固件,讓硬件在沒有數據交換時休眠,并在特定的時間間隔內執行定義的任務。在睡眠模式下,連接的硬件消耗的電量非常少,因此電池可以持續很長時間。如果您想了解有關功耗技術的更多信息,還可以閱讀微控制器中的最小化功耗。

ESP8266 模塊是使用最廣泛的 Wi-Fi 模塊,具有許多小尺寸的功能,具有不同的模式,包括睡眠模式,并且可以通過對硬件和軟件進行一些修改來訪問這些模式。

在這里,我們將解釋ESP8266 中可用的不同睡眠模式,并通過使用深度睡眠模式定期向Thingspeak 服務器發送溫度數據來演示它們。

所需組件

ESP8266 Wi-Fi 模塊

LM35溫度傳感器

跳線

ESP8266 中的睡眠模式類型

Esp8266 模塊工作在以下模式:

主動模式:在該模式下,整個芯片上電,芯片可以接收、發送數據。顯然,這是最耗電的模式。

調制解調器睡眠模式:在此模式下,CPU 處于運行狀態,Wi-Fi 無線電被禁用。此模式可用于需要 CPU 工作的應用中,如PWM中。它使 Wi-Fi Modem 電路在與 Wi-Fi AP(接入點)連接時關閉,沒有數據傳輸,以優化功耗。

Light-sleep 模式:在此模式下,CPU 和所有外設都處于暫停狀態。外部中斷等任何喚醒都會喚醒芯片。在沒有數據傳輸的情況下,可以關閉 Wi-Fi Modem 電路并暫停 CPU 以節省功耗。

深度睡眠模式:在此模式下,只有RTC正常工作,芯片的所有其他組件都斷電。此模式在數據在較長時間間隔后傳輸的情況下很有用。

pYYBAGMW-EuAdyzWAADgTxuBLrs136.png

ESP8266 中的深度睡眠模式

Modem-sleep 和 Light-sleep 在您需要讓 ESP8266 模塊運行而某些功能關閉時很有用。但是,如果您需要一些嚴格的電源控制,請選擇深度睡眠模式。整體平均電流小于1mA。在 2.5V 時,電流要求僅為 20 μA。

使用深度睡眠模式的步驟:

將模塊與 Wi-Fi AP 連接

執行讀取傳感器值、發布 MQTT 消息等任務。

休眠定義的微秒數

再次重復上述過程

睡眠時間以微秒為單位定義。根據 ESP8266 SDK,您只能休眠 4,294,967,295 μs,即約 71 分鐘。

設置 ESP8266 模塊:

將 ESP8266 的 RST 引腳與 GPIO 16 即 D0 引腳連接。GPIO 16 是具有 WAKE 功能的重要引腳。

poYBAGMW-EeATRGDAACkBAwfhWo583.png

將LM35 溫度傳感器連接到 NodeMCU 的 A0 引腳。

poYBAGMW-EOAUr-YAAS6eExRF64818.png

當 ESP 模塊的 RST 引腳為高電平時,它處于運行狀態。一旦它在 RST 引腳上接收到 LOW 信號,ESP 就會重新啟動。

使用深度睡眠模式設置定時器,一旦定時器結束,D0 引腳向 RST 引腳發送 LOW 信號,模塊將通過重啟喚醒。

現在,硬件已經準備就緒并且配置良好。溫度讀數將在 Thingspeak 服務器上發送。為此,請在 thingspeak.com 上創建一個帳戶,并通過以下步驟創建一個頻道。

現在,復制 Write API 密鑰。這將在 ESP 代碼中使用。

pYYBAGMW-D-ALWBeAAC4a5WwRwA643.png

ESP8266 深度睡眠模式編程

首先包括所需的所有重要庫。

#include 

一旦包含所有用于訪問函數的庫,然后分配 API 寫入密鑰,配置您的 Wi-Fi 名稱和密碼。然后聲明所有變量以供進一步使用要存儲數據的位置。

字符串 apiWritekey = "*************"; // 在此處替換為您的 THINGSPEAK WRITEAPI 密鑰
char ssid[] = "******"; // 你的 wifi SSID 名稱
char password[] = "******" ;// wifi 密碼

現在,使用wifi.begin()函數將模塊連接到 Wi-Fi 網絡,然后使用 while 循環不斷檢查直到模塊沒有連接到 Wi-Fi。

void connect1() { 
  WiFi.disconnect(); 
  延遲(10);
  WiFi.begin(ssid, 密碼); 
  而(WiFi.status()!= WL_CONNECTED){

制作另一個函數將數據發送到 thingspeak 服務器。在這里,將發送一個字符串,其中包含 API 寫入密鑰、字段編號和必須發送的數據。然后使用 client.print() 函數發送這個字符串。

void data() { 
  if (client.connect(server,80)) 
  {   
    String tsData = apiWritekey; 
           tsData +="&field1="; 
           tsData += String(tempF); 
           tsData += "\r\n\r\n"; 
     client.print("POST /update HTTP/1.1\n"); 
     client.print("主機:api.thingspeak.com\n");

調用 connect1 函數,該函數將調用該函數來連接 Wi-Fi,然后讀取溫度并將其轉換為攝氏度。

無效設置() { 
  Serial.begin(115200);
  Serial.println("設備處于喚醒模式"); 
  連接1();
  int 值 = 模擬讀取(A0);
  浮動電壓=(值/1024.0)*5.0;      
  tempC = 伏*100.0;             

現在,調用 data() 函數將數據上傳到 thingspeak 云上。最后,調用的重要函數是 ESP.deepSleep();這將使模塊在定義的時間間隔內休眠,以微秒為單位。

數據(); 
Serial.println("深度睡眠 15 秒"); 
ESP.deepSleep(15e6);

循環功能將保持為空,因為所有任務都必須執行一次,然后在定義的時間間隔后重置模塊。

教程末尾提供了工作視頻和完整代碼。上傳 ESP8266 模塊中的代碼。上傳程序前先拔掉RST和D0的連接線,否則會報錯。

在 ESP8266 中測試 DeepSleep

上傳程序后,您會看到溫度讀數每 15 秒上傳到 ThingSpeak 云,然后模塊進入深度睡眠模式。

pYYBAGMW-DmAZbnqAAD71Irl1lU739.png
// esp8266 deepsleep

#include

String apiWritekey = "*************";

字符 ssid[] = "XXXXXXXXXX"; // 輸入你的 wifi 家庭路由器 ssid

字符密碼[] = "XXXXXXXXXX" ; // 輸入你的 wifi 家庭路由器 ssid

char server[] = "api.thingspeak.com";

雙溫度F;

雙溫度C;

WiFiClient客戶端;

void connect1() {

WiFi.disconnect();

延遲(10);

Serial.print("正在連接");

序列號.println(ssid);

WiFi.begin(ssid, 密碼);

而(WiFi.status()!= WL_CONNECTED){

延遲(500);

Serial.print(".");

}

Serial.println("");

Serial.print("NodeMcu 連接到 wifi...");

}



void data() {

if (client.connect(server,80))

{

String Data = apiWritekey;

數據 +="&field1=";

數據 += 字符串(tempF);

數據 += "\r\n\r\n";



client.print("POST /update HTTP/1.1\n");

client.print("主機:api.thingspeak.com\n");

client.print("連接:關閉\n");

client.print("X-THINGSPEAKAPIKEY: "+apiWritekey+"\n");

client.print("Content-Type: application/x-www-form-urlencoded\n");

client.print("內容長度:");

client.print(Data.length());

client.print("\n\n");

客戶端.打印(數據);

Serial.println("上傳到 Thingspeak 服務器....");

}

client.stop();

}

void setup() {

Serial.begin(115200);

Serial.println("設備處于喚醒模式");

while (!Serial) { }

connect1();

int 值 = 模擬讀取(A0);

浮動電壓=(值/1024.0)*5.0;//轉換為伏特

tempC = volts*100.0; //轉換為攝氏溫度

Serial.print("Temperature C: ");

Serial.println(tempC);

數據();

Serial.println("深度睡眠 15 秒");

ESP.deepSleep(15e6);

}


無效循環(){

}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 物聯網
    +關注

    關注

    2910

    文章

    44752

    瀏覽量

    374575
  • 睡眠模式
    +關注

    關注

    0

    文章

    9

    瀏覽量

    6618
  • Wi-Fi模塊
    +關注

    關注

    0

    文章

    33

    瀏覽量

    11164
  • ESP8266
    +關注

    關注

    50

    文章

    962

    瀏覽量

    45134
收藏 人收藏

    評論

    相關推薦

    何在聯網應用中使ESP8266時降低功耗

    本文中,我們以15秒的間隔將LM35溫度傳感器數據上傳到ThingSpeak云,在這15秒內,ESP8266將處于深度睡眠(Deep Sleep)模式以降低功耗。
    發表于 11-06 15:59 ?8731次閱讀

    如何對ESP8266進行降頻?

    ,這對于我的應用程序來說太多了。 我想知道是否有可能對 esp8266 進行降頻以節省電量。我知道你可以把它超頻到160MHz,但是有沒有可能讓它在40MHz或20MHz下運行。 我在網上找不到任何這方面的信息
    發表于 07-19 10:55

    使用esp8266實現STM32聯網(最簡單USART方法)

    到電腦上的java程序 這一篇 esp8266與STM32連接,電腦通過STM32配置esp8266實現聯網發送數據具體流程如下圖 2= esp8266怎么和STM32連接(引腳連
    發表于 11-22 11:51 ?1.3w次閱讀

    如何使用PROGMEM節省ESP8266EX的RAM空間

    本文介紹了在Arduino IDE的平臺下如何使用PROGMEM節省ESP8266EX的RAM空間。PROGMEM可以用來將不變的、只讀的數據存入Flash中。
    發表于 03-15 08:00 ?5次下載
    如何使用PROGMEM<b class='flag-5'>節省</b><b class='flag-5'>ESP8266</b>EX的RAM空間

    esp8266簡介與esp8266引腳

    /IP協議中,由于這個任意微控制器可以與任何Wi-Fi網絡連接。它有監督的任何其他設備的電源,也可以很容易地下放Wi-Fi網絡與其它系統連接。它有片上變異的巨量這是好的為最小的外部電路。該模塊是一個極其成本效益的板。
    發表于 11-27 11:39 ?25.3w次閱讀
    <b class='flag-5'>esp8266</b>簡介與<b class='flag-5'>esp8266</b>引腳

    ESP8266-NodeMCU

    2C1.8 SPI1.9 ESP8266引腳功能一覽ESP8266-NodeMCU引腳功能1.1 可用引腳??ESP8266芯片有17個GPIO引腳(GPIO0~GPIO16)。這些引腳中的GPIO6~GPIO 11被用于連接開
    發表于 10-25 16:51 ?43次下載
    <b class='flag-5'>ESP8266</b>-NodeMCU

    【物聯網】基礎篇 ESP8266-NodeMCU學習一

    【物聯網】基礎篇 ESP8266-NodeMCU學習一本篇文章:本篇文章主要是關于ESP8266-NodeMCU的學習。正文如下:一、ESP8266-NodeMCUNodeMCU是一個
    發表于 10-26 14:21 ?16次下載
    【物<b class='flag-5'>聯網</b>】基礎篇 <b class='flag-5'>ESP8266</b>-NodeMCU學習一

    NodeMcu ESP8266 無需任何基礎 制作wifi小車

    NodeMcu ESP8266 無需任何基礎 制作wifi小車 簡介硬件連線代碼在手機上下載 TCP 調試APP下載簡介使用arduino編譯(代碼簡單)所需工具:Arduino (需要安裝
    發表于 10-28 10:21 ?39次下載
    NodeMcu <b class='flag-5'>ESP8266</b> 無需<b class='flag-5'>任何</b>基礎 制作wifi小車

    ESP8266

    優點1.性能穩定ESP8266EX 的工作溫度范圍大,且能夠保持穩定的性能,能適應各種操作環境。2.低功耗ESP8266EX 專為移動設備、可穿戴電子產品和物聯網應用而設計,通過多項專有技術實現了
    發表于 11-07 10:36 ?26次下載
    <b class='flag-5'>ESP8266</b>

    如何使用ESP8266制作可配置的Web服務器

    在這個項目中,我們首先研究如何在 Arduino IDE 中安裝 ESP8266 插件,然后使用 ESP8266 制作可配置的 Web 服務器。
    的頭像 發表于 05-10 15:18 ?1.3w次閱讀
    如何使用<b class='flag-5'>ESP8266</b>制作可配置的Web服務器

    何在ESP32/ESP8266上使用MicroPython

    在本教程中,我們將了解 MicroPython,它與 Python 有何不同,以及如何在 ESP32/ESP8266 上開始使用 MicroPython。此外,我們將看到一個 LED 閃爍的示例項目
    發表于 08-19 15:09 ?1.4w次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>ESP</b>32/<b class='flag-5'>ESP8266</b>上使用MicroPython

    ESP8266聯網開源分享

    電子發燒友網站提供《ESP8266聯網開源分享.zip》資料免費下載
    發表于 12-06 14:45 ?4次下載
    <b class='flag-5'>ESP8266</b>物<b class='flag-5'>聯網</b>開源分享

    使用ESP8266 DIY控制任何家用電器

    電子發燒友網站提供《使用ESP8266 DIY控制任何家用電器.zip》資料免費下載
    發表于 06-27 14:55 ?0次下載
    使用<b class='flag-5'>ESP8266</b> DIY控制<b class='flag-5'>任何</b>家用電器

    ESP8266聯網茶壺

    電子發燒友網站提供《ESP8266聯網茶壺.zip》資料免費下載
    發表于 07-10 16:45 ?0次下載
    <b class='flag-5'>ESP8266</b>物<b class='flag-5'>聯網</b>茶壺

    何在汽車CAN應用中使用負邊緣觸發觸發器節省電力

    電子發燒友網站提供《如何在汽車CAN應用中使用負邊緣觸發觸發器節省電力.pdf》資料免費下載
    發表于 09-13 10:06 ?0次下載
    如<b class='flag-5'>何在</b>汽車CAN應用<b class='flag-5'>中使</b>用負邊緣觸發觸發器<b class='flag-5'>節省電力</b>
    主站蜘蛛池模板: 亚洲久优优色优在线播放| 美女视频黄.免费网址| 欧美日韩一级视频| 欧美网站黄| 天堂资源网| 第四色男人天堂| 欧美日韩亚洲国内综合网俺| 色多多免费观看在线| 国产a三级三级三级| 好爽好紧好大的免费视频国产| 深夜视频在线播放视频在线观看免费观看 | 狠狠色丁香婷婷综合| 日韩免费| 五月婷婷丁香综合| 美女露出尿口让男人桶爽网站| 欧美ol丝袜高跟秘书在线观看| 91大神免费视频| 奇米影视亚洲四色8888| 精品视频一区在线观看 | 四虎永久免费最新在线| 在线免费黄| 热re99久久精品国产99热| 免费观看视频在线观看| 国产午夜视频高清| 免费在线观看a视频| 天天在线看片| free性欧美高清另类| 国产精品欧美一区二区三区| 精品综合久久久久久98| 看免费黄色大片| 看片地址| 夜夜操狠狠操| 小雪被老外黑人撑破了| 亚洲午夜精品久久久久久成年 | 免费在线看a| 久久综合婷婷| 自拍偷拍欧美| 午夜精品久久久久久影视riav| 午夜影院在线视频| 天天综合在线观看| 国产99久9在线视频|