91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

怎樣使用ESP8266制作自己的Wi-Fi連接按鈕

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

掃碼添加小助手

加入工程師交流群

物聯(lián)網(wǎng)具有巨大的DIY潛力。有了足夠的專業(yè)知識(shí)和少量廉價(jià)的組件,您就可以構(gòu)建一個(gè)復(fù)雜的連接設(shè)備系統(tǒng)。

有時(shí)候,您想要簡單的東西。沒有鐘聲或口哨聲,只需執(zhí)行一個(gè)任務(wù)的按鈕即可。如果您曾經(jīng)使用Amazon Dash按鈕對(duì)日常家用物品進(jìn)行重新排序,那么您可能已經(jīng)熟悉這種情況。

今天,我們將使用NodeMCU制作一個(gè)啟用Wi-Fi的按鈕,并將其編程為使用IFTTT做。..好吧,任何事!如果需要,可以在視頻后提供書面說明。

您需要的內(nèi)容

您將需要:

1 x NodeMCU(ESP8266)板,可在速賣通上以2-3美元的價(jià)格購買

1 x按鈕

1 x LED(可選)

1 x 220歐姆電阻(可選)

面包板和連接線

用于編程的Micro USB

已安裝Arduino IDE的計(jì)算機(jī)

除了NodeMCU之外,您應(yīng)該能夠在任何Arduino入門套件中找到大多數(shù)這些部件。本教程將假定您使用的是可選的LED和電阻,但這不是必需的。

步驟1:設(shè)置電路

此項(xiàng)目的硬件設(shè)置非常簡單。

紫色線將引腳D0 連接到按鈕的一側(cè)。綠線將按鈕的另一端連接到 RST引腳。藍(lán)色導(dǎo)線從引腳D1 連接到電阻器和LED。 LED的負(fù)極連接到NodeMCU的 GND引腳。

設(shè)置試驗(yàn)板后,其外觀應(yīng)類似于:

如果您想知道我是如何僅使用這些細(xì)小的電纜將我的LED接地,那么我們的快速面包板崩潰過程應(yīng)該有助于清除它!檢查設(shè)置并通過USB將NodeMCU連接到計(jì)算機(jī)。

步驟2:設(shè)置IDE

在進(jìn)行編碼之前,您需要做一些準(zhǔn)備。如果尚未安裝,請(qǐng)?jiān)O(shè)置Arduino IDE以識(shí)別您的NodeMCU板。您可以通過文件》首選項(xiàng)將其添加到板列表中。

您可以找到有關(guān)此步驟的更詳細(xì)說明在我們的NodeMCU簡介文章中。

該項(xiàng)目需要兩個(gè)庫。導(dǎo)航到草圖》包含庫》管理庫。搜索Ivan Grokhotkov的 ESP8266WIFI 并將其安裝。編寫該庫是為了與NodeMCU板建立Wi-Fi連接。

下一步,搜索John Romkey的 IFTTTWebhook 并安裝最新的版。該庫旨在簡化向IFTTT發(fā)送Webhook的過程。

這就是我們需要的所有準(zhǔn)備工作,讓我們編寫代碼!

代碼的工作方式

我們將使用 ESP8266WIFI 庫建立Wi-Fi連接。 IFTTTWebhooks 庫向IFTTT發(fā)送請(qǐng)求-在這種情況下,將其發(fā)布到Twitter。然后,指示NodeMCU板在不使用時(shí)進(jìn)入睡眠狀態(tài)以節(jié)省電量。

按下按鈕時(shí),它將鏈接 D0 和 RST 針腳。這將重置板,然后再次執(zhí)行該過程。

本教程中的大多數(shù)代碼對(duì)于初學(xué)者來說都足夠簡單。就是說,如果您是入門者,那么在遵循我們的Arduino初學(xué)者指南之后,您會(huì)發(fā)現(xiàn)它容易理解。

本教程分批遍歷代碼以幫助您理解。如果您想直接做生意,可以在Pastebin上找到完整的代碼。請(qǐng)注意,您仍然需要在此代碼中填寫Wi-Fi和IFTTT憑據(jù)才能使其正常工作!

步驟3:測試深度睡眠

我們將開始創(chuàng)建一個(gè)簡單的測試以顯示深度睡眠的工作原理。在Arduino IDE中打開一個(gè)新草圖。輸入以下兩個(gè)代碼塊。

#include

#include

#define ledPin 5

#define wakePin 16

#define ssid “YOUR_WIFI_SSID”

#define password “YOUR_WIFI_PASSWORD”

#define IFTTT_API_KEY “IFTTT_KEY_GOES_HERE”

