精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

如何在任何物聯(lián)網(wǎng)應(yīng)用中使用ESP8266來(lái)節(jié)省電力

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

隨著物聯(lián)網(wǎng)革命每天都在蓬勃發(fā)展,連接設(shè)備的數(shù)量正在迅速增加。未來(lái),大部分設(shè)備將相互連接并實(shí)時(shí)通信。這些設(shè)備面臨的問(wèn)題之一是功耗。這個(gè)功耗因素是任何物聯(lián)網(wǎng)設(shè)備和物聯(lián)網(wǎng)項(xiàng)目的關(guān)鍵和決定性因素之一。

眾所周知,ESP8266 是構(gòu)建任何物聯(lián)網(wǎng)項(xiàng)目的最受歡迎的模塊之一,因此在本文中,我們將了解如何在任何物聯(lián)網(wǎng)應(yīng)用中使用 ESP8266 來(lái)節(jié)省電力。在這里,我們每隔 15 秒將 LM35 溫度傳感器數(shù)據(jù)上傳到 ThingSpeak 云,在這 15 秒內(nèi),ESP8266 保持在 DeepSleep 模式以節(jié)省電量

降低功耗的不同方法

有幾種方法可以優(yōu)化嵌入式和物聯(lián)網(wǎng)設(shè)備的功耗。可以在硬件和軟件上進(jìn)行優(yōu)化。有時(shí)我們無(wú)法優(yōu)化硬件組件以降低功耗,但我們可以通過(guò)更改和優(yōu)化代碼指令和功能在軟件方面做到這一點(diǎn)。不僅如此,開(kāi)發(fā)人員還可以修改時(shí)鐘頻率以降低微控制器功耗。

我們可以編寫(xiě)一個(gè)固件,讓硬件在沒(méi)有數(shù)據(jù)交換時(shí)休眠,并在特定的時(shí)間間隔內(nèi)執(zhí)行定義的任務(wù)。在睡眠模式下,連接的硬件消耗的電量非常少,因此電池可以持續(xù)很長(zhǎng)時(shí)間。如果您想了解有關(guān)功耗技術(shù)的更多信息,還可以閱讀微控制器中的最小化功耗。

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

在這里,我們將解釋ESP8266 中可用的不同睡眠模式,并通過(guò)使用深度睡眠模式定期向Thingspeak 服務(wù)器發(fā)送溫度數(shù)據(jù)來(lái)演示它們。

所需組件

ESP8266 Wi-Fi 模塊

LM35溫度傳感器

跳線

ESP8266 中的睡眠模式類(lèi)型

Esp8266 模塊工作在以下模式:

主動(dòng)模式:在該模式下,整個(gè)芯片上電,芯片可以接收、發(fā)送數(shù)據(jù)。顯然,這是最耗電的模式。

調(diào)制解調(diào)器睡眠模式:在此模式下,CPU 處于運(yùn)行狀態(tài),Wi-Fi 無(wú)線電被禁用。此模式可用于需要 CPU 工作的應(yīng)用中,如PWM中。它使 Wi-Fi Modem 電路在與 Wi-Fi AP(接入點(diǎn))連接時(shí)關(guān)閉,沒(méi)有數(shù)據(jù)傳輸,以優(yōu)化功耗。

Light-sleep 模式:在此模式下,CPU 和所有外設(shè)都處于暫停狀態(tài)。外部中斷等任何喚醒都會(huì)喚醒芯片。在沒(méi)有數(shù)據(jù)傳輸?shù)那闆r下,可以關(guān)閉 Wi-Fi Modem 電路并暫停 CPU 以節(jié)省功耗。

深度睡眠模式:在此模式下,只有RTC正常工作,芯片的所有其他組件都斷電。此模式在數(shù)據(jù)在較長(zhǎng)時(shí)間間隔后傳輸?shù)那闆r下很有用。

pYYBAGMW-EuAdyzWAADgTxuBLrs136.png

ESP8266 中的深度睡眠模式

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

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

將模塊與 Wi-Fi AP 連接

執(zhí)行讀取傳感器值、發(fā)布 MQTT 消息等任務(wù)。

休眠定義的微秒數(shù)

再次重復(fù)上述過(guò)程

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

設(shè)置 ESP8266 模塊:

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

