ESP8266是一款價(jià)格十分親民的wifi模塊,在某寶上一塊ESP8266開發(fā)板只要10幾塊錢!可以買來(lái)玩玩一些物聯(lián)網(wǎng)相關(guān)的小項(xiàng)目。

ESP8266的開發(fā)方式有多種,目前我了解到的有:
使用Arduino IDE開發(fā),沿用Arduino的開發(fā)風(fēng)格,簡(jiǎn)單易上手
使用ESP8266官方的SDK開發(fā)
使用MicroPython開發(fā),沿用Python的編程風(fēng)格,此方式需要先給板子燒寫一個(gè)特殊的固件
因?yàn)槲抑巴孢^(guò)Arduino,而且Arduino編程簡(jiǎn)單易操作,所以就選擇先使用Arduino IDE來(lái)玩一玩ESP8266。
1 安裝Arduino IDE
Arduino官網(wǎng)下載IDE:https://www.arduino.cc/en/software,我之前安裝的版本是Arduino IDE 1.8.16,目前又有新版本的,可以安裝最新的,不過(guò)基礎(chǔ)功能相差不大。
根據(jù)自己使用的平臺(tái),點(diǎn)擊右側(cè)的下載。

我下載得到arduino-1.8.16-windows.exe安裝文件,常規(guī)的“下一步”的安裝方式安裝即可。
安裝完之后,打開,可以看到我的軟件里已經(jīng)有了Arduino AVR和ESP8266的開發(fā)環(huán)境(注:ESP8266的開發(fā)環(huán)境是我在舊版本的Arduino IDE中安裝過(guò),安裝新版本IDE后,之前的配置也會(huì)自動(dòng)加載進(jìn)來(lái)),如果你之前沒(méi)有配置過(guò)ESP8266,IDE中應(yīng)該默認(rèn)只有Arduino AVR這一項(xiàng)。

2 卸載舊的ESP8266開發(fā)包(可選)
因?yàn)槲抑鞍惭b過(guò)2.6.3版本的ESP8266,那我就先卸載掉,再安裝一個(gè)更新版本(3.0.1)的ESP8266安裝包。
卸載舊的ESP8266安裝包
在文件管理器地址欄輸入 %LOCALAPPDATA%/Arduino15/packages,回車進(jìn)入,然后刪除掉其中的esp8266文件夾即可卸載

3 安裝ESP8266開發(fā)包
因?yàn)锳rduino IDE默認(rèn)是給Arduino開發(fā)板用的,默認(rèn)只有Arduino開發(fā)板的相關(guān)開發(fā)資源。要想在在Arduino IDE中使用ESP8266,需要額外安裝ESP8266的開發(fā)包。安裝方式有兩種,一種是在線安裝,一種是使用離線包安裝。
3.1 在線安裝(不推薦)
在線方式需要連網(wǎng)下載安裝包,對(duì)網(wǎng)絡(luò)環(huán)境要求較高,不推薦這種,因?yàn)榻?jīng)常因網(wǎng)絡(luò)原因安裝失敗。不過(guò)還是要簡(jiǎn)單介紹一下這種安裝方式。
在Arduino IDE下載ESP8266開發(fā)包,首先是找到菜單里的:文件->首選項(xiàng)

然后在“附件開發(fā)板管理網(wǎng)址”中輸入: http://arduino.esp8266.com/stable/package_esp8266com_index.json

接著在:工具->開發(fā)板->開發(fā)板管理器,點(diǎn)擊開發(fā)板管理器

輸入esp8266,查看esp8266搜索結(jié)果,在線安裝。
在線安裝會(huì)很慢,容易失敗。

3.2 離線安裝(推薦)
使用下載好的離線安裝包(exe文件),一鍵安裝,十分的方便

注:我的離線包是從這里下載的:https://www.arduino.cn/thread-76029-1-1.html
安裝后,就可以看到ESP8266的相關(guān)資源了。

