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

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

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

3天內不再提示

怎樣用繼電器板和ESP8266實現家居自動化

454398 ? 來源:工程師吳畏 ? 2019-07-31 17:47 ? 次閱讀

硬件

此版本的主要組件是一個簡單的繼電器板,可用于切換高達250V AC的電壓和10安培的最大電流:

用于高壓項目的簡單繼電器板。

它將由基于ESP8266IoT開發板控制,該開發板與Arduino IDE完全兼容。或者,您也可以使用標準的Arduino和ESP8266(或類似的)分線板。

ESP8266。

你只有需要在這些設備之間建立兩個連接。其中一個是接地,另一個是用于切換繼電器的控制線,我選擇連接到開發板的D2(數字引腳2)。

繼電器和MCU需要連接到一個五伏電源,在我的情況下,用一個簡單的直流插孔完成。

除此之外,你還需要一個標準的電源插座,一個IEC插頭,最好是一個帶有接地的插頭。引腳和用于打開和關閉MCU的開關。此外,還需要一個外殼。我選擇使用標準灰色項目框:

使用標準灰色項目框來容納構建。

構建

構建此設備的過程非常簡單。首先在機箱中制作必要的剪切:

在項目框中進行必要的剪切。

創建它們后,你可以安裝組件。大多數組件都會卡入到位。我仍然決定添加熱膠來密封外殼,這樣灰塵就不會輕易進入:

使用膠水確保沒有任何動作,并使盒子不易受灰塵影響。

完成后,是時候連接這些組件和其他電子設備了。我在三根電源線的一側添加了電纜鞋并將它們連接到IEC連接器:

在三根電源線的一側添加電纜鞋并連接到IEC連接器。

可以交換相位和中性線(歐洲的棕色和藍色,美國的黑色/紅色和白色)。然而,地球連接必須在中間。我將相連接到電源插座并將中性線連接到繼電器的COM2端子,然后將繼電器的NO2(常開)端子連接到插座:

將相位連接到電源插座并將中性線連接到COM2端子在將繼電器的NO2(常開)端子連接到插座之前的繼電器。

然后我將必要的電纜添加到DC插頭。它們用于向微控制器和繼電器提供電壓。最后要做的是連接繼電器和MCU,如上所述。然后我將熱縮管添加到關鍵部分以防止短路并測試組件:

將必要的電纜添加到DC插頭。

一旦一切都適合,收起電纜并關閉外殼。

軟件

在MCU上運行的軟件將您連接到無線網絡,并像在Web服務器上一樣接受端口80上的客戶端請求。然后,您可以通過任何Web瀏覽器訪問該設備:

通過任何網絡瀏覽器訪問設備。

我不會討論詳細的代碼,以保持文章簡短。但是,我詳細記錄了源代碼,因此應該很容易理解。它可以在文章末尾找到。

結論

正如你所看到的,它是構建這樣的設備并不是非常困難。大部分工作都是由軟件完成的。雖然這是最基本的方法,但您可以添加傳感器,計時器和其他設備來自動控制連接的設備。此外,如果您計劃在無人看管的情況下使用此設備,我建議添加保險絲

完整的項目代碼

#include

#define RELAY_PIN D2

const char* ssid = “YOUR_WIFI_NETWORK”;

const char* pass = “YOUR_NETWORKS_PASSWORD”;

WiFiServer server(80);

void setup()

