亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

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

如何將ESP8266變成智能家居設(shè)備

李泳瑜 ? 來(lái)源:我不吃魚(yú) ? 作者:我不吃魚(yú) ? 2022-07-28 08:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

智能家居設(shè)備正變得越來(lái)越普遍,這要?dú)w功于遠(yuǎn)程控制的可能性和配置的便利性。燈、智能插頭、恒溫器和氣象站只是智能家居設(shè)備中最常見(jiàn)的一些例子,如今主要配備 WiFi 通信接口。任何有機(jī)會(huì)使用眾多智能 WiFi 燈或燈泡之一的人都知道將設(shè)備連接到 WiFi 網(wǎng)絡(luò)并遠(yuǎn)程控制其操作是多么快速和簡(jiǎn)單。我們?nèi)绾卧谛⌒?a href="http://qiaming.cn/v/tag/590/" target="_blank">ESP8266設(shè)備上重現(xiàn)這種行為,將其變成智能家居設(shè)備?

介紹

在本文中,將解釋嵌入式設(shè)備如何在不知道其憑據(jù)的情況下連接到 WiFi 網(wǎng)絡(luò)(通常是安全的)。由于智能設(shè)備沒(méi)有任何鍵盤(pán)或觸摸屏顯示器,用戶(hù)無(wú)法輸入 WiFi SSID 和密碼。那么,商業(yè)設(shè)備如何在無(wú)需上傳新固件的情況下連接到 WiFi 網(wǎng)絡(luò)呢?

德州儀器Texas Instruments) 為簡(jiǎn)化嵌入式設(shè)備與家庭 WiFi 網(wǎng)絡(luò)的連接而開(kāi)發(fā)的SmartConfig技術(shù)解釋了這個(gè)明顯的謎團(tuán):此操作只需一次,并且由一個(gè)簡(jiǎn)單的步驟組成。在本文的后續(xù)部分,我們將介紹在 Espressif Systems 開(kāi)發(fā)的ESP8266系列設(shè)備上激活 SmartConfig 功能的必要程序,這是一款提供 WiFi 接口并適合支持智能家居應(yīng)用的廉價(jià)板。

工作原理

盡管德州儀器尚未發(fā)布任何真正的 SmartConfig 公有文檔,但其操作原理相對(duì)簡(jiǎn)單。連接到家庭 WiFi 網(wǎng)絡(luò)的主機(jī)設(shè)備(智能手機(jī)、平板電腦或 PC)向虛構(gòu)的接收者發(fā)送 UDP 數(shù)據(jù)包,其中包含用于訪問(wèn) WiFi 網(wǎng)絡(luò)的 SSID 和密碼。仍未連接的智能設(shè)備正在偵聽(tīng)和監(jiān)視網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)包的流量。

當(dāng)客戶(hù)端識(shí)別到主機(jī)發(fā)送的數(shù)據(jù)包時(shí),它會(huì)對(duì)其進(jìn)行解碼,提取用于訪問(wèn) WiFi 網(wǎng)絡(luò)的憑據(jù),并將它們存儲(chǔ)在自己的非易失性存儲(chǔ)器中,以便在每次上電時(shí)重復(fù)使用。從這一刻起,智能設(shè)備將能夠連接到 WiFi 網(wǎng)絡(luò),而無(wú)需任何外部干預(yù)。如果設(shè)備隨后將被移動(dòng)到另一個(gè) WiFi 網(wǎng)絡(luò)的范圍內(nèi)(例如在另一個(gè)房子中),則應(yīng)重復(fù)相同的過(guò)程以獲取新的憑證。

圖 1所示的移動(dòng)設(shè)備配備了一個(gè)特殊的應(yīng)用程序,該應(yīng)用程序連接到家庭 WiFi 網(wǎng)絡(luò),將一系列 UDP 數(shù)據(jù)包傳輸?shù)?WiFi 接入點(diǎn) (AP)。在這些數(shù)據(jù)包的長(zhǎng)度字段中,應(yīng)用程序?qū)?WiFi 網(wǎng)絡(luò)的 SSID 和密碼進(jìn)行編碼。在智能設(shè)備上啟用 SmartConfig 功能時(shí),對(duì)長(zhǎng)度字段的內(nèi)容進(jìn)行解碼以提取訪問(wèn)網(wǎng)絡(luò)的憑據(jù)。