#define IFTTT_EVENT_NAME “IFTTT_EVENT_NAME_HERE”

在這里,我們包括我們的庫,并定義了我們?cè)诓輬D中需要的一些變量。您會(huì)注意到,與上面的Fritzing圖相比,此處的ledPin和akePin編號(hào)不同。 NodeMCU與Arduino開發(fā)板具有不同的引腳排列。不過,由于這個(gè)方便的圖表,這不是問題:

現(xiàn)在創(chuàng)建一個(gè)設(shè)置函數(shù):

void setup() {

Serial.begin(115200);

while(!Serial) {

}

Serial.println(“ ”);// print an empty line before and after Button Press

Serial.println(“Button Pressed”);

Serial.println(“ ”);// print an empty line

ESP.deepSleep(wakePin);

}

在這里,我們?cè)O(shè)置了串行端口,并使用while循環(huán)等待它開始。由于此代碼將在按下重置按鈕后觸發(fā),因此我們將“已按下按鈕” 打印到串行監(jiān)視器。然后,我們告訴NodeMCU進(jìn)入深度睡眠狀態(tài),直到按下連接 wakePin 和 RST 引腳的按鈕。

最后,為了進(jìn)行測試,將其添加到您的 loop()方法中:

void loop(){

//if deep sleep is working, this code will never run.

Serial.println(“This shouldn‘t get printed”);

}

通常,Arduino草圖在設(shè)置后會(huì)連續(xù)運(yùn)行循環(huán)功能。由于我們?cè)谠O(shè)置結(jié)束之前就將電路板送入睡眠狀態(tài),因此循環(huán)永遠(yuǎn)不會(huì)運(yùn)行。

保存您的草圖并將其上傳到電路板上。打開串行監(jiān)視器,您應(yīng)該看到“已按下按鈕”。每次按鈕觸發(fā)時(shí),電路板都會(huì)復(fù)位,并且消息會(huì)再次打印。

有關(guān)串行監(jiān)視器的注意事項(xiàng)

在某些情況下,您可能已經(jīng)注意到串行監(jiān)視器中的一些廢話字符您的項(xiàng)目。這通常是由于未將串行監(jiān)視器設(shè)置為與 Serial.begin(XXXX)速率相同的波特率。

許多指南建議以波特率啟動(dòng)串行連接115200這樣的項(xiàng)目。我嘗試了許多組合,在串行消息前后,它們都有不同程度的亂碼。根據(jù)各種論壇的帖子,這可能是由于板故障或軟件兼容性問題造成的。因?yàn)樗粫?huì)嚴(yán)重影響項(xiàng)目,所以我選擇假裝它沒有發(fā)生。

如果您在串行監(jiān)視器上遇到問題,請(qǐng)嘗試使用不同的波特率,看看哪種最適合您。

第4步:連接到Wi-Fi

現(xiàn)在創(chuàng)建一個(gè)用于連接到Wi-Fi網(wǎng)絡(luò)的功能。

void connectToWifi() {

Serial.print(“Connecting to: SSID NAME”); //uncomment next line to show SSID name

//Serial.print(ssid);

WiFi.begin(ssid, password);

Serial.println(“ ”);// print an empty line

Serial.print(“Attempting to connect: ”);

//try to connect for 10 seconds

int i = 10;

while(WiFi.status() != WL_CONNECTED && i 》=0) {

delay(1000);

Serial.print(i);

Serial.print(“, ”);

i--;

}

Serial.println(“ ”);// print an empty line

//print connection result

if(WiFi.status() == WL_CONNECTED){

Serial.print(“Connected.”);

Serial.println(“ ”);// print an empty line

Serial.print(“NodeMCU ip address: ”);

Serial.println(WiFi.localIP());

}

else {

Serial.println(“Connection failed - check your credentials or connection”);

}

}

此方法嘗試連接到您的網(wǎng)絡(luò)十次,中間間隔一秒鐘。連接成功或失敗會(huì)打印到串行監(jiān)視器。

第5步:調(diào)用連接方法

現(xiàn)在,永遠(yuǎn)不會(huì)調(diào)用 connectToWifi()。在“已按下按鈕”消息和使評(píng)估板進(jìn)入睡眠狀態(tài)之間,向您的設(shè)置功能添加一個(gè)呼叫。

connectToWifi();

如果您想知道適合的位置,它應(yīng)該看起來像

在草圖頂部,將 ssid 和 password 變量替換為您的Wi-Fi憑據(jù)。保存您的草圖并將其上傳到板上。

