蘇州永節(jié)電子科技有限公司
設(shè)為首頁 | 收藏本站
新聞詳情

單片機(jī)開發(fā)

瀏覽數(shù):3
文章附圖


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.文章說明

  作為 IoT的重要組成部分, WiFi的重要性不言而喻。伴隨著網(wǎng)絡(luò)技術(shù)的不斷

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.文章說明

  作為 IoT的重要組成部分, WiFi的重要性不言而喻。伴隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)模塊的使用變得非常重要。身為嵌入式工程師,對(duì)網(wǎng)絡(luò)模塊的使用也要加強(qiáng)學(xué)習(xí)。未來幾天,我將不斷更新8266 wifi模塊使用指南。力求把文章寫得通俗易懂,寫出連電子白板都能看懂的文章。因?yàn)樽髡咚接邢蓿M可能地寫下實(shí)際操作的過程和原理,如果有錯(cuò)誤或遺漏的地方,還請(qǐng)大家多包涵和指正錯(cuò)誤。

2.走進(jìn)wifi的世界

  日前逛淘寶,發(fā)現(xiàn)現(xiàn)在的8266 wifi模塊賣得真不錯(cuò),品種也很多。看見許多電子元件想買的我當(dāng)然也不會(huì)放過這個(gè)機(jī)會(huì),于是花了14元買了一個(gè)回來玩,下面就是這樣的樣子。

正面:


反面:


這個(gè)模塊其實(shí)很漂亮,很整潔,很能吸引我。這個(gè)模塊的功能就是用來連接無線網(wǎng)的,而我要做的就是介紹如何使用它。

3. 快速上手

俗話說,工欲善其事,必先利其器,在我看來,Visual?Studio?Code很不錯(cuò),真的是程序員很好的工具。里面有很多插件,其中一個(gè)是PlatformIO?IDE。

這個(gè)是一個(gè)物聯(lián)網(wǎng)通用開發(fā)工具。

當(dāng)下載完成之后,有一個(gè)螞蟻的圖標(biāo)在坐側(cè)。

3.1 新建工程

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

選擇需要的例子

代碼分析

其實(shí)整個(gè)代碼結(jié)構(gòu)非常的簡(jiǎn)單,學(xué)過C語言的大概都能看懂。

3.2 工程編譯

在左下角有一排選項(xiàng),可以進(jìn)行編譯

選擇編譯,開始編譯工程。控制臺(tái)輸出如下表示編譯成功

3.3 燒寫驗(yàn)證

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

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

當(dāng)燒寫完成后,就可以打開串口調(diào)試助手進(jìn)行測(cè)試,波特率設(shè)置為115200。

可以看到效果如下,并且可以看到燈在閃爍。

俗話說,工欲善其事,必先利其器,在我看來,Visual?Studio?Code很不錯(cuò),真的是程序員很好的工具。里面有很多插件,其中一個(gè)是PlatformIO?IDE。

4. 8266與Arduino

前面的實(shí)驗(yàn)已經(jīng)測(cè)試完成程序的編譯與運(yùn)行,下面來講一下Arduino。

4.1 什么是Arduino

Arduino是一個(gè)開放源碼的電子平臺(tái),在2005年, Massimo Banzi是位于意大利北部小鎮(zhèn)伊夫雷亞的一家高科技設(shè)計(jì)學(xué)校的教師,為學(xué)生提供一種廉價(jià)又好用的微處理器平臺(tái),與一位西班牙籍芯片工程師 David CuarTIelles合作設(shè)計(jì)了最初的 Arduino控制板。此后,阿杜尼諾便迅速在歐洲流行起來,并逐漸把春風(fēng)吹遍全世界。

4.2 Arduino的好處

Arduino一開始的確是為了學(xué)習(xí)嵌入式開發(fā),但是發(fā)展到今天,它已經(jīng)超越了嵌入式開發(fā)的技術(shù)領(lǐng)域。首先要談?wù)勊暮锰帯?/p>

(1)學(xué)習(xí) Arduino單片機(jī)可以完全不用了解其內(nèi)部硬件結(jié)構(gòu)和寄存器設(shè)置,只知道它的端口功能即可;也可以不懂硬件知識(shí),只要會(huì)簡(jiǎn)單的 C語言,就可以用 Arduino單片機(jī)編寫程序。

(2) Arduino軟件語言只需要掌握少量指令,而且指令的可讀性也很強(qiáng),稍微懂一點(diǎn) C語言,就可以輕松上手,快速應(yīng)用。

(3) Arduino的理念是開放源碼,軟硬件是完全開放的,技術(shù)上沒有任何保留。對(duì)于 Arduino的周邊 I/O設(shè)備編程,許多常用的 I/O設(shè)備已經(jīng)加入了庫文件或者示例程序,在此基礎(chǔ)上進(jìn)行簡(jiǎn)單的修改,就可以編寫出比較復(fù)雜的程序,完成多種功能的作品。

4.3 怎么用?

講了這么多到底怎么使用呢?還是在PlatformIO上做開發(fā)工作,因?yàn)锳rduino服務(wù)器在亞馬遜上,有些東西下載很慢,而且需要翻墻,所以直接放棄。

下載完成后效果如下

下面分析一下程序。Arduino的好處就是代碼是通用的,與平臺(tái)無關(guān)的,這點(diǎn)真的做的很好。

//頭文件
#include "Arduino.h"
//初始化時(shí)只會(huì)執(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é)

