24小時(shí)聯(lián)系電話(huà):18217114652、13661815404
中文
行業(yè)資訊
ESP8266 入門(mén)
ESP8266 入門(mén)
如果您現在還沒(méi)有聽(tīng)說(shuō)過(guò)物聯(lián)網(wǎng) (IoT) 運動(dòng),那么您可能一直生活在困境中。如今,幾乎所有嵌入式設備都以一種或另一種方式連接到互聯(lián)網(wǎng),以收集數據或將數據發(fā)送到云端。然后可以根據處理數據的服務(wù)器設置的不同條件來(lái)分析和/或操作該數據。為了將數據傳輸到云端,我們需要智能、可靠且廉價(jià)的互聯(lián)網(wǎng)連接設備來(lái)幫助我們完成這一過(guò)程。雖然大多數物聯(lián)網(wǎng)設備都可以使用功能強大的嵌入式計算設備(例如Raspberry Pi 4)開(kāi)發(fā),但我們的大多數應用程序都可以通過(guò)廉價(jià)、低功耗的設備實(shí)現。
大多數人都會(huì )同意 Arduino 是同類(lèi)產(chǎn)品中第一個(gè)最簡(jiǎn)單、最便宜的微控制器平臺。它在整個(gè) Maker 社區中的擴散證明了這一點(diǎn)。作為公司和用戶(hù),社區發(fā)展壯大,Arduino Shields和設備本身也在發(fā)展。屏蔽(和一些較新的 Arduino 設備)增加了急需的互聯(lián)網(wǎng)連接支持,使 Arduinos 成為真正的物聯(lián)網(wǎng)設備。
進(jìn)入ESP8266 MCU。這只小狗有一個(gè)微控制器 + 板載 Wi-Fi。將其與 Arduino IDE(通過(guò)使用外部庫包)相結合,您現在擁有一個(gè)內置 Wi-Fi 的超便宜、類(lèi)似 Arduino 的設備。像HiLetgo的NodeMCU板這樣的板是完全獨立的,可以像 Arduino 上的較小版本一樣工作。在本文中,我們將學(xué)習如何開(kāi)始使用HiLetgo的NodeMCU 板,并通過(guò)一些示例來(lái)運行任何基于 ESP8266 的評估板(由 Arduino IDE 庫支持)。
開(kāi)始設置
本教程假設您已安裝并運行Arduino IDE軟件。以下步驟將引導您在 Arduino IDE 環(huán)境中配置 ESP8266 板。
轉到文件 > 首選項并將以下 URL 粘貼到“其他板管理器 URL”字段中:http :
//arduino.esp8266.com/stable/package_esp8266com_index.json
圖 1:Arduino IDE 首選項
轉到“工具”>“板”>“板管理器”……
搜索“esp8266”并按 Enter。一旦“esp8266”庫出現,點(diǎn)擊安裝。
圖 2:Arduino IDE 板管理器
現在將 Micro-USB 電纜插入您的電路板并根據您的電路板類(lèi)型進(jìn)行配置。在此示例中,我們使用HiLetgo的NodeMCU 板,因此我們需要配置更多板特定設置:
導航到工具 > 開(kāi)發(fā)板,然后單擊“NodeMCU 1.0(ESP-12E 模塊)”
導航到“工具”>“閃存大小”并單擊“4MB (FS:3MB OTA:~512KB)”
導航到“工具”>“CPU 頻率”并單擊“80 MHz”
導航到“工具”>“上傳速度”,然后單擊“921600”
導航到工具 > 端口并選擇與您的設備關(guān)聯(lián)的 COM 端口
你好世界:閃爍的 LED
在軟件中,人們通常使用新語(yǔ)言或設置執行的最基本的測試是“Hello World”測試。這個(gè)概念很簡(jiǎn)單:在屏幕上打印“Hello World”。對于嵌入式系統,閃爍的 LED 很像相同的想法。閃爍的 LED 始終是測試微控制器是否正常工作的好方法,因為它讓我們知道電路良好,例如電源、路由和其他電子設備。它還讓我們知道編譯的代碼已被接受并加載到設備上,沒(méi)有任何問(wèn)題。
要開(kāi)始使用固定的閃爍 LED 草圖,請導航到文件 > 示例 > ESP8266,然后單擊“閃爍”。此示例草圖將打開(kāi)和關(guān)閉 LED。點(diǎn)擊左上角的“上傳”按鈕:
圖 3:Arduino IDE 上傳按鈕
一旦設備被編程,你應該看到 NodeMCU 板的 LED 每隔一秒左右閃爍一次。
測試 Wi-Fi
正如介紹中提到的,在 Arduino 環(huán)境中使用 ESP8266 的整個(gè)想法是獲得一個(gè)帶有 Wi-Fi 的一體式、廉價(jià)、類(lèi)似 Arduino 的設備。為了利用這一點(diǎn),我們將要探索我們之前安裝的 ESP8266 庫附帶的一些 Wi-Fi 草圖示例。
讓我們導航到文件 > 示例 > ESP8266HTTPClient 并單擊“BasicHttpClient”。這將展示設備連接到 Wi-Fi 網(wǎng)絡(luò )并從網(wǎng)頁(yè)獲取內容的能力。在第 35 行左右,您將看到以下代碼:
WiFiMulti.addAP("SSID", "密碼");
將“SSID”替換為您路由器的 Wi-Fi SSID,將“PASSWORD”替換為您的 Wi-Fi 密碼。如果遇到問(wèn)題,要記住的一件事是處理非字母數字字符。例如,如果您的路由器 SSID 是“我是路由器”,則有可能無(wú)法正確捕獲撇號。為獲得最佳效果,請確保使用僅包含數字和字母的 SSID。
替換 SSID 和密碼后,請繼續上傳草圖。草圖上傳到設備后,導航到工具并單擊“串行監視器”。串行監視器輸出應如下所示:
[SETUP] WAIT 3...
[SETUP] WAIT 2...
[SETUP] WAIT 1...
[HTTP] begin...
[HTTP] GET...
[HTTP] GET... code: 200
<HTML >
<HEAD>
<TITLE>Connection Header</TITLE>
</HEAD>
<BODY>
<P>
<IMG ALT="Jigsaw" BORDER="0" WIDTH=" 212"
HEIGHT="49" SRC="/icons/jigsaw">
<H1>
標題
</H1>
<P>
此頁(yè)面將為您提供以下標題:
<P >
<CODE>ExtensionHeader: ExtensionValue<BR>
連接:擴展頭</CODE>
<P>
如果您通過(guò)代理獲取此頁(yè)面,您應該<I>看不到</I>
<I>ExtensionHeader</I> !
<P>
<HR>
<BR>
<A HREF="mailto:jigsaw@w3.org">jigsaw@w3.org</A>
</BODY></HTML>
恭喜!您現在已成功將 ESP8266 設備連接到互聯(lián)網(wǎng)。
ESP8266 和 MQTT
在MQTT 入門(mén)中,我們回顧了MQTT的概念以及如何使用以太網(wǎng)擴展板設置帶有 Adafruit IO 的 Arduino Uno。這就是像 NodeMCU 這樣的設備真正閃耀的地方。我們能夠以低于 Arduino Uno 本身的成本組裝一個(gè)完整的啟用 MQTT 的設備,而無(wú)需任何外部屏蔽(因為我們內置了 Wi-Fi)。首先,我們將使用MQTT 入門(mén)中演示的相同示例除了我們將獲取特定于 ESP8266 模塊的草圖。導航到文件 > 示例 > Adafruit MQTT 庫,然后單擊“mqtt_esp8266”。就像在上面的 HttpClient 示例中一樣,我們需要在第 24 行附近提供 Wi-Fi SSID 和密碼。我們還需要輸入我們的 Adafruit IO 用戶(hù)名和密鑰(再往下幾行)。有關(guān)設置 Adafruit IO 帳戶(hù)或如何獲取密鑰的說(shuō)明,請參閱MQTT 入門(mén)。填寫(xiě)完所有連接詳細信息并上傳草圖后,您應該會(huì )在串行監視器(工具 > 串行監視器)中看到類(lèi)似的輸出:
......
WiFi 連接的
IP 地址:
192.168.68.136
連接到 MQTT。 .. MQTT 已連接!
發(fā)送光電管 val 0...OK!
發(fā)送光電管 val 1...OK!
發(fā)送光電管 val 2...OK!
發(fā)送光電管 val 3...OK!
您現在可以導航到 Adafruit IO 上的光電池饋送,以觀(guān)察從您的 ESP8266 模塊發(fā)送到您的 Adafruit IO MQTT 代理的數據。這是我自己的提要在一段時(shí)間后的樣子:
圖 4:在 Adafruit IO 上觀(guān)察到的 MQTT 數據