poYBAGMW-EeATRGDAACkBAwfhWo583.png

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

poYBAGMW-EOAUr-YAAS6eExRF64818.png

當(dāng) ESP 模塊的 RST 引腳為高電平時(shí),它處于運(yùn)行狀態(tài)。一旦它在 RST 引腳上接收到 LOW 信號(hào),ESP 就會(huì)重新啟動(dòng)。

使用深度睡眠模式設(shè)置定時(shí)器,一旦定時(shí)器結(jié)束,D0 引腳向 RST 引腳發(fā)送 LOW 信號(hào),模塊將通過(guò)重啟喚醒。

現(xiàn)在,硬件已經(jīng)準(zhǔn)備就緒并且配置良好。溫度讀數(shù)將在 Thingspeak 服務(wù)器上發(fā)送。為此,請(qǐng)?jiān)?thingspeak.com 上創(chuàng)建一個(gè)帳戶,并通過(guò)以下步驟創(chuàng)建一個(gè)頻道。

現(xiàn)在,復(fù)制 Write API 密鑰。這將在 ESP 代碼中使用。

pYYBAGMW-D-ALWBeAAC4a5WwRwA643.png

ESP8266 深度睡眠模式編程

首先包括所需的所有重要庫(kù)。

#include 

一旦包含所有用于訪問(wèn)函數(shù)的庫(kù),然后分配 API 寫(xiě)入密鑰,配置您的 Wi-Fi 名稱和密碼。然后聲明所有變量以供進(jìn)一步使用要存儲(chǔ)數(shù)據(jù)的位置。

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

現(xiàn)在,使用wifi.begin()函數(shù)將模塊連接到 Wi-Fi 網(wǎng)絡(luò),然后使用 while 循環(huán)不斷檢查直到模塊沒(méi)有連接到 Wi-Fi。

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

制作另一個(gè)函數(shù)將數(shù)據(jù)發(fā)送到 thingspeak 服務(wù)器。在這里,將發(fā)送一個(gè)字符串,其中包含 API 寫(xiě)入密鑰、字段編號(hào)和必須發(fā)送的數(shù)據(jù)。然后使用 client.print() 函數(shù)發(fā)送這個(gè)字符串。

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("主機(jī):api.thingspeak.com\n");

調(diào)用 connect1 函數(shù),該函數(shù)將調(diào)用該函數(shù)來(lái)連接 Wi-Fi,然后讀取溫度并將其轉(zhuǎn)換為攝氏度。

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

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

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

循環(huán)功能將保持為空,因?yàn)樗腥蝿?wù)都必須執(zhí)行一次,然后在定義的時(shí)間間隔后重置模塊。

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

在 ESP8266 中測(cè)試 DeepSleep

上傳程序后,您會(huì)看到溫度讀數(shù)每 15 秒上傳到 ThingSpeak 云,然后模塊進(jìn)入深度睡眠模式。

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("正在連接");

序列號(hào).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;

數(shù)據(jù) +="&field1=";

數(shù)據(jù) += 字符串(tempF);

數(shù)據(jù) += "\r\n\r\n";



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

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

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

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

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

client.print("內(nèi)容長(zhǎng)度:");

client.print(Data.length());

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

客戶端.打印(數(shù)據(jù));

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

}

client.stop();

}

void setup() {

Serial.begin(115200);

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

while (!Serial) { }

connect1();

int 值 = 模擬讀取(A0);

浮動(dòng)電壓=(值/1024.0)*5.0;//轉(zhuǎn)換為伏特

tempC = volts*100.0; //轉(zhuǎn)換為攝氏溫度

Serial.print("Temperature C: ");

Serial.println(tempC);

數(shù)據(jù)();

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

ESP.deepSleep(15e6);

}