現(xiàn)在,在板啟動(dòng)時(shí),它將返回到設(shè)置功能之前嘗試連接到Wi-Fi網(wǎng)絡(luò)。現(xiàn)在,讓我們?cè)O(shè)置IFTTT集成。

步驟6:設(shè)置IFTTT集成

IFTTT允許與各種Web服務(wù)集成。我們?cè)赪i-Fi PC塔式LED教程中使用了它,以便在收到新電子郵件時(shí)發(fā)送警報(bào)。今天,我們將使用它來按一下按鈕發(fā)送一條推文。

導(dǎo)航到我的小程序頁面,然后選擇新小程序

點(diǎn)擊 +此并連接到 Webhooks 。選擇“接收網(wǎng)絡(luò)請(qǐng)求” 并命名您的活動(dòng)。 保持簡單!記下事件名稱,稍后需要將其添加到NodeMCU代碼中。點(diǎn)擊“創(chuàng)建觸發(fā)器” 。

現(xiàn)在選擇 +那個(gè)。搜索 Twitter 服務(wù)并連接到該服務(wù)-您需要授權(quán)該服務(wù)才能發(fā)布到您的Twitter帳戶。選擇“發(fā)布推文” 并選擇您的消息。

下一個(gè)屏幕將要求您查看該小程序。單擊完成。就是這樣!

步驟7:將IFTTT憑據(jù)添加到代碼中

返回Arduino IDE,您需要將IFTTT API密鑰和事件名稱添加到定義的變量中。要查找API密鑰,請(qǐng)導(dǎo)航至我的小程序,然后在服務(wù)標(biāo)簽下選擇 Webhooks 。選擇文檔來訪問密鑰。

將密鑰和事件名稱復(fù)制到代碼中,替換為其設(shè)置的臨時(shí)名稱。

#define IFTTT_API_KEY “IFTTT_KEY_GOES_HERE”

#define IFTTT_EVENT_NAME “IFTTT_EVENT_NAME_HERE”

請(qǐng)注意,逗號(hào)必須保留,只能替換文本。

在調(diào)用 connectToWifi()并將板子送入睡眠之間,創(chuàng)建一個(gè)IFTTTWebhook庫對(duì)象的實(shí)例。 LED會(huì)在深度睡眠再次開始之前發(fā)出任務(wù)完成的信號(hào)

//just connected to Wi-Fi

IFTTTWebhook hook(IFTTT_API_KEY, IFTTT_EVENT_NAME);

hook.trigger();

pinMode(ledPin, OUTPUT);

digitalWrite(ledPin, HIGH);

delay(200);

digitalWrite(ledPin, LOW);

//now sending board to sleep

hook 對(duì)象上的調(diào)用觸發(fā)器會(huì)觸發(fā)IFTTT小程序,并應(yīng)發(fā)布到您的Twitter帳戶。保存您的草圖并上傳?,F(xiàn)在,您應(yīng)該有一個(gè)功能齊全的推文按鈕。

如果它似乎不起作用,請(qǐng)仔細(xì)檢查您的代碼和憑據(jù)是否有錯(cuò)誤。如果您確實(shí)遇到困難,請(qǐng)從上方獲取完整的代碼,然后將其與您自己的代碼進(jìn)行比較。

完成!您如何進(jìn)一步改進(jìn)?

這是Wi-Fi按鈕的基本版本,但是可以通過多種方法進(jìn)行改進(jìn)。為簡單起見,此處使用USB連接供電。電池將使它完全可以移動(dòng),而裝有電路的盒子將是完美的初學(xué)者3D打印項(xiàng)目。

盡管使用了深度睡眠,您可能會(huì)發(fā)現(xiàn)電池很快就會(huì)用完。有許多Arduino省電技巧可幫助此類項(xiàng)目。雖然比本教程要難得多,但是如果您從頭開始制作自己的節(jié)能意識(shí)的Arduino,那么電池供電的Wi-Fi按鈕可能會(huì)持續(xù)數(shù)月!

該項(xiàng)目將是智能遙控器的完美之選。家庭應(yīng)用程序。 IFTTT上已經(jīng)有大量的家庭自動(dòng)化小程序。一旦掌握了基礎(chǔ)知識(shí),就可以使用幾乎任何傳感器或開關(guān)來觸發(fā)幾乎可以想象的任何服務(wù)。