{

Serial.begin(9600);

// You could add an EEPROM to store the last state if the device gets powered off.

// See: https://maker.pro/arduino/tutorial/how-to-permanently-store-data-on-your-arduino

//

// It‘s also possible to store the website and stylesheets/additional scripts on an SD

// card and display the files to a client when they connect.

// See: https://maker.pro/arduino/tutorial/how-to-use-an-sd-card-with-your-arduino

//

// However, this simple example will always start with the relay turned on and a very

// basic HTML page with two buttons.

pinMode(RELAY_PIN, OUTPUT);

digitalWrite(RELAY_PIN, HIGH);

// Connect to your local network

WiFi.begin(ssid, pass);

while (WiFi.status() != WL_CONNECTED)

delay(250);

Serial.print(“Connected to network: ”);

Serial.println(ssid);

// Start the server

// A client will connect to this server to change the state of the relay

server.begin();

Serial.print(“Server started with address: ”);

Serial.print(“http://”);

Serial.print(WiFi.localIP());

Serial.println(“/”);

}

void loop()

{

// Check for incoming connections

WiFiClient client = server.available();

if (!client)

return;

// Wait for the client to send data

while(!client.available())

delay(5);

// Read the first line of the HTTP request

// which will contain something like

// METHOD /requested_url HTTP_VERSION

// for example:

// PUT /dev2?relay=1&state=on HTTP/1.1

// However, for the sake of simplicity this device will

// respond to GET requests so that they can be sent with

// any web browser. Requests to this device will look

// similar to this:

// GET /state=on HTTP/1.1

String request = client.readStringUntil(’ ‘);

client.flush();

int state = 0, error = 0;

// Check, whether the request contains “/state=”

if (request.indexOf(“state=”) != -1)

{

// HIGH and LOW are swapped in this program because my

// relay is turned on when its input pin is pulled LOW.

if(request.indexOf(“state=on”) != -1)

{

digitalWrite(RELAY_PIN, HIGH);

state = LOW;

}

else if (request.indexOf(“state=off”) != -1)

{

digitalWrite(RELAY_PIN, LOW);

state = HIGH;

}

else

{

error = 1;

Serial.print(“Unknown request: ”);

Serial.println(request);

}

}

// Return the response

// If no error occurred, send an HTML page with two buttons

// so that the device can be managed.

// Otherwise, send an error message

if(error == 0)

{

// Return a response header

client.println(“HTTP/1.1 200 OK”);

client.println(“Content-Type: text/html”);

// The HTTP response body is separated from the header by an empty line

// (actually a line containing , but this will work)

client.println(“”);

// Return the response body (an html page)

client.println(“”);

client.println(“”);

client.println(“”);

client.println(“”);

client.println(“”);

client.print(“The relay is turned ”);

client.print(state==HIGH?“on”:“off”);

client.println(“

”);

client.println(“Change state:”);

client.println(“Device on”);

client.println(“Device off”);

client.println(“”);

client.println(“”);

}

else

{

// Return a response header

client.println(“HTTP/1.1 400 Bad Request”);

client.println(“Content-Type: text/html”);

client.println(“”);

client.println(“”);

client.println(“Unknown request parameter supplied!

”);

client.println(“Back to main page”);

client.println(“”);

}

}

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

    關注

    133

    文章

    5429

    瀏覽量

    150944
  • ESP8266
    +關注

    關注

    51

    文章

    965

    瀏覽量

    46975
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    ESP8266燒錄與機智云一鍵配網教程

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

    繼電器自動化控制中的作用

    在現代工業自動化和控制系統中,繼電器作為一種電氣控制元件,其作用不容小覷。繼電器能夠根據輸入信號(如電壓、電流、溫度、壓力等)的變化,自動或手動切換電路,從而
    的頭像 發表于 12-28 10:52 ?900次閱讀

    時間繼電器自動化中的應用

    隨著工業自動化技術的不斷發展,時間繼電器作為一種基本的控制元件,在自動化控制系統中扮演著越來越重要的角色。時間繼電器能夠實現對電氣設備的延時
    的頭像 發表于 12-09 10:25 ?1911次閱讀

    ESP8266 太空人動畫的 OLED 顯示

    ESP8266 太空人動畫的 OLED 顯示
    的頭像 發表于 10-08 15:06 ?639次閱讀
    <b class='flag-5'>ESP8266</b> 太空人動畫的 OLED 顯示

    ESP8266 通過 MQTT 協議實現 LED 的遠程控制

    本文簡要介紹了搭建 EMQX 服務器實現基于 MQTT 協議遠程控制 NodeMCU ESP8266 板載 LED 的解決方案。
    的頭像 發表于 09-25 09:11 ?2883次閱讀
    <b class='flag-5'>ESP8266</b> 通過 MQTT 協議<b class='flag-5'>實現</b> LED 的遠程控制

    esp32和esp8266代碼共用嗎

    本文將介紹ESP32和ESP8266兩款流行的微控制器在代碼共用性方面的可能性與差異性。 一、引言 隨著物聯網技術的飛速發展,越來越多的智能設備開始進入我們的生活。其中,ESP32和ESP82
    的頭像 發表于 08-19 18:23 ?2189次閱讀

    esp8266esp32區別是什么

    以下是關于ESP8266ESP32的主要區別: 處理器和架構 : ESP8266 :使用一個Tensilica L106 80MHz的處理器,屬于Xtensa架構。 ESP32 :使
    的頭像 發表于 08-19 18:16 ?6981次閱讀

    esp8266不燒錄可以使用嗎

    ESP8266是一款非常流行的Wi-Fi模塊,廣泛應用于物聯網項目中。然而,如果不進行燒錄,ESP8266將無法正常工作。 1. ESP8266簡介 ESP8266是一款由Espres
    的頭像 發表于 08-19 17:28 ?1563次閱讀

    esp8266wifi模塊怎么連接手機

    ESP8266 WiFi模塊連接手機主要可以通過兩種方式實現: 通過路由器連接(STA模式)和直接作為熱點連接(AP模式) 。以下是兩種連接方式的步驟: 一、通過路由器連接(STA模式) 配置
    的頭像 發表于 08-19 17:27 ?7242次閱讀

    機智云ESP8266開發RGB彩燈控件

    隨著智能家居技術的迅猛發展,RGB彩燈控件正逐漸成為現代家庭不可或缺的一部分。在這一潮流中,機智云(Gizwits)的ESP8266開發RGB彩燈控件以其先進的物聯網技術和多樣的燈
    的頭像 發表于 08-09 08:10 ?701次閱讀
    機智云<b class='flag-5'>ESP8266</b>開發<b class='flag-5'>板</b>RGB彩燈控件

    如何在ESP8266實現wifi direct?

    我想知道是否有任何機會在ESP8266實現 wifi direct。在官方文檔中,wifi direct似乎受支持,但我找不到任何示例或AT命令讓我在上設置此模式。 有這方面的
    發表于 07-19 14:43

    ESP8266控制繼電器,芯片會頻繁復位的原因?

    事情是這樣的,我們通過8266控制繼電器8266的電源是220V轉3.3V,繼電器的電源和8266
    發表于 07-19 10:51

    如何讓Windows 8自動連接到ESP8266

    有沒有辦法讓 Windows 8 自動連接到ESP8266,而不考慮同一臺 PC 中的有線以太網連接? 我還注意到,由于每個頁面之前都會暫停,連接到ESP8266使我的以太網互聯網變慢 - 直到
    發表于 07-18 08:08

    ESP8266網絡天氣時鐘OLED顯示

    基于ESP8266實現網絡獲取天氣和時鐘并OLED顯示
    的頭像 發表于 06-28 04:46 ?2094次閱讀
    <b class='flag-5'>ESP8266</b>網絡天氣時鐘OLED顯示

    繼電器在工業自動化領域的應用

    隨著工業自動化技術的不斷發展,繼電器作為電氣控制系統中不可或缺的元件,在工業自動化領域發揮著越來越重要的作用。繼電器通過控制電路的通斷,實現
    的頭像 發表于 06-24 11:53 ?1472次閱讀
    主站蜘蛛池模板: 久久亚洲一级毛片 | 人与牲动交xx | 黄a在线| avt天堂网| 35qao强力打造免费上线高清 | 国产精品久久久久久久9999 | 国产亚洲第一伦理第一区 | 欧美日韩一区二区三区视频 | 国产视频三级 | 国产午夜在线观看视频播放 | 波多野吉衣一区二区三区在线观看 | 欧美黑粗特黄午夜大片 | 亚洲综合色dddd26 | 亚洲国产精品乱码一区二区三区 | 天天综合色天天综合 | 亚洲四虎在线 | 日本免费黄色大片 | 亚洲va欧美va国产综合久久 | 理论片免费午夜 | 天天综合日日噜噜噜 | 9久热久re爱免费精品视频 | 天天爽天天狼久久久综合 | 亚洲jjzzjjzz在线观看 | 色www国产阿娇 | 加勒比日本在线 | 国产婷婷高清在线观看免费 | 米奇色影院 | 天堂网免费 | 欧美xxxx色视频在线观看 | h视频在线免费 | 你懂的在线免费观看 | 甘婷婷一级毛片免费看 | 在线观看免费av网站 | 亚洲精品理论 | 国产乱理论片在线观看理论 | 亚洲第一区视频 | 97影院午夜在线观看视频 | 亚洲欧美精品一区二区 | 亚洲色图久久 | 98色花堂永久地址国产精品 | 一区二区三区无码高清视频 |