通過(guò)網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)包的結(jié)構(gòu)符合IEEE 802.3 標(biāo)準(zhǔn)。具體而言,數(shù)據(jù)鏈路頭由 14 個(gè)字節(jié)組成:6 個(gè)字節(jié)用于目標(biāo)地址,6 個(gè)字節(jié)用于源地址,2 個(gè)字節(jié)指定數(shù)據(jù)字段的長(zhǎng)度。之所以選擇在 2 字節(jié)長(zhǎng)度字段中輸入有關(guān) WiFi 網(wǎng)絡(luò)的信息的原因非常簡(jiǎn)單:即使在接入點(diǎn)上激活了安全連接,該字段也不會(huì)被編碼。

SmartConfig 功能由用于通過(guò)Arduino IDE開(kāi)發(fā)草圖的ESP8266 WiFi 庫(kù)完全集成和支持。API 接口非常簡(jiǎn)單:在“站”模式下配置 WiFi 收發(fā)器后,草圖中唯一要使用的功能如下:

? bool beginSmartConfig() – 在設(shè)備上啟用 SmartConfig 功能。如果成功,則返回 true,否則返回 false;

? bool smartConfigdone() – 它是更相關(guān)的函數(shù):當(dāng)設(shè)備已通過(guò)Sm??artConfig 協(xié)議正確配置并已建立WiFi 連接時(shí),它返回true;

? bool stopSmartConfig() – 此函數(shù)禁用設(shè)備上的SmartConfig 功能。此功能的使用是可選的,在我們的草圖中根本不會(huì)使用。

草圖

所有處理都在setup函數(shù)內(nèi)部執(zhí)行。最初,WiFi 連接配置為站模式,并初始化串行線路波特率。隨后,如果設(shè)備在 10 秒超時(shí)后未能使用其非易失性存儲(chǔ)器中包含的信息連接到 WiFi 網(wǎng)絡(luò),則調(diào)用beginSmartConfig函數(shù)以啟用此功能。然后,草圖進(jìn)入一個(gè)循環(huán),無(wú)限期地等待應(yīng)用程序發(fā)送的 UDP 數(shù)據(jù)包的到達(dá)和隨后的解碼。

發(fā)生這種情況時(shí),smartConfigDone函數(shù)返回一個(gè)非零值,草圖退出循環(huán)并在串行線路上顯示一條消息,其中包含用于連接到 WiFi 網(wǎng)絡(luò)的憑據(jù)和 DHCP 服務(wù)器分配的 IP 地址。后續(xù)連接將使用相同的憑據(jù)。除了在串口線上發(fā)送的調(diào)試信息外,Sketch 還使用板載 LED 顯示程序所在的階段,根據(jù)以下方案:

? LED 亮起:設(shè)備嘗試連接到 WiFi 網(wǎng)絡(luò)的初始階段;

? LED 閃爍:設(shè)備正在等待主機(jī) UDP 數(shù)據(jù)包;

? LED 熄滅:設(shè)備已連接到 WiFi 網(wǎng)絡(luò)。

#include

#include

void setup()