責(zé)任編輯:wv

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

    關(guān)注

    15

    文章

    2433

    瀏覽量

    129674
  • ESP8266
    +關(guān)注

    關(guān)注

    51

    文章

    971

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    技術(shù)資訊 I Wi-Fi 模塊設(shè)計(jì)

    。Wi-Fi模塊可實(shí)現(xiàn)無縫連接和數(shù)據(jù)交換,對(duì)設(shè)備進(jìn)行遠(yuǎn)程控制和監(jiān)測。Wi-Fi模塊設(shè)計(jì)旨在打造一套緊湊且高效的軟硬件解決方案,使設(shè)備能夠通過Wi-Fi網(wǎng)絡(luò)通信。這類模塊常用
    的頭像 發(fā)表于 02-27 17:12 ?654次閱讀
    技術(shù)資訊 I <b class='flag-5'>Wi-Fi</b> 模塊設(shè)計(jì)

    ESP8266系列】WT8266-S3模組規(guī)格書

    概述ESP-07S(WT8266-S3)Wi-Fi模塊是由啟明云端科技開發(fā)的、低功耗高性價(jià)比的嵌入式無線網(wǎng)絡(luò)控制模塊??蓾M足智能電網(wǎng)、樓宇自動(dòng)化、安防、智能家居、遠(yuǎn)程醫(yī)療等物聯(lián)網(wǎng)應(yīng)用的需求。該模塊
    的頭像 發(fā)表于 02-05 18:04 ?139次閱讀
    【<b class='flag-5'>ESP8266</b>系列】WT<b class='flag-5'>8266</b>-S3模組規(guī)格書

    ESP8266系列】WT8266-S6模組規(guī)格書

    ESP-12S(WT8266-S6)Wi-Fi模塊是由啟明云端科技開發(fā)的、低功耗高性價(jià)比的嵌入式無線網(wǎng)絡(luò)控制模塊??蓾M足智能電網(wǎng)、樓宇自動(dòng)化、安防、智能家居、遠(yuǎn)程醫(yī)療等物聯(lián)網(wǎng)應(yīng)用的需求。該模塊核心
    的頭像 發(fā)表于 02-05 18:03 ?166次閱讀
    【<b class='flag-5'>ESP8266</b>系列】WT<b class='flag-5'>8266</b>-S6模組規(guī)格書

    ESP8266系列】WT8266-S6模組產(chǎn)品介紹

    ESP-12S(WT8266-S6)Wi-Fi模塊是由啟明云端科技開發(fā)的、低功耗高性價(jià)比的嵌入式無線網(wǎng)絡(luò)控制模塊??蓾M足智能電網(wǎng)、樓宇自動(dòng)化、安防、智能家居、遠(yuǎn)程醫(yī)療等物聯(lián)網(wǎng)應(yīng)用的需求。該模塊核心
    的頭像 發(fā)表于 01-29 18:22 ?318次閱讀
    【<b class='flag-5'>ESP8266</b>系列】WT<b class='flag-5'>8266</b>-S6模組產(chǎn)品介紹

    ESP32 Wi-Fi 控制 LED 燈的原理

    控制LED燈的——從底層硬件連接,到網(wǎng)絡(luò)通信邏輯,一步步拆解整個(gè)過程。一、系統(tǒng)概覽ESP32是一顆集成度極高的芯片,內(nèi)置Wi-Fi、藍(lán)牙、雙核MCU和豐富的外設(shè)接
    的頭像 發(fā)表于 01-09 19:04 ?332次閱讀
    <b class='flag-5'>ESP</b>32 <b class='flag-5'>Wi-Fi</b> 控制 LED 燈的原理

    Wi-Fi:無線連接的全球通用語

    現(xiàn)代生活中不可或缺的無線連接方式。二、Wi-Fi的核心特點(diǎn)1. 高速率,寬帶寬支持從幾十Mbps到數(shù)Gbps的傳輸速率,滿足高清視頻、在線游戲等高帶寬應(yīng)用需求。2. 廣泛兼容,生態(tài)成熟幾乎所有智能終端均內(nèi)置
    發(fā)表于 01-07 09:49

    ESP8266ESP32開發(fā)板常見的2種下載方式

    ESP32和ESP8266是性價(jià)比很高而且使用較為廣泛的的Wi-Fi模塊,在物聯(lián)網(wǎng)(IoT)領(lǐng)域的DIY項(xiàng)目中可以首先考慮這2款產(chǎn)品。 兩款芯片都屬于32位處理器。ESP32是低功耗
    的頭像 發(fā)表于 11-10 20:30 ?1036次閱讀
    <b class='flag-5'>ESP8266</b>和<b class='flag-5'>ESP</b>32開發(fā)板常見的2種下載方式

    ESP8266ESP32開發(fā)板常見的2種下載方式

    的的Wi-Fi模塊,在物聯(lián)網(wǎng)(IoT)領(lǐng)域的DIY項(xiàng)目中可以首先考慮這2款產(chǎn)品。 兩款芯片都屬于32位處理器。ESP32是低功耗雙核80MHz至240MHz CPU,而ESP8266是單核處理器,主頻支持
    發(fā)表于 10-24 18:04

    淺談Wi-Fi 6E與Wi-Fi 7的關(guān)鍵器件——BAW濾波器新技術(shù)

    作者: Qorvo 亞太區(qū)無線連接事業(yè)部高級(jí)行銷經(jīng)理林健富 ? 2020年1月,Wi-Fi聯(lián)盟正式宣布開放6GHz頻段(5925MHz-7125MHz),并將其命名為Wi-Fi 6E。2020年4月
    發(fā)表于 09-19 18:29 ?2207次閱讀
    淺談<b class='flag-5'>Wi-Fi</b> 6E與<b class='flag-5'>Wi-Fi</b> 7的關(guān)鍵器件——BAW濾波器新技術(shù)

    LitePoint Wi-Fi測試軟件減輕客戶設(shè)計(jì)負(fù)擔(dān)

    Wi-Fi 7于一年多前獲得Wi-Fi聯(lián)盟認(rèn)證以來,作為最新一代通信技術(shù),Wi-Fi正逐步成為用戶實(shí)現(xiàn)無所不在無線連接的新選擇。隨著每一代Wi-F
    的頭像 發(fā)表于 08-06 15:34 ?1236次閱讀
    LitePoint <b class='flag-5'>Wi-Fi</b>測試軟件減輕客戶設(shè)計(jì)負(fù)擔(dān)

    STM32+esp8266連接機(jī)智云,上傳溫濕度數(shù)據(jù)并控制繼電器開關(guān)(平臺(tái)配置、代碼生成、代碼移植)

    本教程將詳細(xì)介紹如何將STM32微控制器與ESP8266Wi-Fi模塊連接到機(jī)智云平臺(tái),實(shí)現(xiàn)溫濕度數(shù)據(jù)的上傳與繼電器的遠(yuǎn)程控制。通過此過程,您將學(xué)會(huì)如何配置機(jī)智云平臺(tái),燒錄ESP8266固件,移植
    的頭像 發(fā)表于 07-15 18:54 ?1126次閱讀
    STM32+<b class='flag-5'>esp8266</b><b class='flag-5'>連接</b>機(jī)智云,上傳溫濕度數(shù)據(jù)并控制繼電器開關(guān)(平臺(tái)配置、代碼生成、代碼移植)

    Wi-Fi 8:開啟極高可靠性 (UHR) 連接的新紀(jì)元——1

    英國作家狄更斯在《雙城記》的開頭寫道:“這是最好的時(shí)代,也是最壞的時(shí)代?!?這句話若套用在現(xiàn)今Wi-Fi 的市場現(xiàn)狀,何嘗不是驚人的相似? 怎么說呢?Wi-Fi 從被發(fā)明至今已經(jīng)經(jīng)過了20多年的迭代
    發(fā)表于 06-13 11:09

    Wi-Fi HaLow如何突破傳統(tǒng)Wi-Fi性能瓶頸?

    視頻推薦在萬物互聯(lián)的時(shí)代,傳統(tǒng)Wi-Fi在覆蓋范圍、功耗、連接數(shù)上漸顯不足。而Wi-FiHaLow的誕生,正在用黑科技打破傳統(tǒng)Wi-Fi的性能瓶頸!今天,我們一起來探究
    的頭像 發(fā)表于 04-22 11:38 ?1185次閱讀
    <b class='flag-5'>Wi-Fi</b> HaLow如何突破傳統(tǒng)<b class='flag-5'>Wi-Fi</b>性能瓶頸?

    nRF Cloud Wi-Fi 定位服務(wù)

    、Predictive-GPS、Single-Cell、Multi-Cell 和 Wi-Fi 定位。通過利用 nRF Cloud 的優(yōu)化定位算法,基于 Nordic SoC 和 模組的產(chǎn)品可在定位用例
    發(fā)表于 04-17 15:07

    Wi-Fi 定位服務(wù)

    ,可讓支持 Wi-Fi 的設(shè)備利用附近 Wi-Fi 網(wǎng)絡(luò)的數(shù)據(jù)確定自己的大致位置。它的工作原理是檢索附近網(wǎng)絡(luò)的 SSID、BSSID 和信號(hào)強(qiáng)度等 Wi-Fi 網(wǎng)絡(luò)信息,并將這些信息與
    發(fā)表于 04-17 15:01