日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

ESP8266系列WIFI模塊的使用·

 旭日東升4k165w 2019-09-06

一、概述

ESP8266是由樂鑫公司出品的一款物聯(lián)網(wǎng)芯片,因?yàn)閮r(jià)格較低,性能穩(wěn)定等收到很大關(guān)注。該芯片可工作于三種種模式下,分別是:AP模式,station模式以及混合模式,通過常用的AT指令進(jìn)行控制。自芯片面世以來發(fā)行過多種型號(hào)。單單我用過的就有ESP8266-01,ESP8266-12F,ESP8266-12E這三種。當(dāng)然,我沒接觸到過的型號(hào)還有很多。在使用這三種芯片時(shí)均是使其工作在AP模式下。所以,就拿這三個(gè)型號(hào)說一下ESP8266在AP模式下的配置吧(AP模式下通信協(xié)議為TCP,也就是說AP模式下的ESP8266相當(dāng)于一個(gè)TCP服務(wù)器)。

二、ESP8266-01

因?yàn)镋SP8266-01是比較早的型號(hào),所以也存在諸多不完善的地方。一開始用的時(shí)候也走過很多彎路,例如:ESP8266-01型號(hào)不支持1200及2400的波特率(網(wǎng)上的資料說是支持的),就因?yàn)檫@個(gè)原因就玩壞了三塊芯片,將近100人民幣就打水漂了(幸虧指導(dǎo)老師還安慰我,學(xué)習(xí)的過程就是消耗的過程),一開始不知道什么原因,后來才發(fā)現(xiàn)是波特率的問題。因?yàn)橐婚_始的測(cè)試用的普中V3.0的學(xué)習(xí)版,該板搭載的是12.0Mhz的晶振,而且身邊也沒有可以換的11.0592Mhz的晶振,沒辦法才選擇了2400的波特率,最終導(dǎo)致三塊ESP8266-01壞掉。而且壞掉后上電就出現(xiàn)亂碼,這些亂碼用“格西烽火串口助手”中的所有波特率都讀不出來所以一旦出問題無法修復(fù)。另外,該芯片對(duì)電壓要求出奇的高,標(biāo)準(zhǔn)3.3V,一點(diǎn)小的電壓波動(dòng)都會(huì)引起模塊工作異常。網(wǎng)上曾有一種說法,“十個(gè)不能正常工作的芯片中就有八個(gè)是電壓問題引起的”。(ESP8266-01的接線圖如下)


三、ESP8266-12F

ESP8266-12F相比于ESP8266-01有很多改進(jìn)。首先12F的flash閃存比較大,另外12F支持機(jī)智云的MCU運(yùn)行。當(dāng)然,與增加的功能相適應(yīng),12F增加了很多IO口,一般是16個(gè)。但工作在AP模式下,二者并沒有本質(zhì)區(qū)別。但是12F有一個(gè)缺點(diǎn)就是需要自己搭建一些簡單的外圍電路。(接線圖如下)

四、ESP8266-01與ESP8266-12F工作在AP模式下的配置命令。

1.基本配置命令:

AT+CIOBAUD=******//修改波特率為********(模塊初始波特率默認(rèn)為115200,該命令通過串口助手發(fā)送,重新上電后有效)

AT+CWMODE=2//設(shè)置模塊為AP模式

AT+CWSAP='111','222',11,0//設(shè)置wifi名字為111,密碼是222,通道號(hào)是11,加密方式是OPEN(可以修改)

AT+CIPMUX=1//啟動(dòng)多路連接方式(可以修改)

AT+CIPSERVER=1,5000//開啟server,端口號(hào)為5000(可以修改)

AT+CIPSEND=0,5//向id為0的鏈接發(fā)送5字節(jié)數(shù)據(jù)(可以修改)

2.單片機(jī)控制程序:單片機(jī)型號(hào)為STC89C52RC,晶振11.0592MHz,波特率為9600(控制程序均為自己編寫且測(cè)試有效)

#include<reg51.h>

void Serial_Inti();//初始化程序(必須使用,否則無法收發(fā))

void Uart_Sends(unsigned char *str);//發(fā)送char型字符串

//void Delay1ms(unsigned int t);//1ms延時(shí)函數(shù)

unsigned char Uart_Receive();//接收字符子函數(shù)

