一茂嗓、ESP8266 WiFi模塊:
1餐茵、簡(jiǎn)介:
????????ESP8266是一款串口WiFi模塊,內(nèi)部集成MCU能實(shí)現(xiàn)單片機(jī)之間串口同信述吸;這款模塊簡(jiǎn)單易學(xué)忿族,體積小,便于嵌入式開發(fā)蝌矛。
2道批、使用方式:
????????根據(jù)原理圖,把模塊連接到開發(fā)板上入撒,通過配置開發(fā)板串口便可以向ESP8366寫入指令隆豹,配置模塊不同的工作模式;還可以直接使用USB轉(zhuǎn)TTL模塊連接茅逮,通過串口助手發(fā)送相應(yīng)指令璃赡,同樣可以配置ESP8266的相關(guān)信息以及工作模式簿煌,當(dāng)然也可以讀取產(chǎn)品信息。
? ? ? ? ESP8266模塊我們可以理解成一個(gè)單片機(jī)帶有WiFi功能鉴吹,我們使用自己?jiǎn)纹瑱C(jī)進(jìn)行控制時(shí)姨伟,只需要讓兩個(gè)單片機(jī)相互之間通信,指令相同豆励,執(zhí)行相應(yīng)的操作---------就得知道指令是什么夺荒,我們知道格式之后便可以把正確信息讀出來以及發(fā)送的指令ESP8266模塊能夠正確識(shí)別,才能得到我們想要的數(shù)據(jù)以及實(shí)現(xiàn)相應(yīng)的功能良蒸。
3技扼、指令集使用格式:
? 測(cè)試命令 ? ? ? ?AT+=? ? ? ? ? 該命令用于查詢?cè)O(shè)置命令或內(nèi)部程序設(shè)置的參數(shù)以及其取值范圍
? 查詢命令 ? ? ? ? AT+? ? ? ? ? ? 該命令用于返回參數(shù)的當(dāng)前值。
? 設(shè)置命令 ? ? ? ? AT+=<…> ? 該命令用于設(shè)置用戶自定義的參數(shù)值嫩痰。
? ?執(zhí)行命令 ? ? ? ?AT+<cmd>? ?該命令用于執(zhí)行受模塊內(nèi)部程序控制的變參數(shù)不可變的功能剿吻。
注:寫指令是需要在后面加上:”\r\n”
4、指令集:
(1) 基礎(chǔ)AT指令
????AT 測(cè)試指令
????AT+RST 重啟模塊
????AT+GMR 查看版本信息
????ATE 開關(guān)回顯功能
????AT+RESTORE 恢復(fù)出廠設(shè)置
????AT+UART 設(shè)置串口配置
(2) WiFi功能AT指令
????AT+CWMODE 選擇 WIFI 應(yīng)用模式
????AT+CWJAP 加入 AP
????AT+CWLAP 列出當(dāng)前可用 AP
????AT+CWQAP 退出與 AP 的連接
????AT+CWSAP 設(shè)置 AP 模式下的參數(shù)
????AT+CWLIF 查看已接入設(shè)備的 IP
????AT+CWDHCP 設(shè)置 DHCP 開關(guān)
????AT+CWAUTOCONN 設(shè)置 STA 開機(jī)自動(dòng)連接到 wifi
????AT+CIPSTAMAC 設(shè)置 STA 的 MAC 地址
????AT+CIPAPMAC 設(shè)置 AP 的 MAC 地址
????AT+CIPSTA 設(shè)置 STA 的 IP 地址
????AT+CIPAP 設(shè)置 AP 的 IP 地址
????AT+SAVETRANSLINK 保存透?jìng)鬟B接到 Flash
????AT+CWSMARTSTART 啟動(dòng)智能連接
????AT+CWSMARTSTOP 停止智能連接
(3) TCP/IP工具箱指令
????AT+CIPSTATUS 獲得連接狀態(tài)
????AT+CIPSTART 建立 TCP 連接或注冊(cè) UDP 端口號(hào)
????AT+CIPSEND 發(fā)送數(shù)據(jù)
????AT+CIPCLOSE 關(guān)閉 TCP 或 UDP
????AT+CIFSR 獲取本地 IP 地址
????AT+CIPMUX 啟動(dòng)多連接
????AT+CIPSERVER 配置為服務(wù)器
????AT+CIPMODE 設(shè)置模塊傳輸模式
????AT+CIPSTO 設(shè)置服務(wù)器超時(shí)時(shí)間
????AT+CIUPDATE 網(wǎng)絡(luò)升級(jí)固件
????AT+PING PING 命令
其實(shí)就實(shí)用而言串纺,很多指令是用不上的丽旅,也不用在意有些搞不清楚,只需要簡(jiǎn)單了解就好了纺棺。
二榄笙、ESP8266發(fā)送數(shù)據(jù)到服務(wù)器:
1、選擇WiFi應(yīng)用模式:
AT+CWMODE?=? 1 , Station?模式
????????????????????????????????2 , AP???? ?模式
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3 , AP+Station 模式
2祷蝌、重啟生效:
????AT+RST茅撞,返回值是OK
3、接入路由:
????AT+CWJAP = "ssid","password”??
????????????ssid是路由器的名字巨朦;
????????????password是路由器密碼米丘。
4、連接到服務(wù)器:
????AT+CIPSTART = "TCP","192.168.1.102",8001
????????TCP是通信協(xié)議糊啡,也可以是UDP 拄查;
????????192.168.1.102服務(wù)器地址;
????????8001是服務(wù)器通道悔橄。
5靶累、開啟透?jìng)髂J?/h3>????AT+CIPMODE=1;
6癣疟、發(fā)送數(shù)據(jù)
????AT+CIPSEND==len挣柬;發(fā)送指定長(zhǎng)度的數(shù)據(jù)
????????發(fā)送的數(shù)據(jù)需要有一定的格式,如果沒有一定的格式睛挚,那么不好處理信息邪蛔,一般都會(huì)采用json格式來進(jìn)行通信,因此我們的要在上傳之前得把我們的數(shù)據(jù)弄成json的格式扎狱。具體怎么封裝侧到,可以參考別人的程序勃教,這些都是比較常用的數(shù)據(jù)格式。
三匠抗、如何實(shí)現(xiàn)單片機(jī)接受服務(wù)器的信息:
????????ESP8266不僅可以發(fā)送數(shù)據(jù)到服務(wù)器端故源,還可以接受服務(wù)器發(fā)過來的信息,如此一來汞贸,我們便可以進(jìn)行遠(yuǎn)程操控绳军,這個(gè)像不像物聯(lián)網(wǎng)呢。在這里大家可以考慮用串口把服務(wù)器穿回來的數(shù)據(jù)打印出來看看矢腻,到底是什么门驾,是不是我們想的那么高深,不要去想這個(gè)多么的難多柑,看看數(shù)據(jù)在想其他的奶是。
????????連接上服務(wù)器的之后,ESP8266模塊和服務(wù)器之間便建立一種聯(lián)系竣灌,可以相互之間發(fā)送數(shù)據(jù)聂沙。我們成功將數(shù)據(jù)發(fā)送到服務(wù)器上之后,ESP8266便會(huì)返回一串字符帐偎,表明發(fā)送數(shù)據(jù)成功:
SEND OK
(空行)
Recv 61 bytes
因此我們要給自己的數(shù)據(jù)約定一個(gè)格式逐纬,例如:約定在’ : ’ 后‘ # ’號(hào)前是我們的有效數(shù)據(jù)(當(dāng)然其他的也是可以的),在單片機(jī)上相應(yīng)處理數(shù)據(jù)削樊,把取出來就好了,其他的我們可以不用管兔毒。
????AT+CIPMODE=1;
????AT+CIPSEND==len挣柬;發(fā)送指定長(zhǎng)度的數(shù)據(jù)
????????發(fā)送的數(shù)據(jù)需要有一定的格式,如果沒有一定的格式睛挚,那么不好處理信息邪蛔,一般都會(huì)采用json格式來進(jìn)行通信,因此我們的要在上傳之前得把我們的數(shù)據(jù)弄成json的格式扎狱。具體怎么封裝侧到,可以參考別人的程序勃教,這些都是比較常用的數(shù)據(jù)格式。
????????ESP8266不僅可以發(fā)送數(shù)據(jù)到服務(wù)器端故源,還可以接受服務(wù)器發(fā)過來的信息,如此一來汞贸,我們便可以進(jìn)行遠(yuǎn)程操控绳军,這個(gè)像不像物聯(lián)網(wǎng)呢。在這里大家可以考慮用串口把服務(wù)器穿回來的數(shù)據(jù)打印出來看看矢腻,到底是什么门驾,是不是我們想的那么高深,不要去想這個(gè)多么的難多柑,看看數(shù)據(jù)在想其他的奶是。
????????連接上服務(wù)器的之后,ESP8266模塊和服務(wù)器之間便建立一種聯(lián)系竣灌,可以相互之間發(fā)送數(shù)據(jù)聂沙。我們成功將數(shù)據(jù)發(fā)送到服務(wù)器上之后,ESP8266便會(huì)返回一串字符帐偎,表明發(fā)送數(shù)據(jù)成功:
SEND OK
(空行)
Recv 61 bytes
因此我們要給自己的數(shù)據(jù)約定一個(gè)格式逐纬,例如:約定在’ : ’ 后‘ # ’號(hào)前是我們的有效數(shù)據(jù)(當(dāng)然其他的也是可以的),在單片機(jī)上相應(yīng)處理數(shù)據(jù)削樊,把取出來就好了,其他的我們可以不用管兔毒。
????????????????????????????????????????????????????????續(xù)漫贞、、育叁、迅脐、、豪嗽、(2017谴蔑、12、29)