前(qián)段(duàn)时(shí)間(jiān)在(zài)淘寶(bǎo)随便搜搜“wifi模块(kuài)”,竟然眼(yǎn)前(qián)一(yī)亮发现有(yǒu)一(yī)款價格在(zài)15元(yuán)內(nèi)的(de)wifi模块(kuài):ESP8266。
对(duì)其(qí)簡單的(de)了(le)解(jiě):
- 體(tǐ)積小巧,且(qiě)多(duō)種(zhǒng)封(fēng)装,沒(méi)有(yǒu)一(yī)个(gè)硬(yìng)幣(bì)大(dà)。
- 價格便宜,十几块(kuài)錢(qián)在(zài)wifi模块(kuài)里(lǐ)面(miàn)算是最(zuì)便宜的(de)了(le)。
- 提(tí)供AT指令,这(zhè)樣(yàng)就(jiù)可(kě)以(yǐ)使用(yòng)arduino進(jìn)行控制,實(shí)现互聯网(wǎng)數據(jù)交互。
- 提(tí)供SDK包(bāo)、烧固件(jiàn)工具,串口(kǒu)烧写(xiě)固件(jiàn)。这(zhè)樣(yàng)把(bǎ)arduino作(zuò)为(wèi)主(zhǔ)控的(de)功能(néng)都省(shěng)了(le),直(zhí)接把(bǎ)邏輯写(xiě)進(jìn)代(dài)码,烧到(dào)固件(jiàn)里(lǐ),就(jiù)能(néng)按我(wǒ)们(men)的(de)業務(wù)执行了(le)。
- 有(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)了(le)这(zhè)些功能(néng),很多(duō)感(gǎn)應(yìng)器的(de)應(yìng)用(yòng)都沒(méi)問(wèn)題(tí)了(le)。
- 有(yǒu)一(yī)个(gè)固件(jiàn)包(bāo),叫nodemcu,簡單的(de)看(kàn)了(le)一(yī)下(xià),就(jiù)是打(dǎ)包(bāo)了(le)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)发,几行代(dài)码就(jiù)能(néng)實(shí)现读(dú)取(qǔ)數據(jù)然後(hòu)上傳到(dào)互聯网(wǎng)。

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

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

接線(xiàn)上電(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)源正极(jí),電(diàn)源我(wǒ)選用(yòng)的(de)是2节(jié)5号(hào)干(gàn)電(diàn)池,不(bù)过(guò)用(yòng)了(le)一(yī)段(duàn)时(shí)間(jiān)後(hòu),发现電(diàn)池不(bù)夠用(yòng)了(le),就(jiù)換arduino的(de)3.3V輸出(chū)作(zuò)为(wèi)電(diàn)源。
-
右邊(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ù)是連(lián)接串口(kǒu)線(xiàn)到(dào)電(diàn)腦了(le)。中(zhōng)間(jiān)还需要(yào)一(yī)块(kuài)叫usb轉(zhuǎn)串口(kǒu)的(de)模块(kuài)連(lián)接。

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