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

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

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

3天內不再提示

如何將ESP8266變成智能家居設備

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

掃碼添加小助手

加入工程師交流群

智能家居設備正變得越來越普遍,這要歸功于遠程控制的可能性和配置的便利性。燈、智能插頭、恒溫器和氣象站只是智能家居設備中最常見的一些例子,如今主要配備 WiFi 通信接口。任何有機會使用眾多智能 WiFi 燈或燈泡之一的人都知道將設備連接到 WiFi 網(wǎng)絡并遠程控制其操作是多么快速和簡單。我們如何在小型ESP8266設備上重現(xiàn)這種行為,將其變成智能家居設備?

介紹

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

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

工作原理

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

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

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

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

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

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

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

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

草圖

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

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

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

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

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

#include

#include

void setup()

{

int retry=0, config_done=0;

// 在站模式下配置 WiFi

WiFi.mode(WIFI_STA);

// 配置串口波特率

Serial.begin(9600);

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

pinMode(16, OUTPUT);

// 打開 LED

digitalWrite(16, LOW);

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

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

而(WiFi.status()!= WL_CONNECTED)

{

Serial.print(“?!保?;

延遲(500);

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

{

Serial.println(“連接超時已過期!啟動 SmartConfig.。.”);

WiFi.beginSmartConfig();

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

while (true)

{

delay(500);

Serial.print(“?!保?

if (WiFi.smartConfigDone())

{

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

配置完成=1;

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

}

切換LED();

}

if (config_done==1)

中斷;

}

}

// 關閉 LED

digitalWrite(16, HIGH);

// 等待 IP 地址分配

while(WiFi.status() != WL_CONNECTED)

{

delay(50);

}

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

Serial.println(“”);

WiFi.printDiag(串行);

// 顯示分配給我們設備的 IP 地址

Serial.println(WiFi.localIP());

}

void loop()

{

// 無事可做!

}

無效切換LED()

{

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

如果(pinStatus==HIGH)

pinStatus=LOW;

否則

pinStatus=HIGH;

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

}

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

該應用程序

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

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

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

項目跟進

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

結論

我們在本文中已經(jīng)看到,通過幾個簡單的步驟,可以通過 SmartConfig 協(xié)議配置普通的 ESP8266 卡,使其連接到所需的 WiFi 網(wǎng)絡,而無需修改電路板上的固件。該操作構成了構建完整智能家居應用程序的基礎和基本要求。在以后的文章中,我們將看到如何通過創(chuàng)建一個完整的操作智能設備來擴展這個項目。

審核編輯:郭婷

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

    關注

    39

    文章

    7739

    瀏覽量

    171725
  • WIFI
    +關注

    關注

    82

    文章

    5512

    瀏覽量

    213665
  • 智能家居
    +關注

    關注

    1943

    文章

    10000

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

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

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

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

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

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

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

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

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

    多控制模式的智能家居系統(tǒng)設計

    隨著物聯(lián)網(wǎng)技術的發(fā)展,智能家居的需求不斷增加,但仍存在設備兼容性差和成本高等問題。本文提出了一種基于STM32單片機的多模式智能家居控制系統(tǒng),該系統(tǒng)通過溫濕度、光照強度和煙霧濃度傳感器與OLED
    的頭像 發(fā)表于 01-15 18:01 ?351次閱讀
    多控制模式的<b class='flag-5'>智能家居</b>系統(tǒng)設計

    無需安裝!在瀏覽器里就能玩轉ESP32/ESP8266,這個神器絕了!

    無需安裝!在瀏覽器里就能玩轉ESP32/ESP8266,這個神器絕了!【往期精選】十年嵌入式最深的痛,不是Bug,而是抓不到日志!vivo宣布原生支持HomeAssistant生態(tài)設備接入(含
    的頭像 發(fā)表于 01-10 10:01 ?904次閱讀
    無需安裝!在瀏覽器里就能玩轉<b class='flag-5'>ESP</b>32/<b class='flag-5'>ESP8266</b>,這個神器絕了!

    晶科鑫 | 國產(chǎn)26MHz晶振匹配Espressif(樂鑫) ESP8285/ESP8266芯片案例

    【應用】國產(chǎn)26MHz頻率晶振應用于物聯(lián)網(wǎng)WIFI物聯(lián)網(wǎng)模塊(串口轉WiFi模塊),Espressif(樂鑫)ESP8285/ESP8266芯片匹配測試OKESP8285其實是ESP8266的升級版
    的頭像 發(fā)表于 11-21 15:37 ?4662次閱讀
    晶科鑫 | 國產(chǎn)26MHz晶振匹配Espressif(樂鑫) <b class='flag-5'>ESP</b>8285/<b class='flag-5'>ESP8266</b>芯片案例

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

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

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

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

    基于智能家居項目 完結散花

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

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

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

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

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

    Matter 智能家居的通用語言

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

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

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