ESP8266模塊測試
ESP8266-01s封裝圖:
ESP8266和 單片機連線:
ESP: 單片機
UTXD RXD
GND GND
CH_PD(EN) (給高電平模塊才工作)
GPIO2 必須接高電平(內部已經拉高,不用管)
RST 低電平復位,高電平工作)
GPIO0 一般情況下不用管,燒錄固件時接低電平
VCC 3.3V
URXD TXD
說明:拿到模塊后,測試模塊,只需連接5根線,VCC,GND,UTXD,URXD,CH_PD(EN)
接好后,可進行AT指令測試。
注意:(PC測試模塊)如果是直接接USB轉TTL,那么就RX和TX交叉接,如果是接單片機就TX接TX,RX接RX,(單片機測試)下載好程序后,TX和RX交叉接,可正常通信。
PC測試:
模塊和電腦連接好后可按以下順序執行AT指令(1-6):
AT指令:
1.AT+CWMODE=X
功能:設置工作模式指令:
-------Station模式(讓模塊去連接路由器或熱點,模塊作為客戶端)
-------AP模式(模塊本身是一個熱點,手機和電腦可以連接,模塊作為服務器)
-------Station+AP模式
示例:AT+CWMODE=2
2.AT+RST
功能:重啟指令(設置新的工作模式后需要重啟才能生效)
示例:AT+RST
3.AT+ CWSAP= <ssid>,<pwd>,<chl>, <ecn>
功能:配置AP參數(指令只有在AP模式開啟后有效)
ssid:接入點名稱
pwd:密碼 字符串型,最長64字節。
chl:通道號 0,1,2,3,4
ecn:加密方式:(0-OPEN, 1-WEP, 2-WPA_PSK, 3-WPA2_PSK, 4-WPA_WPA2_PSK)
示例:AT+CWSAP="luatao","1234567890",1,3
4.AT+CIFSR
功能:查看本模塊的IP地址
示例:AT+CIFSR
5.AT+CIPMUX=1
功能:設置多連接模式
示例:AT+CIPMUX=1
6.AT+CIPSERVER=<mode>,<port>
功能:創建服務器
mode:
0-----關閉SERVER模式
1-----開啟SERVER模式
Port:端口號(缺省為333)
示例:AT+CIPSERVER=1,6666
說明:AT+CIPMUX=1時才能開啟服務器,關閉SERVER模式需要重啟AT+RST
開啟SERVER后自動建立監聽,當有Client接入時會自動按順序建立一個連接。
7.AT+CIPMUX?
功能:查看本模塊是否建立多連接
0-------單路連接
1-------多路連接
示例:AT+CIPMUX?
執行完以上程序后,模塊設置完成,可用手機客戶端發消息測試通信。
第一步:打開手機,連接模塊的WIFI
第二步:打開網絡調試APP
按圖上配置好后,點擊打開,如果連接成功
PC串口上打印0,CONNECT
單片機測試:
第一步:下載程序。
要想讓單片機發送數據到手機,需要發送一條指令
數據雙向傳輸
多連接模式:
AT+CIPSEND=0,10
單連接模式:
AT+CIPSEND=10
發送的代碼:
Send_String("AT+CIPSEND=0,10\r\n");//發送10個數據
Delay1000ms();
Send_String("hello world");//向手機發送數據
Delay1000ms();
剩下的操作就是連接模塊,打開網絡調試,然后發送數據測試。
代碼:
ESP8266.h
- #ifndef ESP8266
- #define ESP8266
- sbit LED=P6^0;
- extern uchar Receive;//接收值
- extern void Delay1000ms() ; //@24.000MHz
- extern void Uart1_Init(void); //9600bps@24.000MHz
- extern void ESP8266_Init();//ESP8266串口發送兩條指令
- extern void Send_String(uchar *p);//發送字符串
- #endif
復制代碼ESP8266.c
All.h
- #include<STC8.h>
- #include<intrins.h>
- typedef unsigned char uchar;
- typedef unsigned int uint;
- #include<ESP8266.h> //ESP8266wifi模塊
復制代碼 main.c
- #include<All.h>
- void main()
- {
- Uart1_Init();
- ESP8266_Init();
- while(1)
- {
- if(Receive=='A')
- LED=0; //燈亮
- else if (Receive=='B')
- LED=1; //燈滅
- else if(Receive=='a')
- {
- Send_String("AT+CIPSEND=0,10\r\n");//發送10個數據
- Delay1000ms();
- Send_String("hello world");
- Delay1000ms();
- }
復制代碼
esp8266測試.pdf
(243.98 KB, 下載次數: 41)
2020-2-10 20:36 上傳
點擊文件名下載附件
文檔
ESP8266串口1點亮小燈.zip
(44.16 KB, 下載次數: 41)
2020-2-10 20:38 上傳
點擊文件名下載附件
代碼
esp8266系列使用手冊.pdf
(980.08 KB, 下載次數: 33)
2020-2-11 09:20 上傳
點擊文件名下載附件
手冊
SSCOM.zip
(331.63 KB, 下載次數: 29)
2020-2-11 09:21 上傳
點擊文件名下載附件
串口
固件燒錄.zip
(11.01 MB, 下載次數: 33)
2020-2-11 09:21 上傳
點擊文件名下載附件
固件