前(qián)段(duàn)时(shí)間(jiān)在(zài)淘宝随便搜搜“wifi模块(kuài)”,竟然眼(yǎn)前(qián)一亮(liàng)發(fà)現(xiàn)有(yǒu)一款價格在(zài)15元内的(de)wifi模块(kuài):ESP8266。
对(duì)其(qí)簡單的(de)了解(jiě):
- 體(tǐ)積小巧,且(qiě)多(duō)種(zhǒng)封裝(zhuāng),沒(méi)有(yǒu)一个(gè)硬(yìng)幣(bì)大(dà)。
- 價格便宜,十(shí)幾(jǐ)块(kuài)錢(qián)在(zài)wifi模块(kuài)里(lǐ)面(miàn)算是(shì)最便宜的(de)了。
- 提(tí)供AT指令,这(zhè)樣(yàng)就(jiù)可(kě)以(yǐ)使用(yòng)arduino進(jìn)行控制,實(shí)現(xiàn)互聯网數據(jù)交互。
- 提(tí)供SDK包(bāo)、燒固件(jiàn)工具,串口(kǒu)燒写(xiě)固件(jiàn)。这(zhè)樣(yàng)把(bǎ)arduino作(zuò)为(wèi)主控的(de)功能(néng)都省(shěng)了,直(zhí)接把(bǎ)邏輯写(xiě)進(jìn)代(dài)碼,燒到(dào)固件(jiàn)里(lǐ),就(jiù)能(néng)按我(wǒ)们(men)的(de)业務(wù)執行了。
- 有(yǒu)GPIO口(kǒu),有(yǒu)SPI功能(néng),有(yǒu)I2C功能(néng),有(yǒu)UART功能(néng),有(yǒu)ADC功能(néng)(0-1V輸入(rù)),有(yǒu)了这(zhè)些(xiē)功能(néng),很多(duō)感(gǎn)應(yìng)器的(de)應(yìng)用(yòng)都沒(méi)問(wèn)題(tí)了。
- 有(yǒu)一个(gè)固件(jiàn)包(bāo),叫nodemcu,簡單的(de)看(kàn)了一下(xià),就(jiù)是(shì)打(dǎ)包(bāo)了lua到(dào)固件(jiàn)里(lǐ),这(zhè)樣(yàng)允許我(wǒ)们(men)使用(yòng)lua这(zhè)種(zhǒng)比較容易入(rù)門(mén)的(de)語(yǔ)言来(lái)開(kāi)發(fà),幾(jǐ)行代(dài)碼就(jiù)能(néng)實(shí)現(xiàn)读(dú)取(qǔ)數據(jù)然後(hòu)上(shàng)传到(dào)互聯网。

上(shàng)图(tú),多(duō)種(zhǒng)封裝(zhuāng)格式,图(tú)片(piàn)是(shì)在(zài)其(qí)淘宝上(shàng)截图(tú)的(de),我(wǒ)自(zì)己沒(méi)買(mǎi)这(zhè)麼(me)多(duō)。
我(wǒ)自(zì)己買(mǎi)了esp-07型号(hào),15元带(dài)有(yǒu)一个(gè)pcb空(kōng)闆,能(néng)引出(chū)所有(yǒu)IO口(kǒu),方(fāng)便diy。本(běn)身(shēn)的(de)封裝(zhuāng)略小,不(bù)利于(yú)DIY。
自(zì)己用(yòng)烙铁(tiě)焊接一下(xià),買(mǎi)了2块(kuài),其(qí)中一个(gè)好(hǎo)像弄壞了,原因(yīn)想(xiǎng)了很久,也許是(shì)電(diàn)烙铁(tiě)温度(dù)过(guò)高,我(wǒ)调到(dào)350度(dù),但是(shì)後(hòu)来(lái)查文(wén)檔说(shuō)不(bù)要(yào)高于(yú)280度(dù),或(huò)者(zhě)pcb闆子後(hòu)面(miàn)預留了一个(gè)3.3v穩壓的(de)盤口(kǒu),我(wǒ)就(jiù)自(zì)己給(gěi)它(tā)焊上(shàng)了一颗(kē)asm1117 3.3v的(de)原件(jiàn)。
所以(yǐ)在(zài)第(dì)二(èr)天(tiān)焊接第(dì)二(èr)块(kuài)的(de)时(shí)候,使用(yòng)了低(dī)温,且(qiě)不(bù)焊接穩壓管(guǎn)的(de)情(qíng)況下(xià),模块(kuài)正(zhèng)常了。

焊接完後(hòu)的(de)樣(yàng)子。

接線(xiàn)上(shàng)電(diàn),連(lián)接串口(kǒu)到(dào)電(diàn)腦進(jìn)行调試:
如(rú)下(xià)图(tú),
-
左(zuǒ)邊(biān)連(lián)接3个(gè)io口(kǒu)到(dào)電(diàn)源正(zhèng)极(jí),電(diàn)源我(wǒ)選用(yòng)的(de)是(shì)2节(jié)5号(hào)干(gàn)電(diàn)池,不(bù)过(guò)用(yòng)了一段(duàn)时(shí)間(jiān)後(hòu),發(fà)現(xiàn)電(diàn)池不(bù)夠用(yòng)了,就(jiù)換arduino的(de)3.3V輸出(chū)作(zuò)为(wèi)電(diàn)源。
-
右(yòu)邊(biān)藍(lán)色(sè)的(de)線(xiàn),連(lián)接15号(hào)io口(kǒu)和(hé)GND到(dào)電(diàn)池負极(jí)。
-
然後(hòu)就(jiù)是(shì)連(lián)接串口(kǒu)線(xiàn)到(dào)電(diàn)腦了。中間(jiān)還(huán)需要(yào)一块(kuài)叫usb轉(zhuǎn)串口(kǒu)的(de)模块(kuài)連(lián)接。

上(shàng)電(diàn)後(hòu),打(dǎ)開(kāi)wifi,会(huì)發(fà)現(xiàn)多(duō)了一个(gè)名(míng)字(zì)“AI-ThinkerXXXXX”的(de)AP名(míng)字(zì),这(zhè)樣(yàng)起(qǐ)碼證明(míng)模块(kuài)成功运行了。
用(yòng)串口(kǒu)调試工具打(dǎ)開(kāi),輸入(rù)最簡單的(de)命令“AT",模块(kuài)回(huí)複”OK"。good,模块(kuài)正(zhèng)常运行了。
接着我(wǒ)又测試了連(lián)接到(dào)家(jiā)里(lǐ)的(de)路由(yóu)器,成功!
接着我(wǒ)又在(zài)電(diàn)腦建了个(gè)tcp server,用(yòng)模块(kuài)連(lián)接,成功!
接着我(wǒ)又在(zài)GPIO12口(kǒu)處(chù)插了个(gè)LED燈(dēng),通(tòng)过(guò)AT命令讓它(tā)亮(liàng)和(hé)滅,成功!
接着我(wǒ)又下(xià)载了SDK,在(zài)原有(yǒu)的(de)AT固件(jiàn)里(lǐ),增加了一个(gè)hello lixin 的(de)命令,編譯燒写(xiě)运行,成功。
好(hǎo)了,到(dào)此(cǐ)为(wèi)止,還(huán)是(shì)对(duì)这(zhè)个(gè)模块(kuài)感(gǎn)觉不(bù)错的(de)。
