ESP8266是一款價格十分親民的wifi模塊,在某寶上一塊ESP8266開發板只要10幾塊錢!可以買來玩玩一些物聯網相關的小項目。
ESP8266的開發方式有多種,目前我了解到的有:
使用Arduino IDE開發,沿用Arduino的開發風格,簡單易上手
使用ESP8266官方的SDK開發
使用MicroPython開發,沿用Python的編程風格,此方式需要先給板子燒寫一個特殊的固件
因為我之前玩過Arduino,而且Arduino編程簡單易操作,所以就選擇先使用Arduino IDE來玩一玩ESP8266。
1 安裝Arduino IDE
Arduino官網下載IDE:https://www.arduino.cc/en/software,我之前安裝的版本是Arduino IDE 1.8.16,目前又有新版本的,可以安裝最新的,不過基礎功能相差不大。
根據自己使用的平臺,點擊右側的下載。
我下載得到arduino-1.8.16-windows.exe安裝文件,常規的“下一步”的安裝方式安裝即可。
安裝完之后,打開,可以看到我的軟件里已經有了Arduino AVR和ESP8266的開發環境(注:ESP8266的開發環境是我在舊版本的Arduino IDE中安裝過,安裝新版本IDE后,之前的配置也會自動加載進來),如果你之前沒有配置過ESP8266,IDE中應該默認只有Arduino AVR這一項。
2 卸載舊的ESP8266開發包(可選)
因為我之前安裝過2.6.3版本的ESP8266,那我就先卸載掉,再安裝一個更新版本(3.0.1)的ESP8266安裝包。
卸載舊的ESP8266安裝包
在文件管理器地址欄輸入 %LOCALAPPDATA%/Arduino15/packages,回車進入,然后刪除掉其中的esp8266文件夾即可卸載
3 安裝ESP8266開發包
因為Arduino IDE默認是給Arduino開發板用的,默認只有Arduino開發板的相關開發資源。要想在在Arduino IDE中使用ESP8266,需要額外安裝ESP8266的開發包。安裝方式有兩種,一種是在線安裝,一種是使用離線包安裝。
3.1 在線安裝(不推薦)
在線方式需要連網下載安裝包,對網絡環境要求較高,不推薦這種,因為經常因網絡原因安裝失敗。不過還是要簡單介紹一下這種安裝方式。
在Arduino IDE下載ESP8266開發包,首先是找到菜單里的:文件->首選項
然后在“附件開發板管理網址”中輸入: http://arduino.esp8266.com/stable/package_esp8266com_index.json
接著在:工具->開發板->開發板管理器,點擊開發板管理器
輸入esp8266,查看esp8266搜索結果,在線安裝。
在線安裝會很慢,容易失敗。
3.2 離線安裝(推薦)
使用下載好的離線安裝包(exe文件),一鍵安裝,十分的方便
注:我的離線包是從這里下載的:https://www.arduino.cn/thread-76029-1-1.html
安裝后,就可以看到ESP8266的相關資源了。
4 簡單測試程序
編寫一個簡單的連網測試程序,測試一下ESP8266的基本功能。
4.1 Arduino編程快速上手
Arduino編程非常容易上手,它的基礎框架就是一個初始和一個主循環:
//初始化
void setup()
{
Serial.begin(9600);
Serial.println("esp8266 test");
initWiFi();
}
//主循環
void loop()
{
Serial.println("hello esp8266");
delay(1000);
}
初始化就是setup函數,我們可以在這里進行一些基礎的初始化,比如串口初始化就是調用:
Serial.begin(9600);
指定波特率9600,這個串口也是板子的供電口和程序下載口,通過Arduino IDE自帶的串口監視器即可查看串口輸出信息,不用再打開其它的串口助手之類的軟件,用起來十分的方便。
此外,還可以將自己寫的一些初始化函數放到setup函數中,用于程序開機時初始化,比如我們自己寫的WIFI初始化函數:initWiFi()。
主循環就是loop函數,類似于單片機開發中的main函數里的while(1){},我們可以在這里進行程序邏輯代碼的編寫,比如每隔1秒循環打印一些信息:
Serial.println("hello esp8266");
delay(1000);
這個delay函數也是Arduino自帶的,單位是毫秒。
4.2 WIFI連網測試程序
Arduino的編程語言,其實就是C++,當然也支持包含頭文件以及類的操作。
比如要使用WIFI功能,需要先包含ESP8266WiFi.h這個頭文件。
ESP8266WiFi這個庫的內部已經幫我們實現了各種WIFI操作的各種功能函數,我們只需要實例化一個WiFiClient對象,就可以操作實現各種功能了:
#include
const char ssid[] = "xxxxx"; //WiFi名
const char pass[] = "xxxxx"; //WiFi密碼
WiFiClient client;
WIFI初始化的流程也很簡單,主要有3步:
配置WIFI為Station模式,即我們的ESP8266作為一個WIFI使用設備
關于WIFI的工作模式(STA模式與AP模式,可參考我之前的文章:)
傳入WIFI熱點的ssid和密碼,使得ESP8266連接到熱點
讀取WIFI連接狀態,等待連接成功
//初始化WIFI
void initWiFi()
{
Serial.print("Connecting WiFi...");
WiFi.mode(WIFI_STA); //配置WIFI為Station模式
WiFi.begin(ssid, pass); //傳入WIFI熱點的ssid和密碼
while (WiFi.status() != WL_CONNECTED) //等待連接成功
{
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP()); //打印自己的IP地址
}
4.3 測試效果
Arduino的操作界面也十分的簡潔,最左邊的編譯,第二個是編譯+燒錄,最右邊那個放大鏡圖標是串口監視器,可以直接查看板子的串口輸出。比如運行我們的測試程序后,就可以看到如下的串口打印信息了:
另外,注意在編譯和下載時,要選對開發板的型號和串口號:
5 總結
本篇介紹了Arduino IDE的安裝、ESP8266開發包的安裝以及Arduino編程的快速入門來測試ESP8266的連網功能。
-
嵌入式
+關注
關注
5082文章
19123瀏覽量
305151 -
IDE
+關注
關注
0文章
338瀏覽量
46754 -
Arduino
+關注
關注
188文章
6469瀏覽量
187056 -
ESP8266
+關注
關注
50文章
962瀏覽量
45001
發布評論請先 登錄
相關推薦
評論