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