概述
盡管ESP8266 WiFi模塊的主要目的是將互聯(lián)網(wǎng)連接引入我們的小型DIY項(xiàng)目,但我相信到目前為止我們還沒有完全利用ESP8266 WiFi模塊的功能,即一個(gè)真正的IoT(物聯(lián)網(wǎng))項(xiàng)目。
我想通過互聯(lián)網(wǎng)實(shí)際控制ESP8266,讓ESP8266項(xiàng)目更進(jìn)一步。在這個(gè)過程中,我們將學(xué)習(xí)如何通過互聯(lián)網(wǎng)控制連接到ESP8266 WiFi模塊的一個(gè)GPIO引腳的LED(僅用于演示工作)來控制ESP8266,即ESP8266的另一個(gè)網(wǎng)絡(luò)未連接到
這與WiFi控制的LED項(xiàng)目有什么不同?
非常好題。這個(gè)項(xiàng)目和早期的項(xiàng)目實(shí)際上有兩個(gè)不同之處。第一個(gè)區(qū)別是ESP8266 WiFi模塊是如何控制的。在之前的項(xiàng)目中,我通過WiFi網(wǎng)絡(luò)控制ESP8266,即通過與ESP8266連接到同一網(wǎng)絡(luò)的計(jì)算機(jī)或電話控制ESP8266。
來到這個(gè)項(xiàng)目,目的是是通過互聯(lián)網(wǎng)控制ESP8266,即通過互聯(lián)網(wǎng)連接從世界任何地方的計(jì)算機(jī)或電話控制。
第二個(gè)區(qū)別是ESP8266 WiFi模塊的配置方式。如果你還記得,我特別提到ESP8266 WiFi模塊必須用AT命令固件刷新,我們將通過上傳到Arduino的程序控制ESP8266。
但是,在這個(gè)項(xiàng)目中,我將直接將代碼上傳到ESP8266 WiFi模塊的ROM中(現(xiàn)有的程序或固件將被刪除)。
現(xiàn)在我們已經(jīng)看到了差異,讓我們繼續(xù)進(jìn)行項(xiàng)目的電路圖和電路設(shè)計(jì)。
電路圖
以下電路用于通過互聯(lián)網(wǎng)控制ESP8266。讓我們先看一下這些組件,然后詳細(xì)解釋電路的設(shè)計(jì)。
下圖顯示了電路圖中使用的ESP8266 WiFi模塊的引腳。有關(guān)實(shí)際引腳圖,請(qǐng)參閱開始使用ESP8266和ARDUINO 項(xiàng)目。
必需的組件
Arduino UNO(作為USB轉(zhuǎn)串口轉(zhuǎn)換器)
ESP8266(ESP-01)WiFi模塊
滑動(dòng)開關(guān)(SPDT開關(guān))
按鈕
1KΩ電阻(1/4瓦)
2.2KΩ電阻(1/4瓦)
330Ω電阻(1/4瓦)
LED
連接電線
迷你面包板
注意:
Arduino UNO用作USB轉(zhuǎn)串口轉(zhuǎn)換器。所以,我已經(jīng)從Arduino UNO Board中移除了ATmega328p微控制器。如果您有專用的USB轉(zhuǎn)串口轉(zhuǎn)換器(USB轉(zhuǎn)TTL),那么您將不需要Arduino。
此外,我已經(jīng)制作了一個(gè)簡(jiǎn)單的ESP8266分線板一個(gè)名為 DIY PCB FOR ESP8266 的早期項(xiàng)目。它包含與ESP8266 WiFi模塊相關(guān)的所有重要組件。我將在此項(xiàng)目中使用相同的電路板。
電路設(shè)計(jì)
將ESP8266的VCC和GND連接到Arduino的3.3V和GND。 CH_PD引腳也連接到3.3V電源。按鈕連接在復(fù)位引腳和GND之間。
ESP8266 WiFi模塊的TX引腳連接到Arduino的TX引腳,ESP8266的RX引腳連接到連接到Arduino的RX引腳,但通過一個(gè)由兩個(gè)電阻(1KΩ和2.2KΩ)組成的分壓器。
LED連接到ESP8266的GPIO2引腳。最后,GPIO0引腳連接到SPDT開關(guān)的極點(diǎn)(滑動(dòng)開關(guān)的中心端子)。開關(guān)的一個(gè)投射端子連接到GND,另一個(gè)投射端子保持打開,但可以用于GPIO連接。
代碼
必須將以下程序上傳到ESP8266 WiFi模塊。它將設(shè)置WiFi連接并創(chuàng)建一個(gè)簡(jiǎn)單的HTML頁(yè)面,可以使用ESP8266的IP地址進(jìn)行訪問。
注意:
在將代碼上傳到ESP8266之前,請(qǐng)確保在Arduino Boards部分中選擇了“Generic ESP8266 Module”。
有關(guān)如何將程序上傳到ESP8266的更多信息,請(qǐng)參閱ESP8266和Arduino項(xiàng)目入門。
在代碼中輸入WiFi網(wǎng)絡(luò)的詳細(xì)信息。
我已將ESP8266 WiFi模塊的靜態(tài)IP地址分配為“192.168.1.254”。在確認(rèn)沒有其他具有此IP地址的設(shè)備后,我選擇了此地址。分配靜態(tài)IP地址時(shí),請(qǐng)確保相同。
除靜態(tài)IP地址外,還必須提供其他信息,如默認(rèn)網(wǎng)關(guān)和子網(wǎng)掩碼。您可以通過在Windows的命令提示符下鍵入“ipconfig”來找到它。
工作
要上傳代碼,將GPIO0引腳滑動(dòng)到編程模式(將GPIO0連接到GND),然后按RESET開關(guān)。在Arduino IDE中選擇正確的板和端口后,上傳代碼。
上傳代碼后,將開關(guān)滑動(dòng)到正常模式并按一下RESET按鈕。打開串行監(jiān)視器。在那里,您可以看到WiFi連接的詳細(xì)信息。
您還可以看到ESP8266 WiFi模塊的IP地址。由于我分配了一個(gè)靜態(tài)IP地址,我會(huì)得到相同的。如果您已選擇不分配靜態(tài)IP地址,則使用路由器分配的地址。
在代碼中,我在端口255創(chuàng)建了服務(wù)器。所以,服務(wù)器的URL將是http://192.168.1.254:255 。
在連接到同一WiFi網(wǎng)絡(luò)的計(jì)算機(jī)或手機(jī)中打開網(wǎng)絡(luò)瀏覽器并輸入以上內(nèi)容提到的URL。將打開一個(gè)簡(jiǎn)單的HTML頁(yè)面,其中包含少量文本和鏈接。下圖是已打開URL的手機(jī)的屏幕截圖。
您可以點(diǎn)擊指向的特定鏈接在本地控制LED,即在WiFi網(wǎng)絡(luò)內(nèi)。
如何通過互聯(lián)網(wǎng)控制ESP8266?
現(xiàn)在是通過互聯(lián)網(wǎng)控制ESP8266 WiFi模塊的技巧部分。有兩種方法可以實(shí)現(xiàn)這一目標(biāo)。一種方法是使用端口轉(zhuǎn)發(fā),我將在此項(xiàng)目中使用,另一種方法是使用專用的遠(yuǎn)程服務(wù)器,如ThingSpeak或aREST。
我已經(jīng)設(shè)置我的ESP8266 WiFi模塊的靜態(tài)IP地址,下一步是繼續(xù)進(jìn)行端口轉(zhuǎn)發(fā)。
從任何瀏覽器打開路由器頁(yè)面并使用路由器登錄詳細(xì)信息登錄。轉(zhuǎn)到路由器的Port Forwarding頁(yè)面(取決于路由器,在我的情況下是我的WAN設(shè)置)。
啟用端口轉(zhuǎn)發(fā)并提供本地服務(wù)器IP地址等必要的詳細(xì)信息( ESP8266的靜態(tài)IP地址),端口號(hào)等,并保存設(shè)置。
現(xiàn)在,轉(zhuǎn)到具有高級(jí)安全設(shè)置的Windows防火墻并添加新的入站規(guī)則。選擇“端口”的規(guī)則類型并指定端口號(hào)。
打開任何Web瀏覽器并搜索“我的IP地址是什么”。它會(huì)生成路由器的WAN IP地址。請(qǐng)記下來。
現(xiàn)在,從另一臺(tái)計(jì)算機(jī)(任何未連接到與ESP8266相同的WiFi網(wǎng)絡(luò)的計(jì)算機(jī)),鍵入您剛才記下的IP地址端口號(hào)。例如,如果您的IP地址是183.92.192.58且端口號(hào)是255,則在任何Web瀏覽器中鍵入“183.92.192.58:255”。您現(xiàn)在將獲得用于控制LED的HTML頁(yè)面。
重要說明:
建議不要使用端口轉(zhuǎn)發(fā),因?yàn)樗鼤?huì)將計(jì)算機(jī)打開到外部,并且很容易受到病毒或惡意軟件的攻擊?!?span》
此外,還有許多ISP(Internet服務(wù)提供商)不允許端口轉(zhuǎn)發(fā)。
另一種方法是使用ThingSpeak或aREST等專用安全服務(wù)器。
下一個(gè)項(xiàng)目,我將向您展示如何使用其中一種服務(wù)從互聯(lián)網(wǎng)上控制ESP8266。
-
Internet
+關(guān)注
關(guān)注
0文章
400瀏覽量
36980 -
ESP8266
+關(guān)注
關(guān)注
50文章
963瀏覽量
45875
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
把esp8266加入到c51單片機(jī)單通道程序怎么寫
ESP8266 通過 MQTT 協(xié)議實(shí)現(xiàn) LED 的遠(yuǎn)程控制

esp32和esp8266代碼共用嗎
esp8266和esp32區(qū)別是什么
ESP8266需要燒錄固件庫(kù)嘛
esp8266不燒錄可以使用嗎
esp8266wifi模塊怎么連接手機(jī)
請(qǐng)問如何從ESP8266共享互聯(lián)網(wǎng)?
utuntu環(huán)境下,ESP32和ESP8266設(shè)置環(huán)境變量時(shí)有沖突,怎樣兼容呢?
國(guó)產(chǎn)低成本W(wǎng)i-Fi SoC解決方案芯片ESP8266與ESP8285對(duì)比差異

使用Wi-Fi ESP8266方案模組接入云平臺(tái)

評(píng)論