1.概述
ESP8266 系列無線模塊是安信可科技自 主研發(fā)設計的一系列高性價比 WiFi SOC 模組。該系列模塊支持標準的 IEEE802.11 b/g/n 協(xié)議, 內(nèi)置完整的 TCP/IP 協(xié)議棧。 用戶可以使用該系列模塊為現(xiàn)有的設備添加聯(lián)網(wǎng)功能, 也可以構(gòu)建獨立的網(wǎng)絡控制器。
特性:
- 完整的802. 11b/g/n Wi-Fi SoC模塊;
- 內(nèi)置 Tensilica L106 超低功耗32位微型MCU,主頻支持 80 MHz和160 MHz,支持RTOS;
- 內(nèi)置1路10 bit高精度ADC;
- 支持UART/GPIO/ADC/PWM/SPI/I2C接口;
- 采用SMD-22封裝;
- 集成Wi-Fi MAC/ BB/RF/PA/LNA;
- 支持多種休眠模式,深度睡眠電流低至 20uA
- 串口速率最高可達4Mbps;
- 內(nèi)嵌Lwip協(xié)議棧;
- 支持 STA/AP/STA+AP工作模式;
- 支持安卓、IOS的Smart Config(APP) /AirKiss(微信)一鍵配網(wǎng);
- 支持串口本地升級和遠程固件升級(FOTA);
- 通用AT指令可快速上手;
- 支持二次開發(fā),集成了Windows、Linux開發(fā)環(huán)境;
硬件接口:
引腳 |
說明 |
TXD0 |
PC11串口3接收腳 |
RXD0 |
PC10串口3發(fā)送腳 |
2.通訊協(xié)議
本模塊采用串口通訊方式,波特率115200,1位起始信號+8位數(shù)據(jù)位+1位停止位,無校驗位,AT指令集開發(fā)。
AT 指令可以細分為四種類型:
類型 |
指令格式 |
描述 |
測試指令 |
AT+=? |
該命令?于該命令?于查詢設置指令的參數(shù)以及取值范圍。 |
查詢指令 |
AT+? |
該命令?于返回參數(shù)的當前值。 |
設置指令 |
AT+=<...> |
該命令?于設置?戶?定義的參數(shù)值。 |
執(zhí)行指令 |
AT+ |
該命令?于執(zhí)?受模塊內(nèi)部程序控制的變參數(shù)不可變的功能。 |
注意:
- 不是每條AT指令都具備上述4種類型命令。
- 括號內(nèi)為缺省值,不必填寫或者可能不顯示。使用雙引號表示字符串數(shù)據(jù),例如:AT+CWSAP=”ESP56290”,”21030826”,1,4
- 默認波特率為115200。
- AT指令必須大寫,并且以回車換行符結(jié)尾(CRLF)。
3.常用AT指令
(1)測試指令AT
執(zhí)行指令 |
AT |
響應 |
OK |
參數(shù)說明 |
- |
(2)重啟模塊AT+RST
執(zhí)行指令 |
AT+RST |
響應 |
OK |
參數(shù)說明 |
- |
(3)開關(guān)回顯ATE
執(zhí)行指令 |
ATE |
響應 |
OK |
參數(shù)說明 |
ATE0:關(guān)閉回顯 ATE1:開啟回顯 |
(4)AT+CWMODE_DEF設置WIFI模式并保存到Flash
指令 |
測試指令: AT+CWMODE_DEF=? |
查詢指令: AT+CWMODE_DEF? 功能:查詢當前WIFI模式 |
設置指令: AT+CWMODE_DEF= 功能:設置當前wifi模式 |
響應 |
+CWMODE_DEF:取值列表 OK |
+CWMODE_DEF: OK |
OK |
參數(shù) |
1:Station模式 2:SoftAP模式 3:SoftAP+Station模式 |
||
注意 |
本設置保存到Flash system parameter區(qū)域, |
||
示例 |
AT+CWMODE_DEF=3 |
(5)AT+CWJAP_DEF 連接AF,保存到Flash
指令 |
查詢指令: AT+CWJAP_DEF? 功能:查詢WIFI已連接的AP信息 |
設置指令: AT+CWJAP_DEF=,,[,bassid,] 功能:設置需要連接的AP |
響應 |
+CWJAP_DEF:,,, |
OK |
參數(shù) |
:字符串參數(shù),AP的SSID |
:?標AP的SSID
:密碼最?64字節(jié)ASCII
有多個SSID相同的AP的情況;
open的路由器,可?于PCI認證 |
注意 |
本設置保存到 Flash系統(tǒng)參數(shù)區(qū)。 | |
示例 |
AT+CWJAP_DEF="abc","0123456789" |
(6)AT+CIPMUX 設置多連接
指令 |
查詢指令: AT+CIPMUX? |
設置指令: AT+CIPMUX=
|
響應 |
+CIPMUX: OK |
OK |
參數(shù) |
? 0:單連接模式 |
|
注意 |
?默認為單連接; |
|
示例 |
AT+CIPMUX=1 |
(7)AT+CIPMODE 設置傳輸模式
指令 |
查詢指令: AT+CIPMODE? 功能:查詢傳輸模式 |
設置指令: AT+CIPMODE= 功能:設置傳輸模式 |
響應 |
+CIPMODE: OK |
OK |
參數(shù) |
? 0:普通傳輸模式 |
|
注意 |
?本設置不保存到Flash。 |
|
示例 |
AT+CIPMODE=1 |
(8)AT+CIFSR查詢本地IP
指令 |
AT+CIFSR |
響應 |
|
參數(shù) |
: |
注意 |
ESP8266 Station IP 需連上AP 后,才可以查詢。 |
(9)AT+CIPSTART 建立TCP連接、UDP傳輸或者SSL連接
指令 |
TCP 單連接(AT+CIPMUX=0)時: [,] |
TCP 多連接(AT+CIPMUX=1) 時: [,] |
響應 |
OK |
|
參數(shù) |
? :?絡連接ID (0 ~ 4),?于多連接的情況 |
|
示例 |
AT+CIPSTART="TCP","iot.espressif.cn",8000 |
(10)AT+CIPSEND發(fā)送數(shù)據(jù)
指令 |
設置指令: |
執(zhí)?指令:AT+CIPSEND 功能:在透傳模式時,開始發(fā)送數(shù)據(jù)。 |
響應 |
發(fā)送指定?度的數(shù)據(jù)。 開始接收串?數(shù)據(jù),當數(shù)據(jù)?度滿 時發(fā)送數(shù)據(jù),回到普通指令模 式,等待下?條AT指令。 若未建?連接或連接被斷開,返回:ERROR 如果數(shù)據(jù)發(fā)送成功,返回:SEND OK 如果數(shù)據(jù)發(fā)送失敗,返回:SEND FAIL |
收到此命令后先換?返回 >。 進?透傳模式發(fā)送數(shù)據(jù),每包最?2048字
節(jié),或者每包數(shù)據(jù)以20 ms間隔區(qū)分。 指令模式。發(fā)送 +++ 退出透傳時,請?少 間隔 1秒再發(fā)下?條AT指令。 本指令必須在開啟透傳模式以及單連接
下使?。 必須為0。 |
參數(shù) |
? :?絡連接ID號(0 ~ 4),?于多連接的情況 |
- |
示例 |
- |
(11)AT+AT+CWSAP_DEF 設置SoftAP參數(shù)并保存到flash
指令 |
查詢指令: |
設置指令: |
響應 |
+CWSAP_DEF:,,,,, |
OK |
參數(shù) |
? :字符串參數(shù),接?點名稱
8 ~ 64 字節(jié)ASCII |
同左。 |
注意 |
本設置保存到 Flash system parameter區(qū)域。 |
|
示例 |
AT+CWSAP_DEF="ESP8266","1234567890",5,3 |
(12)AT+CIPSERVER建?TCP服務器
指令 |
AT+CIPSERVER=[,] |
響應 |
OK |
參數(shù) |
? : ? :端?號,默認為333。 |
注意 |
?多連接情況下(AT+CIPMUX=1),才能開啟TCP服務器。 |
示例 |
AT+CIPMUX=1 |
(13) 創(chuàng)建TCP服務器配置示例
"ATrn",//測試指令
"ATE0rn",//關(guān)閉回顯
"AT+CWMODE_DEF=2rn",//--設置為AP(熱點)模式
"AT+RSTrn",//模塊重啟
"ATE0rn",//關(guān)閉回顯
"AT+CWSAP="EPS8266_123","01234567",1,4rn", //--設置wifi信息
"AT+CIPMUX=1rn",//設置多連接
"AT+CIPSERVER=1,10rn", //--設置TCP服務器模式,端口號(0~65535)
"AT+CIFSRrn"http://查詢IP地址
(14) 創(chuàng)建TCP客戶端示例
"ATrn",//測試指令
"ATE0rn",//關(guān)回顯
"AT+CWMODE=1rn",//設置STA模式
"AT+RSTrn",//模塊復位
"ATE0rn",//關(guān)回顯
"AT+CWJAP="HUAWEIshui","asdfghjkl12"rn",//連接wifi
"AT+CIPMUX=0rn",//設置單連接
"AT+CIFSRrn",//查詢IP
"AT+CIPSTART="TCP","192.168.43.204",8080rn",//連接服務器
"AT+CIPMODE=1rn",//設置透傳模式
"AT+CIPSENDrn",//開始發(fā)送數(shù)據(jù)
4.WIFI配置示例
硬件資源:STM32F103RET6
通訊方式:串口通訊(USART3)
4.1 硬件配置
ESP8266通訊接口為串口3,波特率115200,1位起始信號+8位數(shù)據(jù)位+1位停止位,無校驗位。
配置完成,生成代碼。
4.2 DMA接收處理示例
通過DMA處理串口數(shù)據(jù)接收。
uint8_t usart3_rx_buff[1024];//串口1接收數(shù)據(jù)緩沖區(qū)
uint16_t usart3_cnt=0;//保存數(shù)組下班
uint8_t usart3_flag;//接收完成標志符
/*************************串口接收數(shù)據(jù)函數(shù)********************/
static void Usart3_Receive_Data(void)
{
DMA1_Channel3->CCR&=~(1<<0);//關(guān)閉通道傳輸
usart3_cnt=1024-DMA1_Channel3->CNDTR;//獲取接收到是字符長度
if(usart3_cnt>=1024)usart3_cnt=0;
DMA1->IFCR|=1<<9;//清除標志位
DMA1_Channel3->CNDTR=1024;//從新賦值
DMA1_Channel3->CCR|=1<<0;//開啟通道傳輸
usart3_flag=1;
}
串口中斷服務函數(shù)如下:
void USART3_IRQHandler(void)
{
/* USER CODE BEGIN USART3_IRQn 0 */
uint8_t c;
/* USER CODE END USART3_IRQn 0 */
HAL_UART_IRQHandler(&huart3);
/* USER CODE BEGIN USART3_IRQn 1 */
if(__HAL_UART_GET_FLAG(&huart3,UART_FLAG_IDLE))
{
c=huart3.Instance->DR;
c=c;
Usart3_Receive_Data();
}
/* USER CODE END USART3_IRQn 1 */
}
-
控制器
+關(guān)注
關(guān)注
112文章
16206瀏覽量
177423 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2903文章
44284瀏覽量
371308 -
STM32
+關(guān)注
關(guān)注
2266文章
10873瀏覽量
354832 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
4948瀏覽量
97202 -
ESP8266
+關(guān)注
關(guān)注
50文章
962瀏覽量
44844
發(fā)布評論請先 登錄
相關(guān)推薦
評論