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

單片機開發(fā)

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


1.文章說明2.走進wifi的世界3. 快速上手3.1 新建工程3.2 工程編譯3.3 燒寫驗證4. 8266與Arduino4.1 什么是Arduino4.2 Arduino的好處4.3 怎么用?5. 總結(jié)

1.文章說明

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

1.文章說明2.走進wifi的世界3. 快速上手3.1 新建工程3.2 工程編譯3.3 燒寫驗證4. 8266與Arduino4.1 什么是Arduino4.2 Arduino的好處4.3 怎么用?5. 總結(jié)

1.文章說明

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

2.走進wifi的世界

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

正面:


反面:


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

3. 快速上手

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

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

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

3.1 新建工程

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

選擇需要的例子

代碼分析

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

3.2 工程編譯

在左下角有一排選項,可以進行編譯

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

3.3 燒寫驗證

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

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

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

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

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

4. 8266與Arduino

前面的實驗已經(jīng)測試完成程序的編譯與運行,下面來講一下Arduino。

4.1 什么是Arduino

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

4.2 Arduino的好處

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

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

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

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

4.3 怎么用?

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

下載完成后效果如下

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

//頭文件
#include "Arduino.h"
//初始化時只會執(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的體驗進行梳理,總之覺得這個芯片的可玩性非常高,可以做很多事情。具體怎么玩,后面再慢慢介紹。


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

2.走進wifi的世界

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

正面:

反面:


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

3. 快速上手

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

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

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

3.1 新建工程

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



選擇需要的例子

代碼分析

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

3.2 工程編譯

在左下角有一排選項,可以進行編譯

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

3.3 燒寫驗證

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

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

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

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


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


4. 8266與Arduino

前面的實驗已經(jīng)測試完成程序的編譯與運行,下面來講一下Arduino。

4.1 什么是Arduino

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

4.2 Arduino的好處

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

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

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

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

4.3 怎么用?

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

下載完成后效果如下

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

//頭文件
#include "Arduino.h"
//初始化時只會執(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的體驗進行梳理,總之覺得這個芯片的可玩性非常高,可以做很多事情。具體怎么玩,后面再慢慢介紹。


















4. 8266與Arduino