void Uart_Dat(unsigned char dat);//數(shù)據(jù)發(fā)送子函數(shù)

void Wifi_Init();//wifi模塊初始化

void Uart_Byte(char byte);//字節(jié)發(fā)送子函數(shù)

void Delay1ms(unsigned int t);//t ms延時(shí)子函數(shù)

/*串口初始化子函數(shù)*/

void Serial_Inti()//串口初始化,一定注意不要啟動(dòng)T1的串口中斷

{

    TMOD = 0x20;

    SCON = 0x50;

    TH1 = 0xFD;

    TL1 = TH1;

    PCON = 0x00;

ES=0;//關(guān)閉串口中斷

    TR1 = 1;

}

/*字符串發(fā)送子函數(shù)(用于配置)*/

void Uart_Sends(unsigned char *str)

{

while(*str!='\0')

{

SBUF=*str;

while(!TI);//等待發(fā)送完成信號(hào)(TI=1)出現(xiàn)

TI=0;//清除發(fā)送中斷標(biāo)志位以繼續(xù)發(fā)送

str++;

}

}

/*WIFI模塊初始化*/

void Wifi_Init()

{

Delay1ms(3000);

Serial_Inti();

Uart_Sends('AT+CWMODE=2\r\n');

Delay1ms(2000);

Uart_Sends('AT+CWSAP=\'******\',\'*****\',11,0\r\n');//wifi名稱及密碼設(shè)置

Delay1ms(2000);

Uart_Sends('AT+CIPMUX=1\r\n');

Delay1ms(2000);

Uart_Sends('AT+CIPSERVER=1,5000\r\n');

}

/*字節(jié)發(fā)送子函數(shù)*/

void Uart_Byte(char byte)

{

SBUF=byte;

while(!TI);

TI=0;

}

/*數(shù)據(jù)發(fā)送子函數(shù)*/

void Uart_Dat(unsigned char dat)

{

Uart_Sends('AT+CIPSEND=0,1\r\n');

Delay1ms(1000);

Uart_Byte(dat);

Uart_Byte('\r');

Uart_Byte('\n');

Delay1ms(100);//延時(shí)100ms防止出現(xiàn)循環(huán)發(fā)送現(xiàn)象

}

/*指令接收子函數(shù)*/

unsigned char Uart_Receive()

{

unsigned char order;

RI=0;//先將接收表示位置0,防止wifi'配置使的返回信息將其置1

while(!RI);//等待接收到信息后跳出循環(huán)

order=SBUF;//當(dāng)RI==1時(shí)接收到數(shù)據(jù)

RI=0;//清除接收中斷標(biāo)志位以繼續(xù)接收

return order;

}

void Delay1ms(unsigned int t)   //誤差 0us

{

    unsigned char a,b,c;

for(t;t>0;t--)

    for(c=1;c>0;c--)

        for(b=142;b>0;b--)

            for(a=2;a>0;a--);

}

五、ESP8266-12E CP2102

剛開始使用ESP8266-12E CP2102時(shí)很蒙,因?yàn)楹附釉贑P2102板上之后原來的操作方式就不再適用。經(jīng)過摸索發(fā)現(xiàn)了一個(gè)比較合適的而且好用的固件ESP8266_Doit_ser2net(v2.4).bin。所以方向很明確,要給12E刷新固件。首先ESP8266-12E CP2102長這樣:

用USB線連接PC,下載工具為flash_download_tool_v1.2_150512.exe,選擇ESP8266_Doit_ser2net(v2.4).bin,下載地址為0x00000,按住Falsh鍵不放,然后按Reset鍵,使芯片進(jìn)入下載模式,點(diǎn)擊軟件上的START開始下載,下載完成后重新上電。(如下圖)

下載成功重新上電后就會(huì)發(fā)現(xiàn)這個(gè)固件的好處。連接wifi訪問192.168.4.1就會(huì)出現(xiàn)以下界面

在該界面可以直接設(shè)置芯片的波特率以及AP模式下的配置,省去了麻煩的AT命令。所以,ESP8266-12E CP2102是我目前為止用到的最好用的ESP8266系列模塊。

當(dāng)然,我所涉及到的只是ESP8266的冰山一角,期待以后更加深入的學(xué)習(xí)!

左肩理想,右肩擔(dān)當(dāng)。君子不怨永遠(yuǎn)不會(huì)停下腳步!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多