4 簡(jiǎn)單測(cè)試程序
編寫一個(gè)簡(jiǎn)單的連網(wǎng)測(cè)試程序,測(cè)試一下ESP8266的基本功能。
4.1 Arduino編程快速上手
Arduino編程非常容易上手,它的基礎(chǔ)框架就是一個(gè)初始和一個(gè)主循環(huán):
//初始化
void setup()
{
Serial.begin(9600);
Serial.println("esp8266 test");
initWiFi();
}
//主循環(huán)
void loop()
{
Serial.println("hello esp8266");
delay(1000);
}
初始化就是setup函數(shù),我們可以在這里進(jìn)行一些基礎(chǔ)的初始化,比如串口初始化就是調(diào)用:
Serial.begin(9600);
指定波特率9600,這個(gè)串口也是板子的供電口和程序下載口,通過(guò)Arduino IDE自帶的串口監(jiān)視器即可查看串口輸出信息,不用再打開其它的串口助手之類的軟件,用起來(lái)十分的方便。
此外,還可以將自己寫的一些初始化函數(shù)放到setup函數(shù)中,用于程序開機(jī)時(shí)初始化,比如我們自己寫的WIFI初始化函數(shù):initWiFi()。
主循環(huán)就是loop函數(shù),類似于單片機(jī)開發(fā)中的main函數(shù)里的while(1){},我們可以在這里進(jìn)行程序邏輯代碼的編寫,比如每隔1秒循環(huán)打印一些信息:
Serial.println("hello esp8266");
delay(1000);
這個(gè)delay函數(shù)也是Arduino自帶的,單位是毫秒。
4.2 WIFI連網(wǎng)測(cè)試程序
Arduino的編程語(yǔ)言,其實(shí)就是C++,當(dāng)然也支持包含頭文件以及類的操作。
比如要使用WIFI功能,需要先包含ESP8266WiFi.h這個(gè)頭文件。
ESP8266WiFi這個(gè)庫(kù)的內(nèi)部已經(jīng)幫我們實(shí)現(xiàn)了各種WIFI操作的各種功能函數(shù),我們只需要實(shí)例化一個(gè)WiFiClient對(duì)象,就可以操作實(shí)現(xiàn)各種功能了:
#include
const char ssid[] = "xxxxx"; //WiFi名
const char pass[] = "xxxxx"; //WiFi密碼
WiFiClient client;
WIFI初始化的流程也很簡(jiǎn)單,主要有3步:
配置WIFI為Station模式,即我們的ESP8266作為一個(gè)WIFI使用設(shè)備
關(guān)于WIFI的工作模式(STA模式與AP模式,可參考我之前的文章:)
傳入WIFI熱點(diǎn)的ssid和密碼,使得ESP8266連接到熱點(diǎn)
讀取WIFI連接狀態(tài),等待連接成功
//初始化WIFI
void initWiFi()
{
Serial.print("Connecting WiFi...");
WiFi.mode(WIFI_STA); //配置WIFI為Station模式
WiFi.begin(ssid, pass); //傳入WIFI熱點(diǎn)的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 測(cè)試效果
Arduino的操作界面也十分的簡(jiǎn)潔,最左邊的編譯,第二個(gè)是編譯+燒錄,最右邊那個(gè)放大鏡圖標(biāo)是串口監(jiān)視器,可以直接查看板子的串口輸出。比如運(yùn)行我們的測(cè)試程序后,就可以看到如下的串口打印信息了:

另外,注意在編譯和下載時(shí),要選對(duì)開發(fā)板的型號(hào)和串口號(hào):

5 總結(jié)
本篇介紹了Arduino IDE的安裝、ESP8266開發(fā)包的安裝以及Arduino編程的快速入門來(lái)測(cè)試ESP8266的連網(wǎng)功能。
-
嵌入式
+關(guān)注
關(guān)注
5152文章
19675瀏覽量
317620 -
IDE
+關(guān)注
關(guān)注
0文章
352瀏覽量
47761 -
Arduino
+關(guān)注
關(guān)注
190文章
6498瀏覽量
192192 -
ESP8266
+關(guān)注
關(guān)注
51文章
965瀏覽量
47421
發(fā)布評(píng)論請(qǐng)先 登錄
《ESP32S3 Arduino開發(fā)指南》第二章 Arduino基礎(chǔ)知識(shí)
基于Arduino的串口通信項(xiàng)目
esp8266連接阿里云平臺(tái)時(shí)mqtt連接超時(shí)
arduino(1)--ESP8266配置
簡(jiǎn)述三種esp32的開發(fā)方式是什么
esp32和esp8266代碼共用嗎
esp8266和esp32區(qū)別是什么
ESP8266需要燒錄固件庫(kù)嘛
esp8266不燒錄可以使用嗎
esp8266wifi模塊怎么連接手機(jī)
esp32用什么軟件編程
Arduino Nano 和 NodeMCU ESP8266 讀取 DHT11 環(huán)境溫濕度數(shù)據(jù)及 OLED顯示

評(píng)論