步驟1:組裝
我們組裝的電路非常簡單,并且組裝非常緊湊。我們在后面的區域中使用聚苯乙烯板將所有東西固定在原位。該板還用于輔助電源箱內部的裝配,并避免暴露于組件中,因為它可用于控制住宅中的各種設備,例如空調,燈具等。
然后,我們使用開關電源,我將其從110或220伏轉換為5伏。我們還有一個3v3穩壓器AM1117。我們使用了兩個GPIO,并插入了中繼板輸入。重要的是要記住,使用ESP8266,我們必須采取一些預防措施,例如將引腳接地。
步驟2:Arduino IDE中的ESP8266
重要的是要記住,在編寫ESP8266時,需要將此設備的庫加載到Arduino中。為此,您應該使用1.6.4版的IDE。現在轉到首選項和“其他Board Manager URL”并添加URL:http://arduino.esp8266.com/stable/package_esp8266com_index.json
然后,轉到Tools》 Boards》 Boards Manager。 。.
在搜索中,輸入esp8266并安裝“ esp8266 by ESP8266 Community”軟件包。
現在,您可以從卡列表中選擇ESP8266
***在今天的安裝中,ESP866將是一臺服務器。因此,您將拿起智能手機,它將連接到設備的IP中,這意味著您可以訪問它,并且它將為您提供一個頁面。
在視頻中,您可以看到有關以下內容的演示:
步驟3:源代碼
第一步是包含一個供我們控制ESP8266 WiFi的lib。之后,我們將創建一個變量,該變量將保存對將在端口80上運行的服務器的引用。我們選擇端口80的原因是,這是http協議的默認端口,并且我們將使用瀏覽器連接到
//Includes the lib for Wifi
#include
//Creates a server on port 80 (this is the default port for http requests)
WiFiServer server(80);
步驟4:設置
在設置中,我們將僅初始化Serial,以便使用
我們將使用GPIO0和GPIO2作為輸出,并使用LOW初始化初始狀態。
void setup()
{
//Initializes the Serial just for logging
Serial.begin(115200);
//Sets GPIO0 and GPIO2 as output, so we can change their value
pinMode(0, OUTPUT);
pinMode(2, OUTPUT);
//Puts the GPIO0 and GPIO2 in LOW output
digitalWrite(0, LOW);
digitalWrite(2, LOW);
我們現在將其稱為WiFi.begin(“ ssid”, “ password”)將ESP8266連接到路由器。在該示例中,我們具有ssid“ TestESP”和密碼“ 87654321”,但是必須將其替換為將要使用的網絡。
Serial.print(“Connecting”);
//Connects to your WiFi network. In this example the SSID is TestESP and the password is 87654321
WiFi.begin(“TestESP”, “87654321”);
我們將每100毫秒檢查一次查看ESP8266是否已連接到網絡(連接后返回WL_CONNECTED狀態)。
When you leave the “while”, it means
that you have connected.
//While our ESP is trying to connect
while (WiFi.status() != WL_CONNECTED)
{
//Waits for 100 milliseconds
delay(100);
Serial.print(“。”);
}
//Here it‘s already connected, so we’ll just show a feedback on Serial Monitor
Serial.println(“”);
Serial.println(“Connected”);
這是我們放置網絡設置的位置。 IP,網關和掩碼設置必須根據您的網絡進行更改。
//Settings for static ip
IPAddress ip(192, 168, 2, 8);
IPAddress gateway(192, 168, 2, 1);
IPAddress subnet(255, 255, 255, 0);
Serial.print(“Static IP is: ”);
Serial.println(ip);
//Sends the settings to the WiFi router
WiFi.config(ip, gateway, subnet);
現在,我們可以初始化服務器并在串行監視器上查看是否鏈接到ESP8266的IP與我們配置的相同。這是設置的結束。
//Starts the server we created on port 80
server.begin();
//Shows the IP for the server
Serial.print(“Server is on: ”);
Serial.println(WiFi.localIP());
}
步驟5:循環
在程序主循環中,我們會檢查是否有任何客戶端正在嘗試連接,如果連接成功,我們會等到他們返回他們的請求。
void loop()
{
//Checks if there is any client trying to connect
WiFiClient client = server.available();
if (!client)
{
//If there isn‘t, we just return
return;
}
Serial.println(“New Client Connected!”);
我們將請求存儲在變量“ req”中,以便以后知道該怎么做
//Reads the request
String req = client.readStringUntil(’ ‘);
Serial.print(“Request: ”);
Serial.println(req);
最后,我們關閉與客戶端的連接。這樣便完成了循環和代碼。
//Closes the connection
client.stop();
Serial.println(“Client disconnected!”);
}
測試
要進行測試,只需打開瀏覽器并輸入將出現在串行監視器上的ip。單擊操作,然后查看相應的GPIO是否正在更改。
-
繼電器
+關注
關注
132文章
5352瀏覽量
149043 -
ESP8266
+關注
關注
50文章
962瀏覽量
45087
發布評論請先 登錄
相關推薦
評論