8266wifi模塊開發(fā)詳解(一)走進(jìn)8266的世界
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1.文章說明2.走進(jìn)wifi的世界3. 快速上手3.1 新建工程3.2 工程編譯3.3 燒寫驗(yàn)證4. 8266與Arduino4.1 什么是Arduino4.2 Arduino的好處4.3 怎么用?5. 總結(jié)
1.文章說明
WiFi作為IoT中重要的組成部分,其重要性不言而喻。隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,對聯(lián)網(wǎng)模塊的使用顯得極其重要。作為一個嵌入式工程師,對聯(lián)網(wǎng)模塊的使用也應(yīng)該要加強(qiáng)學(xué)習(xí)使用。在接下來的日子里,我會不斷的更新8266wifi模塊的使用教程。爭取將文章寫的通俗易懂,寫出連電子小白都能看的明白的文章。
由于筆者的水平有限,盡可能的寫出實(shí)際操作的過程及原理,如有錯誤或遺漏的地方,還請大家多多包涵并指正錯誤。
2.走進(jìn)wifi的世界
前幾天逛淘寶,發(fā)現(xiàn)現(xiàn)在的8266wifi模塊賣的真的很好,而且種類也非常的多。看到很多的電子元器件就想買買買的我當(dāng)然也不會放過這個機(jī)會,所以就花了14元錢買了一個回來玩玩,它就是下面這個樣子。
正面:
反面:
這個模塊其實(shí)很漂亮,很整潔,很能吸引我。這個模塊的功能就是用來連接無線網(wǎng)的,而我要做的就是介紹如何使用它。
3. 快速上手
正所謂工欲善其事,必先利其器,在我看來Visual Studio Code非常的不錯,真的是程序員非常好的一個工具。里面集成了許多的插件,其中有一個是PlatformIO IDE

這個是一個物聯(lián)網(wǎng)通用開發(fā)工具。
當(dāng)下載完成之后,有一個螞蟻的圖標(biāo)在坐側(cè)。

3.1 新建工程
點(diǎn)擊左側(cè)的螞蟻圖標(biāo)新建一個8266的工程。我們可先從一個閃燈和輸出helloworld程序開始。
選擇需要的例子

代碼分析

其實(shí)整個代碼結(jié)構(gòu)非常的簡單,學(xué)過C語言的大概都能看懂。
3.2 工程編譯
在左下角有一排選項(xiàng),可以進(jìn)行編譯

選擇編譯,開始編譯工程??刂婆_輸出如下表示編譯成功

3.3 燒寫驗(yàn)證
連接上串口PC機(jī),下載相應(yīng)的串口驅(qū)動。當(dāng)檢測到串口驅(qū)動后點(diǎn)擊上傳即可自動下載。

下載完成后,終端打印效果如下

當(dāng)燒寫完成后,就可以打開串口調(diào)試助手進(jìn)行測試,波特率設(shè)置為115200。
可以看到效果如下,并且可以看到燈在閃爍。

這樣表示實(shí)驗(yàn)成功,為什么前面會打印出亂碼,因?yàn)?266的boot的波特率為74880,如果設(shè)置成這個波特率就可以看到打印信息了。

4. 8266與Arduino
前面的實(shí)驗(yàn)已經(jīng)測試完成程序的編譯與運(yùn)行,下面來講一下Arduino。
4.1 什么是Arduino
Arduino是一個開源的電子平臺,在2005年的時(shí)候,意大利北部小鎮(zhèn)伊夫雷亞一家高科技設(shè)計(jì)學(xué)校的老師Massimo Banzi為了能給學(xué)生們提供一種便宜、好用的微控制器平臺,與當(dāng)時(shí)在這所學(xué)校做訪問學(xué)者的西班牙籍芯片工程師David CuarTIelles合作設(shè)計(jì)了最初的Arduino控制板。隨后Arduino便開始迅速地在歐洲流行起來,并且逐漸將春風(fēng)吹到了世界各地。
4.2 Arduino的好處
Arduino最初確實(shí)是為嵌入式開發(fā)的學(xué)習(xí)而生,但發(fā)展到今天,它已經(jīng)遠(yuǎn)遠(yuǎn)超出了嵌入式開發(fā)的技術(shù)領(lǐng)域。先講一下他的好處吧。
(1)學(xué)習(xí)Arduino 單片機(jī)可以完全不需要了解其內(nèi)部硬件結(jié)構(gòu)和寄存器設(shè)置,僅僅知道它的端口作用即可;可以不懂硬件知識,只要會簡單的C語言,就可用Arduino 單片機(jī)編寫程序。
(2)Arduino 軟件語言僅僅需掌握少數(shù)幾個指令,而且指令的可讀性也強(qiáng),稍微懂一點(diǎn)C語言即可,輕松上手,快速應(yīng)用。
(3)Arduino 的理念就是開源,軟硬件完全開放,技術(shù)上不做任何保留。針對周邊I/O設(shè)備的Arduino 編程,很多常用的I/O 設(shè)備都已經(jīng)帶有庫文件或者樣例程序,在此基礎(chǔ)上進(jìn)行簡單的修改,即可編寫出比較復(fù)雜的程序,完成功能多樣化的作品。
4.3 怎么用?
講了這么多到底怎么使用呢?還是在PlatformIO上做開發(fā)工作,因?yàn)锳rduino服務(wù)器在亞馬遜上,有些東西下載很慢,而且需要翻墻,所以直接放棄。

下載完成后效果如下

下面分析一下程序。Arduino的好處就是代碼是通用的,與平臺無關(guān)的,這點(diǎn)真的做的很好。
//頭文件 #include "Arduino.h" //初始化時(shí)只會執(zhí)行一次 void setup() { // initialize LED digital pin as an output. pinMode(LED_BUILTIN, OUTPUT);
} //循環(huán)執(zhí)行 void loop() { // turn the LED on (HIGH is the voltage level) digitalWrite(LED_BUILTIN, HIGH); // wait for a second delay(1000); // turn the LED off by making the voltage LOW digitalWrite(LED_BUILTIN, LOW); // wait for a second delay(1000);
}
編譯和下載后,就可以看到開發(fā)板上的LED正常的閃爍(1s閃一次)。
5. 總結(jié)
今天只是初步的對8266的體驗(yàn)進(jìn)行梳理,總之覺得這款芯片的可玩性很高,可以做出很多東西。具體怎么玩,后面再慢慢的介紹。