今日只是初步的對(duì)8266的體驗(yàn)進(jìn)行梳理,總之覺得這個(gè)芯片的可玩性非常高,可以做很多事情。具體怎么玩,后面再慢慢介紹。


發(fā)展,網(wǎng)絡(luò)模塊的使用變得非常重要。身為嵌入式工程師,對(duì)網(wǎng)絡(luò)模塊的使用也要加強(qiáng)學(xué)習(xí)。未來幾天,我將不斷更新8266 wifi模塊使用指南。力求把文章寫得通俗易懂,寫出連電子白板都能看懂的文章。因?yàn)樽髡咚接邢蓿M可能地寫下實(shí)際操作的過程和原理,如果有錯(cuò)誤或遺漏的地方,還請(qǐng)大家多包涵和指正錯(cuò)誤。

2.走進(jìn)wifi的世界

  日前逛淘寶,發(fā)現(xiàn)現(xiàn)在的8266 wifi模塊賣得真不錯(cuò),品種也很多。看見許多電子元件想買的我當(dāng)然也不會(huì)放過這個(gè)機(jī)會(huì),于是花了14元買了一個(gè)回來玩,下面就是這樣的樣子。

正面:

反面:


這個(gè)模塊其實(shí)很漂亮,很整潔,很能吸引我。這個(gè)模塊的功能就是用來連接無線網(wǎng)的,而我要做的就是介紹如何使用它。

3. 快速上手

俗話說,工欲善其事,必先利其器,在我看來,Visual?Studio?Code很不錯(cuò),真的是程序員很好的工具。里面有很多插件,其中一個(gè)是PlatformIO?IDE。

這個(gè)是一個(gè)物聯(lián)網(wǎng)通用開發(fā)工具。

當(dāng)下載完成之后,有一個(gè)螞蟻的圖標(biāo)在坐側(cè)。

3.1 新建工程

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



選擇需要的例子

代碼分析

其實(shí)整個(gè)代碼結(jié)構(gòu)非常的簡(jiǎn)單,學(xué)過C語言的大概都能看懂。

3.2 工程編譯

在左下角有一排選項(xiàng),可以進(jìn)行編譯

選擇編譯,開始編譯工程。控制臺(tái)輸出如下表示編譯成功

3.3 燒寫驗(yàn)證

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

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

當(dāng)燒寫完成后,就可以打開串口調(diào)試助手進(jìn)行測(cè)試,波特率設(shè)置為115200。

可以看到效果如下,并且可以看到燈在閃爍。


俗話說,工欲善其事,必先利其器,在我看來,Visual?Studio?Code很不錯(cuò),真的是程序員很好的工具。里面有很多插件,其中一個(gè)是PlatformIO?IDE。


4. 8266與Arduino

前面的實(shí)驗(yàn)已經(jīng)測(cè)試完成程序的編譯與運(yùn)行,下面來講一下Arduino。

4.1 什么是Arduino

Arduino是一個(gè)開放源碼的電子平臺(tái),在2005年, Massimo Banzi是位于意大利北部小鎮(zhèn)伊夫雷亞的一家高科技設(shè)計(jì)學(xué)校的教師,為學(xué)生提供一種廉價(jià)又好用的微處理器平臺(tái),與一位西班牙籍芯片工程師 David CuarTIelles合作設(shè)計(jì)了最初的 Arduino控制板。此后,阿杜尼諾便迅速在歐洲流行起來,并逐漸把春風(fēng)吹遍全世界。

4.2 Arduino的好處

Arduino一開始的確是為了學(xué)習(xí)嵌入式開發(fā),但是發(fā)展到今天,它已經(jīng)超越了嵌入式開發(fā)的技術(shù)領(lǐng)域。首先要談?wù)勊暮锰帯?/p>

(1)學(xué)習(xí) Arduino單片機(jī)可以完全不用了解其內(nèi)部硬件結(jié)構(gòu)和寄存器設(shè)置,只知道它的端口功能即可;也可以不懂硬件知識(shí),只要會(huì)簡(jiǎn)單的 C語言,就可以用 Arduino單片機(jī)編寫程序。

(2) Arduino軟件語言只需要掌握少量指令,而且指令的可讀性也很強(qiáng),稍微懂一點(diǎn) C語言,就可以輕松上手,快速應(yīng)用。

(3) Arduino的理念是開放源碼,軟硬件是完全開放的,技術(shù)上沒有任何保留。對(duì)于 Arduino的周邊 I/O設(shè)備編程,許多常用的 I/O設(shè)備已經(jīng)加入了庫文件或者示例程序,在此基礎(chǔ)上進(jìn)行簡(jiǎn)單的修改,就可以編寫出比較復(fù)雜的程序,完成多種功能的作品。

4.3 怎么用?

講了這么多到底怎么使用呢?還是在PlatformIO上做開發(fā)工作,因?yàn)锳rduino服務(wù)器在亞馬遜上,有些東西下載很慢,而且需要翻墻,所以直接放棄。

下載完成后效果如下

下面分析一下程序。Arduino的好處就是代碼是通用的,與平臺(tái)無關(guān)的,這點(diǎn)真的做的很好。

//頭文件
#include "Arduino.h"
//初始化時(shí)只會(huì)執(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é)

今日只是初步的對(duì)8266的體驗(yàn)進(jìn)行梳理,總之覺得這個(gè)芯片的可玩性非常高,可以做很多事情。具體怎么玩,后面再慢慢介紹。


















4. 8266與Arduino