{

int retry=0, config_done=0;

// 在站模式下配置 WiFi

WiFi.mode(WIFI_STA);

// 配置串口波特率

Serial.begin(9600);

// 將板載 LED 配置為輸出引腳

pinMode(16, OUTPUT);

// 打開(kāi) LED

digitalWrite(16, LOW);

// 檢查是否可以建立 WiFi 連接

Serial.println(“Attempt to connect to WiFi network.。.”);

而(WiFi.status()!= WL_CONNECTED)

{

Serial.print(“?!保?;

延遲(500);

if (retry++ 》= 20) // 連接超時(shí)為 10 秒

{

Serial.println(“連接超時(shí)已過(guò)期!啟動(dòng) SmartConfig.。.”);

WiFi.beginSmartConfig();

// 永遠(yuǎn)循環(huán):僅在接收到 SmartConfig 數(shù)據(jù)包時(shí)退出

while (true)

{

delay(500);

Serial.print(“。”);

if (WiFi.smartConfigDone())

{

Serial.println(“nSmartConfig 配置成功”);

配置完成=1;

休息; // 退出循環(huán)

}

切換LED();

}

if (config_done==1)

中斷;

}

}

// 關(guān)閉 LED

digitalWrite(16, HIGH);

// 等待 IP 地址分配

while(WiFi.status() != WL_CONNECTED)

{

delay(50);

}

// 顯示 WiFi 連接數(shù)據(jù)

Serial.println(“”);

WiFi.printDiag(串行);

// 顯示分配給我們?cè)O(shè)備的 IP 地址

Serial.println(WiFi.localIP());

}

void loop()

{

// 無(wú)事可做!

}

無(wú)效切換LED()

{

靜態(tài)int pinStatus = LOW;

如果(pinStatus==HIGH)

pinStatus=LOW;

否則

pinStatus=HIGH;

數(shù)字寫(xiě)入(16,pinStatus);

}

必須將草圖加載并編譯到先前配置為支持ESP8266 系列板的Arduino IDE環(huán)境中。在啟動(dòng)構(gòu)建之前,請(qǐng)確保工具菜單中的 Erase Flash:“Sketch+WiFi 設(shè)置”選項(xiàng)已啟用。此選項(xiàng)會(huì)刪除任何以前存儲(chǔ)的用于訪問(wèn) WiFi 網(wǎng)絡(luò)的憑據(jù)。

該應(yīng)用程序

要配置設(shè)備,我們將使用可從 Google Play 免費(fèi)下載的ESP8266 SmartConfig 應(yīng)用程序。安裝后,確保移動(dòng)設(shè)備連接到您要連接 ESP8266 的同一 WiFi 網(wǎng)絡(luò)。在應(yīng)用程序的主窗口中,檢查網(wǎng)絡(luò) SSID 是否正確,然后在下面的文本框中輸入密碼。然后按頁(yè)面底部的 CONFIRM 按鈕,將幀長(zhǎng)度字段中編碼的 SSID 和密碼信息發(fā)送到如上所述的 ESP8266。

幾秒鐘后,我們將獲得智能設(shè)備成功配置的確認(rèn),如應(yīng)用程序和串行監(jiān)視器上的日志所示。

此時(shí)您可以按下確認(rèn)按鈕并關(guān)閉應(yīng)用程序,除非您想將智能設(shè)備連接到另一個(gè) WiFi 網(wǎng)絡(luò)或更改訪問(wèn)憑據(jù)(SSID 和/或密碼),否則將不再需要此操作。從現(xiàn)在開(kāi)始,ESP8266 可以獨(dú)立連接到 WiFi 網(wǎng)絡(luò),使用通過(guò) SmartConfig 接收并存儲(chǔ)在內(nèi)部 eeprom 內(nèi)存中的信息。

項(xiàng)目跟進(jìn)

本文中的草圖旨在作為開(kāi)發(fā)完整智能家居設(shè)備項(xiàng)目的基礎(chǔ)。雖然這些方面將在后面的文章中更詳細(xì)地討論,但我們已經(jīng)可以突出顯示我們可以對(duì)項(xiàng)目進(jìn)行的一些擴(kuò)展。首先,可以通過(guò)在 WiFi 連接之后的階段插入能夠處理來(lái)自遠(yuǎn)程客戶(hù)端的連接請(qǐng)求的 Web 服務(wù)器來(lái)修改草圖。因此,可以通過(guò)任何智能手機(jī)、平板電腦或 PC 與智能設(shè)備進(jìn)行交互:我們只需使用互聯(lián)網(wǎng)瀏覽器連接到設(shè)備即可。下一步可能是將繼電器連接到 ESP8266 板并遠(yuǎn)程控制連接到它們的負(fù)載的開(kāi)/關(guān),添加溫度、濕度、亮度、RGB 或其他傳感器。所有這些設(shè)備都將以簡(jiǎn)單有效的方式遠(yuǎn)程控制。以同樣的方式操作,我們可以構(gòu)建一個(gè)智能插座或 WiFi 燈。

結(jié)論

我們?cè)诒疚闹幸呀?jīng)看到,通過(guò)幾個(gè)簡(jiǎn)單的步驟,可以通過(guò) SmartConfig 協(xié)議配置普通的 ESP8266 卡,使其連接到所需的 WiFi 網(wǎng)絡(luò),而無(wú)需修改電路板上的固件。該操作構(gòu)成了構(gòu)建完整智能家居應(yīng)用程序的基礎(chǔ)和基本要求。在以后的文章中,我們將看到如何通過(guò)創(chuàng)建一個(gè)完整的操作智能設(shè)備來(lái)擴(kuò)展這個(gè)項(xiàng)目。

審核編輯:郭婷