無(wú)效循環(huán)(){

}

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

    關(guān)注

    2894

    文章

    43316

    瀏覽量

    366519
  • 睡眠模式
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    6575
  • Wi-Fi模塊
    +關(guān)注

    關(guān)注

    0

    文章

    33

    瀏覽量

    11114
  • ESP8266
    +關(guān)注

    關(guān)注

    50

    文章

    959

    瀏覽量

    44545
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    何在聯(lián)網(wǎng)應(yīng)用中使ESP8266時(shí)降低功耗

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

    如何對(duì)ESP8266進(jìn)行降頻?

    ,這對(duì)于我的應(yīng)用程序來(lái)說(shuō)太多了。 我想知道是否有可能對(duì) esp8266 進(jìn)行降頻以節(jié)省電量。我知道你可以把它超頻到160MHz,但是有沒(méi)有可能讓它在40MHz或20MHz下運(yùn)行。 我在網(wǎng)上找不到任何這方面的信息
    發(fā)表于 07-19 10:55

    使用esp8266實(shí)現(xiàn)STM32聯(lián)網(wǎng)(最簡(jiǎn)單USART方法)

    到電腦上的java程序 這一篇 esp8266與STM32連接,電腦通過(guò)STM32配置esp8266實(shí)現(xiàn)聯(lián)網(wǎng)發(fā)送數(shù)據(jù)具體流程如下圖 2= esp8266怎么和STM32連接(引腳連
    發(fā)表于 11-22 11:51 ?1.2w次閱讀

    如何使用PROGMEM節(jié)省ESP8266EX的RAM空間

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

    esp8266簡(jiǎn)介與esp8266引腳

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

    ESP8266-NodeMCU

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

    【物聯(lián)網(wǎng)】基礎(chǔ)篇 ESP8266-NodeMCU學(xué)習(xí)一

    【物聯(lián)網(wǎng)】基礎(chǔ)篇 ESP8266-NodeMCU學(xué)習(xí)一本篇文章:本篇文章主要是關(guān)于ESP8266-NodeMCU的學(xué)習(xí)。正文如下:一、ESP8266-NodeMCUNodeMCU是一個(gè)
    發(fā)表于 10-26 14:21 ?16次下載
    【物<b class='flag-5'>聯(lián)網(wǎng)</b>】基礎(chǔ)篇 <b class='flag-5'>ESP8266</b>-NodeMCU學(xué)習(xí)一

    NodeMcu ESP8266 無(wú)需任何基礎(chǔ) 制作wifi小車(chē)

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

    ESP8266

    優(yōu)點(diǎn)1.性能穩(wěn)定ESP8266EX 的工作溫度范圍大,且能夠保持穩(wěn)定的性能,能適應(yīng)各種操作環(huán)境。2.低功耗ESP8266EX 專為移動(dòng)設(shè)備、可穿戴電子產(chǎn)品和物聯(lián)網(wǎng)應(yīng)用而設(shè)計(jì),通過(guò)多項(xiàng)專有技術(shù)實(shí)現(xiàn)了
    發(fā)表于 11-07 10:36 ?25次下載
    <b class='flag-5'>ESP8266</b>

    如何使用ESP8266制作可配置的Web服務(wù)器

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

    何在ESP32/ESP8266上使用MicroPython

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

    ESP8266聯(lián)網(wǎng)開(kāi)源分享

    電子發(fā)燒友網(wǎng)站提供《ESP8266聯(lián)網(wǎng)開(kāi)源分享.zip》資料免費(fèi)下載
    發(fā)表于 12-06 14:45 ?4次下載
    <b class='flag-5'>ESP8266</b>物<b class='flag-5'>聯(lián)網(wǎng)</b>開(kāi)源分享

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

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

    ESP8266聯(lián)網(wǎng)茶壺

    電子發(fā)燒友網(wǎng)站提供《ESP8266聯(lián)網(wǎng)茶壺.zip》資料免費(fèi)下載
    發(fā)表于 07-10 16:45 ?0次下載
    <b class='flag-5'>ESP8266</b>物<b class='flag-5'>聯(lián)網(wǎng)</b>茶壺

    何在汽車(chē)CAN應(yīng)用中使用負(fù)邊緣觸發(fā)觸發(fā)器節(jié)省電力

    電子發(fā)燒友網(wǎng)站提供《如何在汽車(chē)CAN應(yīng)用中使用負(fù)邊緣觸發(fā)觸發(fā)器節(jié)省電力.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 10:06 ?0次下載
    如<b class='flag-5'>何在</b>汽車(chē)CAN應(yīng)用<b class='flag-5'>中使</b>用負(fù)邊緣觸發(fā)觸發(fā)器<b class='flag-5'>節(jié)省電力</b>