聲明:本文內(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)投訴
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    39

    文章

    7702

    瀏覽量

    170566
  • WIFI
    +關(guān)注

    關(guān)注

    81

    文章

    5447

    瀏覽量

    211371
  • 智能家居
    +關(guān)注

    關(guān)注

    1938

    文章

    9920

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    ESP8266ESP32開(kāi)發(fā)板常見(jiàn)的2種下載方式

    協(xié)議,完整的 TCP/IP 協(xié)議棧以及藍(lán)牙協(xié)議棧。用戶(hù)可以使用這兩款模塊為現(xiàn)有的設(shè)備添加WIFI聯(lián)網(wǎng)功能或藍(lán)牙(ESP32),輕松的構(gòu)建獨(dú)立的網(wǎng)絡(luò)控制器和遠(yuǎn)程控制監(jiān)控設(shè)備ESP8266
    發(fā)表于 10-24 18:04

    智能家居體驗(yàn)升級(jí)關(guān)鍵!物聯(lián)網(wǎng)云平臺(tái)靠跨設(shè)備數(shù)據(jù)關(guān)聯(lián)發(fā)力

    在數(shù)字浪潮席卷全球的今天,物聯(lián)網(wǎng)云平臺(tái)已成為智能家居的“大腦”與“中樞”,正以前所未有的深度和廣度重新定義著我們的居住體驗(yàn),連接起分散的智能設(shè)備,實(shí)現(xiàn)數(shù)據(jù)互通與指令協(xié)同,讓智能家居從“
    的頭像 發(fā)表于 09-22 15:06 ?318次閱讀

    請(qǐng)問(wèn)一下我想用ESP8685直接替換ESP8266而不用寫(xiě)程序,可以讓ESP8685直接通過(guò)之前ESP8266的外掛的flash運(yùn)行程序嗎

    請(qǐng)問(wèn)一下我想用ESP8685直接替換ESP8266而不用寫(xiě)程序,可以讓ESP8685直接通過(guò)之前ESP8266的外掛的flash運(yùn)行程序嗎
    發(fā)表于 09-17 12:06

    信號(hào)發(fā)生器在智能家居設(shè)備測(cè)試中的應(yīng)用

    智能家居設(shè)備的測(cè)試面臨諸多挑戰(zhàn)。信號(hào)發(fā)生器作為電子測(cè)試領(lǐng)域的核心工具,在智能家居設(shè)備的研發(fā)、生產(chǎn)及質(zhì)量驗(yàn)證中發(fā)揮著不可替代的作用。本文深入
    的頭像 發(fā)表于 08-18 17:13 ?474次閱讀
    信號(hào)發(fā)生器在<b class='flag-5'>智能家居</b><b class='flag-5'>設(shè)備</b>測(cè)試中的應(yīng)用

    如何快速開(kāi)發(fā)符合Matter標(biāo)準(zhǔn)的智能家居設(shè)備?

    Matter是由亞馬遜、蘋(píng)果、谷歌等國(guó)際生態(tài)巨頭攜手CSA聯(lián)盟(原Zigbee聯(lián)盟)針對(duì)智能家居行業(yè)開(kāi)發(fā)的一種開(kāi)源性的互操作標(biāo)準(zhǔn),其允許運(yùn)行在不同通信協(xié)議下的、不同類(lèi)別及品牌的智能家居設(shè)備能在同一
    的頭像 發(fā)表于 08-07 17:35 ?2108次閱讀
    如何快速開(kāi)發(fā)符合Matter標(biāo)準(zhǔn)的<b class='flag-5'>智能家居</b><b class='flag-5'>設(shè)備</b>?

    基于智能家居項(xiàng)目 完結(jié)散花

    一、項(xiàng)目目標(biāo)通過(guò)機(jī)智云平臺(tái),快速實(shí)現(xiàn)以下功能:MCU+ESP8266實(shí)現(xiàn)單點(diǎn)控制實(shí)現(xiàn)多點(diǎn)控制(如多個(gè)按鍵控制一個(gè)設(shè)備)實(shí)現(xiàn)MCU數(shù)據(jù)上報(bào)至云端實(shí)現(xiàn)獲取網(wǎng)絡(luò)時(shí)間(NTP)二、機(jī)智云平臺(tái)簡(jiǎn)介機(jī)智云
    的頭像 發(fā)表于 07-31 18:03 ?377次閱讀
    基于<b class='flag-5'>智能家居</b>項(xiàng)目  完結(jié)散花

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

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

    ESP8266燒錄與機(jī)智云一鍵配網(wǎng)教程

    ESP8266模塊因其低成本和高性能,廣泛應(yīng)用于智能家居和工業(yè)自動(dòng)化等領(lǐng)域。機(jī)智云平臺(tái)提供了一鍵配網(wǎng)功能,簡(jiǎn)化了設(shè)備的聯(lián)網(wǎng)過(guò)程。本教程詳細(xì)介紹如何使用
    的頭像 發(fā)表于 05-24 11:04 ?1344次閱讀
    <b class='flag-5'>ESP8266</b>燒錄與機(jī)智云一鍵配網(wǎng)教程

    Matter 智能家居的通用語(yǔ)言

    企業(yè)正在測(cè)試 134 種獨(dú)特的 Matter 產(chǎn)品。 在消費(fèi)者對(duì)智能家居設(shè)備無(wú)縫互操作性需求的推動(dòng)下,Matter的廣泛采用吸引更多的開(kāi)發(fā)者。
    發(fā)表于 05-19 15:35

    明遠(yuǎn)智睿SSD2351開(kāi)發(fā)板:智能家居智能核心

    1.4GHz處理器具備強(qiáng)大的運(yùn)算能力,能夠快速處理智能家居系統(tǒng)中的各種數(shù)據(jù)和指令。在智能家居環(huán)境中,大量的設(shè)備需要進(jìn)行實(shí)時(shí)監(jiān)控和控制,如智能燈光、
    發(fā)表于 05-07 18:59

    智能家居控制器:無(wú)線通訊,智能化管理家居設(shè)備

    智能家居控制器是智能家居系統(tǒng)的核心設(shè)備,通過(guò)集中管理和協(xié)調(diào)各類(lèi)智能終端,實(shí)現(xiàn)家居環(huán)境的自動(dòng)化、智能
    的頭像 發(fā)表于 04-24 15:09 ?767次閱讀

    支持智能家居設(shè)備的常見(jiàn)無(wú)線通信技術(shù)

    市面上已經(jīng)出現(xiàn)許多智能家居設(shè)備,隨著其價(jià)格越來(lái)越親民,產(chǎn)品的接受度也越來(lái)越高。但是,支持設(shè)備之間通信和設(shè)備智能手機(jī)通信的各種無(wú)線技術(shù)則令人
    的頭像 發(fā)表于 04-18 11:18 ?1463次閱讀
    支持<b class='flag-5'>智能家居</b><b class='flag-5'>設(shè)備</b>的常見(jiàn)無(wú)線通信技術(shù)

    智能家居Mesh組網(wǎng)方案:實(shí)現(xiàn)智能化生活的無(wú)縫連接NRF52832

    自組織的 Mesh 網(wǎng)絡(luò),各個(gè)智能設(shè)備連接在一起,實(shí)現(xiàn)了全屋智能家居的無(wú)縫連接。與傳統(tǒng)的單點(diǎn)連接方式相比,Mesh 網(wǎng)絡(luò)具有更強(qiáng)的穩(wěn)定性和可靠性,同時(shí)能夠穿越墻壁等障礙物,擴(kuò)大了信號(hào)
    發(fā)表于 04-15 14:07

    零知開(kāi)源——ESP8266+MPU6050 實(shí)現(xiàn)運(yùn)動(dòng)姿態(tài)檢測(cè)

    零知ESP8266的I2C通信 ? ? ? ?在運(yùn)動(dòng)姿態(tài)檢測(cè)、機(jī)器人平衡控制、VR頭戴設(shè)備等應(yīng)用中,MPU6050(三軸加速度計(jì)+三軸陀螺儀)是一個(gè)常見(jiàn)的姿態(tài)傳感器。而ESP8266作為一款低功耗
    的頭像 發(fā)表于 02-20 17:54 ?2683次閱讀
    零知開(kāi)源——<b class='flag-5'>ESP8266</b>+MPU6050 實(shí)現(xiàn)運(yùn)動(dòng)姿態(tài)檢測(cè)

    stm32單片機(jī)畢業(yè)設(shè)計(jì)——物聯(lián)網(wǎng)智能家居源代碼原理圖

    一、設(shè)計(jì)簡(jiǎn)介本畢業(yè)設(shè)計(jì)項(xiàng)目是基于STM32單片機(jī)的物聯(lián)網(wǎng)機(jī)智云智能家居系統(tǒng),包含原理圖PCB手機(jī)APP。智能家居系統(tǒng)以STM32C8T6單片機(jī)為核心,結(jié)合多種傳感器和執(zhí)行器,通過(guò)ESP8266實(shí)現(xiàn)
    的頭像 發(fā)表于 11-30 01:03 ?3080次閱讀
    stm32單片機(jī)畢業(yè)設(shè)計(jì)——物聯(lián)網(wǎng)<b class='flag-5'>智能家居</b>源代碼原理圖